/* * 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 serverlessrepo-2017-09-08.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.ServerlessApplicationRepository.Model { /// /// Container for the parameters to the CreateCloudFormationChangeSet operation. /// Creates an AWS CloudFormation change set for the given application. /// public partial class CreateCloudFormationChangeSetRequest : AmazonServerlessApplicationRepositoryRequest { private string _applicationId; private List _capabilities = new List(); private string _changeSetName; private string _clientToken; private string _description; private List _notificationArns = new List(); private List _parameterOverrides = new List(); private List _resourceTypes = new List(); private RollbackConfiguration _rollbackConfiguration; private string _semanticVersion; private string _stackName; private List _tags = new List(); private string _templateId; /// /// Gets and sets the property ApplicationId. /// /// The Amazon Resource Name (ARN) of the application. /// /// [AWSProperty(Required=true)] public string ApplicationId { get { return this._applicationId; } set { this._applicationId = value; } } // Check to see if ApplicationId property is set internal bool IsSetApplicationId() { return this._applicationId != null; } /// /// Gets and sets the property Capabilities. /// /// A list of values that you must specify before you can deploy certain applications. /// Some applications might include resources that can affect permissions in your AWS /// account, for example, by creating new AWS Identity and Access Management (IAM) users. /// For those applications, you must explicitly acknowledge their capabilities by specifying /// this parameter. /// /// /// /// The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY, /// and CAPABILITY_AUTO_EXPAND. /// /// /// /// The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: /// AWS::IAM::Group, /// AWS::IAM::InstanceProfile, /// AWS::IAM::Policy, /// and AWS::IAM::Role. /// If the application contains IAM resources, you can specify either CAPABILITY_IAM or /// CAPABILITY_NAMED_IAM. If the application contains IAM resources with custom names, /// you must specify CAPABILITY_NAMED_IAM. /// /// /// /// The following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, /// AWS::IAM:Policy, /// AWS::ApplicationAutoScaling::ScalingPolicy, /// AWS::S3::BucketPolicy, /// AWS::SQS::QueuePolicy, /// and AWS::SNS:TopicPolicy. /// /// /// /// Applications that contain one or more nested applications require you to specify CAPABILITY_AUTO_EXPAND. /// /// /// /// If your application template contains any of the above resources, we recommend that /// you review all permissions associated with the application before deploying. If you /// don't specify this parameter for an application that requires capabilities, the call /// will fail. /// /// public List Capabilities { get { return this._capabilities; } set { this._capabilities = value; } } // Check to see if Capabilities property is set internal bool IsSetCapabilities() { return this._capabilities != null && this._capabilities.Count > 0; } /// /// Gets and sets the property ChangeSetName. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public string ChangeSetName { get { return this._changeSetName; } set { this._changeSetName = value; } } // Check to see if ChangeSetName property is set internal bool IsSetChangeSetName() { return this._changeSetName != null; } /// /// Gets and sets the property ClientToken. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property Description. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property NotificationArns. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public List NotificationArns { get { return this._notificationArns; } set { this._notificationArns = value; } } // Check to see if NotificationArns property is set internal bool IsSetNotificationArns() { return this._notificationArns != null && this._notificationArns.Count > 0; } /// /// Gets and sets the property ParameterOverrides. /// /// A list of parameter values for the parameters of the application. /// /// public List ParameterOverrides { get { return this._parameterOverrides; } set { this._parameterOverrides = value; } } // Check to see if ParameterOverrides property is set internal bool IsSetParameterOverrides() { return this._parameterOverrides != null && this._parameterOverrides.Count > 0; } /// /// Gets and sets the property ResourceTypes. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public List ResourceTypes { get { return this._resourceTypes; } set { this._resourceTypes = value; } } // Check to see if ResourceTypes property is set internal bool IsSetResourceTypes() { return this._resourceTypes != null && this._resourceTypes.Count > 0; } /// /// Gets and sets the property RollbackConfiguration. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public RollbackConfiguration RollbackConfiguration { get { return this._rollbackConfiguration; } set { this._rollbackConfiguration = value; } } // Check to see if RollbackConfiguration property is set internal bool IsSetRollbackConfiguration() { return this._rollbackConfiguration != null; } /// /// Gets and sets the property SemanticVersion. /// /// The semantic version of the application: /// /// /// /// https://semver.org/ /// /// public string SemanticVersion { get { return this._semanticVersion; } set { this._semanticVersion = value; } } // Check to see if SemanticVersion property is set internal bool IsSetSemanticVersion() { return this._semanticVersion != null; } /// /// Gets and sets the property StackName. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// [AWSProperty(Required=true)] public string StackName { get { return this._stackName; } set { this._stackName = value; } } // Check to see if StackName property is set internal bool IsSetStackName() { return this._stackName != null; } /// /// Gets and sets the property Tags. /// /// This property corresponds to the parameter of the same name for the AWS CloudFormation /// CreateChangeSet /// API. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property TemplateId. /// /// The UUID returned by CreateCloudFormationTemplate. /// /// /// /// Pattern: [0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12} /// /// public string TemplateId { get { return this._templateId; } set { this._templateId = value; } } // Check to see if TemplateId property is set internal bool IsSetTemplateId() { return this._templateId != null; } } }