Как я могу использовать list_stacks в boto3, чтобы найти стек и отфильтровать его? - PullRequest
0 голосов
/ 10 декабря 2018

Как я могу использовать list_stacks в boto3, чтобы найти стек с именем test-logging-9823492834, случайное число?

Моя попытка:

for stack in qa.cfn.list_stacks().filter(Prefix='test-logging'):
  print('{0}:{1}'.format(stack.name, stack.key))

AttributeError: 'dict' object has no attribute 'filter'

1 Ответ

0 голосов
/ 14 декабря 2018

В boto3 функция list_stacks() не имеет метода фильтрации для stack_names.

У клиента есть только 2 варианта, в которых вы можете фильтровать только выходные данные на основе StackStatus:

response = client.list_stacks(NextToken='string',StackStatusFilter='option')

Ответ на вышеприведенный вызов вернет только dict StackSummaries:

{
    'StackSummaries': [
        {
            'StackId': 'string',
            'StackName': 'string',
            'TemplateDescription': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'LastUpdatedTime': datetime(2015, 1, 1),
            'DeletionTime': datetime(2015, 1, 1),
            'StackStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'ROLLBACK_IN_PROGRESS'|'ROLLBACK_FAILED'|'ROLLBACK_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'UPDATE_IN_PROGRESS'|'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_COMPLETE'|'UPDATE_ROLLBACK_IN_PROGRESS'|'UPDATE_ROLLBACK_FAILED'|'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_ROLLBACK_COMPLETE'|'REVIEW_IN_PROGRESS',
            'StackStatusReason': 'string',
            'ParentId': 'string',
            'RootId': 'string',
            'DriftInformation': {
                'StackDriftStatus': 'DRIFTED'|'IN_SYNC'|'UNKNOWN'|'NOT_CHECKED',
                'LastCheckTimestamp': datetime(2015, 1, 1)
            }
        },
    ],
    'NextToken': 'string'
}

Итак, для вашего варианта использования вам потребуетсяloop + filter response['StackSummaries'] диктует себя в python, а не ищет опцию с boto3.

EDIT Опция, которая может использоваться здесь идеально, это describe_stacks, которая будет возвращать информацию оопределенный стек. посмотрите здесь

Надеюсь, это прояснит.

...