Я пытаюсь написать лямбда-функцию для освобождения выделенных хостов
Мне нужна помощь в фильтрации данных dict
Вот код
import boto3
client = boto3.client('ec2')
response = client.describe_hosts(Filters=[{'Name': 'state', 'Values':
['available']}])
print(response)
Вышеприведенные данные возвращают данные dict (2 выделенных хоста). Пока что все примеры, которые я видел в Интернете о питоне
Что это за ХОСТЫ >>> Это очень похоже на БРОНИРОВАНИЕ для EC2, экземпляр
{
u'Hosts': [
{
u'HostId': 'h-0e9--some-ID',
u'Tags': [
],
u'HostProperties': {
u'Cores': 36,
u'TotalVCpus': 72,
u'InstanceType': 'c5.large',
u'Sockets': 2
},
u'Instances': [
],
u'State': 'available',
u'AvailabilityZone': 'us-east-1a',
u'AvailableCapacity': {
u'AvailableInstanceCapacity': [
{
u'AvailableCapacity': 36,
u'InstanceType': 'c5.large',
u'TotalCapacity': 36
}
],
u'AvailableVCpus': 72
},
u'AllocationTime': datetime.datetime(2019,
1,
24,
4,
30,
48,
tzinfo=tzlocal()),
u'AutoPlacement': 'off'
},
{
u'HostId': 'h-0e9--some-ID',
u'Tags': [
],
u'HostProperties': {
u'Cores': 36,
u'TotalVCpus': 72,
u'InstanceType': 'c5.large',
u'Sockets': 2
},
u'Instances': [
],
u'State': 'available',
u'AvailabilityZone': 'us-east-1a',
u'AvailableCapacity': {
u'AvailableInstanceCapacity': [
{
u'AvailableCapacity': 36,
u'InstanceType': 'c5.large',
u'TotalCapacity': 36
}
],
u'AvailableVCpus': 72
},
u'AllocationTime': datetime.datetime(2019,
1,
24,
4,
30,
48,
tzinfo=tzlocal()),
u'AutoPlacement': 'off'
}
],
Я хотел бы использовать выходные данные, чтобы отфильтровать HostId и указать состояние «доступно» и освободить их, используя приведенные ниже api
response = client.release_hosts(
HostIds=[
'string',
]
)
Короче говоря, я хочу описать_host, получать хосты и предоставлять хосты для release_host, используя python
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.release_hosts
Я пытался найти пример кода для description_instance и start_instance или stop_instance или terminate_instance, но не смог его сделать
Для экземпляра EC2 есть резервирование, а для выделенных хостов я заметил хостов ... Я не очень понимаю это .. пожалуйста, дайте мне знать
Типичный словарь будет похож на
my_dict = {'name': 'Jack', 'age': 26}
Для s3> Это очень похоже на приведенный выше пример словаря ... для ec2 это сбивает с толку.
s3client = boto3.client('s3')
list_buckets_resp = s3client.list_buckets()
for bucket in list_buckets_resp['Buckets']:
print bucket