aws.batch.JobDefinition
Explore with Pulumi AI
Provides a Batch Job Definition resource.
Example Usage
Job definition of type container
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.batch.JobDefinition("test", {
    name: "my_test_batch_job_definition",
    type: "container",
    containerProperties: JSON.stringify({
        command: [
            "ls",
            "-la",
        ],
        image: "busybox",
        resourceRequirements: [
            {
                type: "VCPU",
                value: "0.25",
            },
            {
                type: "MEMORY",
                value: "512",
            },
        ],
        volumes: [{
            host: {
                sourcePath: "/tmp",
            },
            name: "tmp",
        }],
        environment: [{
            name: "VARNAME",
            value: "VARVAL",
        }],
        mountPoints: [{
            sourceVolume: "tmp",
            containerPath: "/tmp",
            readOnly: false,
        }],
        ulimits: [{
            hardLimit: 1024,
            name: "nofile",
            softLimit: 1024,
        }],
    }),
});
import pulumi
import json
import pulumi_aws as aws
test = aws.batch.JobDefinition("test",
    name="my_test_batch_job_definition",
    type="container",
    container_properties=json.dumps({
        "command": [
            "ls",
            "-la",
        ],
        "image": "busybox",
        "resourceRequirements": [
            {
                "type": "VCPU",
                "value": "0.25",
            },
            {
                "type": "MEMORY",
                "value": "512",
            },
        ],
        "volumes": [{
            "host": {
                "sourcePath": "/tmp",
            },
            "name": "tmp",
        }],
        "environment": [{
            "name": "VARNAME",
            "value": "VARVAL",
        }],
        "mountPoints": [{
            "sourceVolume": "tmp",
            "containerPath": "/tmp",
            "readOnly": False,
        }],
        "ulimits": [{
            "hardLimit": 1024,
            "name": "nofile",
            "softLimit": 1024,
        }],
    }))
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"command": []string{
				"ls",
				"-la",
			},
			"image": "busybox",
			"resourceRequirements": []map[string]interface{}{
				map[string]interface{}{
					"type":  "VCPU",
					"value": "0.25",
				},
				map[string]interface{}{
					"type":  "MEMORY",
					"value": "512",
				},
			},
			"volumes": []map[string]interface{}{
				map[string]interface{}{
					"host": map[string]interface{}{
						"sourcePath": "/tmp",
					},
					"name": "tmp",
				},
			},
			"environment": []map[string]interface{}{
				map[string]interface{}{
					"name":  "VARNAME",
					"value": "VARVAL",
				},
			},
			"mountPoints": []map[string]interface{}{
				map[string]interface{}{
					"sourceVolume":  "tmp",
					"containerPath": "/tmp",
					"readOnly":      false,
				},
			},
			"ulimits": []map[string]interface{}{
				map[string]interface{}{
					"hardLimit": 1024,
					"name":      "nofile",
					"softLimit": 1024,
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = batch.NewJobDefinition(ctx, "test", &batch.JobDefinitionArgs{
			Name:                pulumi.String("my_test_batch_job_definition"),
			Type:                pulumi.String("container"),
			ContainerProperties: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.Batch.JobDefinition("test", new()
    {
        Name = "my_test_batch_job_definition",
        Type = "container",
        ContainerProperties = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["command"] = new[]
            {
                "ls",
                "-la",
            },
            ["image"] = "busybox",
            ["resourceRequirements"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["type"] = "VCPU",
                    ["value"] = "0.25",
                },
                new Dictionary<string, object?>
                {
                    ["type"] = "MEMORY",
                    ["value"] = "512",
                },
            },
            ["volumes"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["host"] = new Dictionary<string, object?>
                    {
                        ["sourcePath"] = "/tmp",
                    },
                    ["name"] = "tmp",
                },
            },
            ["environment"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["name"] = "VARNAME",
                    ["value"] = "VARVAL",
                },
            },
            ["mountPoints"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["sourceVolume"] = "tmp",
                    ["containerPath"] = "/tmp",
                    ["readOnly"] = false,
                },
            },
            ["ulimits"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["hardLimit"] = 1024,
                    ["name"] = "nofile",
                    ["softLimit"] = 1024,
                },
            },
        }),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.batch.JobDefinition;
import com.pulumi.aws.batch.JobDefinitionArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new JobDefinition("test", JobDefinitionArgs.builder()
            .name("my_test_batch_job_definition")
            .type("container")
            .containerProperties(serializeJson(
                jsonObject(
                    jsonProperty("command", jsonArray(
                        "ls", 
                        "-la"
                    )),
                    jsonProperty("image", "busybox"),
                    jsonProperty("resourceRequirements", jsonArray(
                        jsonObject(
                            jsonProperty("type", "VCPU"),
                            jsonProperty("value", "0.25")
                        ), 
                        jsonObject(
                            jsonProperty("type", "MEMORY"),
                            jsonProperty("value", "512")
                        )
                    )),
                    jsonProperty("volumes", jsonArray(jsonObject(
                        jsonProperty("host", jsonObject(
                            jsonProperty("sourcePath", "/tmp")
                        )),
                        jsonProperty("name", "tmp")
                    ))),
                    jsonProperty("environment", jsonArray(jsonObject(
                        jsonProperty("name", "VARNAME"),
                        jsonProperty("value", "VARVAL")
                    ))),
                    jsonProperty("mountPoints", jsonArray(jsonObject(
                        jsonProperty("sourceVolume", "tmp"),
                        jsonProperty("containerPath", "/tmp"),
                        jsonProperty("readOnly", false)
                    ))),
                    jsonProperty("ulimits", jsonArray(jsonObject(
                        jsonProperty("hardLimit", 1024),
                        jsonProperty("name", "nofile"),
                        jsonProperty("softLimit", 1024)
                    )))
                )))
            .build());
    }
}
resources:
  test:
    type: aws:batch:JobDefinition
    properties:
      name: my_test_batch_job_definition
      type: container
      containerProperties:
        fn::toJSON:
          command:
            - ls
            - -la
          image: busybox
          resourceRequirements:
            - type: VCPU
              value: '0.25'
            - type: MEMORY
              value: '512'
          volumes:
            - host:
                sourcePath: /tmp
              name: tmp
          environment:
            - name: VARNAME
              value: VARVAL
          mountPoints:
            - sourceVolume: tmp
              containerPath: /tmp
              readOnly: false
          ulimits:
            - hardLimit: 1024
              name: nofile
              softLimit: 1024
Job definition of type multinode
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.batch.JobDefinition("test", {
    name: "tf_test_batch_job_definition_multinode",
    type: "multinode",
    nodeProperties: JSON.stringify({
        mainNode: 0,
        nodeRangeProperties: [
            {
                container: {
                    command: [
                        "ls",
                        "-la",
                    ],
                    image: "busybox",
                    memory: 128,
                    vcpus: 1,
                },
                targetNodes: "0:",
            },
            {
                container: {
                    command: [
                        "echo",
                        "test",
                    ],
                    image: "busybox",
                    memory: 128,
                    vcpus: 1,
                },
                targetNodes: "1:",
            },
        ],
        numNodes: 2,
    }),
});
import pulumi
import json
import pulumi_aws as aws
test = aws.batch.JobDefinition("test",
    name="tf_test_batch_job_definition_multinode",
    type="multinode",
    node_properties=json.dumps({
        "mainNode": 0,
        "nodeRangeProperties": [
            {
                "container": {
                    "command": [
                        "ls",
                        "-la",
                    ],
                    "image": "busybox",
                    "memory": 128,
                    "vcpus": 1,
                },
                "targetNodes": "0:",
            },
            {
                "container": {
                    "command": [
                        "echo",
                        "test",
                    ],
                    "image": "busybox",
                    "memory": 128,
                    "vcpus": 1,
                },
                "targetNodes": "1:",
            },
        ],
        "numNodes": 2,
    }))
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"mainNode": 0,
			"nodeRangeProperties": []map[string]interface{}{
				map[string]interface{}{
					"container": map[string]interface{}{
						"command": []string{
							"ls",
							"-la",
						},
						"image":  "busybox",
						"memory": 128,
						"vcpus":  1,
					},
					"targetNodes": "0:",
				},
				map[string]interface{}{
					"container": map[string]interface{}{
						"command": []string{
							"echo",
							"test",
						},
						"image":  "busybox",
						"memory": 128,
						"vcpus":  1,
					},
					"targetNodes": "1:",
				},
			},
			"numNodes": 2,
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = batch.NewJobDefinition(ctx, "test", &batch.JobDefinitionArgs{
			Name:           pulumi.String("tf_test_batch_job_definition_multinode"),
			Type:           pulumi.String("multinode"),
			NodeProperties: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.Batch.JobDefinition("test", new()
    {
        Name = "tf_test_batch_job_definition_multinode",
        Type = "multinode",
        NodeProperties = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["mainNode"] = 0,
            ["nodeRangeProperties"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["container"] = new Dictionary<string, object?>
                    {
                        ["command"] = new[]
                        {
                            "ls",
                            "-la",
                        },
                        ["image"] = "busybox",
                        ["memory"] = 128,
                        ["vcpus"] = 1,
                    },
                    ["targetNodes"] = "0:",
                },
                new Dictionary<string, object?>
                {
                    ["container"] = new Dictionary<string, object?>
                    {
                        ["command"] = new[]
                        {
                            "echo",
                            "test",
                        },
                        ["image"] = "busybox",
                        ["memory"] = 128,
                        ["vcpus"] = 1,
                    },
                    ["targetNodes"] = "1:",
                },
            },
            ["numNodes"] = 2,
        }),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.batch.JobDefinition;
import com.pulumi.aws.batch.JobDefinitionArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new JobDefinition("test", JobDefinitionArgs.builder()
            .name("tf_test_batch_job_definition_multinode")
            .type("multinode")
            .nodeProperties(serializeJson(
                jsonObject(
                    jsonProperty("mainNode", 0),
                    jsonProperty("nodeRangeProperties", jsonArray(
                        jsonObject(
                            jsonProperty("container", jsonObject(
                                jsonProperty("command", jsonArray(
                                    "ls", 
                                    "-la"
                                )),
                                jsonProperty("image", "busybox"),
                                jsonProperty("memory", 128),
                                jsonProperty("vcpus", 1)
                            )),
                            jsonProperty("targetNodes", "0:")
                        ), 
                        jsonObject(
                            jsonProperty("container", jsonObject(
                                jsonProperty("command", jsonArray(
                                    "echo", 
                                    "test"
                                )),
                                jsonProperty("image", "busybox"),
                                jsonProperty("memory", 128),
                                jsonProperty("vcpus", 1)
                            )),
                            jsonProperty("targetNodes", "1:")
                        )
                    )),
                    jsonProperty("numNodes", 2)
                )))
            .build());
    }
}
resources:
  test:
    type: aws:batch:JobDefinition
    properties:
      name: tf_test_batch_job_definition_multinode
      type: multinode
      nodeProperties:
        fn::toJSON:
          mainNode: 0
          nodeRangeProperties:
            - container:
                command:
                  - ls
                  - -la
                image: busybox
                memory: 128
                vcpus: 1
              targetNodes: '0:'
            - container:
                command:
                  - echo
                  - test
                image: busybox
                memory: 128
                vcpus: 1
              targetNodes: '1:'
          numNodes: 2
Job Definition of type EKS
Coming soon!
Coming soon!
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.batch.JobDefinition;
import com.pulumi.aws.batch.JobDefinitionArgs;
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesArgs;
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesArgs;
import com.pulumi.aws.batch.inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new JobDefinition("test", JobDefinitionArgs.builder()
            .name(" tf_test_batch_job_definition_eks")
            .type("container")
            .eksProperties(JobDefinitionEksPropertiesArgs.builder()
                .podProperties(JobDefinitionEksPropertiesPodPropertiesArgs.builder()
                    .hostNetwork(true)
                    .containers(JobDefinitionEksPropertiesPodPropertiesContainersArgs.builder()
                        .image("public.ecr.aws/amazonlinux/amazonlinux:1")
                        .commands(                        
                            "sleep",
                            "60")
                        .resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs.builder()
                            .limits(Map.ofEntries(
                                Map.entry("cpu", "1"),
                                Map.entry("memory", "1024Mi")
                            ))
                            .build())
                        .build())
                    .metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs.builder()
                        .labels(Map.of("environment", "test"))
                        .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  test:
    type: aws:batch:JobDefinition
    properties:
      name: ' tf_test_batch_job_definition_eks'
      type: container
      eksProperties:
        podProperties:
          hostNetwork: true
          containers:
            - image: public.ecr.aws/amazonlinux/amazonlinux:1
              commands:
                - sleep
                - '60'
              resources:
                limits:
                  cpu: '1'
                  memory: 1024Mi
          metadata:
            labels:
              environment: test
Fargate Platform Capability
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const assumeRolePolicy = aws.iam.getPolicyDocument({
    statements: [{
        actions: ["sts:AssumeRole"],
        principals: [{
            type: "Service",
            identifiers: ["ecs-tasks.amazonaws.com"],
        }],
    }],
});
const ecsTaskExecutionRole = new aws.iam.Role("ecs_task_execution_role", {
    name: "my_test_batch_exec_role",
    assumeRolePolicy: assumeRolePolicy.then(assumeRolePolicy => assumeRolePolicy.json),
});
const ecsTaskExecutionRolePolicy = new aws.iam.RolePolicyAttachment("ecs_task_execution_role_policy", {
    role: ecsTaskExecutionRole.name,
    policyArn: "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy",
});
const test = new aws.batch.JobDefinition("test", {
    name: "my_test_batch_job_definition",
    type: "container",
    platformCapabilities: ["FARGATE"],
    containerProperties: pulumi.jsonStringify({
        command: [
            "echo",
            "test",
        ],
        image: "busybox",
        jobRoleArn: "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly",
        fargatePlatformConfiguration: {
            platformVersion: "LATEST",
        },
        resourceRequirements: [
            {
                type: "VCPU",
                value: "0.25",
            },
            {
                type: "MEMORY",
                value: "512",
            },
        ],
        executionRoleArn: ecsTaskExecutionRole.arn,
    }),
});
import pulumi
import json
import pulumi_aws as aws
assume_role_policy = aws.iam.get_policy_document(statements=[{
    "actions": ["sts:AssumeRole"],
    "principals": [{
        "type": "Service",
        "identifiers": ["ecs-tasks.amazonaws.com"],
    }],
}])
ecs_task_execution_role = aws.iam.Role("ecs_task_execution_role",
    name="my_test_batch_exec_role",
    assume_role_policy=assume_role_policy.json)
ecs_task_execution_role_policy = aws.iam.RolePolicyAttachment("ecs_task_execution_role_policy",
    role=ecs_task_execution_role.name,
    policy_arn="arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy")
test = aws.batch.JobDefinition("test",
    name="my_test_batch_job_definition",
    type="container",
    platform_capabilities=["FARGATE"],
    container_properties=pulumi.Output.json_dumps({
        "command": [
            "echo",
            "test",
        ],
        "image": "busybox",
        "jobRoleArn": "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly",
        "fargatePlatformConfiguration": {
            "platformVersion": "LATEST",
        },
        "resourceRequirements": [
            {
                "type": "VCPU",
                "value": "0.25",
            },
            {
                "type": "MEMORY",
                "value": "512",
            },
        ],
        "executionRoleArn": ecs_task_execution_role.arn,
    }))
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRolePolicy, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Actions: []string{
						"sts:AssumeRole",
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"ecs-tasks.amazonaws.com",
							},
						},
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		ecsTaskExecutionRole, err := iam.NewRole(ctx, "ecs_task_execution_role", &iam.RoleArgs{
			Name:             pulumi.String("my_test_batch_exec_role"),
			AssumeRolePolicy: pulumi.String(assumeRolePolicy.Json),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "ecs_task_execution_role_policy", &iam.RolePolicyAttachmentArgs{
			Role:      ecsTaskExecutionRole.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"),
		})
		if err != nil {
			return err
		}
		_, err = batch.NewJobDefinition(ctx, "test", &batch.JobDefinitionArgs{
			Name: pulumi.String("my_test_batch_job_definition"),
			Type: pulumi.String("container"),
			PlatformCapabilities: pulumi.StringArray{
				pulumi.String("FARGATE"),
			},
			ContainerProperties: ecsTaskExecutionRole.Arn.ApplyT(func(arn string) (pulumi.String, error) {
				var _zero pulumi.String
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"command": []string{
						"echo",
						"test",
					},
					"image":      "busybox",
					"jobRoleArn": "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly",
					"fargatePlatformConfiguration": map[string]interface{}{
						"platformVersion": "LATEST",
					},
					"resourceRequirements": []map[string]interface{}{
						map[string]interface{}{
							"type":  "VCPU",
							"value": "0.25",
						},
						map[string]interface{}{
							"type":  "MEMORY",
							"value": "512",
						},
					},
					"executionRoleArn": arn,
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return pulumi.String(json0), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var assumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Actions = new[]
                {
                    "sts:AssumeRole",
                },
                Principals = new[]
                {
                    new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs
                    {
                        Type = "Service",
                        Identifiers = new[]
                        {
                            "ecs-tasks.amazonaws.com",
                        },
                    },
                },
            },
        },
    });
    var ecsTaskExecutionRole = new Aws.Iam.Role("ecs_task_execution_role", new()
    {
        Name = "my_test_batch_exec_role",
        AssumeRolePolicy = assumeRolePolicy.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json),
    });
    var ecsTaskExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment("ecs_task_execution_role_policy", new()
    {
        Role = ecsTaskExecutionRole.Name,
        PolicyArn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy",
    });
    var test = new Aws.Batch.JobDefinition("test", new()
    {
        Name = "my_test_batch_job_definition",
        Type = "container",
        PlatformCapabilities = new[]
        {
            "FARGATE",
        },
        ContainerProperties = Output.JsonSerialize(Output.Create(new Dictionary<string, object?>
        {
            ["command"] = new[]
            {
                "echo",
                "test",
            },
            ["image"] = "busybox",
            ["jobRoleArn"] = "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly",
            ["fargatePlatformConfiguration"] = new Dictionary<string, object?>
            {
                ["platformVersion"] = "LATEST",
            },
            ["resourceRequirements"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["type"] = "VCPU",
                    ["value"] = "0.25",
                },
                new Dictionary<string, object?>
                {
                    ["type"] = "MEMORY",
                    ["value"] = "512",
                },
            },
            ["executionRoleArn"] = ecsTaskExecutionRole.Arn,
        })),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.RolePolicyAttachment;
import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
import com.pulumi.aws.batch.JobDefinition;
import com.pulumi.aws.batch.JobDefinitionArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var assumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .actions("sts:AssumeRole")
                .principals(GetPolicyDocumentStatementPrincipalArgs.builder()
                    .type("Service")
                    .identifiers("ecs-tasks.amazonaws.com")
                    .build())
                .build())
            .build());
        var ecsTaskExecutionRole = new Role("ecsTaskExecutionRole", RoleArgs.builder()
            .name("my_test_batch_exec_role")
            .assumeRolePolicy(assumeRolePolicy.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))
            .build());
        var ecsTaskExecutionRolePolicy = new RolePolicyAttachment("ecsTaskExecutionRolePolicy", RolePolicyAttachmentArgs.builder()
            .role(ecsTaskExecutionRole.name())
            .policyArn("arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy")
            .build());
        var test = new JobDefinition("test", JobDefinitionArgs.builder()
            .name("my_test_batch_job_definition")
            .type("container")
            .platformCapabilities("FARGATE")
            .containerProperties(ecsTaskExecutionRole.arn().applyValue(arn -> serializeJson(
                jsonObject(
                    jsonProperty("command", jsonArray(
                        "echo", 
                        "test"
                    )),
                    jsonProperty("image", "busybox"),
                    jsonProperty("jobRoleArn", "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly"),
                    jsonProperty("fargatePlatformConfiguration", jsonObject(
                        jsonProperty("platformVersion", "LATEST")
                    )),
                    jsonProperty("resourceRequirements", jsonArray(
                        jsonObject(
                            jsonProperty("type", "VCPU"),
                            jsonProperty("value", "0.25")
                        ), 
                        jsonObject(
                            jsonProperty("type", "MEMORY"),
                            jsonProperty("value", "512")
                        )
                    )),
                    jsonProperty("executionRoleArn", arn)
                ))))
            .build());
    }
}
resources:
  ecsTaskExecutionRole:
    type: aws:iam:Role
    name: ecs_task_execution_role
    properties:
      name: my_test_batch_exec_role
      assumeRolePolicy: ${assumeRolePolicy.json}
  ecsTaskExecutionRolePolicy:
    type: aws:iam:RolePolicyAttachment
    name: ecs_task_execution_role_policy
    properties:
      role: ${ecsTaskExecutionRole.name}
      policyArn: arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
  test:
    type: aws:batch:JobDefinition
    properties:
      name: my_test_batch_job_definition
      type: container
      platformCapabilities:
        - FARGATE
      containerProperties:
        fn::toJSON:
          command:
            - echo
            - test
          image: busybox
          jobRoleArn: arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly
          fargatePlatformConfiguration:
            platformVersion: LATEST
          resourceRequirements:
            - type: VCPU
              value: '0.25'
            - type: MEMORY
              value: '512'
          executionRoleArn: ${ecsTaskExecutionRole.arn}
variables:
  assumeRolePolicy:
    fn::invoke:
      Function: aws:iam:getPolicyDocument
      Arguments:
        statements:
          - actions:
              - sts:AssumeRole
            principals:
              - type: Service
                identifiers:
                  - ecs-tasks.amazonaws.com
Job definition of type container using ecs_properties
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.batch.JobDefinition("test", {
    name: "my_test_batch_job_definition",
    type: "container",
    platformCapabilities: ["FARGATE"],
    ecsProperties: JSON.stringify({
        taskProperties: [{
            executionRoleArn: ecsTaskExecutionRole.arn,
            containers: [
                {
                    image: "public.ecr.aws/amazonlinux/amazonlinux:1",
                    command: [
                        "sleep",
                        "60",
                    ],
                    dependsOn: [{
                        containerName: "container_b",
                        condition: "COMPLETE",
                    }],
                    secrets: [{
                        name: "TEST",
                        valueFrom: "DUMMY",
                    }],
                    environment: [{
                        name: "test",
                        value: "Environment Variable",
                    }],
                    essential: true,
                    logConfiguration: {
                        logDriver: "awslogs",
                        options: {
                            "awslogs-group": "tf_test_batch_job",
                            "awslogs-region": "us-west-2",
                            "awslogs-stream-prefix": "ecs",
                        },
                    },
                    name: "container_a",
                    privileged: false,
                    readonlyRootFilesystem: false,
                    resourceRequirements: [
                        {
                            value: "1.0",
                            type: "VCPU",
                        },
                        {
                            value: "2048",
                            type: "MEMORY",
                        },
                    ],
                },
                {
                    image: "public.ecr.aws/amazonlinux/amazonlinux:1",
                    command: [
                        "sleep",
                        "360",
                    ],
                    name: "container_b",
                    essential: false,
                    resourceRequirements: [
                        {
                            value: "1.0",
                            type: "VCPU",
                        },
                        {
                            value: "2048",
                            type: "MEMORY",
                        },
                    ],
                },
            ],
        }],
    }),
});
import pulumi
import json
import pulumi_aws as aws
test = aws.batch.JobDefinition("test",
    name="my_test_batch_job_definition",
    type="container",
    platform_capabilities=["FARGATE"],
    ecs_properties=json.dumps({
        "taskProperties": [{
            "executionRoleArn": ecs_task_execution_role["arn"],
            "containers": [
                {
                    "image": "public.ecr.aws/amazonlinux/amazonlinux:1",
                    "command": [
                        "sleep",
                        "60",
                    ],
                    "dependsOn": [{
                        "containerName": "container_b",
                        "condition": "COMPLETE",
                    }],
                    "secrets": [{
                        "name": "TEST",
                        "valueFrom": "DUMMY",
                    }],
                    "environment": [{
                        "name": "test",
                        "value": "Environment Variable",
                    }],
                    "essential": True,
                    "logConfiguration": {
                        "logDriver": "awslogs",
                        "options": {
                            "awslogs-group": "tf_test_batch_job",
                            "awslogs-region": "us-west-2",
                            "awslogs-stream-prefix": "ecs",
                        },
                    },
                    "name": "container_a",
                    "privileged": False,
                    "readonlyRootFilesystem": False,
                    "resourceRequirements": [
                        {
                            "value": "1.0",
                            "type": "VCPU",
                        },
                        {
                            "value": "2048",
                            "type": "MEMORY",
                        },
                    ],
                },
                {
                    "image": "public.ecr.aws/amazonlinux/amazonlinux:1",
                    "command": [
                        "sleep",
                        "360",
                    ],
                    "name": "container_b",
                    "essential": False,
                    "resourceRequirements": [
                        {
                            "value": "1.0",
                            "type": "VCPU",
                        },
                        {
                            "value": "2048",
                            "type": "MEMORY",
                        },
                    ],
                },
            ],
        }],
    }))
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/batch"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"taskProperties": []map[string]interface{}{
				map[string]interface{}{
					"executionRoleArn": ecsTaskExecutionRole.Arn,
					"containers": []interface{}{
						map[string]interface{}{
							"image": "public.ecr.aws/amazonlinux/amazonlinux:1",
							"command": []string{
								"sleep",
								"60",
							},
							"dependsOn": []map[string]interface{}{
								map[string]interface{}{
									"containerName": "container_b",
									"condition":     "COMPLETE",
								},
							},
							"secrets": []map[string]interface{}{
								map[string]interface{}{
									"name":      "TEST",
									"valueFrom": "DUMMY",
								},
							},
							"environment": []map[string]interface{}{
								map[string]interface{}{
									"name":  "test",
									"value": "Environment Variable",
								},
							},
							"essential": true,
							"logConfiguration": map[string]interface{}{
								"logDriver": "awslogs",
								"options": map[string]interface{}{
									"awslogs-group":         "tf_test_batch_job",
									"awslogs-region":        "us-west-2",
									"awslogs-stream-prefix": "ecs",
								},
							},
							"name":                   "container_a",
							"privileged":             false,
							"readonlyRootFilesystem": false,
							"resourceRequirements": []map[string]interface{}{
								map[string]interface{}{
									"value": "1.0",
									"type":  "VCPU",
								},
								map[string]interface{}{
									"value": "2048",
									"type":  "MEMORY",
								},
							},
						},
						map[string]interface{}{
							"image": "public.ecr.aws/amazonlinux/amazonlinux:1",
							"command": []string{
								"sleep",
								"360",
							},
							"name":      "container_b",
							"essential": false,
							"resourceRequirements": []map[string]interface{}{
								map[string]interface{}{
									"value": "1.0",
									"type":  "VCPU",
								},
								map[string]interface{}{
									"value": "2048",
									"type":  "MEMORY",
								},
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = batch.NewJobDefinition(ctx, "test", &batch.JobDefinitionArgs{
			Name: pulumi.String("my_test_batch_job_definition"),
			Type: pulumi.String("container"),
			PlatformCapabilities: pulumi.StringArray{
				pulumi.String("FARGATE"),
			},
			EcsProperties: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.Batch.JobDefinition("test", new()
    {
        Name = "my_test_batch_job_definition",
        Type = "container",
        PlatformCapabilities = new[]
        {
            "FARGATE",
        },
        EcsProperties = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["taskProperties"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["executionRoleArn"] = ecsTaskExecutionRole.Arn,
                    ["containers"] = new[]
                    {
                        new Dictionary<string, object?>
                        {
                            ["image"] = "public.ecr.aws/amazonlinux/amazonlinux:1",
                            ["command"] = new[]
                            {
                                "sleep",
                                "60",
                            },
                            ["dependsOn"] = new[]
                            {
                                new Dictionary<string, object?>
                                {
                                    ["containerName"] = "container_b",
                                    ["condition"] = "COMPLETE",
                                },
                            },
                            ["secrets"] = new[]
                            {
                                new Dictionary<string, object?>
                                {
                                    ["name"] = "TEST",
                                    ["valueFrom"] = "DUMMY",
                                },
                            },
                            ["environment"] = new[]
                            {
                                new Dictionary<string, object?>
                                {
                                    ["name"] = "test",
                                    ["value"] = "Environment Variable",
                                },
                            },
                            ["essential"] = true,
                            ["logConfiguration"] = new Dictionary<string, object?>
                            {
                                ["logDriver"] = "awslogs",
                                ["options"] = new Dictionary<string, object?>
                                {
                                    ["awslogs-group"] = "tf_test_batch_job",
                                    ["awslogs-region"] = "us-west-2",
                                    ["awslogs-stream-prefix"] = "ecs",
                                },
                            },
                            ["name"] = "container_a",
                            ["privileged"] = false,
                            ["readonlyRootFilesystem"] = false,
                            ["resourceRequirements"] = new[]
                            {
                                new Dictionary<string, object?>
                                {
                                    ["value"] = "1.0",
                                    ["type"] = "VCPU",
                                },
                                new Dictionary<string, object?>
                                {
                                    ["value"] = "2048",
                                    ["type"] = "MEMORY",
                                },
                            },
                        },
                        new Dictionary<string, object?>
                        {
                            ["image"] = "public.ecr.aws/amazonlinux/amazonlinux:1",
                            ["command"] = new[]
                            {
                                "sleep",
                                "360",
                            },
                            ["name"] = "container_b",
                            ["essential"] = false,
                            ["resourceRequirements"] = new[]
                            {
                                new Dictionary<string, object?>
                                {
                                    ["value"] = "1.0",
                                    ["type"] = "VCPU",
                                },
                                new Dictionary<string, object?>
                                {
                                    ["value"] = "2048",
                                    ["type"] = "MEMORY",
                                },
                            },
                        },
                    },
                },
            },
        }),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.batch.JobDefinition;
import com.pulumi.aws.batch.JobDefinitionArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new JobDefinition("test", JobDefinitionArgs.builder()
            .name("my_test_batch_job_definition")
            .type("container")
            .platformCapabilities("FARGATE")
            .ecsProperties(serializeJson(
                jsonObject(
                    jsonProperty("taskProperties", jsonArray(jsonObject(
                        jsonProperty("executionRoleArn", ecsTaskExecutionRole.arn()),
                        jsonProperty("containers", jsonArray(
                            jsonObject(
                                jsonProperty("image", "public.ecr.aws/amazonlinux/amazonlinux:1"),
                                jsonProperty("command", jsonArray(
                                    "sleep", 
                                    "60"
                                )),
                                jsonProperty("dependsOn", jsonArray(jsonObject(
                                    jsonProperty("containerName", "container_b"),
                                    jsonProperty("condition", "COMPLETE")
                                ))),
                                jsonProperty("secrets", jsonArray(jsonObject(
                                    jsonProperty("name", "TEST"),
                                    jsonProperty("valueFrom", "DUMMY")
                                ))),
                                jsonProperty("environment", jsonArray(jsonObject(
                                    jsonProperty("name", "test"),
                                    jsonProperty("value", "Environment Variable")
                                ))),
                                jsonProperty("essential", true),
                                jsonProperty("logConfiguration", jsonObject(
                                    jsonProperty("logDriver", "awslogs"),
                                    jsonProperty("options", jsonObject(
                                        jsonProperty("awslogs-group", "tf_test_batch_job"),
                                        jsonProperty("awslogs-region", "us-west-2"),
                                        jsonProperty("awslogs-stream-prefix", "ecs")
                                    ))
                                )),
                                jsonProperty("name", "container_a"),
                                jsonProperty("privileged", false),
                                jsonProperty("readonlyRootFilesystem", false),
                                jsonProperty("resourceRequirements", jsonArray(
                                    jsonObject(
                                        jsonProperty("value", "1.0"),
                                        jsonProperty("type", "VCPU")
                                    ), 
                                    jsonObject(
                                        jsonProperty("value", "2048"),
                                        jsonProperty("type", "MEMORY")
                                    )
                                ))
                            ), 
                            jsonObject(
                                jsonProperty("image", "public.ecr.aws/amazonlinux/amazonlinux:1"),
                                jsonProperty("command", jsonArray(
                                    "sleep", 
                                    "360"
                                )),
                                jsonProperty("name", "container_b"),
                                jsonProperty("essential", false),
                                jsonProperty("resourceRequirements", jsonArray(
                                    jsonObject(
                                        jsonProperty("value", "1.0"),
                                        jsonProperty("type", "VCPU")
                                    ), 
                                    jsonObject(
                                        jsonProperty("value", "2048"),
                                        jsonProperty("type", "MEMORY")
                                    )
                                ))
                            )
                        ))
                    )))
                )))
            .build());
    }
}
resources:
  test:
    type: aws:batch:JobDefinition
    properties:
      name: my_test_batch_job_definition
      type: container
      platformCapabilities:
        - FARGATE
      ecsProperties:
        fn::toJSON:
          taskProperties:
            - executionRoleArn: ${ecsTaskExecutionRole.arn}
              containers:
                - image: public.ecr.aws/amazonlinux/amazonlinux:1
                  command:
                    - sleep
                    - '60'
                  dependsOn:
                    - containerName: container_b
                      condition: COMPLETE
                  secrets:
                    - name: TEST
                      valueFrom: DUMMY
                  environment:
                    - name: test
                      value: Environment Variable
                  essential: true
                  logConfiguration:
                    logDriver: awslogs
                    options:
                      awslogs-group: tf_test_batch_job
                      awslogs-region: us-west-2
                      awslogs-stream-prefix: ecs
                  name: container_a
                  privileged: false
                  readonlyRootFilesystem: false
                  resourceRequirements:
                    - value: '1.0'
                      type: VCPU
                    - value: '2048'
                      type: MEMORY
                - image: public.ecr.aws/amazonlinux/amazonlinux:1
                  command:
                    - sleep
                    - '360'
                  name: container_b
                  essential: false
                  resourceRequirements:
                    - value: '1.0'
                      type: VCPU
                    - value: '2048'
                      type: MEMORY
Create JobDefinition Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new JobDefinition(name: string, args: JobDefinitionArgs, opts?: CustomResourceOptions);@overload
def JobDefinition(resource_name: str,
                  args: JobDefinitionArgs,
                  opts: Optional[ResourceOptions] = None)
@overload
def JobDefinition(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  type: Optional[str] = None,
                  parameters: Optional[Mapping[str, str]] = None,
                  ecs_properties: Optional[str] = None,
                  eks_properties: Optional[JobDefinitionEksPropertiesArgs] = None,
                  name: Optional[str] = None,
                  node_properties: Optional[str] = None,
                  container_properties: Optional[str] = None,
                  platform_capabilities: Optional[Sequence[str]] = None,
                  propagate_tags: Optional[bool] = None,
                  retry_strategy: Optional[JobDefinitionRetryStrategyArgs] = None,
                  scheduling_priority: Optional[int] = None,
                  tags: Optional[Mapping[str, str]] = None,
                  timeout: Optional[JobDefinitionTimeoutArgs] = None,
                  deregister_on_new_revision: Optional[bool] = None)func NewJobDefinition(ctx *Context, name string, args JobDefinitionArgs, opts ...ResourceOption) (*JobDefinition, error)public JobDefinition(string name, JobDefinitionArgs args, CustomResourceOptions? opts = null)
public JobDefinition(String name, JobDefinitionArgs args)
public JobDefinition(String name, JobDefinitionArgs args, CustomResourceOptions options)
type: aws:batch:JobDefinition
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args JobDefinitionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args JobDefinitionArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args JobDefinitionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args JobDefinitionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args JobDefinitionArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var jobDefinitionResource = new Aws.Batch.JobDefinition("jobDefinitionResource", new()
{
    Type = "string",
    Parameters = 
    {
        { "string", "string" },
    },
    EcsProperties = "string",
    EksProperties = new Aws.Batch.Inputs.JobDefinitionEksPropertiesArgs
    {
        PodProperties = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesArgs
        {
            Containers = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersArgs
            {
                Image = "string",
                Args = new[]
                {
                    "string",
                },
                Commands = new[]
                {
                    "string",
                },
                Envs = new[]
                {
                    new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                ImagePullPolicy = "string",
                Name = "string",
                Resources = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs
                {
                    Limits = 
                    {
                        { "string", "string" },
                    },
                    Requests = 
                    {
                        { "string", "string" },
                    },
                },
                SecurityContext = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs
                {
                    Privileged = false,
                    ReadOnlyRootFileSystem = false,
                    RunAsGroup = 0,
                    RunAsNonRoot = false,
                    RunAsUser = 0,
                },
                VolumeMounts = new[]
                {
                    new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs
                    {
                        MountPath = "string",
                        Name = "string",
                        ReadOnly = false,
                    },
                },
            },
            DnsPolicy = "string",
            HostNetwork = false,
            ImagePullSecrets = new[]
            {
                new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs
                {
                    Name = "string",
                },
            },
            InitContainers = new[]
            {
                new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesInitContainerArgs
                {
                    Image = "string",
                    Args = new[]
                    {
                        "string",
                    },
                    Commands = new[]
                    {
                        "string",
                    },
                    Envs = new[]
                    {
                        new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesInitContainerEnvArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    ImagePullPolicy = "string",
                    Name = "string",
                    Resources = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesInitContainerResourcesArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                    SecurityContext = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesInitContainerSecurityContextArgs
                    {
                        Privileged = false,
                        ReadOnlyRootFileSystem = false,
                        RunAsGroup = 0,
                        RunAsNonRoot = false,
                        RunAsUser = 0,
                    },
                    VolumeMounts = new[]
                    {
                        new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesInitContainerVolumeMountArgs
                        {
                            MountPath = "string",
                            Name = "string",
                            ReadOnly = false,
                        },
                    },
                },
            },
            Metadata = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesMetadataArgs
            {
                Labels = 
                {
                    { "string", "string" },
                },
            },
            ServiceAccountName = "string",
            ShareProcessNamespace = false,
            Volumes = new[]
            {
                new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesVolumeArgs
                {
                    EmptyDir = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs
                    {
                        SizeLimit = "string",
                        Medium = "string",
                    },
                    HostPath = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs
                    {
                        Path = "string",
                    },
                    Name = "string",
                    Secret = new Aws.Batch.Inputs.JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs
                    {
                        SecretName = "string",
                        Optional = false,
                    },
                },
            },
        },
    },
    Name = "string",
    NodeProperties = "string",
    ContainerProperties = "string",
    PlatformCapabilities = new[]
    {
        "string",
    },
    PropagateTags = false,
    RetryStrategy = new Aws.Batch.Inputs.JobDefinitionRetryStrategyArgs
    {
        Attempts = 0,
        EvaluateOnExits = new[]
        {
            new Aws.Batch.Inputs.JobDefinitionRetryStrategyEvaluateOnExitArgs
            {
                Action = "string",
                OnExitCode = "string",
                OnReason = "string",
                OnStatusReason = "string",
            },
        },
    },
    SchedulingPriority = 0,
    Tags = 
    {
        { "string", "string" },
    },
    Timeout = new Aws.Batch.Inputs.JobDefinitionTimeoutArgs
    {
        AttemptDurationSeconds = 0,
    },
    DeregisterOnNewRevision = false,
});
example, err := batch.NewJobDefinition(ctx, "jobDefinitionResource", &batch.JobDefinitionArgs{
	Type: pulumi.String("string"),
	Parameters: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	EcsProperties: pulumi.String("string"),
	EksProperties: &batch.JobDefinitionEksPropertiesArgs{
		PodProperties: &batch.JobDefinitionEksPropertiesPodPropertiesArgs{
			Containers: &batch.JobDefinitionEksPropertiesPodPropertiesContainersArgs{
				Image: pulumi.String("string"),
				Args: pulumi.StringArray{
					pulumi.String("string"),
				},
				Commands: pulumi.StringArray{
					pulumi.String("string"),
				},
				Envs: batch.JobDefinitionEksPropertiesPodPropertiesContainersEnvArray{
					&batch.JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs{
						Name:  pulumi.String("string"),
						Value: pulumi.String("string"),
					},
				},
				ImagePullPolicy: pulumi.String("string"),
				Name:            pulumi.String("string"),
				Resources: &batch.JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs{
					Limits: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					Requests: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
				},
				SecurityContext: &batch.JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs{
					Privileged:             pulumi.Bool(false),
					ReadOnlyRootFileSystem: pulumi.Bool(false),
					RunAsGroup:             pulumi.Int(0),
					RunAsNonRoot:           pulumi.Bool(false),
					RunAsUser:              pulumi.Int(0),
				},
				VolumeMounts: batch.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArray{
					&batch.JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs{
						MountPath: pulumi.String("string"),
						Name:      pulumi.String("string"),
						ReadOnly:  pulumi.Bool(false),
					},
				},
			},
			DnsPolicy:   pulumi.String("string"),
			HostNetwork: pulumi.Bool(false),
			ImagePullSecrets: batch.JobDefinitionEksPropertiesPodPropertiesImagePullSecretArray{
				&batch.JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs{
					Name: pulumi.String("string"),
				},
			},
			InitContainers: batch.JobDefinitionEksPropertiesPodPropertiesInitContainerArray{
				&batch.JobDefinitionEksPropertiesPodPropertiesInitContainerArgs{
					Image: pulumi.String("string"),
					Args: pulumi.StringArray{
						pulumi.String("string"),
					},
					Commands: pulumi.StringArray{
						pulumi.String("string"),
					},
					Envs: batch.JobDefinitionEksPropertiesPodPropertiesInitContainerEnvArray{
						&batch.JobDefinitionEksPropertiesPodPropertiesInitContainerEnvArgs{
							Name:  pulumi.String("string"),
							Value: pulumi.String("string"),
						},
					},
					ImagePullPolicy: pulumi.String("string"),
					Name:            pulumi.String("string"),
					Resources: &batch.JobDefinitionEksPropertiesPodPropertiesInitContainerResourcesArgs{
						Limits: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
						Requests: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
					},
					SecurityContext: &batch.JobDefinitionEksPropertiesPodPropertiesInitContainerSecurityContextArgs{
						Privileged:             pulumi.Bool(false),
						ReadOnlyRootFileSystem: pulumi.Bool(false),
						RunAsGroup:             pulumi.Int(0),
						RunAsNonRoot:           pulumi.Bool(false),
						RunAsUser:              pulumi.Int(0),
					},
					VolumeMounts: batch.JobDefinitionEksPropertiesPodPropertiesInitContainerVolumeMountArray{
						&batch.JobDefinitionEksPropertiesPodPropertiesInitContainerVolumeMountArgs{
							MountPath: pulumi.String("string"),
							Name:      pulumi.String("string"),
							ReadOnly:  pulumi.Bool(false),
						},
					},
				},
			},
			Metadata: &batch.JobDefinitionEksPropertiesPodPropertiesMetadataArgs{
				Labels: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
			},
			ServiceAccountName:    pulumi.String("string"),
			ShareProcessNamespace: pulumi.Bool(false),
			Volumes: batch.JobDefinitionEksPropertiesPodPropertiesVolumeArray{
				&batch.JobDefinitionEksPropertiesPodPropertiesVolumeArgs{
					EmptyDir: &batch.JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs{
						SizeLimit: pulumi.String("string"),
						Medium:    pulumi.String("string"),
					},
					HostPath: &batch.JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs{
						Path: pulumi.String("string"),
					},
					Name: pulumi.String("string"),
					Secret: &batch.JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs{
						SecretName: pulumi.String("string"),
						Optional:   pulumi.Bool(false),
					},
				},
			},
		},
	},
	Name:                pulumi.String("string"),
	NodeProperties:      pulumi.String("string"),
	ContainerProperties: pulumi.String("string"),
	PlatformCapabilities: pulumi.StringArray{
		pulumi.String("string"),
	},
	PropagateTags: pulumi.Bool(false),
	RetryStrategy: &batch.JobDefinitionRetryStrategyArgs{
		Attempts: pulumi.Int(0),
		EvaluateOnExits: batch.JobDefinitionRetryStrategyEvaluateOnExitArray{
			&batch.JobDefinitionRetryStrategyEvaluateOnExitArgs{
				Action:         pulumi.String("string"),
				OnExitCode:     pulumi.String("string"),
				OnReason:       pulumi.String("string"),
				OnStatusReason: pulumi.String("string"),
			},
		},
	},
	SchedulingPriority: pulumi.Int(0),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Timeout: &batch.JobDefinitionTimeoutArgs{
		AttemptDurationSeconds: pulumi.Int(0),
	},
	DeregisterOnNewRevision: pulumi.Bool(false),
})
var jobDefinitionResource = new JobDefinition("jobDefinitionResource", JobDefinitionArgs.builder()
    .type("string")
    .parameters(Map.of("string", "string"))
    .ecsProperties("string")
    .eksProperties(JobDefinitionEksPropertiesArgs.builder()
        .podProperties(JobDefinitionEksPropertiesPodPropertiesArgs.builder()
            .containers(JobDefinitionEksPropertiesPodPropertiesContainersArgs.builder()
                .image("string")
                .args("string")
                .commands("string")
                .envs(JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .imagePullPolicy("string")
                .name("string")
                .resources(JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs.builder()
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .securityContext(JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs.builder()
                    .privileged(false)
                    .readOnlyRootFileSystem(false)
                    .runAsGroup(0)
                    .runAsNonRoot(false)
                    .runAsUser(0)
                    .build())
                .volumeMounts(JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs.builder()
                    .mountPath("string")
                    .name("string")
                    .readOnly(false)
                    .build())
                .build())
            .dnsPolicy("string")
            .hostNetwork(false)
            .imagePullSecrets(JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs.builder()
                .name("string")
                .build())
            .initContainers(JobDefinitionEksPropertiesPodPropertiesInitContainerArgs.builder()
                .image("string")
                .args("string")
                .commands("string")
                .envs(JobDefinitionEksPropertiesPodPropertiesInitContainerEnvArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .imagePullPolicy("string")
                .name("string")
                .resources(JobDefinitionEksPropertiesPodPropertiesInitContainerResourcesArgs.builder()
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .securityContext(JobDefinitionEksPropertiesPodPropertiesInitContainerSecurityContextArgs.builder()
                    .privileged(false)
                    .readOnlyRootFileSystem(false)
                    .runAsGroup(0)
                    .runAsNonRoot(false)
                    .runAsUser(0)
                    .build())
                .volumeMounts(JobDefinitionEksPropertiesPodPropertiesInitContainerVolumeMountArgs.builder()
                    .mountPath("string")
                    .name("string")
                    .readOnly(false)
                    .build())
                .build())
            .metadata(JobDefinitionEksPropertiesPodPropertiesMetadataArgs.builder()
                .labels(Map.of("string", "string"))
                .build())
            .serviceAccountName("string")
            .shareProcessNamespace(false)
            .volumes(JobDefinitionEksPropertiesPodPropertiesVolumeArgs.builder()
                .emptyDir(JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs.builder()
                    .sizeLimit("string")
                    .medium("string")
                    .build())
                .hostPath(JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs.builder()
                    .path("string")
                    .build())
                .name("string")
                .secret(JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs.builder()
                    .secretName("string")
                    .optional(false)
                    .build())
                .build())
            .build())
        .build())
    .name("string")
    .nodeProperties("string")
    .containerProperties("string")
    .platformCapabilities("string")
    .propagateTags(false)
    .retryStrategy(JobDefinitionRetryStrategyArgs.builder()
        .attempts(0)
        .evaluateOnExits(JobDefinitionRetryStrategyEvaluateOnExitArgs.builder()
            .action("string")
            .onExitCode("string")
            .onReason("string")
            .onStatusReason("string")
            .build())
        .build())
    .schedulingPriority(0)
    .tags(Map.of("string", "string"))
    .timeout(JobDefinitionTimeoutArgs.builder()
        .attemptDurationSeconds(0)
        .build())
    .deregisterOnNewRevision(false)
    .build());
job_definition_resource = aws.batch.JobDefinition("jobDefinitionResource",
    type="string",
    parameters={
        "string": "string",
    },
    ecs_properties="string",
    eks_properties={
        "pod_properties": {
            "containers": {
                "image": "string",
                "args": ["string"],
                "commands": ["string"],
                "envs": [{
                    "name": "string",
                    "value": "string",
                }],
                "image_pull_policy": "string",
                "name": "string",
                "resources": {
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
                "security_context": {
                    "privileged": False,
                    "read_only_root_file_system": False,
                    "run_as_group": 0,
                    "run_as_non_root": False,
                    "run_as_user": 0,
                },
                "volume_mounts": [{
                    "mount_path": "string",
                    "name": "string",
                    "read_only": False,
                }],
            },
            "dns_policy": "string",
            "host_network": False,
            "image_pull_secrets": [{
                "name": "string",
            }],
            "init_containers": [{
                "image": "string",
                "args": ["string"],
                "commands": ["string"],
                "envs": [{
                    "name": "string",
                    "value": "string",
                }],
                "image_pull_policy": "string",
                "name": "string",
                "resources": {
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
                "security_context": {
                    "privileged": False,
                    "read_only_root_file_system": False,
                    "run_as_group": 0,
                    "run_as_non_root": False,
                    "run_as_user": 0,
                },
                "volume_mounts": [{
                    "mount_path": "string",
                    "name": "string",
                    "read_only": False,
                }],
            }],
            "metadata": {
                "labels": {
                    "string": "string",
                },
            },
            "service_account_name": "string",
            "share_process_namespace": False,
            "volumes": [{
                "empty_dir": {
                    "size_limit": "string",
                    "medium": "string",
                },
                "host_path": {
                    "path": "string",
                },
                "name": "string",
                "secret": {
                    "secret_name": "string",
                    "optional": False,
                },
            }],
        },
    },
    name="string",
    node_properties="string",
    container_properties="string",
    platform_capabilities=["string"],
    propagate_tags=False,
    retry_strategy={
        "attempts": 0,
        "evaluate_on_exits": [{
            "action": "string",
            "on_exit_code": "string",
            "on_reason": "string",
            "on_status_reason": "string",
        }],
    },
    scheduling_priority=0,
    tags={
        "string": "string",
    },
    timeout={
        "attempt_duration_seconds": 0,
    },
    deregister_on_new_revision=False)
const jobDefinitionResource = new aws.batch.JobDefinition("jobDefinitionResource", {
    type: "string",
    parameters: {
        string: "string",
    },
    ecsProperties: "string",
    eksProperties: {
        podProperties: {
            containers: {
                image: "string",
                args: ["string"],
                commands: ["string"],
                envs: [{
                    name: "string",
                    value: "string",
                }],
                imagePullPolicy: "string",
                name: "string",
                resources: {
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
                securityContext: {
                    privileged: false,
                    readOnlyRootFileSystem: false,
                    runAsGroup: 0,
                    runAsNonRoot: false,
                    runAsUser: 0,
                },
                volumeMounts: [{
                    mountPath: "string",
                    name: "string",
                    readOnly: false,
                }],
            },
            dnsPolicy: "string",
            hostNetwork: false,
            imagePullSecrets: [{
                name: "string",
            }],
            initContainers: [{
                image: "string",
                args: ["string"],
                commands: ["string"],
                envs: [{
                    name: "string",
                    value: "string",
                }],
                imagePullPolicy: "string",
                name: "string",
                resources: {
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
                securityContext: {
                    privileged: false,
                    readOnlyRootFileSystem: false,
                    runAsGroup: 0,
                    runAsNonRoot: false,
                    runAsUser: 0,
                },
                volumeMounts: [{
                    mountPath: "string",
                    name: "string",
                    readOnly: false,
                }],
            }],
            metadata: {
                labels: {
                    string: "string",
                },
            },
            serviceAccountName: "string",
            shareProcessNamespace: false,
            volumes: [{
                emptyDir: {
                    sizeLimit: "string",
                    medium: "string",
                },
                hostPath: {
                    path: "string",
                },
                name: "string",
                secret: {
                    secretName: "string",
                    optional: false,
                },
            }],
        },
    },
    name: "string",
    nodeProperties: "string",
    containerProperties: "string",
    platformCapabilities: ["string"],
    propagateTags: false,
    retryStrategy: {
        attempts: 0,
        evaluateOnExits: [{
            action: "string",
            onExitCode: "string",
            onReason: "string",
            onStatusReason: "string",
        }],
    },
    schedulingPriority: 0,
    tags: {
        string: "string",
    },
    timeout: {
        attemptDurationSeconds: 0,
    },
    deregisterOnNewRevision: false,
});
type: aws:batch:JobDefinition
properties:
    containerProperties: string
    deregisterOnNewRevision: false
    ecsProperties: string
    eksProperties:
        podProperties:
            containers:
                args:
                    - string
                commands:
                    - string
                envs:
                    - name: string
                      value: string
                image: string
                imagePullPolicy: string
                name: string
                resources:
                    limits:
                        string: string
                    requests:
                        string: string
                securityContext:
                    privileged: false
                    readOnlyRootFileSystem: false
                    runAsGroup: 0
                    runAsNonRoot: false
                    runAsUser: 0
                volumeMounts:
                    - mountPath: string
                      name: string
                      readOnly: false
            dnsPolicy: string
            hostNetwork: false
            imagePullSecrets:
                - name: string
            initContainers:
                - args:
                    - string
                  commands:
                    - string
                  envs:
                    - name: string
                      value: string
                  image: string
                  imagePullPolicy: string
                  name: string
                  resources:
                    limits:
                        string: string
                    requests:
                        string: string
                  securityContext:
                    privileged: false
                    readOnlyRootFileSystem: false
                    runAsGroup: 0
                    runAsNonRoot: false
                    runAsUser: 0
                  volumeMounts:
                    - mountPath: string
                      name: string
                      readOnly: false
            metadata:
                labels:
                    string: string
            serviceAccountName: string
            shareProcessNamespace: false
            volumes:
                - emptyDir:
                    medium: string
                    sizeLimit: string
                  hostPath:
                    path: string
                  name: string
                  secret:
                    optional: false
                    secretName: string
    name: string
    nodeProperties: string
    parameters:
        string: string
    platformCapabilities:
        - string
    propagateTags: false
    retryStrategy:
        attempts: 0
        evaluateOnExits:
            - action: string
              onExitCode: string
              onReason: string
              onStatusReason: string
    schedulingPriority: 0
    tags:
        string: string
    timeout:
        attemptDurationSeconds: 0
    type: string
JobDefinition Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The JobDefinition resource accepts the following input properties:
- Type string
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- ContainerProperties string
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- DeregisterOn boolNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- EcsProperties string
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- EksProperties JobDefinition Eks Properties 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- Name string
- Name of the job definition.
- NodeProperties string
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- Parameters Dictionary<string, string>
- Parameter substitution placeholders to set in the job definition.
- PlatformCapabilities List<string>
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- bool
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- RetryStrategy JobDefinition Retry Strategy 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- SchedulingPriority int
- 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. Allowed values 0through9999.
- Dictionary<string, string>
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Timeout
JobDefinition Timeout 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- Type string
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- ContainerProperties string
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- DeregisterOn boolNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- EcsProperties string
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- EksProperties JobDefinition Eks Properties Args 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- Name string
- Name of the job definition.
- NodeProperties string
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- Parameters map[string]string
- Parameter substitution placeholders to set in the job definition.
- PlatformCapabilities []string
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- bool
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- RetryStrategy JobDefinition Retry Strategy Args 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- SchedulingPriority int
- 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. Allowed values 0through9999.
- map[string]string
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Timeout
JobDefinition Timeout Args 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type String
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- containerProperties String
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregisterOn BooleanNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecsProperties String
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eksProperties JobDefinition Eks Properties 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name String
- Name of the job definition.
- nodeProperties String
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters Map<String,String>
- Parameter substitution placeholders to set in the job definition.
- platformCapabilities List<String>
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- Boolean
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retryStrategy JobDefinition Retry Strategy 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- schedulingPriority Integer
- 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. Allowed values 0through9999.
- Map<String,String>
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timeout
JobDefinition Timeout 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type string
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- containerProperties string
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregisterOn booleanNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecsProperties string
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eksProperties JobDefinition Eks Properties 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name string
- Name of the job definition.
- nodeProperties string
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters {[key: string]: string}
- Parameter substitution placeholders to set in the job definition.
- platformCapabilities string[]
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- boolean
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retryStrategy JobDefinition Retry Strategy 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- schedulingPriority number
- 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. Allowed values 0through9999.
- {[key: string]: string}
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timeout
JobDefinition Timeout 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type str
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- container_properties str
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregister_on_ boolnew_ revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecs_properties str
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eks_properties JobDefinition Eks Properties Args 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name str
- Name of the job definition.
- node_properties str
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters Mapping[str, str]
- Parameter substitution placeholders to set in the job definition.
- platform_capabilities Sequence[str]
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- bool
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retry_strategy JobDefinition Retry Strategy Args 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- scheduling_priority int
- 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. Allowed values 0through9999.
- Mapping[str, str]
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timeout
JobDefinition Timeout Args 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type String
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- containerProperties String
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregisterOn BooleanNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecsProperties String
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eksProperties Property Map
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name String
- Name of the job definition.
- nodeProperties String
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters Map<String>
- Parameter substitution placeholders to set in the job definition.
- platformCapabilities List<String>
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- Boolean
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retryStrategy Property Map
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- schedulingPriority Number
- 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. Allowed values 0through9999.
- Map<String>
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- timeout Property Map
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
Outputs
All input properties are implicitly available as output properties. Additionally, the JobDefinition resource produces the following output properties:
- Arn string
- ARN of the job definition, includes revision (:#).
- ArnPrefix string
- ARN without the revision number.
- Id string
- The provider-assigned unique ID for this managed resource.
- Revision int
- Revision of the job definition.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Arn string
- ARN of the job definition, includes revision (:#).
- ArnPrefix string
- ARN without the revision number.
- Id string
- The provider-assigned unique ID for this managed resource.
- Revision int
- Revision of the job definition.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the job definition, includes revision (:#).
- arnPrefix String
- ARN without the revision number.
- id String
- The provider-assigned unique ID for this managed resource.
- revision Integer
- Revision of the job definition.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn string
- ARN of the job definition, includes revision (:#).
- arnPrefix string
- ARN without the revision number.
- id string
- The provider-assigned unique ID for this managed resource.
- revision number
- Revision of the job definition.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn str
- ARN of the job definition, includes revision (:#).
- arn_prefix str
- ARN without the revision number.
- id str
- The provider-assigned unique ID for this managed resource.
- revision int
- Revision of the job definition.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- arn String
- ARN of the job definition, includes revision (:#).
- arnPrefix String
- ARN without the revision number.
- id String
- The provider-assigned unique ID for this managed resource.
- revision Number
- Revision of the job definition.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Look up Existing JobDefinition Resource
Get an existing JobDefinition resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: JobDefinitionState, opts?: CustomResourceOptions): JobDefinition@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        arn_prefix: Optional[str] = None,
        container_properties: Optional[str] = None,
        deregister_on_new_revision: Optional[bool] = None,
        ecs_properties: Optional[str] = None,
        eks_properties: Optional[JobDefinitionEksPropertiesArgs] = None,
        name: Optional[str] = None,
        node_properties: Optional[str] = None,
        parameters: Optional[Mapping[str, str]] = None,
        platform_capabilities: Optional[Sequence[str]] = None,
        propagate_tags: Optional[bool] = None,
        retry_strategy: Optional[JobDefinitionRetryStrategyArgs] = None,
        revision: Optional[int] = None,
        scheduling_priority: Optional[int] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        timeout: Optional[JobDefinitionTimeoutArgs] = None,
        type: Optional[str] = None) -> JobDefinitionfunc GetJobDefinition(ctx *Context, name string, id IDInput, state *JobDefinitionState, opts ...ResourceOption) (*JobDefinition, error)public static JobDefinition Get(string name, Input<string> id, JobDefinitionState? state, CustomResourceOptions? opts = null)public static JobDefinition get(String name, Output<String> id, JobDefinitionState state, CustomResourceOptions options)Resource lookup is not supported in YAML- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN of the job definition, includes revision (:#).
- ArnPrefix string
- ARN without the revision number.
- ContainerProperties string
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- DeregisterOn boolNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- EcsProperties string
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- EksProperties JobDefinition Eks Properties 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- Name string
- Name of the job definition.
- NodeProperties string
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- Parameters Dictionary<string, string>
- Parameter substitution placeholders to set in the job definition.
- PlatformCapabilities List<string>
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- bool
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- RetryStrategy JobDefinition Retry Strategy 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- Revision int
- Revision of the job definition.
- SchedulingPriority int
- 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. Allowed values 0through9999.
- Dictionary<string, string>
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Timeout
JobDefinition Timeout 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- Type string
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- Arn string
- ARN of the job definition, includes revision (:#).
- ArnPrefix string
- ARN without the revision number.
- ContainerProperties string
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- DeregisterOn boolNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- EcsProperties string
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- EksProperties JobDefinition Eks Properties Args 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- Name string
- Name of the job definition.
- NodeProperties string
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- Parameters map[string]string
- Parameter substitution placeholders to set in the job definition.
- PlatformCapabilities []string
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- bool
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- RetryStrategy JobDefinition Retry Strategy Args 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- Revision int
- Revision of the job definition.
- SchedulingPriority int
- 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. Allowed values 0through9999.
- map[string]string
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- Timeout
JobDefinition Timeout Args 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- Type string
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- arn String
- ARN of the job definition, includes revision (:#).
- arnPrefix String
- ARN without the revision number.
- containerProperties String
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregisterOn BooleanNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecsProperties String
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eksProperties JobDefinition Eks Properties 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name String
- Name of the job definition.
- nodeProperties String
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters Map<String,String>
- Parameter substitution placeholders to set in the job definition.
- platformCapabilities List<String>
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- Boolean
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retryStrategy JobDefinition Retry Strategy 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- revision Integer
- Revision of the job definition.
- schedulingPriority Integer
- 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. Allowed values 0through9999.
- Map<String,String>
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timeout
JobDefinition Timeout 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type String
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- arn string
- ARN of the job definition, includes revision (:#).
- arnPrefix string
- ARN without the revision number.
- containerProperties string
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregisterOn booleanNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecsProperties string
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eksProperties JobDefinition Eks Properties 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name string
- Name of the job definition.
- nodeProperties string
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters {[key: string]: string}
- Parameter substitution placeholders to set in the job definition.
- platformCapabilities string[]
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- boolean
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retryStrategy JobDefinition Retry Strategy 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- revision number
- Revision of the job definition.
- schedulingPriority number
- 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. Allowed values 0through9999.
- {[key: string]: string}
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timeout
JobDefinition Timeout 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type string
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- arn str
- ARN of the job definition, includes revision (:#).
- arn_prefix str
- ARN without the revision number.
- container_properties str
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregister_on_ boolnew_ revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecs_properties str
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eks_properties JobDefinition Eks Properties Args 
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name str
- Name of the job definition.
- node_properties str
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters Mapping[str, str]
- Parameter substitution placeholders to set in the job definition.
- platform_capabilities Sequence[str]
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- bool
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retry_strategy JobDefinition Retry Strategy Args 
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- revision int
- Revision of the job definition.
- scheduling_priority int
- 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. Allowed values 0through9999.
- Mapping[str, str]
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timeout
JobDefinition Timeout Args 
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type str
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
- arn String
- ARN of the job definition, includes revision (:#).
- arnPrefix String
- ARN without the revision number.
- containerProperties String
- Valid container properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- deregisterOn BooleanNew Revision 
- When updating a job definition a new revision is created. This parameter determines if the previous version is deregistered(INACTIVE) or leftACTIVE. Defaults totrue.
- ecsProperties String
- Valid ECS properties provided as a single valid JSON document. This parameter is only valid if the typeparameter iscontainer.
- eksProperties Property Map
- Valid eks properties. This parameter is only valid if the typeparameter iscontainer.
- name String
- Name of the job definition.
- nodeProperties String
- Valid node properties provided as a single valid JSON document. This parameter is required if the typeparameter ismultinode.
- parameters Map<String>
- Parameter substitution placeholders to set in the job definition.
- platformCapabilities List<String>
- Platform capabilities required by the job definition. If no value is specified, it defaults to EC2. To run the job on Fargate resources, specifyFARGATE.
- Boolean
- Whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is false.
- retryStrategy Property Map
- Retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of retry_strategyis1. Defined below.
- revision Number
- Revision of the job definition.
- schedulingPriority Number
- 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. Allowed values 0through9999.
- Map<String>
- Key-value map of resource tags. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- timeout Property Map
- Timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeoutis1. Defined below.
- type String
- Type of job definition. Must be - containeror- multinode.- The following arguments are optional: 
Supporting Types
JobDefinitionEksProperties, JobDefinitionEksPropertiesArgs        
- PodProperties JobDefinition Eks Properties Pod Properties 
- Properties for the Kubernetes pod resources of a job. See pod_propertiesbelow.
- PodProperties JobDefinition Eks Properties Pod Properties 
- Properties for the Kubernetes pod resources of a job. See pod_propertiesbelow.
- podProperties JobDefinition Eks Properties Pod Properties 
- Properties for the Kubernetes pod resources of a job. See pod_propertiesbelow.
- podProperties JobDefinition Eks Properties Pod Properties 
- Properties for the Kubernetes pod resources of a job. See pod_propertiesbelow.
- pod_properties JobDefinition Eks Properties Pod Properties 
- Properties for the Kubernetes pod resources of a job. See pod_propertiesbelow.
- podProperties Property Map
- Properties for the Kubernetes pod resources of a job. See pod_propertiesbelow.
JobDefinitionEksPropertiesPodProperties, JobDefinitionEksPropertiesPodPropertiesArgs            
- Containers
JobDefinition Eks Properties Pod Properties Containers 
- Properties of the container that's used on the Amazon EKS pod. See containers below.
- DnsPolicy string
- DNS policy for the pod. The default value is ClusterFirst. If thehost_networkargument is not specified, the default isClusterFirstWithHostNet.ClusterFirstindicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
- HostNetwork bool
- Whether the pod uses the hosts' network IP address. The default value is true. Setting this tofalseenables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
- ImagePull List<JobSecrets Definition Eks Properties Pod Properties Image Pull Secret> 
- List of Kubernetes secret resources. See image_pull_secretbelow.
- InitContainers List<JobDefinition Eks Properties Pod Properties Init Container> 
- Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
- Metadata
JobDefinition Eks Properties Pod Properties Metadata 
- Metadata about the Kubernetes pod.
- ServiceAccount stringName 
- Name of the service account that's used to run the pod.
- bool
- Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
- Volumes
List<JobDefinition Eks Properties Pod Properties Volume> 
- Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
- Containers
JobDefinition Eks Properties Pod Properties Containers 
- Properties of the container that's used on the Amazon EKS pod. See containers below.
- DnsPolicy string
- DNS policy for the pod. The default value is ClusterFirst. If thehost_networkargument is not specified, the default isClusterFirstWithHostNet.ClusterFirstindicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
- HostNetwork bool
- Whether the pod uses the hosts' network IP address. The default value is true. Setting this tofalseenables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
- ImagePull []JobSecrets Definition Eks Properties Pod Properties Image Pull Secret 
- List of Kubernetes secret resources. See image_pull_secretbelow.
- InitContainers []JobDefinition Eks Properties Pod Properties Init Container 
- Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
- Metadata
JobDefinition Eks Properties Pod Properties Metadata 
- Metadata about the Kubernetes pod.
- ServiceAccount stringName 
- Name of the service account that's used to run the pod.
- bool
- Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
- Volumes
[]JobDefinition Eks Properties Pod Properties Volume 
- Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
- containers
JobDefinition Eks Properties Pod Properties Containers 
- Properties of the container that's used on the Amazon EKS pod. See containers below.
- dnsPolicy String
- DNS policy for the pod. The default value is ClusterFirst. If thehost_networkargument is not specified, the default isClusterFirstWithHostNet.ClusterFirstindicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
- hostNetwork Boolean
- Whether the pod uses the hosts' network IP address. The default value is true. Setting this tofalseenables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
- imagePull List<JobSecrets Definition Eks Properties Pod Properties Image Pull Secret> 
- List of Kubernetes secret resources. See image_pull_secretbelow.
- initContainers List<JobDefinition Eks Properties Pod Properties Init Container> 
- Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
- metadata
JobDefinition Eks Properties Pod Properties Metadata 
- Metadata about the Kubernetes pod.
- serviceAccount StringName 
- Name of the service account that's used to run the pod.
- Boolean
- Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
- volumes
List<JobDefinition Eks Properties Pod Properties Volume> 
- Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
- containers
JobDefinition Eks Properties Pod Properties Containers 
- Properties of the container that's used on the Amazon EKS pod. See containers below.
- dnsPolicy string
- DNS policy for the pod. The default value is ClusterFirst. If thehost_networkargument is not specified, the default isClusterFirstWithHostNet.ClusterFirstindicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
- hostNetwork boolean
- Whether the pod uses the hosts' network IP address. The default value is true. Setting this tofalseenables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
- imagePull JobSecrets Definition Eks Properties Pod Properties Image Pull Secret[] 
- List of Kubernetes secret resources. See image_pull_secretbelow.
- initContainers JobDefinition Eks Properties Pod Properties Init Container[] 
- Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
- metadata
JobDefinition Eks Properties Pod Properties Metadata 
- Metadata about the Kubernetes pod.
- serviceAccount stringName 
- Name of the service account that's used to run the pod.
- boolean
- Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
- volumes
JobDefinition Eks Properties Pod Properties Volume[] 
- Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
- containers
JobDefinition Eks Properties Pod Properties Containers 
- Properties of the container that's used on the Amazon EKS pod. See containers below.
- dns_policy str
- DNS policy for the pod. The default value is ClusterFirst. If thehost_networkargument is not specified, the default isClusterFirstWithHostNet.ClusterFirstindicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
- host_network bool
- Whether the pod uses the hosts' network IP address. The default value is true. Setting this tofalseenables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
- image_pull_ Sequence[Jobsecrets Definition Eks Properties Pod Properties Image Pull Secret] 
- List of Kubernetes secret resources. See image_pull_secretbelow.
- init_containers Sequence[JobDefinition Eks Properties Pod Properties Init Container] 
- Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
- metadata
JobDefinition Eks Properties Pod Properties Metadata 
- Metadata about the Kubernetes pod.
- service_account_ strname 
- Name of the service account that's used to run the pod.
- bool
- Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
- volumes
Sequence[JobDefinition Eks Properties Pod Properties Volume] 
- Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
- containers Property Map
- Properties of the container that's used on the Amazon EKS pod. See containers below.
- dnsPolicy String
- DNS policy for the pod. The default value is ClusterFirst. If thehost_networkargument is not specified, the default isClusterFirstWithHostNet.ClusterFirstindicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation.
- hostNetwork Boolean
- Whether the pod uses the hosts' network IP address. The default value is true. Setting this tofalseenables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections.
- imagePull List<Property Map>Secrets 
- List of Kubernetes secret resources. See image_pull_secretbelow.
- initContainers List<Property Map>
- Containers which run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. See containers below.
- metadata Property Map
- Metadata about the Kubernetes pod.
- serviceAccount StringName 
- Name of the service account that's used to run the pod.
- Boolean
- Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
- volumes List<Property Map>
- Volumes for a job definition that uses Amazon EKS resources. AWS Batch supports emptyDir, hostPath, and secret volume types.
JobDefinitionEksPropertiesPodPropertiesContainers, JobDefinitionEksPropertiesPodPropertiesContainersArgs              
- Image string
- Docker image used to start the container.
- Args List<string>
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- Commands List<string>
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- Envs
List<JobDefinition Eks Properties Pod Properties Containers Env> 
- Environment variables to pass to a container. See EKS Environment below.
- ImagePull stringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- Name string
- Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
- Resources
JobDefinition Eks Properties Pod Properties Containers Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- SecurityContext JobDefinition Eks Properties Pod Properties Containers Security Context 
- Security context for a job.
- VolumeMounts List<JobDefinition Eks Properties Pod Properties Containers Volume Mount> 
- Volume mounts for the container.
- Image string
- Docker image used to start the container.
- Args []string
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- Commands []string
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- Envs
[]JobDefinition Eks Properties Pod Properties Containers Env 
- Environment variables to pass to a container. See EKS Environment below.
- ImagePull stringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- Name string
- Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
- Resources
JobDefinition Eks Properties Pod Properties Containers Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- SecurityContext JobDefinition Eks Properties Pod Properties Containers Security Context 
- Security context for a job.
- VolumeMounts []JobDefinition Eks Properties Pod Properties Containers Volume Mount 
- Volume mounts for the container.
- image String
- Docker image used to start the container.
- args List<String>
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands List<String>
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs
List<JobDefinition Eks Properties Pod Properties Containers Env> 
- Environment variables to pass to a container. See EKS Environment below.
- imagePull StringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name String
- Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
- resources
JobDefinition Eks Properties Pod Properties Containers Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- securityContext JobDefinition Eks Properties Pod Properties Containers Security Context 
- Security context for a job.
- volumeMounts List<JobDefinition Eks Properties Pod Properties Containers Volume Mount> 
- Volume mounts for the container.
- image string
- Docker image used to start the container.
- args string[]
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands string[]
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs
JobDefinition Eks Properties Pod Properties Containers Env[] 
- Environment variables to pass to a container. See EKS Environment below.
- imagePull stringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name string
- Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
- resources
JobDefinition Eks Properties Pod Properties Containers Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- securityContext JobDefinition Eks Properties Pod Properties Containers Security Context 
- Security context for a job.
- volumeMounts JobDefinition Eks Properties Pod Properties Containers Volume Mount[] 
- Volume mounts for the container.
- image str
- Docker image used to start the container.
- args Sequence[str]
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands Sequence[str]
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs
Sequence[JobDefinition Eks Properties Pod Properties Containers Env] 
- Environment variables to pass to a container. See EKS Environment below.
- image_pull_ strpolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name str
- Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
- resources
JobDefinition Eks Properties Pod Properties Containers Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- security_context JobDefinition Eks Properties Pod Properties Containers Security Context 
- Security context for a job.
- volume_mounts Sequence[JobDefinition Eks Properties Pod Properties Containers Volume Mount] 
- Volume mounts for the container.
- image String
- Docker image used to start the container.
- args List<String>
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands List<String>
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs List<Property Map>
- Environment variables to pass to a container. See EKS Environment below.
- imagePull StringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name String
- Name of the container. If the name isn't specified, the default name "Default" is used. Each container in a pod must have a unique name.
- resources Property Map
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- securityContext Property Map
- Security context for a job.
- volumeMounts List<Property Map>
- Volume mounts for the container.
JobDefinitionEksPropertiesPodPropertiesContainersEnv, JobDefinitionEksPropertiesPodPropertiesContainersEnvArgs                
JobDefinitionEksPropertiesPodPropertiesContainersResources, JobDefinitionEksPropertiesPodPropertiesContainersResourcesArgs                
JobDefinitionEksPropertiesPodPropertiesContainersSecurityContext, JobDefinitionEksPropertiesPodPropertiesContainersSecurityContextArgs                  
- Privileged bool
- ReadOnly boolRoot File System 
- RunAs intGroup 
- RunAs boolNon Root 
- RunAs intUser 
- Privileged bool
- ReadOnly boolRoot File System 
- RunAs intGroup 
- RunAs boolNon Root 
- RunAs intUser 
- privileged Boolean
- readOnly BooleanRoot File System 
- runAs IntegerGroup 
- runAs BooleanNon Root 
- runAs IntegerUser 
- privileged boolean
- readOnly booleanRoot File System 
- runAs numberGroup 
- runAs booleanNon Root 
- runAs numberUser 
- privileged bool
- read_only_ boolroot_ file_ system 
- run_as_ intgroup 
- run_as_ boolnon_ root 
- run_as_ intuser 
- privileged Boolean
- readOnly BooleanRoot File System 
- runAs NumberGroup 
- runAs BooleanNon Root 
- runAs NumberUser 
JobDefinitionEksPropertiesPodPropertiesContainersVolumeMount, JobDefinitionEksPropertiesPodPropertiesContainersVolumeMountArgs                  
- mount_path str
- name str
- Name of the job definition.
- read_only bool
JobDefinitionEksPropertiesPodPropertiesImagePullSecret, JobDefinitionEksPropertiesPodPropertiesImagePullSecretArgs                  
- Name string
- Unique identifier.
- Name string
- Unique identifier.
- name String
- Unique identifier.
- name string
- Unique identifier.
- name str
- Unique identifier.
- name String
- Unique identifier.
JobDefinitionEksPropertiesPodPropertiesInitContainer, JobDefinitionEksPropertiesPodPropertiesInitContainerArgs                
- Image string
- Docker image used to start the container.
- Args List<string>
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- Commands List<string>
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- Envs
List<JobDefinition Eks Properties Pod Properties Init Container Env> 
- Environment variables to pass to a container. See EKS Environment below.
- ImagePull stringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- Name string
- Name of the job definition.
- Resources
JobDefinition Eks Properties Pod Properties Init Container Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- SecurityContext JobDefinition Eks Properties Pod Properties Init Container Security Context 
- Security context for a job.
- VolumeMounts List<JobDefinition Eks Properties Pod Properties Init Container Volume Mount> 
- Volume mounts for the container.
- Image string
- Docker image used to start the container.
- Args []string
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- Commands []string
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- Envs
[]JobDefinition Eks Properties Pod Properties Init Container Env 
- Environment variables to pass to a container. See EKS Environment below.
- ImagePull stringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- Name string
- Name of the job definition.
- Resources
JobDefinition Eks Properties Pod Properties Init Container Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- SecurityContext JobDefinition Eks Properties Pod Properties Init Container Security Context 
- Security context for a job.
- VolumeMounts []JobDefinition Eks Properties Pod Properties Init Container Volume Mount 
- Volume mounts for the container.
- image String
- Docker image used to start the container.
- args List<String>
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands List<String>
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs
List<JobDefinition Eks Properties Pod Properties Init Container Env> 
- Environment variables to pass to a container. See EKS Environment below.
- imagePull StringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name String
- Name of the job definition.
- resources
JobDefinition Eks Properties Pod Properties Init Container Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- securityContext JobDefinition Eks Properties Pod Properties Init Container Security Context 
- Security context for a job.
- volumeMounts List<JobDefinition Eks Properties Pod Properties Init Container Volume Mount> 
- Volume mounts for the container.
- image string
- Docker image used to start the container.
- args string[]
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands string[]
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs
JobDefinition Eks Properties Pod Properties Init Container Env[] 
- Environment variables to pass to a container. See EKS Environment below.
- imagePull stringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name string
- Name of the job definition.
- resources
JobDefinition Eks Properties Pod Properties Init Container Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- securityContext JobDefinition Eks Properties Pod Properties Init Container Security Context 
- Security context for a job.
- volumeMounts JobDefinition Eks Properties Pod Properties Init Container Volume Mount[] 
- Volume mounts for the container.
- image str
- Docker image used to start the container.
- args Sequence[str]
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands Sequence[str]
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs
Sequence[JobDefinition Eks Properties Pod Properties Init Container Env] 
- Environment variables to pass to a container. See EKS Environment below.
- image_pull_ strpolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name str
- Name of the job definition.
- resources
JobDefinition Eks Properties Pod Properties Init Container Resources 
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- security_context JobDefinition Eks Properties Pod Properties Init Container Security Context 
- Security context for a job.
- volume_mounts Sequence[JobDefinition Eks Properties Pod Properties Init Container Volume Mount] 
- Volume mounts for the container.
- image String
- Docker image used to start the container.
- args List<String>
- Array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.
- commands List<String>
- Entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.
- envs List<Property Map>
- Environment variables to pass to a container. See EKS Environment below.
- imagePull StringPolicy 
- Image pull policy for the container. Supported values are Always,IfNotPresent, andNever.
- name String
- Name of the job definition.
- resources Property Map
- Type and amount of resources to assign to a container. The supported resources include memory,cpu, andnvidia.com/gpu.
- securityContext Property Map
- Security context for a job.
- volumeMounts List<Property Map>
- Volume mounts for the container.
JobDefinitionEksPropertiesPodPropertiesInitContainerEnv, JobDefinitionEksPropertiesPodPropertiesInitContainerEnvArgs                  
JobDefinitionEksPropertiesPodPropertiesInitContainerResources, JobDefinitionEksPropertiesPodPropertiesInitContainerResourcesArgs                  
JobDefinitionEksPropertiesPodPropertiesInitContainerSecurityContext, JobDefinitionEksPropertiesPodPropertiesInitContainerSecurityContextArgs                    
- Privileged bool
- ReadOnly boolRoot File System 
- RunAs intGroup 
- RunAs boolNon Root 
- RunAs intUser 
- Privileged bool
- ReadOnly boolRoot File System 
- RunAs intGroup 
- RunAs boolNon Root 
- RunAs intUser 
- privileged Boolean
- readOnly BooleanRoot File System 
- runAs IntegerGroup 
- runAs BooleanNon Root 
- runAs IntegerUser 
- privileged boolean
- readOnly booleanRoot File System 
- runAs numberGroup 
- runAs booleanNon Root 
- runAs numberUser 
- privileged bool
- read_only_ boolroot_ file_ system 
- run_as_ intgroup 
- run_as_ boolnon_ root 
- run_as_ intuser 
- privileged Boolean
- readOnly BooleanRoot File System 
- runAs NumberGroup 
- runAs BooleanNon Root 
- runAs NumberUser 
JobDefinitionEksPropertiesPodPropertiesInitContainerVolumeMount, JobDefinitionEksPropertiesPodPropertiesInitContainerVolumeMountArgs                    
- mount_path str
- name str
- Name of the job definition.
- read_only bool
JobDefinitionEksPropertiesPodPropertiesMetadata, JobDefinitionEksPropertiesPodPropertiesMetadataArgs              
- Labels Dictionary<string, string>
- Key-value pairs used to identify, sort, and organize cube resources.
- Labels map[string]string
- Key-value pairs used to identify, sort, and organize cube resources.
- labels Map<String,String>
- Key-value pairs used to identify, sort, and organize cube resources.
- labels {[key: string]: string}
- Key-value pairs used to identify, sort, and organize cube resources.
- labels Mapping[str, str]
- Key-value pairs used to identify, sort, and organize cube resources.
- labels Map<String>
- Key-value pairs used to identify, sort, and organize cube resources.
JobDefinitionEksPropertiesPodPropertiesVolume, JobDefinitionEksPropertiesPodPropertiesVolumeArgs              
- emptyDir Property Map
- hostPath Property Map
- name String
- Name of the job definition.
- secret Property Map
JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDir, JobDefinitionEksPropertiesPodPropertiesVolumeEmptyDirArgs                  
- size_limit str
- Maximum size of the volume. By default, there's no maximum size defined.
- medium str
- Medium to store the volume. The default value is an empty string, which uses the storage of the node.
JobDefinitionEksPropertiesPodPropertiesVolumeHostPath, JobDefinitionEksPropertiesPodPropertiesVolumeHostPathArgs                  
- Path string
- Path of the file or directory on the host to mount into containers on the pod.
- Path string
- Path of the file or directory on the host to mount into containers on the pod.
- path String
- Path of the file or directory on the host to mount into containers on the pod.
- path string
- Path of the file or directory on the host to mount into containers on the pod.
- path str
- Path of the file or directory on the host to mount into containers on the pod.
- path String
- Path of the file or directory on the host to mount into containers on the pod.
JobDefinitionEksPropertiesPodPropertiesVolumeSecret, JobDefinitionEksPropertiesPodPropertiesVolumeSecretArgs                
- SecretName string
- Name of the secret. The name must be allowed as a DNS subdomain name.
- Optional bool
- Whether the secret or the secret's keys must be defined.
- SecretName string
- Name of the secret. The name must be allowed as a DNS subdomain name.
- Optional bool
- Whether the secret or the secret's keys must be defined.
- secretName String
- Name of the secret. The name must be allowed as a DNS subdomain name.
- optional Boolean
- Whether the secret or the secret's keys must be defined.
- secretName string
- Name of the secret. The name must be allowed as a DNS subdomain name.
- optional boolean
- Whether the secret or the secret's keys must be defined.
- secret_name str
- Name of the secret. The name must be allowed as a DNS subdomain name.
- optional bool
- Whether the secret or the secret's keys must be defined.
- secretName String
- Name of the secret. The name must be allowed as a DNS subdomain name.
- optional Boolean
- Whether the secret or the secret's keys must be defined.
JobDefinitionRetryStrategy, JobDefinitionRetryStrategyArgs        
- Attempts int
- Number of times to move a job to the RUNNABLEstatus. You may specify between1and10attempts.
- EvaluateOn List<JobExits Definition Retry Strategy Evaluate On Exit> 
- Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the attemptsparameter must also be specified. You may specify up to 5 configuration blocks.
- Attempts int
- Number of times to move a job to the RUNNABLEstatus. You may specify between1and10attempts.
- EvaluateOn []JobExits Definition Retry Strategy Evaluate On Exit 
- Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the attemptsparameter must also be specified. You may specify up to 5 configuration blocks.
- attempts Integer
- Number of times to move a job to the RUNNABLEstatus. You may specify between1and10attempts.
- evaluateOn List<JobExits Definition Retry Strategy Evaluate On Exit> 
- Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the attemptsparameter must also be specified. You may specify up to 5 configuration blocks.
- attempts number
- Number of times to move a job to the RUNNABLEstatus. You may specify between1and10attempts.
- evaluateOn JobExits Definition Retry Strategy Evaluate On Exit[] 
- Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the attemptsparameter must also be specified. You may specify up to 5 configuration blocks.
- attempts int
- Number of times to move a job to the RUNNABLEstatus. You may specify between1and10attempts.
- evaluate_on_ Sequence[Jobexits Definition Retry Strategy Evaluate On Exit] 
- Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the attemptsparameter must also be specified. You may specify up to 5 configuration blocks.
- attempts Number
- Number of times to move a job to the RUNNABLEstatus. You may specify between1and10attempts.
- evaluateOn List<Property Map>Exits 
- Evaluate on exit conditions under which the job should be retried or failed. If this parameter is specified, then the attemptsparameter must also be specified. You may specify up to 5 configuration blocks.
JobDefinitionRetryStrategyEvaluateOnExit, JobDefinitionRetryStrategyEvaluateOnExitArgs              
- Action string
- Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: retry,exit.
- OnExit stringCode 
- Glob pattern to match against the decimal representation of the exit code returned for a job.
- OnReason string
- Glob pattern to match against the reason returned for a job.
- OnStatus stringReason 
- Glob pattern to match against the status reason returned for a job.
- Action string
- Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: retry,exit.
- OnExit stringCode 
- Glob pattern to match against the decimal representation of the exit code returned for a job.
- OnReason string
- Glob pattern to match against the reason returned for a job.
- OnStatus stringReason 
- Glob pattern to match against the status reason returned for a job.
- action String
- Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: retry,exit.
- onExit StringCode 
- Glob pattern to match against the decimal representation of the exit code returned for a job.
- onReason String
- Glob pattern to match against the reason returned for a job.
- onStatus StringReason 
- Glob pattern to match against the status reason returned for a job.
- action string
- Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: retry,exit.
- onExit stringCode 
- Glob pattern to match against the decimal representation of the exit code returned for a job.
- onReason string
- Glob pattern to match against the reason returned for a job.
- onStatus stringReason 
- Glob pattern to match against the status reason returned for a job.
- action str
- Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: retry,exit.
- on_exit_ strcode 
- Glob pattern to match against the decimal representation of the exit code returned for a job.
- on_reason str
- Glob pattern to match against the reason returned for a job.
- on_status_ strreason 
- Glob pattern to match against the status reason returned for a job.
- action String
- Action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: retry,exit.
- onExit StringCode 
- Glob pattern to match against the decimal representation of the exit code returned for a job.
- onReason String
- Glob pattern to match against the reason returned for a job.
- onStatus StringReason 
- Glob pattern to match against the status reason returned for a job.
JobDefinitionTimeout, JobDefinitionTimeoutArgs      
- AttemptDuration intSeconds 
- Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is 60seconds.
- AttemptDuration intSeconds 
- Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is 60seconds.
- attemptDuration IntegerSeconds 
- Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is 60seconds.
- attemptDuration numberSeconds 
- Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is 60seconds.
- attempt_duration_ intseconds 
- Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is 60seconds.
- attemptDuration NumberSeconds 
- Time duration in seconds after which AWS Batch terminates your jobs if they have not finished. The minimum value for the timeout is 60seconds.
Import
Using pulumi import, import Batch Job Definition using the arn. For example:
$ pulumi import aws:batch/jobDefinition:JobDefinition test arn:aws:batch:us-east-1:123456789012:job-definition/sample
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.