class MU::Cloud::AWS::Folder

A log as configured in {MU::Config::BasketofKittens::folders}

Public Class Methods

cleanup(noop: false, deploy_id: MU.deploy_id, ignoremaster: false, region: MU.curRegion, credentials: nil, flags: {}) click to toggle source

Remove all logs associated with the currently loaded deployment. @param noop [Boolean]: If true, will only print what would be done @param ignoremaster [Boolean]: If true, will remove resources not flagged as originating from this Mu server @param region [String]: The cloud provider region @return [void]

# File modules/mu/providers/aws/folder.rb, line 62
def self.cleanup(noop: false, deploy_id: MU.deploy_id, ignoremaster: false, region: MU.curRegion, credentials: nil, flags: {})
end
find(**args) click to toggle source

Locate an existing AWS organization. If no identifying parameters are specified, this will return a description of the Organization which owns the account for our credentials. @return [Hash<String,OpenStruct>]: The cloud provider's complete descriptions of matching log group.

# File modules/mu/providers/aws/folder.rb, line 67
def self.find(**args)
  found = nil

  if args[:cloud_id]
  else
    resp = MU::Cloud::AWS.orgs(credentials: args[:credentials]).describe_organization
    found ||= {}
    found[resp.organization.id] = resp.organization
  end

  found
end
isGlobal?() click to toggle source

Does this resource type exist as a global (cloud-wide) artifact, or is it localized to a region/zone? @return [Boolean]

# File modules/mu/providers/aws/folder.rb, line 47
def self.isGlobal?
  true
end
new(**args) click to toggle source

Initialize this cloud resource object. Calling super will invoke the initializer defined under {MU::Cloud}, which should set the attribtues listed in {MU::Cloud::PUBLIC_ATTRS} as well as applicable dependency shortcuts, like +@vpc+, for us. @param args [Hash]: Hash of named arguments passed via Ruby's double-splat

Calls superclass method
# File modules/mu/providers/aws/folder.rb, line 23
def initialize(**args)
  super
  @mu_name ||= @deploy.getResourceName(@config["name"])
end
quality() click to toggle source

Denote whether this resource implementation is experiment, ready for testing, or ready for production use.

# File modules/mu/providers/aws/folder.rb, line 53
def self.quality
  MU::Cloud::ALPHA
end
schema(_config) click to toggle source

Cloud-specific configuration properties. @param _config [MU::Config]: The calling MU::Config object @return [Array<Array,Hash>]: List of required fields, and json-schema Hash of cloud-specific configuration parameters for this resource

# File modules/mu/providers/aws/folder.rb, line 83
def self.schema(_config)
  toplevel_required = []
  schema = {
  }
  [toplevel_required, schema]
end
validateConfig(_folder, _configurator) click to toggle source

Cloud-specific pre-processing of {MU::Config::BasketofKittens::folders}, bare and unvalidated. @param _folder [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/providers/aws/folder.rb, line 94
def self.validateConfig(_folder, _configurator)
  ok = true

  ok
end

Public Instance Methods

arn() click to toggle source

Canonical Amazon Resource Number for this resource @return [String]

# File modules/mu/providers/aws/folder.rb, line 34
def arn
end
create() click to toggle source

Called automatically by {MU::Deploy#createResources}

# File modules/mu/providers/aws/folder.rb, line 29
def create
end
notify() click to toggle source

Return the metadata for this log configuration @return [Hash]

# File modules/mu/providers/aws/folder.rb, line 39
def notify
  {
  }
end