aws_sdk_resiliencehub/client/put_draft_app_version_template.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`PutDraftAppVersionTemplate`](crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`app_arn(impl Into<String>)`](crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder::app_arn) / [`set_app_arn(Option<String>)`](crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder::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>
7 /// - [`app_template_body(impl Into<String>)`](crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder::app_template_body) / [`set_app_template_body(Option<String>)`](crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder::set_app_template_body):<br>required: **true**<br><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":"<REGION>", "accounts":\[{"id":"<ACCOUNT_ID>"}\]}\]"</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":"<REGION>", "accounts":\[{"id":"<ACCOUNT_ID>"}\]}\]"</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":"<REGION>", "accounts":\[{"id":"<ACCOUNT_ID>"}\]}\]"</code></p> </note></li> </ul><br>
8 /// - On success, responds with [`PutDraftAppVersionTemplateOutput`](crate::operation::put_draft_app_version_template::PutDraftAppVersionTemplateOutput) with field(s):
9 /// - [`app_arn(Option<String>)`](crate::operation::put_draft_app_version_template::PutDraftAppVersionTemplateOutput::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>
10 /// - [`app_version(Option<String>)`](crate::operation::put_draft_app_version_template::PutDraftAppVersionTemplateOutput::app_version): <p>The version of the application.</p>
11 /// - On failure, responds with [`SdkError<PutDraftAppVersionTemplateError>`](crate::operation::put_draft_app_version_template::PutDraftAppVersionTemplateError)
12 pub fn put_draft_app_version_template(
13 &self,
14 ) -> crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder {
15 crate::operation::put_draft_app_version_template::builders::PutDraftAppVersionTemplateFluentBuilder::new(self.handle.clone())
16 }
17}