Class Ec2Configuration

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

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

Provides information used to select Amazon Machine Images (AMIs) for instances in the compute environment. If Ec2Configuration isn't specified, the default is ECS_AL2 (Amazon Linux 2).

This object isn't applicable to jobs that are running on Fargate resources.

See Also:
  • Method Details

    • imageType

      public final String imageType()

      The image type to match with the instance type to select an AMI. The supported values are different for ECS and EKS resources.

      ECS

      If the imageIdOverride parameter isn't specified, then a recent Amazon ECS-optimized Amazon Linux 2 AMI (ECS_AL2) is used. If a new image type is specified in an update, but neither an imageId nor a imageIdOverride parameter is specified, then the latest Amazon ECS optimized AMI for that image type that's supported by Batch is used.

      ECS_AL2

      Amazon Linux 2: Default for all non-GPU instance families.

      ECS_AL2_NVIDIA

      Amazon Linux 2 (GPU): Default for all GPU instance families (for example P4 and G4) and can be used for all non Amazon Web Services Graviton-based instance types.

      ECS_AL2023

      Amazon Linux 2023: Batch supports Amazon Linux 2023.

      Amazon Linux 2023 does not support A1 instances.

      ECS_AL1

      Amazon Linux. Amazon Linux has reached the end-of-life of standard support. For more information, see Amazon Linux AMI.

      EKS

      If the imageIdOverride parameter isn't specified, then a recent Amazon EKS-optimized Amazon Linux AMI (EKS_AL2) is used. If a new image type is specified in an update, but neither an imageId nor a imageIdOverride parameter is specified, then the latest Amazon EKS optimized AMI for that image type that Batch supports is used.

      EKS_AL2

      Amazon Linux 2: Default for all non-GPU instance families.

      EKS_AL2_NVIDIA

      Amazon Linux 2 (accelerated): Default for all GPU instance families (for example, P4 and G4) and can be used for all non Amazon Web Services Graviton-based instance types.

      Returns:
      The image type to match with the instance type to select an AMI. The supported values are different for ECS and EKS resources.

      ECS

      If the imageIdOverride parameter isn't specified, then a recent Amazon ECS-optimized Amazon Linux 2 AMI (ECS_AL2) is used. If a new image type is specified in an update, but neither an imageId nor a imageIdOverride parameter is specified, then the latest Amazon ECS optimized AMI for that image type that's supported by Batch is used.

      ECS_AL2

      Amazon Linux 2: Default for all non-GPU instance families.

      ECS_AL2_NVIDIA

      Amazon Linux 2 (GPU): Default for all GPU instance families (for example P4 and G4 ) and can be used for all non Amazon Web Services Graviton-based instance types.

      ECS_AL2023

      Amazon Linux 2023: Batch supports Amazon Linux 2023.

      Amazon Linux 2023 does not support A1 instances.

      ECS_AL1

      Amazon Linux. Amazon Linux has reached the end-of-life of standard support. For more information, see Amazon Linux AMI.

      EKS

      If the imageIdOverride parameter isn't specified, then a recent Amazon EKS-optimized Amazon Linux AMI (EKS_AL2) is used. If a new image type is specified in an update, but neither an imageId nor a imageIdOverride parameter is specified, then the latest Amazon EKS optimized AMI for that image type that Batch supports is used.

      EKS_AL2

      Amazon Linux 2: Default for all non-GPU instance families.

      EKS_AL2_NVIDIA

      Amazon Linux 2 (accelerated): Default for all GPU instance families (for example, P4 and G4) and can be used for all non Amazon Web Services Graviton-based instance types.

    • imageIdOverride

      public final String imageIdOverride()

      The AMI ID used for instances launched in the compute environment that match the image type. This setting overrides the imageId set in the computeResource object.

      The AMI that you choose for a compute environment must match the architecture of the instance types that you intend to use for that compute environment. For example, if your compute environment uses A1 instance types, the compute resource AMI that you choose must support ARM instances. Amazon ECS vends both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon Elastic Container Service Developer Guide.

      Returns:
      The AMI ID used for instances launched in the compute environment that match the image type. This setting overrides the imageId set in the computeResource object.

      The AMI that you choose for a compute environment must match the architecture of the instance types that you intend to use for that compute environment. For example, if your compute environment uses A1 instance types, the compute resource AMI that you choose must support ARM instances. Amazon ECS vends both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI. For more information, see Amazon ECS-optimized Amazon Linux 2 AMI in the Amazon Elastic Container Service Developer Guide.

    • imageKubernetesVersion

      public final String imageKubernetesVersion()

      The Kubernetes version for the compute environment. If you don't specify a value, the latest version that Batch supports is used.

      Returns:
      The Kubernetes version for the compute environment. If you don't specify a value, the latest version that Batch supports is used.
    • toBuilder

      public Ec2Configuration.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<Ec2Configuration.Builder,Ec2Configuration>
      Returns:
      a builder for type T
    • builder

      public static Ec2Configuration.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Ec2Configuration.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.