Class ComputeNodeGroup

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

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

A compute node group associated with a cluster.

See Also:
  • Method Details

    • name

      public final String name()

      The name that identifies the compute node group.

      Returns:
      The name that identifies the compute node group.
    • id

      public final String id()

      The generated unique ID of the compute node group.

      Returns:
      The generated unique ID of the compute node group.
    • arn

      public final String arn()

      The unique Amazon Resource Name (ARN) of the compute node group.

      Returns:
      The unique Amazon Resource Name (ARN) of the compute node group.
    • clusterId

      public final String clusterId()

      The ID of the cluster of the compute node group.

      Returns:
      The ID of the cluster of the compute node group.
    • createdAt

      public final Instant createdAt()

      The date and time the resource was created.

      Returns:
      The date and time the resource was created.
    • modifiedAt

      public final Instant modifiedAt()

      The date and time the resource was modified.

      Returns:
      The date and time the resource was modified.
    • status

      public final ComputeNodeGroupStatus status()

      The provisioning status of the compute node group.

      The provisioning status doesn't indicate the overall health of the compute node group.

      The resource enters the SUSPENDING and SUSPENDED states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is SUSPENDED. For more information, see Frequently asked questions about Slurm versions in PCS in the PCS User Guide.

      If the service returns an enum value that is not available in the current SDK version, status will return ComputeNodeGroupStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      The provisioning status of the compute node group.

      The provisioning status doesn't indicate the overall health of the compute node group.

      The resource enters the SUSPENDING and SUSPENDED states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is SUSPENDED. For more information, see Frequently asked questions about Slurm versions in PCS in the PCS User Guide.

      See Also:
    • statusAsString

      public final String statusAsString()

      The provisioning status of the compute node group.

      The provisioning status doesn't indicate the overall health of the compute node group.

      The resource enters the SUSPENDING and SUSPENDED states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is SUSPENDED. For more information, see Frequently asked questions about Slurm versions in PCS in the PCS User Guide.

      If the service returns an enum value that is not available in the current SDK version, status will return ComputeNodeGroupStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      The provisioning status of the compute node group.

      The provisioning status doesn't indicate the overall health of the compute node group.

      The resource enters the SUSPENDING and SUSPENDED states when the scheduler is beyond end of life and we have suspended the cluster. When in these states, you can't use the cluster. The cluster controller is down and all compute instances are terminated. The resources still count toward your service quotas. You can delete a resource if its status is SUSPENDED. For more information, see Frequently asked questions about Slurm versions in PCS in the PCS User Guide.

      See Also:
    • amiId

      public final String amiId()

      The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.

      Returns:
      The ID of the Amazon Machine Image (AMI) that Amazon Web Services PCS uses to launch instances. If not provided, Amazon Web Services PCS uses the AMI ID specified in the custom launch template.
    • hasSubnetIds

      public final boolean hasSubnetIds()
      For responses, this returns true if the service returned a value for the SubnetIds 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.
    • subnetIds

      public final List<String> subnetIds()

      The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.

      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 hasSubnetIds() method.

      Returns:
      The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.
    • purchaseOption

      public final PurchaseOption purchaseOption()

      Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

      If the service returns an enum value that is not available in the current SDK version, purchaseOption will return PurchaseOption.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from purchaseOptionAsString().

      Returns:
      Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.
      See Also:
    • purchaseOptionAsString

      public final String purchaseOptionAsString()

      Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.

      If the service returns an enum value that is not available in the current SDK version, purchaseOption will return PurchaseOption.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from purchaseOptionAsString().

      Returns:
      Specifies how EC2 instances are purchased on your behalf. Amazon Web Services PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.
      See Also:
    • customLaunchTemplate

      public final CustomLaunchTemplate customLaunchTemplate()
      Returns the value of the CustomLaunchTemplate property for this object.
      Returns:
      The value of the CustomLaunchTemplate property for this object.
    • iamInstanceProfileArn

      public final String iamInstanceProfileArn()

      The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have the pcs:RegisterComputeNodeGroupInstance permission. The resource identifier of the ARN must start with AWSPCS or it must have /aws-pcs/ in its path.

      Examples

      • arn:aws:iam::111122223333:instance-profile/AWSPCS-example-role-1

      • arn:aws:iam::111122223333:instance-profile/aws-pcs/example-role-2

      Returns:
      The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have the pcs:RegisterComputeNodeGroupInstance permission. The resource identifier of the ARN must start with AWSPCS or it must have /aws-pcs/ in its path.

      Examples

      • arn:aws:iam::111122223333:instance-profile/AWSPCS-example-role-1

      • arn:aws:iam::111122223333:instance-profile/aws-pcs/example-role-2

    • scalingConfiguration

      public final ScalingConfiguration scalingConfiguration()
      Returns the value of the ScalingConfiguration property for this object.
      Returns:
      The value of the ScalingConfiguration property for this object.
    • hasInstanceConfigs

      public final boolean hasInstanceConfigs()
      For responses, this returns true if the service returned a value for the InstanceConfigs 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.
    • instanceConfigs

      public final List<InstanceConfig> instanceConfigs()

      A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.

      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 hasInstanceConfigs() method.

      Returns:
      A list of EC2 instance configurations that Amazon Web Services PCS can provision in the compute node group.
    • spotOptions

      public final SpotOptions spotOptions()
      Returns the value of the SpotOptions property for this object.
      Returns:
      The value of the SpotOptions property for this object.
    • slurmConfiguration

      public final ComputeNodeGroupSlurmConfiguration slurmConfiguration()
      Returns the value of the SlurmConfiguration property for this object.
      Returns:
      The value of the SlurmConfiguration property for this object.
    • hasErrorInfo

      public final boolean hasErrorInfo()
      For responses, this returns true if the service returned a value for the ErrorInfo 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.
    • errorInfo

      public final List<ErrorInfo> errorInfo()

      The list of errors that occurred during compute node group provisioning.

      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 hasErrorInfo() method.

      Returns:
      The list of errors that occurred during compute node group provisioning.
    • toBuilder

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

      public static ComputeNodeGroup.Builder builder()
    • serializableBuilderClass

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