Class Job

  • All Implemented Interfaces:
    IPodSpec, IPodTemplate, IResource, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

    @Generated(value="jsii-pacmak/1.52.1 (build 5ccc8f6)",
               date="2022-02-08T00:13:45.268Z")
    @Stability(Stable)
    public class Job
    extends Resource
    implements IPodTemplate
    A Job creates one or more Pods and ensures that a specified number of them successfully terminate.

    As pods successfully complete, the Job tracks the successful completions. When a specified number of successful completions is reached, the task (ie, Job) is complete. Deleting a Job will clean up the Pods it created. A simple case is to create one Job object in order to reliably run one Pod to completion. The Job object will start a new Pod if the first Pod fails or is deleted (for example due to a node hardware failure or a node reboot). You can also use a Job to run multiple Pods in parallel.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Job.Builder
      A fluent builder for Job.
      • Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

        software.amazon.jsii.JsiiObject.InitializationMode
      • Nested classes/interfaces inherited from interface software.constructs.IConstruct

        software.constructs.IConstruct.Jsii$Default
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Job​(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)  
      protected Job​(software.amazon.jsii.JsiiObjectRef objRef)  
        Job​(software.constructs.Construct scope, String id)  
        Job​(software.constructs.Construct scope, String id, JobProps props)  
    • Constructor Detail

      • Job

        protected Job​(software.amazon.jsii.JsiiObjectRef objRef)
      • Job

        protected Job​(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
      • Job

        @Stability(Stable)
        public Job​(@NotNull
                   software.constructs.Construct scope,
                   @NotNull
                   String id,
                   @Nullable
                   JobProps props)
        Parameters:
        scope - This parameter is required.
        id - This parameter is required.
        props -
      • Job

        @Stability(Stable)
        public Job​(@NotNull
                   software.constructs.Construct scope,
                   @NotNull
                   String id)
        Parameters:
        scope - This parameter is required.
        id - This parameter is required.
    • Method Detail

      • addContainer

        @Stability(Stable)
        @NotNull
        public Container addContainer​(@NotNull
                                      ContainerProps container)
        Add a container to the pod.

        Specified by:
        addContainer in interface IPodSpec
        Parameters:
        container - This parameter is required.
      • addVolume

        @Stability(Stable)
        public void addVolume​(@NotNull
                              Volume volume)
        Add a volume to the pod.

        Specified by:
        addVolume in interface IPodSpec
        Parameters:
        volume - This parameter is required.
      • getApiObject

        @Stability(Stable)
        @NotNull
        protected org.cdk8s.ApiObject getApiObject()
        The underlying cdk8s API object.

        Specified by:
        getApiObject in class Resource
        See Also:
        base.Resource.apiObject
      • getContainers

        @Stability(Stable)
        @NotNull
        public List<Container> getContainers()
        The containers belonging to the pod.

        Use addContainer to add containers.

        Specified by:
        getContainers in interface IPodSpec
      • getPodMetadata

        @Stability(Stable)
        @NotNull
        public org.cdk8s.ApiObjectMetadataDefinition getPodMetadata()
        Provides read/write access to the underlying pod metadata of the resource.
        Specified by:
        getPodMetadata in interface IPodTemplate
      • getVolumes

        @Stability(Stable)
        @NotNull
        public List<Volume> getVolumes()
        The volumes associated with this pod.

        Use addVolume to add volumes.

        Specified by:
        getVolumes in interface IPodSpec
      • getActiveDeadline

        @Stability(Stable)
        @Nullable
        public org.cdk8s.Duration getActiveDeadline()
        Duration before job is terminated.

        If undefined, there is no deadline.

      • getBackoffLimit

        @Stability(Stable)
        @Nullable
        public Number getBackoffLimit()
        Number of retries before marking failed.
      • getRestartPolicy

        @Stability(Stable)
        @Nullable
        public RestartPolicy getRestartPolicy()
        Restart policy for all containers within the pod.
        Specified by:
        getRestartPolicy in interface IPodSpec
      • getTtlAfterFinished

        @Stability(Stable)
        @Nullable
        public org.cdk8s.Duration getTtlAfterFinished()
        TTL before the job is deleted after it is finished.