describeStackResources method

Future<DescribeStackResourcesOutput> describeStackResources({
  1. String? logicalResourceId,
  2. String? physicalResourceId,
  3. String? stackName,
})

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned. For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

Parameter logicalResourceId : The logical name of the resource as specified in the template.

Default: There is no default value.

Parameter physicalResourceId : The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources to find which stack the instance belongs to and what other resources are part of the stack.

Required: Conditional. If you do not specify PhysicalResourceId, you must specify StackName.

Default: There is no default value.

Parameter stackName : The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.
  • Deleted stacks: You must specify the unique stack ID.
Default: There is no default value.

Required: Conditional. If you do not specify StackName, you must specify PhysicalResourceId.

Implementation

Future<DescribeStackResourcesOutput> describeStackResources({
  String? logicalResourceId,
  String? physicalResourceId,
  String? stackName,
}) async {
  final $request = <String, dynamic>{};
  logicalResourceId?.also((arg) => $request['LogicalResourceId'] = arg);
  physicalResourceId?.also((arg) => $request['PhysicalResourceId'] = arg);
  stackName?.also((arg) => $request['StackName'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'DescribeStackResources',
    version: '2010-05-15',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['DescribeStackResourcesInput'],
    shapes: shapes,
    resultWrapper: 'DescribeStackResourcesResult',
  );
  return DescribeStackResourcesOutput.fromXml($result);
}