@@ -222,20 +222,11 @@ func (m SQSMonitor) isInstanceManaged(instanceID string) (bool, error) {
222222 if instanceID == "" {
223223 return false , fmt .Errorf ("Instance ID was empty when calling isInstanceManaged" )
224224 }
225- asgDescribeInstanceInput := autoscaling.DescribeAutoScalingInstancesInput {
226- InstanceIds : []* string {& instanceID },
227- MaxRecords : aws .Int64 (50 ),
228- }
229- asgs , err := m .ASG .DescribeAutoScalingInstances (& asgDescribeInstanceInput )
230- if err != nil {
225+ asgName , err := m .retrieveAutoScalingGroupName (instanceID )
226+ if asgName == "" {
231227 return false , err
232228 }
233- if len (asgs .AutoScalingInstances ) == 0 {
234- log .Debug ().Str ("instance_id" , instanceID ).Msg ("Did not find an Auto Scaling Group for the given instance id" )
235- return false , nil
236- }
237- asgName := asgs .AutoScalingInstances [0 ].AutoScalingGroupName
238- asgFilter := autoscaling.Filter {Name : aws .String ("auto-scaling-group" ), Values : []* string {asgName }}
229+ asgFilter := autoscaling.Filter {Name : aws .String ("auto-scaling-group" ), Values : []* string {aws .String (asgName )}}
239230 asgDescribeTagsInput := autoscaling.DescribeTagsInput {
240231 Filters : []* autoscaling.Filter {& asgFilter },
241232 }
@@ -259,3 +250,21 @@ func (m SQSMonitor) isInstanceManaged(instanceID string) (bool, error) {
259250 }
260251 return isManaged , err
261252}
253+
254+ // retrieveAutoScalingGroupName returns the autoscaling group name for a given instanceID
255+ func (m SQSMonitor ) retrieveAutoScalingGroupName (instanceID string ) (string , error ) {
256+ asgDescribeInstanceInput := autoscaling.DescribeAutoScalingInstancesInput {
257+ InstanceIds : []* string {& instanceID },
258+ MaxRecords : aws .Int64 (50 ),
259+ }
260+ asgs , err := m .ASG .DescribeAutoScalingInstances (& asgDescribeInstanceInput )
261+ if err != nil {
262+ return "" , err
263+ }
264+ if len (asgs .AutoScalingInstances ) == 0 {
265+ log .Debug ().Str ("instance_id" , instanceID ).Msg ("Did not find an Auto Scaling Group for the given instance id" )
266+ return "" , nil
267+ }
268+ asgName := asgs .AutoScalingInstances [0 ].AutoScalingGroupName
269+ return * asgName , err
270+ }
0 commit comments