Class: AWS::CloudFormation::Stack

Inherits:
Object
  • Object
show all
Defined in:
lib/stack.rb

Instance Method Summary collapse

Instance Method Details

#autoscaling_group(logical_id) ⇒ Object



10
11
12
# File 'lib/stack.rb', line 10

def autoscaling_group(logical_id)
  AWS::AutoScaling.new.groups[autoscaling_group_ids[logical_id.to_sym]]
end

#autoscaling_group_idsObject



18
19
20
# File 'lib/stack.rb', line 18

def autoscaling_group_ids
  get_resources "AWS::AutoScaling::AutoScalingGroup" 
end

#autoscaling_groupsObject



14
15
16
# File 'lib/stack.rb', line 14

def autoscaling_groups
  autoscaling_group_ids.inject({}) { |hash, (k,v)| hash[k] = autoscaling_group(k); hash }
end

#bucket(logical_id) ⇒ Object



22
23
24
# File 'lib/stack.rb', line 22

def bucket(logical_id)
  AWS::S3.new.buckets[bucket_ids[logical_id.to_sym]]
end

#bucket_idsObject



30
31
32
# File 'lib/stack.rb', line 30

def bucket_ids
  get_resources "AWS::S3::Bucket"
end

#bucketsObject



26
27
28
# File 'lib/stack.rb', line 26

def buckets
  bucket_ids.inject({}) { |hash, (k,v)| hash[k] = bucket(k); hash }
end

#cloudwatch_alarm(logical_id) ⇒ Object



34
35
36
# File 'lib/stack.rb', line 34

def cloudwatch_alarm(logical_id)
  AWS::CloudWatch.new.alarms[cloudwatch_alarm_ids[logical_id.to_sym]]
end

#cloudwatch_alarm_idsObject



42
43
44
# File 'lib/stack.rb', line 42

def cloudwatch_alarm_ids
  get_resources "AWS::CloudWatch::Alarm"
end

#cloudwatch_alarmsObject



38
39
40
# File 'lib/stack.rb', line 38

def cloudwatch_alarms
  cloudwatch_alarm_ids.inject({}) { |hash, (k,v)| hash[k] = cloudwatch_alarm(k); hash }
end

#db_instance(logical_id) ⇒ Object



46
47
48
# File 'lib/stack.rb', line 46

def db_instance(logical_id)
  AWS::RDS.new.db_instances[db_instance_ids[logical_id.to_sym]]
end

#db_instance_idsObject



54
55
56
# File 'lib/stack.rb', line 54

def db_instance_ids
  get_resources "AWS::RDS::DBInstance"
end

#db_instancesObject



50
51
52
# File 'lib/stack.rb', line 50

def db_instances
  db_instance_ids.inject({}) { |hash, (k,v)| hash[k] = db_instance(k); hash }
end

#eip(logical_id) ⇒ Object Also known as: elastic_ip



58
59
60
# File 'lib/stack.rb', line 58

def eip(logical_id)
  AWS::EC2.new.elastic_ips[eip_ids[logical_id.to_sym]]
end

#eip_idsObject



70
71
72
# File 'lib/stack.rb', line 70

def eip_ids
  get_resources "AWS::EC2::EIP"
end

#eipsObject Also known as: elastic_ips



64
65
66
# File 'lib/stack.rb', line 64

def eips
  eip_ids.inject({}) { |hash, (k,v)| hash[k] = eip(k) }
end

#elb(logical_id) ⇒ Object



74
75
76
# File 'lib/stack.rb', line 74

def elb(logical_id)
  AWS::ELB.new.load_balancers[elb_ids[logical_id.to_sym]]
end

#elb_idsObject



82
83
84
# File 'lib/stack.rb', line 82

def elb_ids
  get_resources "AWS::ElasticLoadBalancing::LoadBalancer"
end

#elbsObject



78
79
80
# File 'lib/stack.rb', line 78

def elbs
  elb_ids.inject({}) { |hash, (k,v)| hash[k] = elb(k); hash }
end

#iam_access_key(user_logical_id, key_logical_id) ⇒ Object



86
87
88
# File 'lib/stack.rb', line 86

def iam_access_key(user_logical_id, key_logical_id)
  iam_user(user_logical_id).access_keys[iam_access_key_ids[key_logical_id.to_sym]]
end

#iam_access_key_idsObject



90
91
92
# File 'lib/stack.rb', line 90

def iam_access_key_ids
  get_resources "AWS::IAM::AccessKey"
end

#iam_group(logical_id) ⇒ Object



94
95
96
# File 'lib/stack.rb', line 94

def iam_group(logical_id)
  AWS::IAM.new.groups[iam_group_ids[logical_id.to_sym]]
end

#iam_group_idsObject



102
103
104
# File 'lib/stack.rb', line 102

def iam_group_ids
  get_resources "AWS::IAM::Group"
end

#iam_groupsObject



98
99
100
# File 'lib/stack.rb', line 98

def iam_groups
  iam_group_ids.inject({}) { |hash, (k,v)| hash[k] = iam_group(k); hash }
end

#iam_policyObject Also known as: iam_policies



106
107
108
# File 'lib/stack.rb', line 106

def iam_policy
 puts "use Stack.iam_group#policies or Stack.iam_user#policies"
end

#iam_policy_idsObject



112
113
114
# File 'lib/stack.rb', line 112

def iam_policy_ids
  get_resources "AWS::IAM::Policy"
end

#iam_user(logical_id) ⇒ Object



116
117
118
# File 'lib/stack.rb', line 116

def iam_user(logical_id)
  AWS::IAM.new.users[iam_user_ids[logical_id.to_sym]]
end

#iam_user_idsObject



124
125
126
# File 'lib/stack.rb', line 124

def iam_user_ids
  get_resources "AWS::IAM::User"
end

#iam_usersObject



120
121
122
# File 'lib/stack.rb', line 120

def iam_users
  iam_user_ids.inject({}) { |hash, (k,v)| hash[k] = iam_user(k); hash }
end

#instance(logical_id) ⇒ Object



128
129
130
# File 'lib/stack.rb', line 128

def instance(logical_id)
  AWS::EC2.new.instances[instance_ids[logical_id.to_sym]]
end

#instance_idsObject



136
137
138
# File 'lib/stack.rb', line 136

def instance_ids
  get_resources "AWS::EC2::Instance"
end

#instancesObject



132
133
134
# File 'lib/stack.rb', line 132

def instances
  instance_ids.inject({}) { |hash, (k,v)| hash[k] = instance(k); hash }
end

#internet_gateway(logical_id) ⇒ Object Also known as: igw



140
141
142
# File 'lib/stack.rb', line 140

def internet_gateway(logical_id)
  AWS::EC2.new.internet_gateways[internet_gateway_ids[logical_id.to_sym]]
end

#internet_gateway_idsObject



146
147
148
# File 'lib/stack.rb', line 146

def internet_gateway_ids
  get_resources "AWS::EC2::InternetGateway"
end

#launch_configuration(logical_id) ⇒ Object Also known as: launch_config



150
151
152
# File 'lib/stack.rb', line 150

def launch_configuration(logical_id)
  AWS::AutoScaling.new.launch_configurations[launch_configuration_ids[logical_id.to_sym]]
end

#launch_configuration_idsObject



162
163
164
# File 'lib/stack.rb', line 162

def launch_configuration_ids
  get_resources "AWS::AutoScaling::LaunchConfiguration"
end

#launch_configurationsObject Also known as: launch_configs



156
157
158
# File 'lib/stack.rb', line 156

def launch_configurations
  launch_configuration_ids.inject({}) { |hash, (k,v)| hash[k] = launch_configuration(k); hash }
end

#network_interface(logical_id) ⇒ Object Also known as: nic



166
167
168
# File 'lib/stack.rb', line 166

def network_interface(logical_id)
  AWS::EC2.new.network_interfaces[network_interface_ids[logical_id.to_sym]]
end

#network_interface_idsObject



178
179
180
# File 'lib/stack.rb', line 178

def network_interface_ids
  get_resources "AWS::EC2::NetworkInterface"
end

#network_interfacesObject Also known as: nics



172
173
174
# File 'lib/stack.rb', line 172

def network_interfaces
  network_interface_ids.inject({}) { |hash, (k,v)| hash[k] = network_interface(k); hash }
end

#route_table(logical_id) ⇒ Object



182
183
184
# File 'lib/stack.rb', line 182

def route_table(logical_id)
  AWS::EC2.new.route_tables[route_table_ids[logical_id.to_sym]]
end

#route_table_idsObject



186
187
188
# File 'lib/stack.rb', line 186

def route_table_ids
  get_resources "AWS::EC2::RouteTable"
end

#scaling_policies(as_group_logical_id) ⇒ Object



196
197
198
# File 'lib/stack.rb', line 196

def scaling_policies(as_group_logical_id)
  scaling_policy_ids.inject({}) { |hash, (k,v)| hash[k] = scaling_policy(as_group_logical_id,k.to_s); hash }
end

#scaling_policy(as_group_logical_id, policy_logical_id) ⇒ Object



190
191
192
193
194
# File 'lib/stack.rb', line 190

def scaling_policy(as_group_logical_id, policy_logical_id)
  group = autoscaling_group(as_group_logical_id)
  policy = scaling_policy_ids[policy_logical_id.to_sym].split('/')[-1]
  AWS::AutoScaling::ScalingPolicy.new(group, policy)
end

#scaling_policy_idsObject



200
201
202
# File 'lib/stack.rb', line 200

def scaling_policy_ids
  get_resources "AWS::AutoScaling::ScalingPolicy"
end

#security_group(logical_id) ⇒ Object



204
205
206
# File 'lib/stack.rb', line 204

def security_group(logical_id)
  AWS::EC2.new.security_groups.filter('group-id',security_group_ids[logical_id.to_sym]).first
end

#security_group_idsObject



212
213
214
# File 'lib/stack.rb', line 212

def security_group_ids
  get_resources "AWS::EC2::SecurityGroup"
end

#security_groupsObject



208
209
210
# File 'lib/stack.rb', line 208

def security_groups
  security_group_ids.inject({}) { |hash, (k,v)| hash[k] = security_group(k); hash }
end

#subnet(logical_id) ⇒ Object



216
217
218
# File 'lib/stack.rb', line 216

def subnet(logical_id)
  AWS::EC2.new.subnets[subnet_ids[logical_id.to_sym]]
end

#subnet_idsObject



224
225
226
# File 'lib/stack.rb', line 224

def subnet_ids
  get_resources "AWS::EC2::Subnet"
end

#subnetsObject



220
221
222
# File 'lib/stack.rb', line 220

def subnets
  subnet_ids.inject({}) { |hash, (k,v)| hash[k] = subnet(k); hash }
end

#volume(logical_id) ⇒ Object



228
229
230
# File 'lib/stack.rb', line 228

def volume(logical_id)
  AWS::EC2.new.volumes[volume_ids[logical_id.to_sym]]
end

#volume_idsObject



236
237
238
# File 'lib/stack.rb', line 236

def volume_ids
  get_resources "AWS::EC2::Volume"
end

#volumesObject



232
233
234
# File 'lib/stack.rb', line 232

def volumes
  volume_ids.inject({}) { |hash, (k,v)| hash[k] = volume(k); hash }
end

#vpc(logical_id) ⇒ Object



240
241
242
# File 'lib/stack.rb', line 240

def vpc(logical_id)
  AWS::EC2.new.vpcs[vpc_ids[logical_id.to_sym]]
end

#vpc_idsObject



248
249
250
# File 'lib/stack.rb', line 248

def vpc_ids
  get_resources "AWS::EC2::VPC"
end

#vpcsObject



244
245
246
# File 'lib/stack.rb', line 244

def vpcs
  vpc_ids.inject({}) { |hash, (k,v)| hash[k] = vpc(k); hash }
end