class RenderCFN::NestedStack
Public Class Methods
new( arguments)
click to toggle source
# File lib/renderCFN/nestedStack.rb, line 6 def initialize( arguments) @serviceTitle = arguments[:serviceTitle] or nil @serviceName = arguments[:serviceName] or nil @nestedStackName = "#{@serviceName}NestedStack" unless @serviceTitle and @serviceName then print "Please set serviceTitle and serviceName\n" end @stackID = String.new() @templateName = "#{@serviceName}.yml" @templateURL = "https://s3.amazonaws.com/#{@@bucket}/stacks/#{@@stackName}/#{@templateName}" @awsObject = { 'AWSTemplateFormatVersion' => '2010-09-09', 'Description' => arguments[:description] ? "#{arguments[:description]} [renderCFN]" : 'Made with renderCFN', 'Resources' => {} , 'Parameters' => {} } @nestedStackObject = { @nestedStackName => { 'Type' => 'AWS::CloudFormation::Stack', 'Properties' => { 'TemplateURL' => @templateURL, 'Parameters' => {} } } } end
Public Instance Methods
addParameter( dependentObject, type)
click to toggle source
# File lib/renderCFN/nestedStack.rb, line 39 def addParameter( dependentObject, type) @awsObject['Parameters'].merge!( dependentObject => { 'Type' => type } ) @nestedStackObject[@nestedStackName]['Properties']['Parameters'].merge!( dependentObject => { 'Ref' => dependentObject } ) end
getNestedStack()
click to toggle source
# File lib/renderCFN/nestedStack.rb, line 44 def getNestedStack() uploadTemplate() @nestedStackObject end