Class JobDefinition

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

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

An object that represents an Batch job definition.

See Also:
  • Method Details

    • jobDefinitionName

      public final String jobDefinitionName()

      The name of the job definition.

      Returns:
      The name of the job definition.
    • jobDefinitionArn

      public final String jobDefinitionArn()

      The Amazon Resource Name (ARN) for the job definition.

      Returns:
      The Amazon Resource Name (ARN) for the job definition.
    • revision

      public final Integer revision()

      The revision of the job definition.

      Returns:
      The revision of the job definition.
    • status

      public final String status()

      The status of the job definition.

      Returns:
      The status of the job definition.
    • type

      public final String type()

      The type of job definition. It's either container or multinode. If the job is run on Fargate resources, then multinode isn't supported. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the Batch User Guide.

      Returns:
      The type of job definition. It's either container or multinode. If the job is run on Fargate resources, then multinode isn't supported. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the Batch User Guide.
    • schedulingPriority

      public final Integer schedulingPriority()

      The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.

      Returns:
      The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    • hasParameters

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

      public final Map<String,String> parameters()

      Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the Batch User Guide.

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

      Returns:
      Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the Batch User Guide.
    • retryStrategy

      public final RetryStrategy retryStrategy()

      The retry strategy to use for failed jobs that are submitted with this job definition.

      Returns:
      The retry strategy to use for failed jobs that are submitted with this job definition.
    • containerProperties

      public final ContainerProperties containerProperties()

      An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties, ecsProperties, or nodeProperties.

      Returns:
      An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties, ecsProperties, or nodeProperties.
    • timeout

      public final JobTimeout timeout()

      The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.

      Returns:
      The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.
    • nodeProperties

      public final NodeProperties nodeProperties()

      An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties, ecsProperties, or eksProperties.

      If the job runs on Fargate resources, don't specify nodeProperties. Use containerProperties instead.

      Returns:
      An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties, ecsProperties, or eksProperties.

      If the job runs on Fargate resources, don't specify nodeProperties. Use containerProperties instead.

    • hasTags

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

      public final Map<String,String> tags()

      The tags that are applied to the job definition.

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

      Returns:
      The tags that are applied to the job definition.
    • propagateTags

      public final Boolean propagateTags()

      Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.

      Returns:
      Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    • platformCapabilities

      public final List<PlatformCapability> platformCapabilities()

      The platform capabilities required by the job definition. If no value is specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.

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

      Returns:
      The platform capabilities required by the job definition. If no value is specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.
    • hasPlatformCapabilities

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

      public final List<String> platformCapabilitiesAsStrings()

      The platform capabilities required by the job definition. If no value is specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.

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

      Returns:
      The platform capabilities required by the job definition. If no value is specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.
    • ecsProperties

      public final EcsProperties ecsProperties()

      An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties, eksProperties, or nodeProperties.

      Returns:
      An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties, eksProperties, or nodeProperties.
    • eksProperties

      public final EksProperties eksProperties()

      An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties, ecsProperties, or nodeProperties.

      Returns:
      An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties, ecsProperties, or nodeProperties.
    • containerOrchestrationType

      public final OrchestrationType containerOrchestrationType()

      The orchestration type of the compute environment. The valid values are ECS (default) or EKS.

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

      Returns:
      The orchestration type of the compute environment. The valid values are ECS (default) or EKS.
      See Also:
    • containerOrchestrationTypeAsString

      public final String containerOrchestrationTypeAsString()

      The orchestration type of the compute environment. The valid values are ECS (default) or EKS.

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

      Returns:
      The orchestration type of the compute environment. The valid values are ECS (default) or EKS.
      See Also:
    • toBuilder

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

      public static JobDefinition.Builder builder()
    • serializableBuilderClass

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