You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1021 B
33 lines
1021 B
import time
|
|
|
|
import boto3
|
|
#from dateutil import tz
|
|
|
|
|
|
def parse_command_id(send_command_output):
|
|
return send_command_output['Command']['CommandId']
|
|
|
|
def main():
|
|
ec2_client = boto3.client('ec2')
|
|
ssm_client = boto3.client('ssm')
|
|
|
|
# Get the list of instance IDs and their states
|
|
instances_response = ec2_client.describe_instances()
|
|
|
|
instances = [
|
|
(instance['InstanceId'], instance['State']['Name'])
|
|
for reservation in instances_response['Reservations']
|
|
for instance in reservation['Instances']
|
|
]
|
|
for reservation in instances_response['Reservations']:
|
|
for instance in reservation['Instances']:
|
|
print(instance)
|
|
instance_id = instance['InstanceId']
|
|
state = instance['State']['Name']
|
|
if state == 'running':
|
|
print(f"Starting command for instance: {instance_id}")
|
|
print(f"aws ssm start-session --target {instance_id}")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|