Module: Genome::Stack::ClassMethods
- Defined in:
- lib/genome/stack.rb
Instance Method Summary collapse
- #build ⇒ Object
- #capability(capability_name) ⇒ Object
- #cloudformation_client ⇒ Object
- #disable_iam_capabilities ⇒ Object
- #resource(resource_klass) ⇒ Object
- #stack_name(stack_name) ⇒ Object
Instance Method Details
#build ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# 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) ⇒ Object
42 43 44 |
# File 'lib/genome/stack.rb', line 42 def capability(capability_name) capabilities << capability_name end |
#cloudformation_client ⇒ Object
55 56 57 |
# File 'lib/genome/stack.rb', line 55 def cloudformation_client @cloudformation_client ||= Aws::CloudFormation::Client.new end |
#disable_iam_capabilities ⇒ Object
46 47 48 49 |
# File 'lib/genome/stack.rb', line 46 def disable_iam_capabilities capabilities.delete(:CAPABILITY_IAM) capabilities.delete(:CAPABILITY_NAMED_IAM) end |
#resource(resource_klass) ⇒ Object
51 52 53 |
# File 'lib/genome/stack.rb', line 51 def resource(resource_klass) resources << resource_klass end |
#stack_name(stack_name) ⇒ Object
36 37 38 39 40 |
# File 'lib/genome/stack.rb', line 36 def stack_name(stack_name) @stack_name = stack_name Stack.stacks[stack_name] = self end |