Class: AWS::CloudFormation::Stack
- Inherits:
-
Object
- Object
- AWS::CloudFormation::Stack
- Defined in:
- lib/stack.rb
Instance Method Summary collapse
- #autoscaling_group(logical_id) ⇒ Object
- #autoscaling_group_ids ⇒ Object
- #autoscaling_groups ⇒ Object
- #bucket(logical_id) ⇒ Object
- #bucket_ids ⇒ Object
- #buckets ⇒ Object
- #cloudwatch_alarm(logical_id) ⇒ Object
- #cloudwatch_alarm_ids ⇒ Object
- #cloudwatch_alarms ⇒ Object
- #db_instance(logical_id) ⇒ Object
- #db_instance_ids ⇒ Object
- #db_instances ⇒ Object
- #eip(logical_id) ⇒ Object (also: #elastic_ip)
- #eip_ids ⇒ Object
- #eips ⇒ Object (also: #elastic_ips)
- #elb(logical_id) ⇒ Object
- #elb_ids ⇒ Object
- #elbs ⇒ Object
- #iam_access_key(user_logical_id, key_logical_id) ⇒ Object
- #iam_access_key_ids ⇒ Object
- #iam_group(logical_id) ⇒ Object
- #iam_group_ids ⇒ Object
- #iam_groups ⇒ Object
- #iam_policy ⇒ Object (also: #iam_policies)
- #iam_policy_ids ⇒ Object
- #iam_user(logical_id) ⇒ Object
- #iam_user_ids ⇒ Object
- #iam_users ⇒ Object
- #instance(logical_id) ⇒ Object
- #instance_ids ⇒ Object
- #instances ⇒ Object
- #internet_gateway(logical_id) ⇒ Object (also: #igw)
- #internet_gateway_ids ⇒ Object
- #launch_configuration(logical_id) ⇒ Object (also: #launch_config)
- #launch_configuration_ids ⇒ Object
- #launch_configurations ⇒ Object (also: #launch_configs)
- #network_interface(logical_id) ⇒ Object (also: #nic)
- #network_interface_ids ⇒ Object
- #network_interfaces ⇒ Object (also: #nics)
- #route_table(logical_id) ⇒ Object
- #route_table_ids ⇒ Object
- #scaling_policies(as_group_logical_id) ⇒ Object
- #scaling_policy(as_group_logical_id, policy_logical_id) ⇒ Object
- #scaling_policy_ids ⇒ Object
- #security_group(logical_id) ⇒ Object
- #security_group_ids ⇒ Object
- #security_groups ⇒ Object
- #subnet(logical_id) ⇒ Object
- #subnet_ids ⇒ Object
- #subnets ⇒ Object
- #volume(logical_id) ⇒ Object
- #volume_ids ⇒ Object
- #volumes ⇒ Object
- #vpc(logical_id) ⇒ Object
- #vpc_ids ⇒ Object
- #vpcs ⇒ Object
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_ids ⇒ Object
18 19 20 |
# File 'lib/stack.rb', line 18 def autoscaling_group_ids get_resources "AWS::AutoScaling::AutoScalingGroup" end |
#autoscaling_groups ⇒ Object
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_ids ⇒ Object
30 31 32 |
# File 'lib/stack.rb', line 30 def bucket_ids get_resources "AWS::S3::Bucket" end |
#buckets ⇒ Object
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_ids ⇒ Object
42 43 44 |
# File 'lib/stack.rb', line 42 def cloudwatch_alarm_ids get_resources "AWS::CloudWatch::Alarm" end |
#cloudwatch_alarms ⇒ Object
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_ids ⇒ Object
54 55 56 |
# File 'lib/stack.rb', line 54 def db_instance_ids get_resources "AWS::RDS::DBInstance" end |
#db_instances ⇒ Object
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_ids ⇒ Object
70 71 72 |
# File 'lib/stack.rb', line 70 def eip_ids get_resources "AWS::EC2::EIP" end |
#eips ⇒ Object 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_ids ⇒ Object
82 83 84 |
# File 'lib/stack.rb', line 82 def elb_ids get_resources "AWS::ElasticLoadBalancing::LoadBalancer" end |
#elbs ⇒ Object
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_ids ⇒ Object
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_ids ⇒ Object
102 103 104 |
# File 'lib/stack.rb', line 102 def iam_group_ids get_resources "AWS::IAM::Group" end |
#iam_groups ⇒ Object
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_policy ⇒ Object 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_ids ⇒ Object
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_ids ⇒ Object
124 125 126 |
# File 'lib/stack.rb', line 124 def iam_user_ids get_resources "AWS::IAM::User" end |
#iam_users ⇒ Object
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_ids ⇒ Object
136 137 138 |
# File 'lib/stack.rb', line 136 def instance_ids get_resources "AWS::EC2::Instance" end |
#instances ⇒ Object
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_ids ⇒ Object
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_ids ⇒ Object
162 163 164 |
# File 'lib/stack.rb', line 162 def launch_configuration_ids get_resources "AWS::AutoScaling::LaunchConfiguration" end |
#launch_configurations ⇒ Object 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_ids ⇒ Object
178 179 180 |
# File 'lib/stack.rb', line 178 def network_interface_ids get_resources "AWS::EC2::NetworkInterface" end |
#network_interfaces ⇒ Object 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_ids ⇒ Object
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_ids ⇒ Object
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_ids ⇒ Object
212 213 214 |
# File 'lib/stack.rb', line 212 def security_group_ids get_resources "AWS::EC2::SecurityGroup" end |
#security_groups ⇒ Object
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_ids ⇒ Object
224 225 226 |
# File 'lib/stack.rb', line 224 def subnet_ids get_resources "AWS::EC2::Subnet" end |
#subnets ⇒ Object
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_ids ⇒ Object
236 237 238 |
# File 'lib/stack.rb', line 236 def volume_ids get_resources "AWS::EC2::Volume" end |
#volumes ⇒ Object
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_ids ⇒ Object
248 249 250 |
# File 'lib/stack.rb', line 248 def vpc_ids get_resources "AWS::EC2::VPC" end |
#vpcs ⇒ Object
244 245 246 |
# File 'lib/stack.rb', line 244 def vpcs vpc_ids.inject({}) { |hash, (k,v)| hash[k] = vpc(k); hash } end |