class DrawCloud::RDSInstance
Attributes
allocated_storage[RW]
auto_minor_version_upgrade[RW]
backup_retention_period[RW]
db_instance_class[RW]
db_security_groups[RW]
db_snapshot_identifier[RW]
engine[RW]
engine_version[RW]
instance_class[RW]
instance_class=[RW]
iops[RW]
master_password[RW]
master_password=[RW]
master_user_password[RW]
master_username[RW]
multi_az[RW]
name[RW]
rds_subnets[RW]
Public Class Methods
new(name, options={}, &block)
click to toggle source
Calls superclass method
DrawCloud::Base::new
# File lib/draw_cloud/rds_instance.rb, line 60 def initialize(name, options={}, &block) @name = name @db_security_groups = [] @rds_subnets = [] super(options, &block) end
Public Instance Methods
db_security_group(name, description, options={}, &block)
click to toggle source
# File lib/draw_cloud/rds_instance.rb, line 88 def db_security_group(name, description, options={}, &block) d = RDSSecurityGroup.new(name, description, options.merge(:parent => self), &block) db_security_groups << d d end
load_into_config(config)
click to toggle source
Calls superclass method
DrawCloud::Base#load_into_config
# File lib/draw_cloud/rds_instance.rb, line 71 def load_into_config(config) config.cf_add_resource resource_name, self db_security_groups.each {|g| g.load_into_config(config) } unless rds_subnets.empty? config.cf_add_resource subnet_group.resource_name, subnet_group end super(config) end
rds()
click to toggle source
# File lib/draw_cloud/rds_instance.rb, line 67 def rds self end
resource_name()
click to toggle source
# File lib/draw_cloud/rds_instance.rb, line 80 def resource_name resource_style(name) + "RDS" end
subnet_group()
click to toggle source
# File lib/draw_cloud/rds_instance.rb, line 84 def subnet_group RDSSubnetGroup.new(self, rds_subnets) end
to_h()
click to toggle source
# File lib/draw_cloud/rds_instance.rb, line 94 def to_h h = { "Type" => "AWS::RDS::DBInstance", "Properties" => { "DBSecurityGroups" => db_security_groups.collect { |g| DrawCloud.ref(g)}, "AllocatedStorage" => DrawCloud.ref(allocated_storage), "Engine" => DrawCloud.ref(engine), "DBInstanceClass" => DrawCloud.ref(db_instance_class), "MasterUsername" => DrawCloud.ref(master_username), "MasterUserPassword" => DrawCloud.ref(master_user_password), } } p = h["Properties"] p["DBSnapshotIdentifier"] = DrawCloud.ref(db_snapshot_identifier) if db_snapshot_identifier p["MultiAZ"] = multi_az unless multi_az.nil? p["EngineVersion"] = DrawCloud.ref(engine_version) unless engine_version.nil? p["Iops"] = DrawCloud.ref(iops) if iops p["DBSubnetGroupName"] = DrawCloud.ref(subnet_group) unless rds_subnets.empty? p["AutoMinorVersionUpgrade"] = DrawCloud.ref(auto_minor_version_upgrade) unless auto_minor_version_upgrade.nil? p["BackupRetentionPeriod"] = DrawCloud.ref(backup_retention_period) unless backup_retention_period.nil? add_standard_properties(h) end