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())
    }
}