/*
* 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 UpdateDeploymentGroup operation.
/// Changes information about a deployment group.
///
public partial class UpdateDeploymentGroupRequest : AmazonCodeDeployRequest
{
private AlarmConfiguration _alarmConfiguration;
private string _applicationName;
private AutoRollbackConfiguration _autoRollbackConfiguration;
private List _autoScalingGroups = new List();
private BlueGreenDeploymentConfiguration _blueGreenDeploymentConfiguration;
private string _currentDeploymentGroupName;
private string _deploymentConfigName;
private DeploymentStyle _deploymentStyle;
private List _ec2TagFilters = new List();
private EC2TagSet _ec2TagSet;
private List _ecsServices = new List();
private LoadBalancerInfo _loadBalancerInfo;
private string _newDeploymentGroupName;
private List _onPremisesInstanceTagFilters = new List();
private OnPremisesTagSet _onPremisesTagSet;
private OutdatedInstancesStrategy _outdatedInstancesStrategy;
private string _serviceRoleArn;
private List _triggerConfigurations = new List();
///
/// Gets and sets the property AlarmConfiguration.
///
/// Information to add or change about Amazon CloudWatch alarms when the deployment group
/// is updated.
///
///
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 application name that corresponds to the deployment group to update.
///
///
[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.
///
/// Information for an automatic rollback configuration that is added or changed when
/// a deployment group is updated.
///
///
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.
///
/// The replacement list of Auto Scaling groups to be included in the deployment group,
/// if you want to change them.
///
///
///
public List AutoScalingGroups
{
get { return this._autoScalingGroups; }
set { this._autoScalingGroups = value; }
}
///
/// This property is set to true if the property
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
public bool IsAutoScalingGroupsSet
{
get
{
return Amazon.Util.Internal.InternalSDKUtils.GetIsSet(this._autoScalingGroups);
}
set
{
Amazon.Util.Internal.InternalSDKUtils.SetIsSet(value, ref this._autoScalingGroups);
}
}
// Check to see if AutoScalingGroups property is set
internal bool IsSetAutoScalingGroups()
{
return this.IsAutoScalingGroupsSet;
}
///
/// 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 CurrentDeploymentGroupName.
///
/// The current name of the deployment group.
///
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string CurrentDeploymentGroupName
{
get { return this._currentDeploymentGroupName; }
set { this._currentDeploymentGroupName = value; }
}
// Check to see if CurrentDeploymentGroupName property is set
internal bool IsSetCurrentDeploymentGroupName()
{
return this._currentDeploymentGroupName != null;
}
///
/// Gets and sets the property DeploymentConfigName.
///
/// The replacement deployment configuration name to use, if you want to change it.
///
///
[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 DeploymentStyle.
///
/// Information about the type of deployment, either in-place or blue/green, 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 replacement set of Amazon EC2 tags on which to filter, if you want to change them.
/// To keep the existing tags, enter their names. To remove tags, do not enter any tag
/// names.
///
///
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 on-premises instances. The deployment
/// group includes only Amazon EC2 instances identified by all the tag groups.
///
///
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 NewDeploymentGroupName.
///
/// The new name of the deployment group, if you want to change it.
///
///
[AWSProperty(Min=1, Max=100)]
public string NewDeploymentGroupName
{
get { return this._newDeploymentGroupName; }
set { this._newDeploymentGroupName = value; }
}
// Check to see if NewDeploymentGroupName property is set
internal bool IsSetNewDeploymentGroupName()
{
return this._newDeploymentGroupName != null;
}
///
/// Gets and sets the property OnPremisesInstanceTagFilters.
///
/// The replacement set of on-premises instance tags on which to filter, if you want to
/// change them. To keep the existing tags, enter their names. To remove tags, do not
/// enter any tag names.
///
///
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 an on-premises instance tag set. The deployment group includes only
/// on-premises instances identified by all the tag groups.
///
///
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 replacement ARN for the service role, if you want to change it.
///
///
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 TriggerConfigurations.
///
/// Information about triggers to change when the deployment group is updated. For examples,
/// see Edit
/// a Trigger in a CodeDeploy Deployment Group 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;
}
}
}