/* * Copyright 2018-2023 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. */ package com.amazonaws.services.ecs.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* 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:
*
* HEALTHY
-The container health check has passed successfully.
*
* UNHEALTHY
-The container health check has failed.
*
* UNKNOWN
-The container health check is being evaluated or there's no container health check defined.
*
* 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.
*
* HEALTHY
-All essential containers within the task have passed their health checks.
*
* UNHEALTHY
-One or more essential containers have failed their health check.
*
* UNKNOWN
-The essential containers within the task are still having their health checks evaluated, there
* are only nonessential containers with health checks defined, or there are no container health checks defined.
*
* 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: *
*
* When the Amazon ECS agent cannot connect to the Amazon ECS service, the service reports the container as
* UNHEALTHY
.
*
* The health check statuses are the "last heard from" response from the Amazon ECS agent. There are no assumptions made * about the status of the container health checks. *
** Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, * see Updating the Amazon * ECS container agent. *
*
* Container health checks are supported for Fargate tasks if you're using platform version 1.1.0
or
* greater. For more information, see Fargate platform
* versions.
*
* Container health checks aren't supported for tasks that are part of a service that's configured to use a Classic Load * Balancer. *
*
* 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.
*
* The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The * default value is 30 seconds. *
*/ private Integer interval; /** ** 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. *
*/ private Integer timeout; /** ** 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. *
*/ private Integer retries; /** *
* 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.
*
* 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.
*
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
*
* A string array representing the command that the container runs to determine if it is healthy. The string array
* must start with
* 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.
*
*
* You don't include the double quotes and brackets when you use the Amazon Web Services Management Console.
*
*
* 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.
*/
public java.util.ListCMD
to run the command arguments directly, or CMD-SHELL
to run the
* command with the container's default shell.
* [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
* CMD-SHELL, curl -f http://localhost/ || exit 1
* HealthCheck
in the Create a container section of the
* Docker Remote API.
* 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
*
* A string array representing the command that the container runs to determine if it is healthy. The string array
* must start with
* 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.
*
*
* You don't include the double quotes and brackets when you use the Amazon Web Services Management Console.
*
*
* An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCommand(java.util.Collection)} or {@link #withCommand(java.util.Collection)} if you want to override
* the existing values.
* HealthCheck
in the Create a container section
* of the Docker Remote API.
*/
public void setCommand(java.util.CollectionCMD
to run the command arguments directly, or CMD-SHELL
to run the
* command with the container's default shell.
* [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
* CMD-SHELL, curl -f http://localhost/ || exit 1
* HealthCheck
in the Create a container section of the
* Docker Remote API.
* 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
*
* A string array representing the command that the container runs to determine if it is healthy. The string array
* must start with
* 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.
*
*
* You don't include the double quotes and brackets when you use the Amazon Web Services Management Console.
*
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public HealthCheck withCommand(String... command) {
if (this.command == null) {
setCommand(new com.amazonaws.internal.SdkInternalListCMD
to run the command arguments directly, or CMD-SHELL
to run the
* command with the container's default shell.
* [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
* CMD-SHELL, curl -f http://localhost/ || exit 1
* HealthCheck
in the Create a container section of the
* Docker Remote API.
* 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
*
* The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The
* default value is 30 seconds.
*
* The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The
* default value is 30 seconds.
*
* The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The
* default value is 30 seconds.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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
* If a health check succeeds within the HealthCheck
in the Create a container section
* of the Docker Remote API.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public HealthCheck withCommand(java.util.CollectionstartPeriod
is
* off.
* startPeriod
, then the container is considered healthy and any
* subsequent failures count toward the maximum number of retries.
* 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.
*
* 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.
*
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.
*
* 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.
*
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.
*