Class JobProps.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<JobProps>
    Enclosing interface:
    JobProps

    @Stability(Stable)
    public static final class JobProps.Builder
    extends Object
    implements software.amazon.jsii.Builder<JobProps>
    A builder for JobProps
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • activeDeadline

        @Stability(Stable)
        public JobProps.Builder activeDeadline​(org.cdk8s.Duration activeDeadline)
        Parameters:
        activeDeadline - Specifies the duration the job may be active before the system tries to terminate it.
        Returns:
        this
      • backoffLimit

        @Stability(Stable)
        public JobProps.Builder backoffLimit​(Number backoffLimit)
        Sets the value of JobProps.getBackoffLimit()
        Parameters:
        backoffLimit - Specifies the number of retries before marking this job failed.
        Returns:
        this
      • ttlAfterFinished

        @Stability(Stable)
        public JobProps.Builder ttlAfterFinished​(org.cdk8s.Duration ttlAfterFinished)
        Parameters:
        ttlAfterFinished - Limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, after the Job finishes, it is eligible to be automatically deleted. When the Job is being deleted, its lifecycle guarantees (e.g. finalizers) will be honored. If this field is set to zero, the Job becomes eligible to be deleted immediately after it finishes. This field is alpha-level and is only honored by servers that enable the TTLAfterFinished feature.
        Returns:
        this
      • podMetadata

        @Stability(Stable)
        public JobProps.Builder podMetadata​(org.cdk8s.ApiObjectMetadata podMetadata)
        Parameters:
        podMetadata - The pod metadata of this workload.
        Returns:
        this
      • select

        @Stability(Stable)
        public JobProps.Builder select​(Boolean select)
        Sets the value of WorkloadProps.getSelect()
        Parameters:
        select - Automatically allocates a pod label selector for this workload and add it to the pod metadata. This ensures this workload manages pods created by its pod template.
        Returns:
        this
      • containers

        @Stability(Stable)
        public JobProps.Builder containers​(List<? extends ContainerProps> containers)
        Parameters:
        containers - List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod.

        You can add additionnal containers using podSpec.addContainer()

        Returns:
        this
      • hostAliases

        @Stability(Stable)
        public JobProps.Builder hostAliases​(List<? extends HostAlias> hostAliases)
        Parameters:
        hostAliases - HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.
        Returns:
        this
      • initContainers

        @Stability(Stable)
        public JobProps.Builder initContainers​(List<? extends ContainerProps> initContainers)
        Parameters:
        initContainers - List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion.

        Init containers cannot currently be added ,removed or updated.

        Returns:
        this
      • serviceAccount

        @Stability(Stable)
        public JobProps.Builder serviceAccount​(IServiceAccount serviceAccount)
        Parameters:
        serviceAccount - A service account provides an identity for processes that run in a Pod. When you (a human) access the cluster (for example, using kubectl), you are authenticated by the apiserver as a particular User Account (currently this is usually admin, unless your cluster administrator has customized your cluster). Processes in containers inside pods can also contact the apiserver. When they do, they are authenticated as a particular Service Account (for example, default).
        Returns:
        this
      • volumes

        @Stability(Stable)
        public JobProps.Builder volumes​(List<? extends Volume> volumes)
        Parameters:
        volumes - List of volumes that can be mounted by containers belonging to the pod. You can also add volumes later using podSpec.addVolume()
        Returns:
        this
      • metadata

        @Stability(Stable)
        public JobProps.Builder metadata​(org.cdk8s.ApiObjectMetadata metadata)
        Sets the value of ResourceProps.getMetadata()
        Parameters:
        metadata - Metadata that all persisted resources must have, which includes all objects users must create.
        Returns:
        this
      • build

        @Stability(Stable)
        public JobProps build()
        Builds the configured instance.
        Specified by:
        build in interface software.amazon.jsii.Builder<JobProps>
        Returns:
        a new instance of JobProps
        Throws:
        NullPointerException - if any required attribute was not provided