/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the resiliencehub-2020-04-30.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ResilienceHub.Model
{
///
/// This is the response object from the DescribeAppVersionTemplate operation.
///
public partial class DescribeAppVersionTemplateResponse : AmazonWebServiceResponse
{
private string _appArn;
private string _appTemplateBody;
private string _appVersion;
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public string AppArn
{
get { return this._appArn; }
set { this._appArn = value; }
}
// Check to see if AppArn property is set
internal bool IsSetAppArn()
{
return this._appArn != null;
}
///
/// Gets and sets the property 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>"}]}]"
///
///
///
///
[AWSProperty(Required=true, Min=0, Max=409600)]
public string AppTemplateBody
{
get { return this._appTemplateBody; }
set { this._appTemplateBody = value; }
}
// Check to see if AppTemplateBody property is set
internal bool IsSetAppTemplateBody()
{
return this._appTemplateBody != null;
}
///
/// Gets and sets the property AppVersion.
///
/// The version of the application.
///
///
[AWSProperty(Required=true)]
public string AppVersion
{
get { return this._appVersion; }
set { this._appVersion = value; }
}
// Check to see if AppVersion property is set
internal bool IsSetAppVersion()
{
return this._appVersion != null;
}
}
}