class MU::Config::Group

Basket of Kittens config schema and parser logic. See modules/mu/providers/*/group.rb

Public Class Methods

schema() click to toggle source

Base configuration schema for a Group @return [Hash]

# File modules/mu/config/group.rb, line 22
def self.schema
  {
    "type" => "object",
    "additionalProperties" => false,
    "description" => "Set up a cloud provider group for containing accounts/groups",
    "required" => ["name"],
    "properties" => {
      "name" => {
        "type" => "string"
      },
      "members" => {
        "type" => "array",
        "items" => {
          "type" => "string",
          "description" => "One or more user accounts to add to this group."
        }
      },
      "purge_extra_members" => {
        "type" => "boolean",
        "description" => "Our +members+ list, by default, only adds the listed accounts to the group. If +purge_extra_members+ is +true+, it will remove any users that are not our list. Use with caution when managing groups created manually or managed by other applications.",
        "default" => false
      },
      "use_if_exists" => {
        "type" => "boolean",
        "description" => "If we attempt to create or associate a group that already exists, simply group that user in-place and use it, rather than throwing an error. If this flag is set, the group will *not* be deleted on cleanup.",
        "default" => true
      }
    }
  }
end
validate(_group, _configurator) click to toggle source

Generic pre-processing of {MU::Config::BasketofKittens::group}, bare and unvalidated. @param _group [Hash]: The resource to process and validate @param _configurator [MU::Config]: The overall deployment configurator of which this resource is a member @return [Boolean]: True if validation succeeded, False otherwise

# File modules/mu/config/group.rb, line 57
def self.validate(_group, _configurator)
  ok = true
  ok
end