/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace ResilienceHub { namespace Model { class DescribeAppVersionTemplateResult { public: AWS_RESILIENCEHUB_API DescribeAppVersionTemplateResult(); AWS_RESILIENCEHUB_API DescribeAppVersionTemplateResult(const Aws::AmazonWebServiceResult& result); AWS_RESILIENCEHUB_API DescribeAppVersionTemplateResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline const Aws::String& GetAppArn() const{ return m_appArn; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(const Aws::String& value) { m_appArn = value; } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(Aws::String&& value) { m_appArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline void SetAppArn(const char* value) { m_appArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline DescribeAppVersionTemplateResult& WithAppArn(const Aws::String& value) { SetAppArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline DescribeAppVersionTemplateResult& WithAppArn(Aws::String&& value) { SetAppArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Resilience Hub application. The format * for this ARN is: * arn:partition:resiliencehub:region:account:app/app-id. * For more information about ARNs, see * Amazon Resource Names (ARNs) in the AWS General Reference guide.

*/ inline DescribeAppVersionTemplateResult& WithAppArn(const char* value) { SetAppArn(value); return *this;} /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline const Aws::String& GetAppTemplateBody() const{ return m_appTemplateBody; } /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline void SetAppTemplateBody(const Aws::String& value) { m_appTemplateBody = value; } /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline void SetAppTemplateBody(Aws::String&& value) { m_appTemplateBody = std::move(value); } /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline void SetAppTemplateBody(const char* value) { m_appTemplateBody.assign(value); } /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline DescribeAppVersionTemplateResult& WithAppTemplateBody(const Aws::String& value) { SetAppTemplateBody(value); return *this;} /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline DescribeAppVersionTemplateResult& WithAppTemplateBody(Aws::String&& value) { SetAppTemplateBody(std::move(value)); return *this;} /** *

A JSON string that provides information about your application structure. To * learn more about the appTemplateBody template, see the sample * template provided in the Examples section.

The * appTemplateBody JSON string has the following structure:

    *
  • resources

    The list of logical resources * that must be included in the Resilience Hub application.

    Type: Array

    *

    Don't add the resources that you want to exclude.

    Each * resources array item includes the following fields:

    • *

      logicalResourceId

      The logical identifier of * the resource.

      Type: Object

      Each logicalResourceId * object includes the following fields:

      • identifier *

        The identifier of the resource.

        Type: String

      • * logicalStackName

        The name of the CloudFormation stack this * resource belongs to.

        Type: String

      • * resourceGroupName

        The name of the resource group this * resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

    • type

      The * type of resource.

      Type: string

    • name *

      The name of the resource.

      Type: String

    • * additionalInfo

      Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • appComponents

    The 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.

    *

    Type: Array

    Each appComponents array item includes the * following fields:

    • name

      The name of the * Application Component.

      Type: String

    • type *

      The type of Application Component. For more information about the types * of Application Component, see Grouping * resources in an AppComponent.

      Type: String

    • * resourceNames

      The list of included resources that are * assigned to the Application Component.

      Type: Array of strings

    • *
    • additionalInfo

      Additional configuration parameters * for an Resilience Hub application. If you want to implement * additionalInfo through the Resilience Hub console rather than using * an API call, see Configure * the application configuration parameters.

      Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

      Key: "failover-regions" *

      Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

    *
  • excludedResources

    The list of * logical resource identifiers to be excluded from the application.

    Type: * Array

    Don't add the resources that you want to include.

    *

    Each excludedResources array item includes the following * fields:

    • logicalResourceIds

      The * logical identifier of the resource.

      Type: Object

      You can * configure only one of the following fields:

      • * logicalStackName

      • resourceGroupName *

      • terraformSourceName

      • * eksSourceName

      Each * logicalResourceIds object includes the following fields:

        *
      • identifier

        The identifier of the resource.

        *

        Type: String

      • logicalStackName

        The * name of the CloudFormation stack this resource belongs to.

        Type: * String

      • resourceGroupName

        The name of the * resource group this resource belongs to.

        Type: String

      • * terraformSourceName

        The name of the Terraform S3 state file * this resource belongs to.

        Type: String

      • * eksSourceName

        The name of the Amazon Elastic Kubernetes * Service cluster and namespace this resource belongs to.

        This * parameter accepts values in "eks-cluster/namespace" format.

        Type: * String

  • version *

    The Resilience Hub application version.

  • * additionalInfo

    Additional configuration parameters for an * Resilience Hub application. If you want to implement additionalInfo * through the Resilience Hub console rather than using an API call, see Configure * the application configuration parameters.

    Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

    Key: "failover-regions" *

    Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline DescribeAppVersionTemplateResult& WithAppTemplateBody(const char* value) { SetAppTemplateBody(value); return *this;} /** *

The version of the application.

*/ inline const Aws::String& GetAppVersion() const{ return m_appVersion; } /** *

The version of the application.

*/ inline void SetAppVersion(const Aws::String& value) { m_appVersion = value; } /** *

The version of the application.

*/ inline void SetAppVersion(Aws::String&& value) { m_appVersion = std::move(value); } /** *

The version of the application.

*/ inline void SetAppVersion(const char* value) { m_appVersion.assign(value); } /** *

The version of the application.

*/ inline DescribeAppVersionTemplateResult& WithAppVersion(const Aws::String& value) { SetAppVersion(value); return *this;} /** *

The version of the application.

*/ inline DescribeAppVersionTemplateResult& WithAppVersion(Aws::String&& value) { SetAppVersion(std::move(value)); return *this;} /** *

The version of the application.

*/ inline DescribeAppVersionTemplateResult& WithAppVersion(const char* value) { SetAppVersion(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeAppVersionTemplateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeAppVersionTemplateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeAppVersionTemplateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_appArn; Aws::String m_appTemplateBody; Aws::String m_appVersion; Aws::String m_requestId; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws