Class EcsTaskProperties

java.lang.Object
software.amazon.awssdk.services.batch.model.EcsTaskProperties
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<EcsTaskProperties.Builder,EcsTaskProperties>

@Generated("software.amazon.awssdk:codegen") public final class EcsTaskProperties extends Object implements SdkPojo, Serializable, ToCopyableBuilder<EcsTaskProperties.Builder,EcsTaskProperties>

The properties for a task definition that describes the container and volume definitions of an Amazon ECS task. You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.

See Also:
  • Method Details

    • hasContainers

      public final boolean hasContainers()
      For responses, this returns true if the service returned a value for the Containers property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • containers

      public final List<TaskContainerProperties> containers()

      This object is a list of containers.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasContainers() method.

      Returns:
      This object is a list of containers.
    • ephemeralStorage

      public final EphemeralStorage ephemeralStorage()

      The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate.

      Returns:
      The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate.
    • executionRoleArn

      public final String executionRoleArn()

      The Amazon Resource Name (ARN) of the execution role that Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see Batch execution IAM role in the Batch User Guide.

      Returns:
      The Amazon Resource Name (ARN) of the execution role that Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see Batch execution IAM role in the Batch User Guide.
    • platformVersion

      public final String platformVersion()

      The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.

      Returns:
      The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.
    • ipcMode

      public final String ipcMode()

      The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none.

      If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

      If task is specified, all containers within the specified task share the same IPC resources.

      If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

      If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

      Returns:
      The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none.

      If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

      If task is specified, all containers within the specified task share the same IPC resources.

      If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

      If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    • taskRoleArn

      public final String taskRoleArn()

      The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

      This is object is comparable to ContainerProperties:jobRoleArn.

      Returns:
      The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

      This is object is comparable to ContainerProperties:jobRoleArn.

    • pidMode

      public final String pidMode()

      The process namespace to use for the containers in the task. The valid values are host or task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

      If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

      If task is specified, all containers within the specified task share the same process namespace.

      If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

      Returns:
      The process namespace to use for the containers in the task. The valid values are host or task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

      If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

      If task is specified, all containers within the specified task share the same process namespace.

      If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    • networkConfiguration

      public final NetworkConfiguration networkConfiguration()

      The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.

      Returns:
      The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    • runtimePlatform

      public final RuntimePlatform runtimePlatform()

      An object that represents the compute environment architecture for Batch jobs on Fargate.

      Returns:
      An object that represents the compute environment architecture for Batch jobs on Fargate.
    • hasVolumes

      public final boolean hasVolumes()
      For responses, this returns true if the service returned a value for the Volumes property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • volumes

      public final List<Volume> volumes()

      A list of volumes that are associated with the job.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasVolumes() method.

      Returns:
      A list of volumes that are associated with the job.
    • enableExecuteCommand

      public final Boolean enableExecuteCommand()

      Determines whether execute command functionality is turned on for this task. If true, execute command functionality is turned on all the containers in the task.

      Returns:
      Determines whether execute command functionality is turned on for this task. If true, execute command functionality is turned on all the containers in the task.
    • toBuilder

      public EcsTaskProperties.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<EcsTaskProperties.Builder,EcsTaskProperties>
      Returns:
      a builder for type T
    • builder

      public static EcsTaskProperties.Builder builder()
    • serializableBuilderClass

      public static Class<? extends EcsTaskProperties.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.