/*
* 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;
}
}
}