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.
31 lines
974 B
31 lines
974 B
#!/bin/python3
|
|
# rewrite this to aslo cancel-spot-instance-requests
|
|
|
|
import boto3
|
|
|
|
# Create an EC2 client
|
|
ec2_client = boto3.client('ec2')
|
|
|
|
# Retrieve instance IDs
|
|
response = ec2_client.describe_instances()
|
|
|
|
|
|
for reservation in response['Reservations'] :
|
|
for instance in reservation['Instances']:
|
|
print( instance)
|
|
|
|
instance_ids = [instance['InstanceId']
|
|
for reservation in response['Reservations']
|
|
for instance in reservation['Instances']]
|
|
|
|
# Terminate instances
|
|
for instance_id in instance_ids:
|
|
print(f"Terminating instance: {instance_id}")
|
|
ec2_client.terminate_instances(InstanceIds=[instance_id])
|
|
|
|
# Check the status of the terminated instances
|
|
terminated_instances = ec2_client.describe_instances(InstanceIds=instance_ids)
|
|
for reservation in terminated_instances['Reservations']:
|
|
for instance in reservation['Instances']:
|
|
print(f"Instance ID: {instance['InstanceId']}, State: {instance['State']['Name']}")
|