使用Boto的CloudFormation未列出堆栈资源
cf_connection = boto.cloudformation.connect_to_region('us-east-1', aws_access_key_id='mykey',
aws_secret_access_key='mysecret')
resource = cf_connection.list_stack_resources(stack_id)
print resource
"StackId": "arn:aws:cloudformation:myid",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::EC2::XYZ",
"Timestamp": "time",
"StackName": "mystack",
"PhysicalResourceId": "myphysical",
"LogicalResourceId": "myLogicalName"
这个列表里没有物理ID,给我的只是逻辑ID和类型。
另外,我该怎么过滤这个列表呢?
所有信息都可以在命令行界面(CLI)找到。
1 个回答
0
list_stack_resources
方法会返回一个包含 StackResourceSummary
对象的列表。每个对象都有以下几个属性:
- 最后更新时间(last_updated_time)
- 逻辑资源ID(logical_resource_id)
- 物理资源ID(physical_resource_id)
- 资源状态(resource_status)
- 资源状态原因(resource_status_reason)
- 资源类型(resource_type)
你可以使用这些属性来获取每个对象的详细信息。
试试这个代码:
import boto.cloudformation
conn = boto.cloudformation.connect_to_region('us-east-1', ...)
resources = conn.list_stack_resources(stack_id)
for resource in resources:
print(resource.last_updated_time)
print(resource.logical_resource_id)
print(resource.physical_resource_id)
print(resource.status)
print(resource.resource_type)
然后告诉我你看到了什么。