Class: Elbas::LaunchConfiguration
Instance Attribute Summary
Attributes inherited from AWSResource
#aws_counterpart
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from AWSResource
#cleanup
Methods included from Logger
#info
Methods included from Retryable
#with_retry
Methods included from AWS::EC2
#ec2
#credentials
#autoscale_group, #autoscale_group_name, #autoscaling
Class Method Details
.create(ami, &block) ⇒ Object
4
5
6
7
8
9
10
|
# File 'lib/elbas/launch_configuration.rb', line 4
def self.create(ami, &block)
lc = new
lc.cleanup do
lc.save(ami)
yield lc
end
end
|
Instance Method Details
#attach_to_autoscale_group! ⇒ Object
19
20
21
22
|
# File 'lib/elbas/launch_configuration.rb', line 19
def attach_to_autoscale_group!
info 'Attaching Launch Configuration to AutoScale Group'
autoscale_group.update(launch_configuration: aws_counterpart)
end
|
#destroy(launch_configurations = []) ⇒ Object
24
25
26
27
28
29
|
# File 'lib/elbas/launch_configuration.rb', line 24
def destroy(launch_configurations = [])
launch_configurations.each do |lc|
info "Deleting old launch configuration: #{lc.name}"
lc.delete
end
end
|
#save(ami) ⇒ Object
12
13
14
15
16
17
|
# File 'lib/elbas/launch_configuration.rb', line 12
def save(ami)
info "Creating an EC2 Launch Configuration for AMI: #{ami.aws_counterpart.id}"
with_retry do
@aws_counterpart = autoscaling.launch_configurations.create(name, ami.aws_counterpart.id, instance_size, create_options)
end
end
|