class Elbas::AWS::AutoscaleGroup
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 6 def initialize(name) @name = name @aws_counterpart = query_autoscale_group_by_name(name) end
Public Instance Methods
instance_ids()
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 11 def instance_ids aws_counterpart.instances.map(&:instance_id) end
instances()
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 15 def instances InstanceCollection.new instance_ids end
launch_template()
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 19 def launch_template lts = aws_launch_template || aws_launch_template_specification raise Elbas::Errors::NoLaunchTemplate unless lts LaunchTemplate.new( lts.launch_template_id, lts.launch_template_name, lts.version ) end
Private Instance Methods
aws_launch_template()
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 42 def aws_launch_template aws_counterpart.launch_template end
aws_launch_template_specification()
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 46 def aws_launch_template_specification aws_counterpart.mixed_instances_policy&.launch_template &.launch_template_specification end
aws_namespace()
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 31 def aws_namespace ::Aws::AutoScaling end
query_autoscale_group_by_name(name)
click to toggle source
# File lib/elbas/aws/autoscale_group.rb, line 35 def query_autoscale_group_by_name(name) aws_client .describe_auto_scaling_groups(auto_scaling_group_names: [name]) .auto_scaling_groups .first end