Class: ResourcesTemplate
- Inherits:
-
Object
- Object
- ResourcesTemplate
- Defined in:
- lib/gantree/cfn/resources.rb
Instance Method Summary collapse
- #create ⇒ Object
-
#initialize(params) ⇒ ResourcesTemplate
constructor
A new instance of ResourcesTemplate.
- #rds ⇒ Object
Constructor Details
#initialize(params) ⇒ ResourcesTemplate
Returns a new instance of ResourcesTemplate.
3 4 5 6 7 8 9 10 |
# File 'lib/gantree/cfn/resources.rb', line 3 def initialize params @stack_name = params[:stack_name] @rds = params[:rds] @env = params[:env] @rds_enabled = params[:rds?] @requirements = params[:requirements] @env_type = params[:env_type] end |
Instance Method Details
#create ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/gantree/cfn/resources.rb', line 12 def create "#{@requirements} template do value :AWSTemplateFormatVersion => '2010-09-09' value :Description => '#{@stack_name} Services Resources (2014-06-30)' parameter 'ApplicationName', :Type => 'String', :Default => '#{@stack_name}' resource 'InstanceSecurityGroup', :Type => 'AWS::EC2::SecurityGroup', :Properties => { :GroupDescription => join('', 'an EC2 instance security group created for #{@stack_name}') } output 'InstanceSecurityGroup', :Value => ref('InstanceSecurityGroup') #{rds if @rds_enabled} end.exec! " end |
#rds ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/gantree/cfn/resources.rb', line 37 def rds "resource 'sampleDB', :Type => 'AWS::RDS::DBInstance', :DeletionPolicy => 'Snapshot', :Properties => { :DBName => 'sampledb', :AllocatedStorage => '10', :DBInstanceClass => 'db.m3.large', :DBSecurityGroups => [ ref('DBSecurityGroup') ], :Engine => 'postgres', :EngineVersion => '9.3', :MasterUsername => 'masterUser', :MasterUserPassword => 'masterpassword', } resource 'DBSecurityGroup', :Type => 'AWS::RDS::DBSecurityGroup', :Properties => { :DBSecurityGroupIngress => [ { :EC2SecurityGroupName => ref('InstanceSecurityGroup') }, ], :GroupDescription => 'Allow Beanstalk Instances Access', } output 'RDSHostURL', :Value => get_att('sampleDB', 'Endpoint.Address') " end |