CloudFormation: describe_stack_instances() now returns the StackInstanceStatus-attribute (#6536)

This commit is contained in:
Bert Blommers 2023-07-19 09:37:13 +00:00 committed by GitHub
parent 1aa8e7a7b2
commit 7bbec751df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 6 deletions

View File

@ -272,6 +272,7 @@ class FakeStackInstance(BaseModel):
"Account": self.account_id, "Account": self.account_id,
"Status": "CURRENT", "Status": "CURRENT",
"ParameterOverrides": self.parameters, "ParameterOverrides": self.parameters,
"StackInstanceStatus": {"DetailedStatus": "SUCCEEDED"},
} }

View File

@ -1122,6 +1122,9 @@ DESCRIBE_STACK_INSTANCE_TEMPLATE = """<DescribeStackInstanceResponse xmlns="http
<Region>{{ instance["Region"] }}</Region> <Region>{{ instance["Region"] }}</Region>
<Account>{{ instance["Account"] }}</Account> <Account>{{ instance["Account"] }}</Account>
<Status>{{ instance["Status"] }}</Status> <Status>{{ instance["Status"] }}</Status>
<StackInstanceStatus>
<DetailedStatus>{{ instance["StackInstanceStatus"]["DetailedStatus"] }}</DetailedStatus>
</StackInstanceStatus>
</StackInstance> </StackInstance>
</DescribeStackInstanceResult> </DescribeStackInstanceResult>
<ResponseMetadata> <ResponseMetadata>

View File

@ -350,17 +350,19 @@ def test_describe_stack_instances():
StackSetName="teststackset", StackSetName="teststackset",
StackInstanceAccount=ACCOUNT_ID, StackInstanceAccount=ACCOUNT_ID,
StackInstanceRegion="us-west-2", StackInstanceRegion="us-west-2",
) )["StackInstance"]
use1_instance = cf.describe_stack_instance( use1_instance = cf.describe_stack_instance(
StackSetName="teststackset", StackSetName="teststackset",
StackInstanceAccount=ACCOUNT_ID, StackInstanceAccount=ACCOUNT_ID,
StackInstanceRegion="us-east-1", StackInstanceRegion="us-east-1",
) )["StackInstance"]
assert usw2_instance["StackInstance"]["Region"] == "us-west-2" assert use1_instance["Region"] == "us-east-1"
assert usw2_instance["StackInstance"]["Account"] == ACCOUNT_ID assert usw2_instance["Region"] == "us-west-2"
assert use1_instance["StackInstance"]["Region"] == "us-east-1" for instance in [use1_instance, usw2_instance]:
assert use1_instance["StackInstance"]["Account"] == ACCOUNT_ID assert instance["Account"] == ACCOUNT_ID
assert instance["Status"] == "CURRENT"
assert instance["StackInstanceStatus"] == {"DetailedStatus": "SUCCEEDED"}
@mock_cloudformation @mock_cloudformation