Class CfnJobDefinition

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.93.0 (build 1706ca5)", date="2024-01-03T18:29:22.373Z") @Stability(Stable) public class CfnJobDefinition extends CfnResource implements IInspectable, ITaggable
The AWS::Batch::JobDefinition resource specifies the parameters for an AWS Batch job definition.

For more information, see Job Definitions in the ** .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.batch.*;
 Object labels;
 Object limits;
 Object options;
 Object parameters;
 Object requests;
 Object tags;
 CfnJobDefinition cfnJobDefinition = CfnJobDefinition.Builder.create(this, "MyCfnJobDefinition")
         .type("type")
         // the properties below are optional
         .containerProperties(ContainerPropertiesProperty.builder()
                 .image("image")
                 // the properties below are optional
                 .command(List.of("command"))
                 .environment(List.of(EnvironmentProperty.builder()
                         .name("name")
                         .value("value")
                         .build()))
                 .ephemeralStorage(EphemeralStorageProperty.builder()
                         .sizeInGiB(123)
                         .build())
                 .executionRoleArn("executionRoleArn")
                 .fargatePlatformConfiguration(FargatePlatformConfigurationProperty.builder()
                         .platformVersion("platformVersion")
                         .build())
                 .instanceType("instanceType")
                 .jobRoleArn("jobRoleArn")
                 .linuxParameters(LinuxParametersProperty.builder()
                         .devices(List.of(DeviceProperty.builder()
                                 .containerPath("containerPath")
                                 .hostPath("hostPath")
                                 .permissions(List.of("permissions"))
                                 .build()))
                         .initProcessEnabled(false)
                         .maxSwap(123)
                         .sharedMemorySize(123)
                         .swappiness(123)
                         .tmpfs(List.of(TmpfsProperty.builder()
                                 .containerPath("containerPath")
                                 .size(123)
                                 // the properties below are optional
                                 .mountOptions(List.of("mountOptions"))
                                 .build()))
                         .build())
                 .logConfiguration(LogConfigurationProperty.builder()
                         .logDriver("logDriver")
                         // the properties below are optional
                         .options(options)
                         .secretOptions(List.of(SecretProperty.builder()
                                 .name("name")
                                 .valueFrom("valueFrom")
                                 .build()))
                         .build())
                 .memory(123)
                 .mountPoints(List.of(MountPointsProperty.builder()
                         .containerPath("containerPath")
                         .readOnly(false)
                         .sourceVolume("sourceVolume")
                         .build()))
                 .networkConfiguration(NetworkConfigurationProperty.builder()
                         .assignPublicIp("assignPublicIp")
                         .build())
                 .privileged(false)
                 .readonlyRootFilesystem(false)
                 .resourceRequirements(List.of(ResourceRequirementProperty.builder()
                         .type("type")
                         .value("value")
                         .build()))
                 .runtimePlatform(RuntimePlatformProperty.builder()
                         .cpuArchitecture("cpuArchitecture")
                         .operatingSystemFamily("operatingSystemFamily")
                         .build())
                 .secrets(List.of(SecretProperty.builder()
                         .name("name")
                         .valueFrom("valueFrom")
                         .build()))
                 .ulimits(List.of(UlimitProperty.builder()
                         .hardLimit(123)
                         .name("name")
                         .softLimit(123)
                         .build()))
                 .user("user")
                 .vcpus(123)
                 .volumes(List.of(VolumesProperty.builder()
                         .efsVolumeConfiguration(EfsVolumeConfigurationProperty.builder()
                                 .fileSystemId("fileSystemId")
                                 // the properties below are optional
                                 .authorizationConfig(AuthorizationConfigProperty.builder()
                                         .accessPointId("accessPointId")
                                         .iam("iam")
                                         .build())
                                 .rootDirectory("rootDirectory")
                                 .transitEncryption("transitEncryption")
                                 .transitEncryptionPort(123)
                                 .build())
                         .host(VolumesHostProperty.builder()
                                 .sourcePath("sourcePath")
                                 .build())
                         .name("name")
                         .build()))
                 .build())
         .eksProperties(EksPropertiesProperty.builder()
                 .podProperties(PodPropertiesProperty.builder()
                         .containers(List.of(EksContainerProperty.builder()
                                 .image("image")
                                 // the properties below are optional
                                 .args(List.of("args"))
                                 .command(List.of("command"))
                                 .env(List.of(EksContainerEnvironmentVariableProperty.builder()
                                         .name("name")
                                         // the properties below are optional
                                         .value("value")
                                         .build()))
                                 .imagePullPolicy("imagePullPolicy")
                                 .name("name")
                                 .resources(ResourcesProperty.builder()
                                         .limits(limits)
                                         .requests(requests)
                                         .build())
                                 .securityContext(SecurityContextProperty.builder()
                                         .privileged(false)
                                         .readOnlyRootFilesystem(false)
                                         .runAsGroup(123)
                                         .runAsNonRoot(false)
                                         .runAsUser(123)
                                         .build())
                                 .volumeMounts(List.of(EksContainerVolumeMountProperty.builder()
                                         .mountPath("mountPath")
                                         .name("name")
                                         .readOnly(false)
                                         .build()))
                                 .build()))
                         .dnsPolicy("dnsPolicy")
                         .hostNetwork(false)
                         .metadata(MetadataProperty.builder()
                                 .labels(labels)
                                 .build())
                         .serviceAccountName("serviceAccountName")
                         .volumes(List.of(EksVolumeProperty.builder()
                                 .name("name")
                                 // the properties below are optional
                                 .emptyDir(EmptyDirProperty.builder()
                                         .medium("medium")
                                         .sizeLimit("sizeLimit")
                                         .build())
                                 .hostPath(HostPathProperty.builder()
                                         .path("path")
                                         .build())
                                 .secret(EksSecretProperty.builder()
                                         .secretName("secretName")
                                         // the properties below are optional
                                         .optional(false)
                                         .build())
                                 .build()))
                         .build())
                 .build())
         .jobDefinitionName("jobDefinitionName")
         .nodeProperties(NodePropertiesProperty.builder()
                 .mainNode(123)
                 .nodeRangeProperties(List.of(NodeRangePropertyProperty.builder()
                         .targetNodes("targetNodes")
                         // the properties below are optional
                         .container(ContainerPropertiesProperty.builder()
                                 .image("image")
                                 // the properties below are optional
                                 .command(List.of("command"))
                                 .environment(List.of(EnvironmentProperty.builder()
                                         .name("name")
                                         .value("value")
                                         .build()))
                                 .ephemeralStorage(EphemeralStorageProperty.builder()
                                         .sizeInGiB(123)
                                         .build())
                                 .executionRoleArn("executionRoleArn")
                                 .fargatePlatformConfiguration(FargatePlatformConfigurationProperty.builder()
                                         .platformVersion("platformVersion")
                                         .build())
                                 .instanceType("instanceType")
                                 .jobRoleArn("jobRoleArn")
                                 .linuxParameters(LinuxParametersProperty.builder()
                                         .devices(List.of(DeviceProperty.builder()
                                                 .containerPath("containerPath")
                                                 .hostPath("hostPath")
                                                 .permissions(List.of("permissions"))
                                                 .build()))
                                         .initProcessEnabled(false)
                                         .maxSwap(123)
                                         .sharedMemorySize(123)
                                         .swappiness(123)
                                         .tmpfs(List.of(TmpfsProperty.builder()
                                                 .containerPath("containerPath")
                                                 .size(123)
                                                 // the properties below are optional
                                                 .mountOptions(List.of("mountOptions"))
                                                 .build()))
                                         .build())
                                 .logConfiguration(LogConfigurationProperty.builder()
                                         .logDriver("logDriver")
                                         // the properties below are optional
                                         .options(options)
                                         .secretOptions(List.of(SecretProperty.builder()
                                                 .name("name")
                                                 .valueFrom("valueFrom")
                                                 .build()))
                                         .build())
                                 .memory(123)
                                 .mountPoints(List.of(MountPointsProperty.builder()
                                         .containerPath("containerPath")
                                         .readOnly(false)
                                         .sourceVolume("sourceVolume")
                                         .build()))
                                 .networkConfiguration(NetworkConfigurationProperty.builder()
                                         .assignPublicIp("assignPublicIp")
                                         .build())
                                 .privileged(false)
                                 .readonlyRootFilesystem(false)
                                 .resourceRequirements(List.of(ResourceRequirementProperty.builder()
                                         .type("type")
                                         .value("value")
                                         .build()))
                                 .runtimePlatform(RuntimePlatformProperty.builder()
                                         .cpuArchitecture("cpuArchitecture")
                                         .operatingSystemFamily("operatingSystemFamily")
                                         .build())
                                 .secrets(List.of(SecretProperty.builder()
                                         .name("name")
                                         .valueFrom("valueFrom")
                                         .build()))
                                 .ulimits(List.of(UlimitProperty.builder()
                                         .hardLimit(123)
                                         .name("name")
                                         .softLimit(123)
                                         .build()))
                                 .user("user")
                                 .vcpus(123)
                                 .volumes(List.of(VolumesProperty.builder()
                                         .efsVolumeConfiguration(EfsVolumeConfigurationProperty.builder()
                                                 .fileSystemId("fileSystemId")
                                                 // the properties below are optional
                                                 .authorizationConfig(AuthorizationConfigProperty.builder()
                                                         .accessPointId("accessPointId")
                                                         .iam("iam")
                                                         .build())
                                                 .rootDirectory("rootDirectory")
                                                 .transitEncryption("transitEncryption")
                                                 .transitEncryptionPort(123)
                                                 .build())
                                         .host(VolumesHostProperty.builder()
                                                 .sourcePath("sourcePath")
                                                 .build())
                                         .name("name")
                                         .build()))
                                 .build())
                         .build()))
                 .numNodes(123)
                 .build())
         .parameters(parameters)
         .platformCapabilities(List.of("platformCapabilities"))
         .propagateTags(false)
         .retryStrategy(RetryStrategyProperty.builder()
                 .attempts(123)
                 .evaluateOnExit(List.of(EvaluateOnExitProperty.builder()
                         .action("action")
                         // the properties below are optional
                         .onExitCode("onExitCode")
                         .onReason("onReason")
                         .onStatusReason("onStatusReason")
                         .build()))
                 .build())
         .schedulingPriority(123)
         .tags(tags)
         .timeout(TimeoutProperty.builder()
                 .attemptDurationSeconds(123)
                 .build())
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnJobDefinition

      protected CfnJobDefinition(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnJobDefinition

      protected CfnJobDefinition(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnJobDefinition

      @Stability(Stable) public CfnJobDefinition(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnJobDefinitionProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrContainerOrchestrationType

      @Stability(Stable) @NotNull public String getAttrContainerOrchestrationType()
      The orchestration type of the compute environment.

      The valid values are ECS (default) or EKS .

    • getAttrJobDefinitionArn

      @Stability(Stable) @NotNull public String getAttrJobDefinitionArn()
      The job definition ARN, such as batch: *us-east-1* : *111122223333* :job-definition/ *test-gpu* : *2* .
    • getAttrRevision

      @Stability(Stable) @NotNull public Number getAttrRevision()
      The revision of the job definition.
    • getAttrStatus

      @Stability(Stable) @NotNull public String getAttrStatus()
      The status of the job definition.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getType

      @Stability(Stable) @NotNull public String getType()
      The type of job definition.
    • setType

      @Stability(Stable) public void setType(@NotNull String value)
      The type of job definition.
    • getContainerProperties

      @Stability(Stable) @Nullable public Object getContainerProperties()
      An object with various properties specific to Amazon ECS based jobs.
    • setContainerProperties

      @Stability(Stable) public void setContainerProperties(@Nullable IResolvable value)
      An object with various properties specific to Amazon ECS based jobs.
    • setContainerProperties

      @Stability(Stable) public void setContainerProperties(@Nullable CfnJobDefinition.ContainerPropertiesProperty value)
      An object with various properties specific to Amazon ECS based jobs.
    • getEksProperties

      @Stability(Stable) @Nullable public Object getEksProperties()
      An object with various properties that are specific to Amazon EKS based jobs.
    • setEksProperties

      @Stability(Stable) public void setEksProperties(@Nullable IResolvable value)
      An object with various properties that are specific to Amazon EKS based jobs.
    • setEksProperties

      @Stability(Stable) public void setEksProperties(@Nullable CfnJobDefinition.EksPropertiesProperty value)
      An object with various properties that are specific to Amazon EKS based jobs.
    • getJobDefinitionName

      @Stability(Stable) @Nullable public String getJobDefinitionName()
      The name of the job definition.
    • setJobDefinitionName

      @Stability(Stable) public void setJobDefinitionName(@Nullable String value)
      The name of the job definition.
    • getNodeProperties

      @Stability(Stable) @Nullable public Object getNodeProperties()
      An object with various properties that are specific to multi-node parallel jobs.
    • setNodeProperties

      @Stability(Stable) public void setNodeProperties(@Nullable IResolvable value)
      An object with various properties that are specific to multi-node parallel jobs.
    • setNodeProperties

      @Stability(Stable) public void setNodeProperties(@Nullable CfnJobDefinition.NodePropertiesProperty value)
      An object with various properties that are specific to multi-node parallel jobs.
    • getParameters

      @Stability(Stable) @Nullable public Object getParameters()
      Default parameters or parameter substitution placeholders that are set in the job definition.
    • setParameters

      @Stability(Stable) public void setParameters(@Nullable Object value)
      Default parameters or parameter substitution placeholders that are set in the job definition.
    • getPlatformCapabilities

      @Stability(Stable) @Nullable public List<String> getPlatformCapabilities()
      The platform capabilities required by the job definition.
    • setPlatformCapabilities

      @Stability(Stable) public void setPlatformCapabilities(@Nullable List<String> value)
      The platform capabilities required by the job definition.
    • getPropagateTags

      @Stability(Stable) @Nullable public Object getPropagateTags()
      Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task.
    • setPropagateTags

      @Stability(Stable) public void setPropagateTags(@Nullable Boolean value)
      Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task.
    • setPropagateTags

      @Stability(Stable) public void setPropagateTags(@Nullable IResolvable value)
      Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task.
    • getRetryStrategy

      @Stability(Stable) @Nullable public Object getRetryStrategy()
      The retry strategy to use for failed jobs that are submitted with this job definition.
    • setRetryStrategy

      @Stability(Stable) public void setRetryStrategy(@Nullable IResolvable value)
      The retry strategy to use for failed jobs that are submitted with this job definition.
    • setRetryStrategy

      @Stability(Stable) public void setRetryStrategy(@Nullable CfnJobDefinition.RetryStrategyProperty value)
      The retry strategy to use for failed jobs that are submitted with this job definition.
    • getSchedulingPriority

      @Stability(Stable) @Nullable public Number getSchedulingPriority()
      The scheduling priority of the job definition.
    • setSchedulingPriority

      @Stability(Stable) public void setSchedulingPriority(@Nullable Number value)
      The scheduling priority of the job definition.
    • getTagsRaw

      @Stability(Stable) @Nullable public Object getTagsRaw()
      The tags that are applied to the job definition.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable Object value)
      The tags that are applied to the job definition.
    • getTimeout

      @Stability(Stable) @Nullable public Object getTimeout()
      The timeout time for jobs that are submitted with this job definition.
    • setTimeout

      @Stability(Stable) public void setTimeout(@Nullable IResolvable value)
      The timeout time for jobs that are submitted with this job definition.
    • setTimeout

      @Stability(Stable) public void setTimeout(@Nullable CfnJobDefinition.TimeoutProperty value)
      The timeout time for jobs that are submitted with this job definition.