getTemplate method

Future<GetTemplateOutput> getTemplate({
  1. String? changeSetName,
  2. String? stackName,
  3. TemplateStage? templateStage,
})

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

May throw ChangeSetNotFoundException.

Parameter changeSetName : The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation returns the associated template. If you specify a name, you must also specify the StackName.

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.

Parameter templateStage : For templates that include transforms, the stage of the template that AWS CloudFormation returns. To get the user-submitted template, specify Original. To get the template after AWS CloudFormation has processed all transforms, specify Processed.

If the template doesn't include transforms, Original and Processed return the same template. By default, AWS CloudFormation specifies Original.

Implementation

Future<GetTemplateOutput> getTemplate({
  String? changeSetName,
  String? stackName,
  TemplateStage? templateStage,
}) async {
  _s.validateStringLength(
    'changeSetName',
    changeSetName,
    1,
    1600,
  );
  final $request = <String, dynamic>{};
  changeSetName?.also((arg) => $request['ChangeSetName'] = arg);
  stackName?.also((arg) => $request['StackName'] = arg);
  templateStage?.also((arg) => $request['TemplateStage'] = arg.toValue());
  final $result = await _protocol.send(
    $request,
    action: 'GetTemplate',
    version: '2010-05-15',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['GetTemplateInput'],
    shapes: shapes,
    resultWrapper: 'GetTemplateResult',
  );
  return GetTemplateOutput.fromXml($result);
}