getTemplateSummary method

Future<GetTemplateSummaryOutput> getTemplateSummary({
  1. String? stackName,
  2. String? stackSetName,
  3. String? templateBody,
  4. String? templateURL,
})

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

May throw StackSetNotFoundException.

Parameter stackName : The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

Parameter stackSetName : The name or unique ID of the stack set from which the stack was created.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

Parameter templateBody : Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

Parameter templateURL : Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

Implementation

Future<GetTemplateSummaryOutput> getTemplateSummary({
  String? stackName,
  String? stackSetName,
  String? templateBody,
  String? templateURL,
}) async {
  _s.validateStringLength(
    'stackName',
    stackName,
    1,
    1152921504606846976,
  );
  _s.validateStringLength(
    'templateBody',
    templateBody,
    1,
    1152921504606846976,
  );
  _s.validateStringLength(
    'templateURL',
    templateURL,
    1,
    1024,
  );
  final $request = <String, dynamic>{};
  stackName?.also((arg) => $request['StackName'] = arg);
  stackSetName?.also((arg) => $request['StackSetName'] = arg);
  templateBody?.also((arg) => $request['TemplateBody'] = arg);
  templateURL?.also((arg) => $request['TemplateURL'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'GetTemplateSummary',
    version: '2010-05-15',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['GetTemplateSummaryInput'],
    shapes: shapes,
    resultWrapper: 'GetTemplateSummaryResult',
  );
  return GetTemplateSummaryOutput.fromXml($result);
}