2016-09-22 4 views
2

boto3には信頼できる方法があり、AWSリソースがどのCloudFormationスタックに属しているかを判断できますか?それともスタックに属しているのでしょうか? DynamoDBテーブルまたはEC2インスタンスがあるとします。メンバーのスタックを調べるにはどうすればよいですか? CloudFormation用のboto3 APIは、リソースレベルでかなり曖昧になったり、表示されたりします。どんな助けでも大歓迎です。AWSリソースが属するCloudFormationスタックを特定する方法は?

答えて

1

はい。 Boto3 CF クライアントには、必要な情報を取得する方法があります。

cf = boto3.client('cloudformation' 
stacks = cf.list_stacks(StackStatusFilter=['CREATE_COMPLETE'])['StackSummaries'] 

は、完了したスタックのスタックサマリを返します。必要に応じてフィルターを変更してください。

あなたはdesribe_stack_resourcesへのリソースのPhysicalResourceIdを渡し、それが属している場合、スタック情報を取得することができます与えられたスタック

for name in names: 
    resources = cf.describe_stack_resources(StackName=name)['StackResources'] 
0

のためのすべてのスタックリソースを取得後、スタック

names = [stack['StackName'] for stack in stacks] 

の名前を取得します。 CFスタックへ 例えばEC2ホストを見つけるには

cf = boto3.client('cloudformation') 
cf.describe_stack_resources(PhysicalResourceId="i-07bd92638b049ccc4") 

AWSに関するドキュメントon this http://boto3.readthedocs.io/en/latest/reference/services/cloudformation.html#CloudFormation.Client.describe_stack_resources

関連する問題