/* * 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 codedeploy-2014-10-06.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.CodeDeploy.Model { /// /// Container for the parameters to the CreateDeploymentGroup operation. /// Creates a deployment group to which application revisions are deployed. /// public partial class CreateDeploymentGroupRequest : AmazonCodeDeployRequest { private AlarmConfiguration _alarmConfiguration; private string _applicationName; private AutoRollbackConfiguration _autoRollbackConfiguration; private List _autoScalingGroups = new List(); private BlueGreenDeploymentConfiguration _blueGreenDeploymentConfiguration; private string _deploymentConfigName; private string _deploymentGroupName; private DeploymentStyle _deploymentStyle; private List _ec2TagFilters = new List(); private EC2TagSet _ec2TagSet; private List _ecsServices = new List(); private LoadBalancerInfo _loadBalancerInfo; private List _onPremisesInstanceTagFilters = new List(); private OnPremisesTagSet _onPremisesTagSet; private OutdatedInstancesStrategy _outdatedInstancesStrategy; private string _serviceRoleArn; private List _tags = new List(); private List _triggerConfigurations = new List(); /// /// Gets and sets the property AlarmConfiguration. /// /// Information to add about Amazon CloudWatch alarms when the deployment group is created. /// /// public AlarmConfiguration AlarmConfiguration { get { return this._alarmConfiguration; } set { this._alarmConfiguration = value; } } // Check to see if AlarmConfiguration property is set internal bool IsSetAlarmConfiguration() { return this._alarmConfiguration != null; } /// /// Gets and sets the property ApplicationName. /// /// The name of an CodeDeploy application associated with the IAM user or Amazon Web Services /// account. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public string ApplicationName { get { return this._applicationName; } set { this._applicationName = value; } } // Check to see if ApplicationName property is set internal bool IsSetApplicationName() { return this._applicationName != null; } /// /// Gets and sets the property AutoRollbackConfiguration. /// /// Configuration information for an automatic rollback that is added when a deployment /// group is created. /// /// public AutoRollbackConfiguration AutoRollbackConfiguration { get { return this._autoRollbackConfiguration; } set { this._autoRollbackConfiguration = value; } } // Check to see if AutoRollbackConfiguration property is set internal bool IsSetAutoRollbackConfiguration() { return this._autoRollbackConfiguration != null; } /// /// Gets and sets the property AutoScalingGroups. /// /// A list of associated Amazon EC2 Auto Scaling groups. /// /// public List AutoScalingGroups { get { return this._autoScalingGroups; } set { this._autoScalingGroups = value; } } // Check to see if AutoScalingGroups property is set internal bool IsSetAutoScalingGroups() { return this._autoScalingGroups != null && this._autoScalingGroups.Count > 0; } /// /// Gets and sets the property BlueGreenDeploymentConfiguration. /// /// Information about blue/green deployment options for a deployment group. /// /// public BlueGreenDeploymentConfiguration BlueGreenDeploymentConfiguration { get { return this._blueGreenDeploymentConfiguration; } set { this._blueGreenDeploymentConfiguration = value; } } // Check to see if BlueGreenDeploymentConfiguration property is set internal bool IsSetBlueGreenDeploymentConfiguration() { return this._blueGreenDeploymentConfiguration != null; } /// /// Gets and sets the property DeploymentConfigName. /// /// If specified, the deployment configuration name can be either one of the predefined /// configurations provided with CodeDeploy or a custom deployment configuration that /// you create by calling the create deployment configuration operation. /// /// /// /// CodeDeployDefault.OneAtATime is the default deployment configuration. /// It is used if a configuration isn't specified for the deployment or deployment group. /// /// /// /// For more information about the predefined deployment configurations in CodeDeploy, /// see Working /// with Deployment Configurations in CodeDeploy in the CodeDeploy User Guide. /// /// [AWSProperty(Min=1, Max=100)] public string DeploymentConfigName { get { return this._deploymentConfigName; } set { this._deploymentConfigName = value; } } // Check to see if DeploymentConfigName property is set internal bool IsSetDeploymentConfigName() { return this._deploymentConfigName != null; } /// /// Gets and sets the property DeploymentGroupName. /// /// The name of a new deployment group for the specified application. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public string DeploymentGroupName { get { return this._deploymentGroupName; } set { this._deploymentGroupName = value; } } // Check to see if DeploymentGroupName property is set internal bool IsSetDeploymentGroupName() { return this._deploymentGroupName != null; } /// /// Gets and sets the property DeploymentStyle. /// /// Information about the type of deployment, in-place or blue/green, that you want to /// run and whether to route deployment traffic behind a load balancer. /// /// public DeploymentStyle DeploymentStyle { get { return this._deploymentStyle; } set { this._deploymentStyle = value; } } // Check to see if DeploymentStyle property is set internal bool IsSetDeploymentStyle() { return this._deploymentStyle != null; } /// /// Gets and sets the property Ec2TagFilters. /// /// The Amazon EC2 tags on which to filter. The deployment group includes Amazon EC2 instances /// with any of the specified tags. Cannot be used in the same call as ec2TagSet. /// /// public List Ec2TagFilters { get { return this._ec2TagFilters; } set { this._ec2TagFilters = value; } } // Check to see if Ec2TagFilters property is set internal bool IsSetEc2TagFilters() { return this._ec2TagFilters != null && this._ec2TagFilters.Count > 0; } /// /// Gets and sets the property Ec2TagSet. /// /// Information about groups of tags applied to Amazon EC2 instances. The deployment group /// includes only Amazon EC2 instances identified by all the tag groups. Cannot be used /// in the same call as ec2TagFilters. /// /// public EC2TagSet Ec2TagSet { get { return this._ec2TagSet; } set { this._ec2TagSet = value; } } // Check to see if Ec2TagSet property is set internal bool IsSetEc2TagSet() { return this._ec2TagSet != null; } /// /// Gets and sets the property EcsServices. /// /// The target Amazon ECS services in the deployment group. This applies only to deployment /// groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified /// as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>. /// /// /// public List EcsServices { get { return this._ecsServices; } set { this._ecsServices = value; } } // Check to see if EcsServices property is set internal bool IsSetEcsServices() { return this._ecsServices != null && this._ecsServices.Count > 0; } /// /// Gets and sets the property LoadBalancerInfo. /// /// Information about the load balancer used in a deployment. /// /// public LoadBalancerInfo LoadBalancerInfo { get { return this._loadBalancerInfo; } set { this._loadBalancerInfo = value; } } // Check to see if LoadBalancerInfo property is set internal bool IsSetLoadBalancerInfo() { return this._loadBalancerInfo != null; } /// /// Gets and sets the property OnPremisesInstanceTagFilters. /// /// The on-premises instance tags on which to filter. The deployment group includes on-premises /// instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet. /// /// public List OnPremisesInstanceTagFilters { get { return this._onPremisesInstanceTagFilters; } set { this._onPremisesInstanceTagFilters = value; } } // Check to see if OnPremisesInstanceTagFilters property is set internal bool IsSetOnPremisesInstanceTagFilters() { return this._onPremisesInstanceTagFilters != null && this._onPremisesInstanceTagFilters.Count > 0; } /// /// Gets and sets the property OnPremisesTagSet. /// /// Information about groups of tags applied to on-premises instances. The deployment /// group includes only on-premises instances identified by all of the tag groups. Cannot /// be used in the same call as onPremisesInstanceTagFilters. /// /// public OnPremisesTagSet OnPremisesTagSet { get { return this._onPremisesTagSet; } set { this._onPremisesTagSet = value; } } // Check to see if OnPremisesTagSet property is set internal bool IsSetOnPremisesTagSet() { return this._onPremisesTagSet != null; } /// /// Gets and sets the property OutdatedInstancesStrategy. /// /// Indicates what happens when new Amazon EC2 instances are launched mid-deployment and /// do not receive the deployed application revision. /// /// /// /// If this option is set to UPDATE or is unspecified, CodeDeploy initiates /// one or more 'auto-update outdated instances' deployments to apply the deployed application /// revision to the new Amazon EC2 instances. /// /// /// /// If this option is set to IGNORE, CodeDeploy does not initiate a deployment /// to update the new Amazon EC2 instances. This may result in instances having different /// revisions. /// /// public OutdatedInstancesStrategy OutdatedInstancesStrategy { get { return this._outdatedInstancesStrategy; } set { this._outdatedInstancesStrategy = value; } } // Check to see if OutdatedInstancesStrategy property is set internal bool IsSetOutdatedInstancesStrategy() { return this._outdatedInstancesStrategy != null; } /// /// Gets and sets the property ServiceRoleArn. /// /// A service role Amazon Resource Name (ARN) that allows CodeDeploy to act on the user's /// behalf when interacting with Amazon Web Services services. /// /// [AWSProperty(Required=true)] public string ServiceRoleArn { get { return this._serviceRoleArn; } set { this._serviceRoleArn = value; } } // Check to see if ServiceRoleArn property is set internal bool IsSetServiceRoleArn() { return this._serviceRoleArn != null; } /// /// Gets and sets the property Tags. /// /// The metadata that you apply to CodeDeploy deployment groups to help you organize /// and categorize them. Each tag consists of a key and an optional value, both of which /// you define. /// /// 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 TriggerConfigurations. /// /// Information about triggers to create when the deployment group is created. For examples, /// see Create /// a Trigger for an CodeDeploy Event in the CodeDeploy User Guide. /// /// public List TriggerConfigurations { get { return this._triggerConfigurations; } set { this._triggerConfigurations = value; } } // Check to see if TriggerConfigurations property is set internal bool IsSetTriggerConfigurations() { return this._triggerConfigurations != null && this._triggerConfigurations.Count > 0; } } }