/* * 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 { /// /// An object representing a container health check. Health check parameters that are /// specified in a container definition override any Docker health checks that exist in /// the container image (such as those specified in a parent image or from the image's /// Dockerfile). This configuration maps to the HEALTHCHECK parameter of /// docker run. /// /// /// /// The Amazon ECS container agent only monitors and reports on the health checks specified /// in the task definition. Amazon ECS does not monitor Docker health checks that are /// embedded in a container image and not specified in the container definition. Health /// check parameters that are specified in a container definition override any Docker /// health checks that exist in the container image. /// /// /// /// You can view the health status of both individual containers and a task with the DescribeTasks /// API operation or when viewing the task details in the console. /// /// /// /// The health check is designed to make sure that your containers survive agent restarts, /// upgrades, or temporary unavailability. /// /// /// /// The following describes the possible healthStatus values for a container: /// /// /// /// The following describes the possible healthStatus values for a task. /// The container health check status of non-essential containers don't have an effect /// on the health status of a task. /// /// /// /// If a task is run manually, and not as part of a service, the task will continue its /// lifecycle regardless of its health status. For tasks that are part of a service, if /// the task reports as unhealthy then the task will be stopped and the service scheduler /// will replace it. /// /// /// /// The following are notes about container health check support: /// /// /// public partial class HealthCheck { private List _command = new List(); private int? _interval; private int? _retries; private int? _startPeriod; private int? _timeout; /// /// Gets and sets the property Command. /// /// A string array representing the command that the container runs to determine if it /// is healthy. The string array must start with CMD to run the command arguments /// directly, or CMD-SHELL to run the command with the container's default /// shell. /// /// /// /// When you use the Amazon Web Services Management Console JSON panel, the Command Line /// Interface, or the APIs, enclose the list of commands in double quotes and brackets. /// /// /// /// [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] /// /// /// /// You don't include the double quotes and brackets when you use the Amazon Web Services /// Management Console. /// /// /// /// CMD-SHELL, curl -f http://localhost/ || exit 1 /// /// /// /// An exit code of 0 indicates success, and non-zero exit code indicates failure. For /// more information, see HealthCheck in the Create /// a container section of the Docker /// Remote API. /// /// [AWSProperty(Required=true)] public List Command { get { return this._command; } set { this._command = value; } } // Check to see if Command property is set internal bool IsSetCommand() { return this._command != null && this._command.Count > 0; } /// /// Gets and sets the property Interval. /// /// The time period in seconds between each health check execution. You may specify between /// 5 and 300 seconds. The default value is 30 seconds. /// /// public int Interval { get { return this._interval.GetValueOrDefault(); } set { this._interval = value; } } // Check to see if Interval property is set internal bool IsSetInterval() { return this._interval.HasValue; } /// /// Gets and sets the property Retries. /// /// The number of times to retry a failed health check before the container is considered /// unhealthy. You may specify between 1 and 10 retries. The default value is 3. /// /// public int Retries { get { return this._retries.GetValueOrDefault(); } set { this._retries = value; } } // Check to see if Retries property is set internal bool IsSetRetries() { return this._retries.HasValue; } /// /// Gets and sets the property StartPeriod. /// /// The optional grace period to provide containers time to bootstrap before failed health /// checks count towards the maximum number of retries. You can specify between 0 and /// 300 seconds. By default, the startPeriod is off. /// /// /// /// If a health check succeeds within the startPeriod, then the container /// is considered healthy and any subsequent failures count toward the maximum number /// of retries. /// /// /// public int StartPeriod { get { return this._startPeriod.GetValueOrDefault(); } set { this._startPeriod = value; } } // Check to see if StartPeriod property is set internal bool IsSetStartPeriod() { return this._startPeriod.HasValue; } /// /// Gets and sets the property Timeout. /// /// The time period in seconds to wait for a health check to succeed before it is considered /// a failure. You may specify between 2 and 60 seconds. The default value is 5. /// /// public int Timeout { get { return this._timeout.GetValueOrDefault(); } set { this._timeout = value; } } // Check to see if Timeout property is set internal bool IsSetTimeout() { return this._timeout.HasValue; } } }