module Genome::Stack::ClassMethods

Public Instance Methods

build() click to toggle source
# File lib/genome/stack.rb, line 59
def build
  template = nil

  resources.each do |resource|
    template = Genome::Builder.template(resource)
  end

  cloudformation_client.create_stack(
    stack_name: @stack_name,
    template_body: template.to_json,
    parameters: [],
    capabilities: @capabilities
  )
end
capability(capability_name) click to toggle source
# File lib/genome/stack.rb, line 42
def capability(capability_name)
  capabilities << capability_name
end
cloudformation_client() click to toggle source
# File lib/genome/stack.rb, line 55
def cloudformation_client
  @cloudformation_client ||= Aws::CloudFormation::Client.new
end
disable_iam_capabilities() click to toggle source
# File lib/genome/stack.rb, line 46
def disable_iam_capabilities
  capabilities.delete(:CAPABILITY_IAM)
  capabilities.delete(:CAPABILITY_NAMED_IAM)
end
resource(resource_klass) click to toggle source
# File lib/genome/stack.rb, line 51
def resource(resource_klass)
  resources << resource_klass
end
stack_name(stack_name) click to toggle source
# File lib/genome/stack.rb, line 36
def stack_name(stack_name)
  @stack_name = stack_name

  Stack.stacks[stack_name] = self
end