我正在尝试列出所有名称为 Ansible* 的图像。
如果我能把它拉下来,我可以用它来清理我在修补活动期间创建的 AMI。我正在通过 SSM 自动化文档进行尝试。下面是我的代码。
description: This document is to remove AMI
schemaVersion: '0.3'
assumeRole: '{{ AutomationAssumeRole }}'
mainSteps:
- name: getImageId
action: 'aws:executeAwsApi'
inputs:
Service: ec2
Api: DescribeImages
Filters:
- Name: 'name'
Values:
- 'Ansible*'
outputs:
- Name: ImageId
Selector: '$.Images[0].ImageId'
Type: String
在这里,Selector: '$.Images[0].ImageId' 仅给出列表的第一个图像 id。如果我能给出类似 Selector: '$.Images[*].ImageId' 的东西,我就能得到它,但这不受 SSM 文档的支持。
有人可以帮助我吗?我想要的是,我想列出所有带有 AMI ID 的图像。
PS:我有完成这项工作的 shell 和 python 脚本。但由于角色和策略限制,我正在寻找 AWS SSM 自动化文档
通过一些快速测试,我不确定你可以。
不过,您可以在 CLI 上执行此操作,所以也许您可以使用该库并通过自动化
boto3
将其作为 Python 脚本执行?executeScript
有效的 CLI 命令:
更新:
这是一个运行 python 脚本的自动化文档:
请务必更改区域、搜索字符串等内容。