/* * 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 CreateDeployment operation. /// Deploys an application revision through the specified deployment group. /// public partial class CreateDeploymentRequest : AmazonCodeDeployRequest { private string _applicationName; private AutoRollbackConfiguration _autoRollbackConfiguration; private string _deploymentConfigName; private string _deploymentGroupName; private string _description; private FileExistsBehavior _fileExistsBehavior; private bool? _ignoreApplicationStopFailures; private AlarmConfiguration _overrideAlarmConfiguration; private RevisionLocation _revision; private TargetInstances _targetInstances; private bool? _updateOutdatedInstancesOnly; /// /// 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 /// 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 DeploymentConfigName. /// /// The name of a deployment configuration associated with the IAM user or Amazon Web /// Services account. /// /// /// /// If not specified, the value configured in the deployment group is used as the default. /// If the deployment group does not have a deployment configuration associated with it, /// CodeDeployDefault.OneAtATime is used by default. /// /// [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 the deployment group. /// /// [AWSProperty(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 Description. /// /// A comment about the deployment. /// /// 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 FileExistsBehavior. /// /// Information about how CodeDeploy handles files that already exist in a deployment /// target location but weren't part of the previous successful deployment. /// /// /// /// The fileExistsBehavior parameter takes any of the following values: /// /// /// public FileExistsBehavior FileExistsBehavior { get { return this._fileExistsBehavior; } set { this._fileExistsBehavior = value; } } // Check to see if FileExistsBehavior property is set internal bool IsSetFileExistsBehavior() { return this._fileExistsBehavior != null; } /// /// Gets and sets the property IgnoreApplicationStopFailures. /// /// If true, then if an ApplicationStop, BeforeBlockTraffic, /// or AfterBlockTraffic deployment lifecycle event to an instance fails, /// then the deployment continues to the next deployment lifecycle event. For example, /// if ApplicationStop fails, the deployment continues with DownloadBundle. /// If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. /// If AfterBlockTraffic fails, the deployment continues with ApplicationStop. /// /// /// /// /// If false or not specified, then if a lifecycle event fails during a deployment to /// an instance, that deployment fails. If deployment to that instance is part of an overall /// deployment and the number of healthy hosts is not less than the minimum number of /// healthy hosts, then a deployment to the next instance is attempted. /// /// /// /// During a deployment, the CodeDeploy agent runs the scripts specified for ApplicationStop, /// BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec /// file from the previous successful deployment. (All other scripts are run from the /// AppSpec file in the current deployment.) If one of these scripts contains an error /// and does not run successfully, the deployment can fail. /// /// /// /// If the cause of the failure is a script from the last successful deployment that /// will never run successfully, create a new deployment and use ignoreApplicationStopFailures /// to specify that the ApplicationStop, BeforeBlockTraffic, /// and AfterBlockTraffic failures should be ignored. /// /// public bool IgnoreApplicationStopFailures { get { return this._ignoreApplicationStopFailures.GetValueOrDefault(); } set { this._ignoreApplicationStopFailures = value; } } // Check to see if IgnoreApplicationStopFailures property is set internal bool IsSetIgnoreApplicationStopFailures() { return this._ignoreApplicationStopFailures.HasValue; } /// /// Gets and sets the property OverrideAlarmConfiguration. /// /// Allows you to specify information about alarms associated with a deployment. The alarm /// configuration that you specify here will override the alarm configuration at the deployment /// group level. Consider overriding the alarm configuration if you have set up alarms /// at the deployment group level that are causing deployment failures. In this case, /// you would call CreateDeployment to create a new deployment that uses /// a previous application revision that is known to work, and set its alarm configuration /// to turn off alarm polling. Turning off alarm polling ensures that the new deployment /// proceeds without being blocked by the alarm that was generated by the previous, failed, /// deployment. /// /// /// /// If you specify an overrideAlarmConfiguration, you need the UpdateDeploymentGroup /// IAM permission when calling CreateDeployment. /// /// /// public AlarmConfiguration OverrideAlarmConfiguration { get { return this._overrideAlarmConfiguration; } set { this._overrideAlarmConfiguration = value; } } // Check to see if OverrideAlarmConfiguration property is set internal bool IsSetOverrideAlarmConfiguration() { return this._overrideAlarmConfiguration != null; } /// /// Gets and sets the property Revision. /// /// The type and location of the revision to deploy. /// /// public RevisionLocation Revision { get { return this._revision; } set { this._revision = value; } } // Check to see if Revision property is set internal bool IsSetRevision() { return this._revision != null; } /// /// Gets and sets the property TargetInstances. /// /// Information about the instances that belong to the replacement environment in a blue/green /// deployment. /// /// public TargetInstances TargetInstances { get { return this._targetInstances; } set { this._targetInstances = value; } } // Check to see if TargetInstances property is set internal bool IsSetTargetInstances() { return this._targetInstances != null; } /// /// Gets and sets the property UpdateOutdatedInstancesOnly. /// /// Indicates whether to deploy to all instances or only to instances that are not running /// the latest application revision. /// /// public bool UpdateOutdatedInstancesOnly { get { return this._updateOutdatedInstancesOnly.GetValueOrDefault(); } set { this._updateOutdatedInstancesOnly = value; } } // Check to see if UpdateOutdatedInstancesOnly property is set internal bool IsSetUpdateOutdatedInstancesOnly() { return this._updateOutdatedInstancesOnly.HasValue; } } }