Class ClusterEbsVolumeConfig

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

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

Defines the configuration for attaching an additional Amazon Elastic Block Store (EBS) volume to each instance of the SageMaker HyperPod cluster instance group. To learn more, see SageMaker HyperPod release notes: June 20, 2024.

See Also:
  • Method Details

    • volumeSizeInGB

      public final Integer volumeSizeInGB()

      The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.

      Returns:
      The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.
    • volumeKmsKeyId

      public final String volumeKmsKeyId()

      The ID of a KMS key to encrypt the Amazon EBS volume.

      Returns:
      The ID of a KMS key to encrypt the Amazon EBS volume.
    • rootVolume

      public final Boolean rootVolume()

      Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two ClusterEbsVolumeConfig fields to configure both the root and secondary volumes. Set the value to True if you'd like to provide your own customer managed Amazon Web Services KMS key to encrypt the root volume. When True:

      • The configuration is applied to the root volume.

      • You can't specify the VolumeSizeInGB field. The size of the root volume is determined for you.

      • You must specify a KMS key ID for VolumeKmsKeyId to encrypt the root volume with your own KMS key instead of an Amazon Web Services owned KMS key.

      Otherwise, by default, the value is False, and the following applies:

      • The configuration is applied to the secondary volume, while the root volume is encrypted with an Amazon Web Services owned key.

      • You must specify the VolumeSizeInGB field.

      • You can optionally specify the VolumeKmsKeyId to encrypt the secondary volume with your own KMS key instead of an Amazon Web Services owned KMS key.

      Returns:
      Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two ClusterEbsVolumeConfig fields to configure both the root and secondary volumes. Set the value to True if you'd like to provide your own customer managed Amazon Web Services KMS key to encrypt the root volume. When True:

      • The configuration is applied to the root volume.

      • You can't specify the VolumeSizeInGB field. The size of the root volume is determined for you.

      • You must specify a KMS key ID for VolumeKmsKeyId to encrypt the root volume with your own KMS key instead of an Amazon Web Services owned KMS key.

      Otherwise, by default, the value is False, and the following applies:

      • The configuration is applied to the secondary volume, while the root volume is encrypted with an Amazon Web Services owned key.

      • You must specify the VolumeSizeInGB field.

      • You can optionally specify the VolumeKmsKeyId to encrypt the secondary volume with your own KMS key instead of an Amazon Web Services owned KMS key.

    • toBuilder

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

      public static ClusterEbsVolumeConfig.Builder builder()
    • serializableBuilderClass

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