1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`DescribeAppVersionTemplate`](crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`app_arn(impl Into<String>)`](crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder::app_arn) / [`set_app_arn(Option<String>)`](crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder::set_app_arn):<br>required: **true**<br><p>Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:<code>partition</code>:resiliencehub:<code>region</code>:<code>account</code>:app/<code>app-id</code>. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html"> Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i> guide.</p><br>
    ///   - [`app_version(impl Into<String>)`](crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder::app_version) / [`set_app_version(Option<String>)`](crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder::set_app_version):<br>required: **true**<br><p>The version of the application.</p><br>
    /// - On success, responds with [`DescribeAppVersionTemplateOutput`](crate::operation::describe_app_version_template::DescribeAppVersionTemplateOutput) with field(s):
    ///   - [`app_arn(String)`](crate::operation::describe_app_version_template::DescribeAppVersionTemplateOutput::app_arn): <p>Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:<code>partition</code>:resiliencehub:<code>region</code>:<code>account</code>:app/<code>app-id</code>. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html"> Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i> guide.</p>
    ///   - [`app_version(String)`](crate::operation::describe_app_version_template::DescribeAppVersionTemplateOutput::app_version): <p>The version of the application.</p>
    ///   - [`app_template_body(String)`](crate::operation::describe_app_version_template::DescribeAppVersionTemplateOutput::app_template_body): <p>A JSON string that provides information about your application structure. To learn more about the <code>appTemplateBody</code> template, see the sample template provided in the <i>Examples</i> section.</p> <p>The <code>appTemplateBody</code> JSON string has the following structure:</p> <ul>  <li>   <p><b> <code>resources</code> </b></p>   <p>The list of logical resources that must be included in the Resilience Hub application.</p>   <p>Type: Array</p><note>    <p>Don't add the resources that you want to exclude.</p>   </note>   <p>Each <code>resources</code> array item includes the following fields:</p>   <ul>    <li>     <p><i> <code>logicalResourceId</code> </i></p>     <p>Logical identifier of the resource.</p>     <p>Type: Object</p>     <p>Each <code>logicalResourceId</code> object includes the following fields:</p>     <ul>      <li>       <p><code>identifier</code></p>       <p>Identifier of the resource.</p>       <p>Type: String</p></li>      <li>       <p><code>logicalStackName</code></p>       <p>The name of the CloudFormation stack this resource belongs to.</p>       <p>Type: String</p></li>      <li>       <p><code>resourceGroupName</code></p>       <p>The name of the resource group this resource belongs to.</p>       <p>Type: String</p></li>      <li>       <p><code>terraformSourceName</code></p>       <p>The name of the Terraform S3 state file this resource belongs to.</p>       <p>Type: String</p></li>      <li>       <p><code>eksSourceName</code></p>       <p>Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.</p><note>        <p>This parameter accepts values in "eks-cluster/namespace" format.</p>       </note>       <p>Type: String</p></li>     </ul></li>    <li>     <p><i> <code>type</code> </i></p>     <p>The type of resource.</p>     <p>Type: string</p></li>    <li>     <p><i> <code>name</code> </i></p>     <p>The name of the resource.</p>     <p>Type: String</p></li>    <li>     <p><code>additionalInfo</code></p>     <p>Additional configuration parameters for an Resilience Hub application. If you want to implement <code>additionalInfo</code> through the Resilience Hub console rather than using an API call, see <a href="https://docs.aws.amazon.com/resilience-hub/latest/userguide/app-config-param.html">Configure the application configuration parameters</a>.</p><note>      <p>Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.</p>      <p>Key: <code>"failover-regions"</code></p>      <p>Value: <code>"[{"region":"&lt;REGION&gt;", "accounts":[{"id":"&lt;ACCOUNT_ID&gt;"}]}]"</code></p>     </note></li>   </ul></li>  <li>   <p><b> <code>appComponents</code> </b></p>   <p>List of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.</p>   <p>Type: Array</p>   <p>Each <code>appComponents</code> array item includes the following fields:</p>   <ul>    <li>     <p><code>name</code></p>     <p>Name of the Application Component.</p>     <p>Type: String</p></li>    <li>     <p><code>type</code></p>     <p>Type of Application Component. For more information about the types of Application Component, see <a href="https://docs.aws.amazon.com/resilience-hub/latest/userguide/AppComponent.grouping.html">Grouping resources in an AppComponent</a>.</p>     <p>Type: String</p></li>    <li>     <p><code>resourceNames</code></p>     <p>The list of included resources that are assigned to the Application Component.</p>     <p>Type: Array of strings</p></li>    <li>     <p><code>additionalInfo</code></p>     <p>Additional configuration parameters for an Resilience Hub application. If you want to implement <code>additionalInfo</code> through the Resilience Hub console rather than using an API call, see <a href="https://docs.aws.amazon.com/resilience-hub/latest/userguide/app-config-param.html">Configure the application configuration parameters</a>.</p><note>      <p>Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.</p>      <p>Key: <code>"failover-regions"</code></p>      <p>Value: <code>"[{"region":"&lt;REGION&gt;", "accounts":[{"id":"&lt;ACCOUNT_ID&gt;"}]}]"</code></p>     </note></li>   </ul></li>  <li>   <p><b> <code>excludedResources</code> </b></p>   <p>The list of logical resource identifiers to be excluded from the application.</p>   <p>Type: Array</p><note>    <p>Don't add the resources that you want to include.</p>   </note>   <p>Each <code>excludedResources</code> array item includes the following fields:</p>   <ul>    <li>     <p><i> <code>logicalResourceIds</code> </i></p>     <p>Logical identifier of the resource.</p>     <p>Type: Object</p><note>      <p>You can configure only one of the following fields:</p>      <ul>       <li>        <p><code>logicalStackName</code></p></li>       <li>        <p><code>resourceGroupName</code></p></li>       <li>        <p><code>terraformSourceName</code></p></li>       <li>        <p><code>eksSourceName</code></p></li>      </ul>     </note>     <p>Each <code>logicalResourceIds</code> object includes the following fields:</p>     <ul>      <li>       <p><code>identifier</code></p>       <p>Identifier of the resource.</p>       <p>Type: String</p></li>      <li>       <p><code>logicalStackName</code></p>       <p>The name of the CloudFormation stack this resource belongs to.</p>       <p>Type: String</p></li>      <li>       <p><code>resourceGroupName</code></p>       <p>The name of the resource group this resource belongs to.</p>       <p>Type: String</p></li>      <li>       <p><code>terraformSourceName</code></p>       <p>The name of the Terraform S3 state file this resource belongs to.</p>       <p>Type: String</p></li>      <li>       <p><code>eksSourceName</code></p>       <p>Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.</p><note>        <p>This parameter accepts values in "eks-cluster/namespace" format.</p>       </note>       <p>Type: String</p></li>     </ul></li>   </ul></li>  <li>   <p><b> <code>version</code> </b></p>   <p>Resilience Hub application version.</p></li>  <li>   <p><code>additionalInfo</code></p>   <p>Additional configuration parameters for an Resilience Hub application. If you want to implement <code>additionalInfo</code> through the Resilience Hub console rather than using an API call, see <a href="https://docs.aws.amazon.com/resilience-hub/latest/userguide/app-config-param.html">Configure the application configuration parameters</a>.</p><note>    <p>Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.</p>    <p>Key: <code>"failover-regions"</code></p>    <p>Value: <code>"[{"region":"&lt;REGION&gt;", "accounts":[{"id":"&lt;ACCOUNT_ID&gt;"}]}]"</code></p>   </note></li> </ul>
    /// - On failure, responds with [`SdkError<DescribeAppVersionTemplateError>`](crate::operation::describe_app_version_template::DescribeAppVersionTemplateError)
    pub fn describe_app_version_template(
        &self,
    ) -> crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder {
        crate::operation::describe_app_version_template::builders::DescribeAppVersionTemplateFluentBuilder::new(self.handle.clone())
    }
}