// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`GetTemplate`](crate::operation::get_template::builders::GetTemplateFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`stack_name(impl Into<String>)`](crate::operation::get_template::builders::GetTemplateFluentBuilder::stack_name) / [`set_stack_name(Option<String>)`](crate::operation::get_template::builders::GetTemplateFluentBuilder::set_stack_name):<br>required: **false**<br><p>The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:</p> <ul> <li> <p>Running stacks: You can specify either the stack's name or its unique stack ID.</p></li> <li> <p>Deleted stacks: You must specify the unique stack ID.</p></li> </ul> <p>Default: There is no default value.</p><br>
/// - [`change_set_name(impl Into<String>)`](crate::operation::get_template::builders::GetTemplateFluentBuilder::change_set_name) / [`set_change_set_name(Option<String>)`](crate::operation::get_template::builders::GetTemplateFluentBuilder::set_change_set_name):<br>required: **false**<br><p>The name or Amazon Resource Name (ARN) of a change set for which CloudFormation returns the associated template. If you specify a name, you must also specify the <code>StackName</code>.</p><br>
/// - [`template_stage(TemplateStage)`](crate::operation::get_template::builders::GetTemplateFluentBuilder::template_stage) / [`set_template_stage(Option<TemplateStage>)`](crate::operation::get_template::builders::GetTemplateFluentBuilder::set_template_stage):<br>required: **false**<br><p>For templates that include transforms, the stage of the template that CloudFormation returns. To get the user-submitted template, specify <code>Original</code>. To get the template after CloudFormation has processed all transforms, specify <code>Processed</code>.</p> <p>If the template doesn't include transforms, <code>Original</code> and <code>Processed</code> return the same template. By default, CloudFormation specifies <code>Processed</code>.</p><br>
/// - On success, responds with [`GetTemplateOutput`](crate::operation::get_template::GetTemplateOutput) with field(s):
/// - [`template_body(Option<String>)`](crate::operation::get_template::GetTemplateOutput::template_body): <p>Structure containing the template body. (For more information, go to <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html">Template Anatomy</a> in the <i>CloudFormation User Guide</i>.)</p> <p>CloudFormation returns the same template that was used when the stack was created.</p>
/// - [`stages_available(Option<Vec::<TemplateStage>>)`](crate::operation::get_template::GetTemplateOutput::stages_available): <p>The stage of the template that you can retrieve. For stacks, the <code>Original</code> and <code>Processed</code> templates are always available. For change sets, the <code>Original</code> template is always available. After CloudFormation finishes creating the change set, the <code>Processed</code> template becomes available.</p>
/// - On failure, responds with [`SdkError<GetTemplateError>`](crate::operation::get_template::GetTemplateError)
pub fn get_template(&self) -> crate::operation::get_template::builders::GetTemplateFluentBuilder {
crate::operation::get_template::builders::GetTemplateFluentBuilder::new(self.handle.clone())
}
}