From bda616d053ab1f56db61613d620455449fae6069 Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 10 Jul 2024 18:50:47 +0000 Subject: [PATCH] feat(client-batch): This feature allows AWS Batch Jobs with EKS container orchestration type to be run as Multi-Node Parallel Jobs. --- .../commands/DescribeJobDefinitionsCommand.ts | 152 +++++++++++++++--- .../src/commands/DescribeJobsCommand.ts | 145 +++++++++++++++-- .../commands/RegisterJobDefinitionCommand.ts | 152 +++++++++++++++--- .../src/commands/SubmitJobCommand.ts | 75 +++++++-- clients/client-batch/src/models/models_0.ts | 18 +++ codegen/sdk-codegen/aws-models/batch.json | 54 ++++--- 6 files changed, 508 insertions(+), 88 deletions(-) diff --git a/clients/client-batch/src/commands/DescribeJobDefinitionsCommand.ts b/clients/client-batch/src/commands/DescribeJobDefinitionsCommand.ts index ff64f0d6dcf34..68b67f83a9e31 100644 --- a/clients/client-batch/src/commands/DescribeJobDefinitionsCommand.ts +++ b/clients/client-batch/src/commands/DescribeJobDefinitionsCommand.ts @@ -340,6 +340,116 @@ export interface DescribeJobDefinitionsCommandOutput extends DescribeJobDefiniti * // }, * // ], * // }, + * // eksProperties: { // EksProperties + * // podProperties: { // EksPodProperties + * // serviceAccountName: "STRING_VALUE", + * // hostNetwork: true || false, + * // dnsPolicy: "STRING_VALUE", + * // imagePullSecrets: [ // ImagePullSecrets + * // { // ImagePullSecret + * // name: "STRING_VALUE", // required + * // }, + * // ], + * // containers: [ // EksContainers + * // { // EksContainer + * // name: "STRING_VALUE", + * // image: "STRING_VALUE", // required + * // imagePullPolicy: "STRING_VALUE", + * // command: "", + * // args: "", + * // env: [ // EksContainerEnvironmentVariables + * // { // EksContainerEnvironmentVariable + * // name: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // resources: { // EksContainerResourceRequirements + * // limits: { // EksLimits + * // "": "STRING_VALUE", + * // }, + * // requests: { // EksRequests + * // "": "STRING_VALUE", + * // }, + * // }, + * // volumeMounts: [ // EksContainerVolumeMounts + * // { // EksContainerVolumeMount + * // name: "STRING_VALUE", + * // mountPath: "STRING_VALUE", + * // readOnly: true || false, + * // }, + * // ], + * // securityContext: { // EksContainerSecurityContext + * // runAsUser: Number("long"), + * // runAsGroup: Number("long"), + * // privileged: true || false, + * // allowPrivilegeEscalation: true || false, + * // readOnlyRootFilesystem: true || false, + * // runAsNonRoot: true || false, + * // }, + * // }, + * // ], + * // initContainers: [ + * // { + * // name: "STRING_VALUE", + * // image: "STRING_VALUE", // required + * // imagePullPolicy: "STRING_VALUE", + * // command: "", + * // args: "", + * // env: [ + * // { + * // name: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // resources: { + * // limits: { + * // "": "STRING_VALUE", + * // }, + * // requests: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // volumeMounts: [ + * // { + * // name: "STRING_VALUE", + * // mountPath: "STRING_VALUE", + * // readOnly: true || false, + * // }, + * // ], + * // securityContext: { + * // runAsUser: Number("long"), + * // runAsGroup: Number("long"), + * // privileged: true || false, + * // allowPrivilegeEscalation: true || false, + * // readOnlyRootFilesystem: true || false, + * // runAsNonRoot: true || false, + * // }, + * // }, + * // ], + * // volumes: [ // EksVolumes + * // { // EksVolume + * // name: "STRING_VALUE", // required + * // hostPath: { // EksHostPath + * // path: "STRING_VALUE", + * // }, + * // emptyDir: { // EksEmptyDir + * // medium: "STRING_VALUE", + * // sizeLimit: "STRING_VALUE", + * // }, + * // secret: { // EksSecret + * // secretName: "STRING_VALUE", // required + * // optional: true || false, + * // }, + * // }, + * // ], + * // metadata: { // EksMetadata + * // labels: { // EksLabelsMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // shareProcessNamespace: true || false, + * // }, + * // }, * // }, * // ], * // }, @@ -390,45 +500,45 @@ export interface DescribeJobDefinitionsCommandOutput extends DescribeJobDefiniti * // }, * // ], * // }, - * // eksProperties: { // EksProperties - * // podProperties: { // EksPodProperties + * // eksProperties: { + * // podProperties: { * // serviceAccountName: "STRING_VALUE", * // hostNetwork: true || false, * // dnsPolicy: "STRING_VALUE", - * // imagePullSecrets: [ // ImagePullSecrets - * // { // ImagePullSecret + * // imagePullSecrets: [ + * // { * // name: "STRING_VALUE", // required * // }, * // ], - * // containers: [ // EksContainers - * // { // EksContainer + * // containers: [ + * // { * // name: "STRING_VALUE", * // image: "STRING_VALUE", // required * // imagePullPolicy: "STRING_VALUE", * // command: "", * // args: "", - * // env: [ // EksContainerEnvironmentVariables - * // { // EksContainerEnvironmentVariable + * // env: [ + * // { * // name: "STRING_VALUE", // required * // value: "STRING_VALUE", * // }, * // ], - * // resources: { // EksContainerResourceRequirements - * // limits: { // EksLimits + * // resources: { + * // limits: { * // "": "STRING_VALUE", * // }, - * // requests: { // EksRequests + * // requests: { * // "": "STRING_VALUE", * // }, * // }, - * // volumeMounts: [ // EksContainerVolumeMounts - * // { // EksContainerVolumeMount + * // volumeMounts: [ + * // { * // name: "STRING_VALUE", * // mountPath: "STRING_VALUE", * // readOnly: true || false, * // }, * // ], - * // securityContext: { // EksContainerSecurityContext + * // securityContext: { * // runAsUser: Number("long"), * // runAsGroup: Number("long"), * // privileged: true || false, @@ -476,24 +586,24 @@ export interface DescribeJobDefinitionsCommandOutput extends DescribeJobDefiniti * // }, * // }, * // ], - * // volumes: [ // EksVolumes - * // { // EksVolume + * // volumes: [ + * // { * // name: "STRING_VALUE", // required - * // hostPath: { // EksHostPath + * // hostPath: { * // path: "STRING_VALUE", * // }, - * // emptyDir: { // EksEmptyDir + * // emptyDir: { * // medium: "STRING_VALUE", * // sizeLimit: "STRING_VALUE", * // }, - * // secret: { // EksSecret + * // secret: { * // secretName: "STRING_VALUE", // required * // optional: true || false, * // }, * // }, * // ], - * // metadata: { // EksMetadata - * // labels: { // EksLabelsMap + * // metadata: { + * // labels: { * // "": "STRING_VALUE", * // }, * // }, diff --git a/clients/client-batch/src/commands/DescribeJobsCommand.ts b/clients/client-batch/src/commands/DescribeJobsCommand.ts index b44f37a86dbdd..4899e71437953 100644 --- a/clients/client-batch/src/commands/DescribeJobsCommand.ts +++ b/clients/client-batch/src/commands/DescribeJobsCommand.ts @@ -396,6 +396,116 @@ export interface DescribeJobsCommandOutput extends DescribeJobsResponse, __Metad * // }, * // ], * // }, + * // eksProperties: { // EksProperties + * // podProperties: { // EksPodProperties + * // serviceAccountName: "STRING_VALUE", + * // hostNetwork: true || false, + * // dnsPolicy: "STRING_VALUE", + * // imagePullSecrets: [ // ImagePullSecrets + * // { // ImagePullSecret + * // name: "STRING_VALUE", // required + * // }, + * // ], + * // containers: [ // EksContainers + * // { // EksContainer + * // name: "STRING_VALUE", + * // image: "STRING_VALUE", // required + * // imagePullPolicy: "STRING_VALUE", + * // command: "", + * // args: "", + * // env: [ // EksContainerEnvironmentVariables + * // { // EksContainerEnvironmentVariable + * // name: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // resources: { // EksContainerResourceRequirements + * // limits: { // EksLimits + * // "": "STRING_VALUE", + * // }, + * // requests: { // EksRequests + * // "": "STRING_VALUE", + * // }, + * // }, + * // volumeMounts: [ // EksContainerVolumeMounts + * // { // EksContainerVolumeMount + * // name: "STRING_VALUE", + * // mountPath: "STRING_VALUE", + * // readOnly: true || false, + * // }, + * // ], + * // securityContext: { // EksContainerSecurityContext + * // runAsUser: Number("long"), + * // runAsGroup: Number("long"), + * // privileged: true || false, + * // allowPrivilegeEscalation: true || false, + * // readOnlyRootFilesystem: true || false, + * // runAsNonRoot: true || false, + * // }, + * // }, + * // ], + * // initContainers: [ + * // { + * // name: "STRING_VALUE", + * // image: "STRING_VALUE", // required + * // imagePullPolicy: "STRING_VALUE", + * // command: "", + * // args: "", + * // env: [ + * // { + * // name: "STRING_VALUE", // required + * // value: "STRING_VALUE", + * // }, + * // ], + * // resources: { + * // limits: { + * // "": "STRING_VALUE", + * // }, + * // requests: { + * // "": "STRING_VALUE", + * // }, + * // }, + * // volumeMounts: [ + * // { + * // name: "STRING_VALUE", + * // mountPath: "STRING_VALUE", + * // readOnly: true || false, + * // }, + * // ], + * // securityContext: { + * // runAsUser: Number("long"), + * // runAsGroup: Number("long"), + * // privileged: true || false, + * // allowPrivilegeEscalation: true || false, + * // readOnlyRootFilesystem: true || false, + * // runAsNonRoot: true || false, + * // }, + * // }, + * // ], + * // volumes: [ // EksVolumes + * // { // EksVolume + * // name: "STRING_VALUE", // required + * // hostPath: { // EksHostPath + * // path: "STRING_VALUE", + * // }, + * // emptyDir: { // EksEmptyDir + * // medium: "STRING_VALUE", + * // sizeLimit: "STRING_VALUE", + * // }, + * // secret: { // EksSecret + * // secretName: "STRING_VALUE", // required + * // optional: true || false, + * // }, + * // }, + * // ], + * // metadata: { // EksMetadata + * // labels: { // EksLabelsMap + * // "": "STRING_VALUE", + * // }, + * // }, + * // shareProcessNamespace: true || false, + * // }, + * // }, * // }, * // ], * // }, @@ -421,8 +531,8 @@ export interface DescribeJobsCommandOutput extends DescribeJobsResponse, __Metad * // serviceAccountName: "STRING_VALUE", * // hostNetwork: true || false, * // dnsPolicy: "STRING_VALUE", - * // imagePullSecrets: [ // ImagePullSecrets - * // { // ImagePullSecret + * // imagePullSecrets: [ + * // { * // name: "STRING_VALUE", // required * // }, * // ], @@ -433,30 +543,30 @@ export interface DescribeJobsCommandOutput extends DescribeJobsResponse, __Metad * // imagePullPolicy: "STRING_VALUE", * // command: "", * // args: "", - * // env: [ // EksContainerEnvironmentVariables - * // { // EksContainerEnvironmentVariable + * // env: [ + * // { * // name: "STRING_VALUE", // required * // value: "STRING_VALUE", * // }, * // ], - * // resources: { // EksContainerResourceRequirements - * // limits: { // EksLimits + * // resources: { + * // limits: { * // "": "STRING_VALUE", * // }, - * // requests: { // EksRequests + * // requests: { * // "": "STRING_VALUE", * // }, * // }, * // exitCode: Number("int"), * // reason: "STRING_VALUE", - * // volumeMounts: [ // EksContainerVolumeMounts - * // { // EksContainerVolumeMount + * // volumeMounts: [ + * // { * // name: "STRING_VALUE", * // mountPath: "STRING_VALUE", * // readOnly: true || false, * // }, * // ], - * // securityContext: { // EksContainerSecurityContext + * // securityContext: { * // runAsUser: Number("long"), * // runAsGroup: Number("long"), * // privileged: true || false, @@ -506,17 +616,17 @@ export interface DescribeJobsCommandOutput extends DescribeJobsResponse, __Metad * // }, * // }, * // ], - * // volumes: [ // EksVolumes - * // { // EksVolume + * // volumes: [ + * // { * // name: "STRING_VALUE", // required - * // hostPath: { // EksHostPath + * // hostPath: { * // path: "STRING_VALUE", * // }, - * // emptyDir: { // EksEmptyDir + * // emptyDir: { * // medium: "STRING_VALUE", * // sizeLimit: "STRING_VALUE", * // }, - * // secret: { // EksSecret + * // secret: { * // secretName: "STRING_VALUE", // required * // optional: true || false, * // }, @@ -524,8 +634,8 @@ export interface DescribeJobsCommandOutput extends DescribeJobsResponse, __Metad * // ], * // podName: "STRING_VALUE", * // nodeName: "STRING_VALUE", - * // metadata: { // EksMetadata - * // labels: { // EksLabelsMap + * // metadata: { + * // labels: { * // "": "STRING_VALUE", * // }, * // }, @@ -548,6 +658,7 @@ export interface DescribeJobsCommandOutput extends DescribeJobsResponse, __Metad * // reason: "STRING_VALUE", * // }, * // ], + * // eksClusterArn: "STRING_VALUE", * // podName: "STRING_VALUE", * // nodeName: "STRING_VALUE", * // startedAt: Number("long"), diff --git a/clients/client-batch/src/commands/RegisterJobDefinitionCommand.ts b/clients/client-batch/src/commands/RegisterJobDefinitionCommand.ts index 16bb4d53eaa68..61581fda1a1fe 100644 --- a/clients/client-batch/src/commands/RegisterJobDefinitionCommand.ts +++ b/clients/client-batch/src/commands/RegisterJobDefinitionCommand.ts @@ -309,6 +309,116 @@ export interface RegisterJobDefinitionCommandOutput extends RegisterJobDefinitio * }, * ], * }, + * eksProperties: { // EksProperties + * podProperties: { // EksPodProperties + * serviceAccountName: "STRING_VALUE", + * hostNetwork: true || false, + * dnsPolicy: "STRING_VALUE", + * imagePullSecrets: [ // ImagePullSecrets + * { // ImagePullSecret + * name: "STRING_VALUE", // required + * }, + * ], + * containers: [ // EksContainers + * { // EksContainer + * name: "STRING_VALUE", + * image: "STRING_VALUE", // required + * imagePullPolicy: "STRING_VALUE", + * command: "", + * args: "", + * env: [ // EksContainerEnvironmentVariables + * { // EksContainerEnvironmentVariable + * name: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * ], + * resources: { // EksContainerResourceRequirements + * limits: { // EksLimits + * "": "STRING_VALUE", + * }, + * requests: { // EksRequests + * "": "STRING_VALUE", + * }, + * }, + * volumeMounts: [ // EksContainerVolumeMounts + * { // EksContainerVolumeMount + * name: "STRING_VALUE", + * mountPath: "STRING_VALUE", + * readOnly: true || false, + * }, + * ], + * securityContext: { // EksContainerSecurityContext + * runAsUser: Number("long"), + * runAsGroup: Number("long"), + * privileged: true || false, + * allowPrivilegeEscalation: true || false, + * readOnlyRootFilesystem: true || false, + * runAsNonRoot: true || false, + * }, + * }, + * ], + * initContainers: [ + * { + * name: "STRING_VALUE", + * image: "STRING_VALUE", // required + * imagePullPolicy: "STRING_VALUE", + * command: "", + * args: "", + * env: [ + * { + * name: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * ], + * resources: { + * limits: { + * "": "STRING_VALUE", + * }, + * requests: { + * "": "STRING_VALUE", + * }, + * }, + * volumeMounts: [ + * { + * name: "STRING_VALUE", + * mountPath: "STRING_VALUE", + * readOnly: true || false, + * }, + * ], + * securityContext: { + * runAsUser: Number("long"), + * runAsGroup: Number("long"), + * privileged: true || false, + * allowPrivilegeEscalation: true || false, + * readOnlyRootFilesystem: true || false, + * runAsNonRoot: true || false, + * }, + * }, + * ], + * volumes: [ // EksVolumes + * { // EksVolume + * name: "STRING_VALUE", // required + * hostPath: { // EksHostPath + * path: "STRING_VALUE", + * }, + * emptyDir: { // EksEmptyDir + * medium: "STRING_VALUE", + * sizeLimit: "STRING_VALUE", + * }, + * secret: { // EksSecret + * secretName: "STRING_VALUE", // required + * optional: true || false, + * }, + * }, + * ], + * metadata: { // EksMetadata + * labels: { // EksLabelsMap + * "": "STRING_VALUE", + * }, + * }, + * shareProcessNamespace: true || false, + * }, + * }, * }, * ], * }, @@ -333,45 +443,45 @@ export interface RegisterJobDefinitionCommandOutput extends RegisterJobDefinitio * platformCapabilities: [ // PlatformCapabilityList * "EC2" || "FARGATE", * ], - * eksProperties: { // EksProperties - * podProperties: { // EksPodProperties + * eksProperties: { + * podProperties: { * serviceAccountName: "STRING_VALUE", * hostNetwork: true || false, * dnsPolicy: "STRING_VALUE", - * imagePullSecrets: [ // ImagePullSecrets - * { // ImagePullSecret + * imagePullSecrets: [ + * { * name: "STRING_VALUE", // required * }, * ], - * containers: [ // EksContainers - * { // EksContainer + * containers: [ + * { * name: "STRING_VALUE", * image: "STRING_VALUE", // required * imagePullPolicy: "STRING_VALUE", * command: "", * args: "", - * env: [ // EksContainerEnvironmentVariables - * { // EksContainerEnvironmentVariable + * env: [ + * { * name: "STRING_VALUE", // required * value: "STRING_VALUE", * }, * ], - * resources: { // EksContainerResourceRequirements - * limits: { // EksLimits + * resources: { + * limits: { * "": "STRING_VALUE", * }, - * requests: { // EksRequests + * requests: { * "": "STRING_VALUE", * }, * }, - * volumeMounts: [ // EksContainerVolumeMounts - * { // EksContainerVolumeMount + * volumeMounts: [ + * { * name: "STRING_VALUE", * mountPath: "STRING_VALUE", * readOnly: true || false, * }, * ], - * securityContext: { // EksContainerSecurityContext + * securityContext: { * runAsUser: Number("long"), * runAsGroup: Number("long"), * privileged: true || false, @@ -419,24 +529,24 @@ export interface RegisterJobDefinitionCommandOutput extends RegisterJobDefinitio * }, * }, * ], - * volumes: [ // EksVolumes - * { // EksVolume + * volumes: [ + * { * name: "STRING_VALUE", // required - * hostPath: { // EksHostPath + * hostPath: { * path: "STRING_VALUE", * }, - * emptyDir: { // EksEmptyDir + * emptyDir: { * medium: "STRING_VALUE", * sizeLimit: "STRING_VALUE", * }, - * secret: { // EksSecret + * secret: { * secretName: "STRING_VALUE", // required * optional: true || false, * }, * }, * ], - * metadata: { // EksMetadata - * labels: { // EksLabelsMap + * metadata: { + * labels: { * "": "STRING_VALUE", * }, * }, diff --git a/clients/client-batch/src/commands/SubmitJobCommand.ts b/clients/client-batch/src/commands/SubmitJobCommand.ts index aa2a42211d157..cccbddf73dba8 100644 --- a/clients/client-batch/src/commands/SubmitJobCommand.ts +++ b/clients/client-batch/src/commands/SubmitJobCommand.ts @@ -127,6 +127,59 @@ export interface SubmitJobCommandOutput extends SubmitJobResponse, __MetadataBea * ], * }, * instanceTypes: "", + * eksPropertiesOverride: { // EksPropertiesOverride + * podProperties: { // EksPodPropertiesOverride + * containers: [ // EksContainerOverrideList + * { // EksContainerOverride + * name: "STRING_VALUE", + * image: "STRING_VALUE", + * command: "", + * args: "", + * env: [ // EksContainerEnvironmentVariables + * { // EksContainerEnvironmentVariable + * name: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * ], + * resources: { // EksContainerResourceRequirements + * limits: { // EksLimits + * "": "STRING_VALUE", + * }, + * requests: { // EksRequests + * "": "STRING_VALUE", + * }, + * }, + * }, + * ], + * initContainers: [ + * { + * name: "STRING_VALUE", + * image: "STRING_VALUE", + * command: "", + * args: "", + * env: [ + * { + * name: "STRING_VALUE", // required + * value: "STRING_VALUE", + * }, + * ], + * resources: { + * limits: { + * "": "STRING_VALUE", + * }, + * requests: { + * "": "STRING_VALUE", + * }, + * }, + * }, + * ], + * metadata: { // EksMetadata + * labels: { // EksLabelsMap + * "": "STRING_VALUE", + * }, + * }, + * }, + * }, * }, * ], * }, @@ -148,25 +201,25 @@ export interface SubmitJobCommandOutput extends SubmitJobResponse, __MetadataBea * tags: { // TagrisTagsMap * "": "STRING_VALUE", * }, - * eksPropertiesOverride: { // EksPropertiesOverride - * podProperties: { // EksPodPropertiesOverride - * containers: [ // EksContainerOverrideList - * { // EksContainerOverride + * eksPropertiesOverride: { + * podProperties: { + * containers: [ + * { * name: "STRING_VALUE", * image: "STRING_VALUE", * command: "", * args: "", - * env: [ // EksContainerEnvironmentVariables - * { // EksContainerEnvironmentVariable + * env: [ + * { * name: "STRING_VALUE", // required * value: "STRING_VALUE", * }, * ], - * resources: { // EksContainerResourceRequirements - * limits: { // EksLimits + * resources: { + * limits: { * "": "STRING_VALUE", * }, - * requests: { // EksRequests + * requests: { * "": "STRING_VALUE", * }, * }, @@ -194,8 +247,8 @@ export interface SubmitJobCommandOutput extends SubmitJobResponse, __MetadataBea * }, * }, * ], - * metadata: { // EksMetadata - * labels: { // EksLabelsMap + * metadata: { + * labels: { * "": "STRING_VALUE", * }, * }, diff --git a/clients/client-batch/src/models/models_0.ts b/clients/client-batch/src/models/models_0.ts index dea5f0f84d32c..b1eec673b0d6d 100644 --- a/clients/client-batch/src/models/models_0.ts +++ b/clients/client-batch/src/models/models_0.ts @@ -3865,6 +3865,12 @@ export interface NodeRangeProperty { * @public */ ecsProperties?: EcsProperties; + + /** + *

This is an object that represents the properties of the node range for a multi-node parallel job.

+ * @public + */ + eksProperties?: EksProperties; } /** @@ -5047,6 +5053,12 @@ export interface EksAttemptDetail { */ initContainers?: EksAttemptContainerDetail[]; + /** + *

The Amazon Resource Name (ARN) of the Amazon EKS cluster.

+ * @public + */ + eksClusterArn?: string; + /** *

The name of the pod for this job attempt.

* @public @@ -6544,6 +6556,12 @@ export interface NodePropertyOverride { * @public */ instanceTypes?: string[]; + + /** + *

An object that contains the properties that you want to replace for the existing Amazon EKS resources of a job.

+ * @public + */ + eksPropertiesOverride?: EksPropertiesOverride; } /** diff --git a/codegen/sdk-codegen/aws-models/batch.json b/codegen/sdk-codegen/aws-models/batch.json index ce2467750a08a..6bbb9d760dff4 100644 --- a/codegen/sdk-codegen/aws-models/batch.json +++ b/codegen/sdk-codegen/aws-models/batch.json @@ -3984,6 +3984,12 @@ "smithy.api#documentation": "

The details for the init containers.

" } }, + "eksClusterArn": { + "target": "com.amazonaws.batch#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon EKS cluster.

" + } + }, "podName": { "target": "com.amazonaws.batch#String", "traits": { @@ -6459,6 +6465,12 @@ "traits": { "smithy.api#documentation": "

An object that contains the instance types that you want to replace for the existing\n resources of a job.

" } + }, + "eksPropertiesOverride": { + "target": "com.amazonaws.batch#EksPropertiesOverride", + "traits": { + "smithy.api#documentation": "

An object that contains the properties that you want to replace for the existing Amazon EKS resources of a job.

" + } } }, "traits": { @@ -6505,6 +6517,12 @@ "traits": { "smithy.api#documentation": "

This is an object that represents the properties of the node range for a multi-node parallel\n job.

" } + }, + "eksProperties": { + "target": "com.amazonaws.batch#EksProperties", + "traits": { + "smithy.api#documentation": "

This is an object that represents the properties of the node range for a multi-node parallel job.

" + } } }, "traits": { @@ -6589,12 +6607,14 @@ "smithy.api#documentation": "

Registers an Batch job definition.

", "smithy.api#examples": [ { - "title": "To register a job definition", - "documentation": "This example registers a job definition for a simple container job.", + "title": "RegisterJobDefinition with tags", + "documentation": "This demonstrates calling the RegisterJobDefinition action, including tags.", "input": { + "jobDefinitionName": "sleep30", + "type": "container", "containerProperties": { "image": "busybox", - "command": ["sleep", "10"], + "command": ["sleep", "30"], "resourceRequirements": [ { "type": "MEMORY", @@ -6606,24 +6626,24 @@ } ] }, - "type": "container", - "jobDefinitionName": "sleep10" + "tags": { + "Department": "Engineering", + "User": "JaneDoe" + } }, "output": { - "jobDefinitionName": "sleep10", - "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep10:1", + "jobDefinitionName": "sleep30", + "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1", "revision": 1 } }, { - "title": "RegisterJobDefinition with tags", - "documentation": "This demonstrates calling the RegisterJobDefinition action, including tags.", + "title": "To register a job definition", + "documentation": "This example registers a job definition for a simple container job.", "input": { - "jobDefinitionName": "sleep30", - "type": "container", "containerProperties": { "image": "busybox", - "command": ["sleep", "30"], + "command": ["sleep", "10"], "resourceRequirements": [ { "type": "MEMORY", @@ -6635,14 +6655,12 @@ } ] }, - "tags": { - "Department": "Engineering", - "User": "JaneDoe" - } + "type": "container", + "jobDefinitionName": "sleep10" }, "output": { - "jobDefinitionName": "sleep30", - "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1", + "jobDefinitionName": "sleep10", + "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep10:1", "revision": 1 } }