27 lines
805 B
Python
27 lines
805 B
Python
|
import boto3
|
||
|
import logging
|
||
|
import os
|
||
|
import json
|
||
|
import time
|
||
|
|
||
|
# reference: https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-eventbridge/
|
||
|
|
||
|
ec2 = boto3.client('ec2', region_name=os.environ['region_name'])
|
||
|
|
||
|
def lambda_handler(event, context):
|
||
|
|
||
|
ec2.start_instances(InstanceIds=json.loads(os.environ['instances']))
|
||
|
time.sleep(5)
|
||
|
print("Instance state after lambda execution:")
|
||
|
|
||
|
ec2Array = []
|
||
|
response = ec2.describe_instances(InstanceIds=json.loads(os.environ['instances']))
|
||
|
for r in response['Reservations']:
|
||
|
for i in r['Instances']:
|
||
|
for t in i['Tags']:
|
||
|
if t['Key'] == 'Name':
|
||
|
ec2Array.append({'id': i['InstanceId'], 'name': t['Value'], 'state': i['State']['Name']})
|
||
|
|
||
|
print(json.dumps(ec2Array))
|
||
|
return ec2Array
|