All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ecs.model.ContainerDependency Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 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;

/**
 * 

* The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a * dependency is defined for container startup, for container shutdown it is reversed. *

*

* Your Amazon ECS container instances require at least version 1.26.0 of the container agent to use container * dependencies. However, we recommend using the latest container agent version. For information about checking your * agent version and updating to the latest version, see Updating the Amazon ECS * Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon * ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your * container instances are launched from version 20190301 or later, then they contain the required versions * of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux * AMI in the Amazon Elastic Container Service Developer Guide. *

* *

* For tasks that use the Fargate launch type, the task or service requires the following platforms: *

*
    *
  • *

    * Linux platform version 1.3.0 or later. *

    *
  • *
  • *

    * Windows platform version 1.0.0 or later. *

    *
  • *
*
*

* For more information about how to create a container dependency, see Container dependency in the Amazon Elastic Container Service Developer Guide. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ContainerDependency implements Serializable, Cloneable, StructuredPojo { /** *

* The name of a container. *

*/ private String containerName; /** *

* The dependency condition of the container. The following are the available conditions and their behavior: *

*
    *
  • *

    * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

    *
  • *
  • *

    * COMPLETE - This condition validates that a dependent container runs to completion (exits) before * permitting other containers to start. This can be useful for nonessential containers that run a script and then * exit. This condition can't be set on an essential container. *

    *
  • *
  • *

    * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

    *
  • *
  • *

    * HEALTHY - This condition validates that the dependent container passes its Docker health check * before permitting other containers to start. This requires that the dependent container has health checks * configured. This condition is confirmed only at task startup. *

    *
  • *
*/ private String condition; /** *

* The name of a container. *

* * @param containerName * The name of a container. */ public void setContainerName(String containerName) { this.containerName = containerName; } /** *

* The name of a container. *

* * @return The name of a container. */ public String getContainerName() { return this.containerName; } /** *

* The name of a container. *

* * @param containerName * The name of a container. * @return Returns a reference to this object so that method calls can be chained together. */ public ContainerDependency withContainerName(String containerName) { setContainerName(containerName); return this; } /** *

* The dependency condition of the container. The following are the available conditions and their behavior: *

*
    *
  • *

    * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

    *
  • *
  • *

    * COMPLETE - This condition validates that a dependent container runs to completion (exits) before * permitting other containers to start. This can be useful for nonessential containers that run a script and then * exit. This condition can't be set on an essential container. *

    *
  • *
  • *

    * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

    *
  • *
  • *

    * HEALTHY - This condition validates that the dependent container passes its Docker health check * before permitting other containers to start. This requires that the dependent container has health checks * configured. This condition is confirmed only at task startup. *

    *
  • *
* * @param condition * The dependency condition of the container. The following are the available conditions and their * behavior:

*
    *
  • *

    * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

    *
  • *
  • *

    * COMPLETE - This condition validates that a dependent container runs to completion (exits) * before permitting other containers to start. This can be useful for nonessential containers that run a * script and then exit. This condition can't be set on an essential container. *

    *
  • *
  • *

    * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

    *
  • *
  • *

    * HEALTHY - This condition validates that the dependent container passes its Docker health * check before permitting other containers to start. This requires that the dependent container has health * checks configured. This condition is confirmed only at task startup. *

    *
  • * @see ContainerCondition */ public void setCondition(String condition) { this.condition = condition; } /** *

    * The dependency condition of the container. The following are the available conditions and their behavior: *

    *
      *
    • *

      * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

      *
    • *
    • *

      * COMPLETE - This condition validates that a dependent container runs to completion (exits) before * permitting other containers to start. This can be useful for nonessential containers that run a script and then * exit. This condition can't be set on an essential container. *

      *
    • *
    • *

      * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

      *
    • *
    • *

      * HEALTHY - This condition validates that the dependent container passes its Docker health check * before permitting other containers to start. This requires that the dependent container has health checks * configured. This condition is confirmed only at task startup. *

      *
    • *
    * * @return The dependency condition of the container. The following are the available conditions and their * behavior:

    *
      *
    • *

      * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

      *
    • *
    • *

      * COMPLETE - This condition validates that a dependent container runs to completion (exits) * before permitting other containers to start. This can be useful for nonessential containers that run a * script and then exit. This condition can't be set on an essential container. *

      *
    • *
    • *

      * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

      *
    • *
    • *

      * HEALTHY - This condition validates that the dependent container passes its Docker health * check before permitting other containers to start. This requires that the dependent container has health * checks configured. This condition is confirmed only at task startup. *

      *
    • * @see ContainerCondition */ public String getCondition() { return this.condition; } /** *

      * The dependency condition of the container. The following are the available conditions and their behavior: *

      *
        *
      • *

        * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

        *
      • *
      • *

        * COMPLETE - This condition validates that a dependent container runs to completion (exits) before * permitting other containers to start. This can be useful for nonessential containers that run a script and then * exit. This condition can't be set on an essential container. *

        *
      • *
      • *

        * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

        *
      • *
      • *

        * HEALTHY - This condition validates that the dependent container passes its Docker health check * before permitting other containers to start. This requires that the dependent container has health checks * configured. This condition is confirmed only at task startup. *

        *
      • *
      * * @param condition * The dependency condition of the container. The following are the available conditions and their * behavior:

      *
        *
      • *

        * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

        *
      • *
      • *

        * COMPLETE - This condition validates that a dependent container runs to completion (exits) * before permitting other containers to start. This can be useful for nonessential containers that run a * script and then exit. This condition can't be set on an essential container. *

        *
      • *
      • *

        * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

        *
      • *
      • *

        * HEALTHY - This condition validates that the dependent container passes its Docker health * check before permitting other containers to start. This requires that the dependent container has health * checks configured. This condition is confirmed only at task startup. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerCondition */ public ContainerDependency withCondition(String condition) { setCondition(condition); return this; } /** *

        * The dependency condition of the container. The following are the available conditions and their behavior: *

        *
          *
        • *

          * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

          *
        • *
        • *

          * COMPLETE - This condition validates that a dependent container runs to completion (exits) before * permitting other containers to start. This can be useful for nonessential containers that run a script and then * exit. This condition can't be set on an essential container. *

          *
        • *
        • *

          * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

          *
        • *
        • *

          * HEALTHY - This condition validates that the dependent container passes its Docker health check * before permitting other containers to start. This requires that the dependent container has health checks * configured. This condition is confirmed only at task startup. *

          *
        • *
        * * @param condition * The dependency condition of the container. The following are the available conditions and their * behavior:

        *
          *
        • *

          * START - This condition emulates the behavior of links and volumes today. It validates that a * dependent container is started before permitting other containers to start. *

          *
        • *
        • *

          * COMPLETE - This condition validates that a dependent container runs to completion (exits) * before permitting other containers to start. This can be useful for nonessential containers that run a * script and then exit. This condition can't be set on an essential container. *

          *
        • *
        • *

          * SUCCESS - This condition is the same as COMPLETE, but it also requires that the * container exits with a zero status. This condition can't be set on an essential container. *

          *
        • *
        • *

          * HEALTHY - This condition validates that the dependent container passes its Docker health * check before permitting other containers to start. This requires that the dependent container has health * checks configured. This condition is confirmed only at task startup. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see ContainerCondition */ public ContainerDependency withCondition(ContainerCondition condition) { this.condition = condition.toString(); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getContainerName() != null) sb.append("ContainerName: ").append(getContainerName()).append(","); if (getCondition() != null) sb.append("Condition: ").append(getCondition()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ContainerDependency == false) return false; ContainerDependency other = (ContainerDependency) obj; if (other.getContainerName() == null ^ this.getContainerName() == null) return false; if (other.getContainerName() != null && other.getContainerName().equals(this.getContainerName()) == false) return false; if (other.getCondition() == null ^ this.getCondition() == null) return false; if (other.getCondition() != null && other.getCondition().equals(this.getCondition()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getContainerName() == null) ? 0 : getContainerName().hashCode()); hashCode = prime * hashCode + ((getCondition() == null) ? 0 : getCondition().hashCode()); return hashCode; } @Override public ContainerDependency clone() { try { return (ContainerDependency) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.ecs.model.transform.ContainerDependencyMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy