class Object

Public Instance Methods

add_aws_provisioner_dsl() click to toggle source
# File lib/aws_provisioner/dsl.rb, line 49
def add_aws_provisioner_dsl
  AwsProvisioner::Environment.environments.each do |environment|
    define_method("#{environment}?".to_sym) do
      AwsProvisioner::Environment.current?(environment)
    end
  end

  define_method(:current) do
    AwsProvisioner::Environment.current
  end
end
configure() click to toggle source
# File lib/aws_provisioner/dsl.rb, line 62
def configure
  config_file_path = ENV["AWS_PROVISIONER_CONFIG"]

  if config_file_path
    config = YAML.load(File.read(config_file_path))

    environments = config["environments"].reduce({}) do |acc, entry|
      key, value = entry
      acc[key.to_sym] = value

      acc
    end

    AwsProvisioner::Environment.configure(
      environments,
      ENV["AWS_PROVISIONER_ENVIRONMENT"].to_sym
    )
  end

  Object.add_aws_provisioner_dsl
end
resource(resource_type, name, &block) click to toggle source
# File lib/aws_provisioner/dsl.rb, line 40
def resource(resource_type, name, &block)
  aws_type = AwsProvisioner::DSL.translate_resource_type(resource_type)
  r = AwsProvisioner::Resource.new(aws_type, name, {})
  r.properties.instance_eval(&block)

  r
end
template(name=nil, description: nil, &block) click to toggle source
# File lib/aws_provisioner/dsl.rb, line 31
def template(name=nil, description: nil, &block)
  t = AwsProvisioner::Template.new(name, description: description)

  t.instance_eval(&block)
  AwsProvisioner::Runtime.templates << t

  t
end