/* * 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 ecs-2014-11-13.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.ECS.Model { /// /// Optional deployment parameters that control how many tasks run during a deployment /// and the ordering of stopping and starting tasks. /// public partial class DeploymentConfiguration { private DeploymentAlarms _alarms; private DeploymentCircuitBreaker _deploymentCircuitBreaker; private int? _maximumPercent; private int? _minimumHealthyPercent; /// /// Gets and sets the property Alarms. /// /// Information about the CloudWatch alarms. /// /// public DeploymentAlarms Alarms { get { return this._alarms; } set { this._alarms = value; } } // Check to see if Alarms property is set internal bool IsSetAlarms() { return this._alarms != null; } /// /// Gets and sets the property DeploymentCircuitBreaker. /// /// The deployment circuit breaker can only be used for services using the rolling update /// (ECS) deployment type. /// /// /// /// The deployment circuit breaker determines whether a service deployment will /// fail if the service can't reach a steady state. If you use the deployment circuit /// breaker, a service deployment will transition to a failed state and stop launching /// new tasks. If you use the rollback option, when a service deployment fails, the service /// is rolled back to the last deployment that completed successfully. For more information, /// see Rolling /// update in the Amazon Elastic Container Service Developer Guide /// /// public DeploymentCircuitBreaker DeploymentCircuitBreaker { get { return this._deploymentCircuitBreaker; } set { this._deploymentCircuitBreaker = value; } } // Check to see if DeploymentCircuitBreaker property is set internal bool IsSetDeploymentCircuitBreaker() { return this._deploymentCircuitBreaker != null; } /// /// Gets and sets the property MaximumPercent. /// /// If a service is using the rolling update (ECS) deployment type, the maximumPercent /// parameter represents an upper limit on the number of your service's tasks that are /// allowed in the RUNNING or PENDING state during a deployment, /// as a percentage of the desiredCount (rounded down to the nearest integer). /// This parameter enables you to define the deployment batch size. For example, if your /// service is using the REPLICA service scheduler and has a desiredCount /// of four tasks and a maximumPercent value of 200%, the scheduler may start /// four new tasks before stopping the four older tasks (provided that the cluster resources /// required to do this are available). The default maximumPercent value /// for a service using the REPLICA service scheduler is 200%. /// /// /// /// If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL /// deployment types and tasks that use the EC2 launch type, the maximum percent /// value is set to the default value and is used to define the upper limit on the number /// of the tasks in the service that remain in the RUNNING state while the /// container instances are in the DRAINING state. If the tasks in the service /// use the Fargate launch type, the maximum percent value is not used, although it is /// returned when describing your service. /// /// public int MaximumPercent { get { return this._maximumPercent.GetValueOrDefault(); } set { this._maximumPercent = value; } } // Check to see if MaximumPercent property is set internal bool IsSetMaximumPercent() { return this._maximumPercent.HasValue; } /// /// Gets and sets the property MinimumHealthyPercent. /// /// If a service is using the rolling update (ECS) deployment type, the minimumHealthyPercent /// represents a lower limit on the number of your service's tasks that must remain in /// the RUNNING state during a deployment, as a percentage of the desiredCount /// (rounded up to the nearest integer). This parameter enables you to deploy without /// using additional cluster capacity. For example, if your service has a desiredCount /// of four tasks and a minimumHealthyPercent of 50%, the service scheduler /// may stop two existing tasks to free up cluster capacity before starting two new tasks. /// /// /// /// /// For services that do not use a load balancer, the following should be noted: /// /// /// /// For services are that do use a load balancer, the following should be noted: /// /// /// /// If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL /// deployment types and is running tasks that use the EC2 launch type, the minimum /// healthy percent value is set to the default value and is used to define the lower /// limit on the number of the tasks in the service that remain in the RUNNING /// state while the container instances are in the DRAINING state. If a service /// is using either the blue/green (CODE_DEPLOY) or EXTERNAL /// deployment types and is running tasks that use the Fargate launch type, the minimum /// healthy percent value is not used, although it is returned when describing your service. /// /// public int MinimumHealthyPercent { get { return this._minimumHealthyPercent.GetValueOrDefault(); } set { this._minimumHealthyPercent = value; } } // Check to see if MinimumHealthyPercent property is set internal bool IsSetMinimumHealthyPercent() { return this._minimumHealthyPercent.HasValue; } } }