parent
4cd59cc18c
commit
a861b3c45a
@ -0,0 +1,30 @@
|
||||
#!/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']}")
|
@ -0,0 +1,34 @@
|
||||
#!/bin/python3
|
||||
|
||||
import boto3
|
||||
|
||||
# Create an EC2 client
|
||||
ec2_client = boto3.client('ec2')
|
||||
|
||||
# Retrieve instance IDs and Spot Instance Request IDs
|
||||
response = ec2_client.describe_instances()
|
||||
instance_ids = []
|
||||
spot_request_ids = []
|
||||
|
||||
for reservation in response['Reservations']:
|
||||
for instance in reservation['Instances']:
|
||||
print(instance)
|
||||
instance_ids.append(instance['InstanceId'])
|
||||
if 'SpotInstanceRequestId' in instance:
|
||||
spot_request_ids.append(instance['SpotInstanceRequestId'])
|
||||
|
||||
# Terminate instances
|
||||
for instance_id in instance_ids:
|
||||
print(f"Terminating instance: {instance_id}")
|
||||
ec2_client.terminate_instances(InstanceIds=[instance_id])
|
||||
|
||||
# Cancel Spot Instance Requests
|
||||
for spot_request_id in spot_request_ids:
|
||||
print(f"Cancelling Spot Instance Request: {spot_request_id}")
|
||||
ec2_client.cancel_spot_instance_requests(SpotInstanceRequestIds=[spot_request_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']}")
|
Loading…
Reference in new issue