1

i want to run describe_instance_status from instance ID, instance id is returned from describe_instances in similar lambda function/ but getting paramater error

Code is:

import boto3
import json
from collections import defaultdict

region = 'us-east-1'

def lambda_handler(event, context):
    
    
    client = boto3.client('ec2')

    running_instances = client.describe_instances(
      Filters=[
        {
            'Name': 'tag:orgid',
            'Values': [
                'demoxx',
            ]
        },
    ],
    )
    
    instance_ids = []    
    
    for reservation in running_instances['Reservations']:
        for instance in reservation['Instances']:
            instance_ids.append(instance['InstanceId'])
    
    response = client.describe_instance_status(
    InstanceIds=[
        instance_ids,
    ],
)

error is :

Parameter validation failed:
Invalid type for parameter InstanceIds[0], value: ['i-0519ad34bbd9954d'], type: <class 'list'>, valid types: <class 'str'>: ParamValidationError
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 31, in lambda_handler
    instance_ids,

1 Answer 1

2

InstanceIds expcets a list and instance_ids is already a list. So you can do the following:

    response = client.describe_instance_status(
                 InstanceIds=instance_ids
    )
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.