Skip to content
v2.274.0

NodeRangePropertyProperty Struct ​

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

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_batch as batch } from 'aws-cdk-lib';

declare const labels: any;
declare const limits: any;
declare const options: any;
declare const requests: any;
const nodeRangePropertyProperty: batch.CfnJobDefinition.NodeRangePropertyProperty = {
  targetNodes: 'targetNodes',

  // the properties below are optional
  consumableResourceProperties: {
    consumableResourceList: [{
      consumableResource: 'consumableResource',
      quantity: 123,
    }],
  },
  container: {
    image: 'image',

    // the properties below are optional
    command: ['command'],
    enableExecuteCommand: false,
    environment: [{
      name: 'name',
      value: 'value',
    }],
    ephemeralStorage: {
      sizeInGiB: 123,
    },
    executionRoleArn: 'executionRoleArn',
    fargatePlatformConfiguration: {
      platformVersion: 'platformVersion',
    },
    instanceType: 'instanceType',
    jobRoleArn: 'jobRoleArn',
    linuxParameters: {
      devices: [{
        containerPath: 'containerPath',
        hostPath: 'hostPath',
        permissions: ['permissions'],
      }],
      initProcessEnabled: false,
      maxSwap: 123,
      sharedMemorySize: 123,
      swappiness: 123,
      tmpfs: [{
        containerPath: 'containerPath',
        size: 123,

        // the properties below are optional
        mountOptions: ['mountOptions'],
      }],
    },
    logConfiguration: {
      logDriver: 'logDriver',

      // the properties below are optional
      options: options,
      secretOptions: [{
        name: 'name',
        valueFrom: 'valueFrom',
      }],
    },
    memory: 123,
    mountPoints: [{
      containerPath: 'containerPath',
      readOnly: false,
      sourceVolume: 'sourceVolume',
    }],
    networkConfiguration: {
      assignPublicIp: 'assignPublicIp',
    },
    privileged: false,
    readonlyRootFilesystem: false,
    repositoryCredentials: {
      credentialsParameter: 'credentialsParameter',
    },
    resourceRequirements: [{
      type: 'type',
      value: 'value',
    }],
    runtimePlatform: {
      cpuArchitecture: 'cpuArchitecture',
      operatingSystemFamily: 'operatingSystemFamily',
    },
    secrets: [{
      name: 'name',
      valueFrom: 'valueFrom',
    }],
    ulimits: [{
      hardLimit: 123,
      name: 'name',
      softLimit: 123,
    }],
    user: 'user',
    vcpus: 123,
    volumes: [{
      efsVolumeConfiguration: {
        fileSystemId: 'fileSystemId',

        // the properties below are optional
        authorizationConfig: {
          accessPointId: 'accessPointId',
          iam: 'iam',
        },
        rootDirectory: 'rootDirectory',
        transitEncryption: 'transitEncryption',
        transitEncryptionPort: 123,
      },
      host: {
        sourcePath: 'sourcePath',
      },
      name: 'name',
      s3FilesVolumeConfiguration: {
        fileSystemArn: 'fileSystemArn',

        // the properties below are optional
        accessPointArn: 'accessPointArn',
        rootDirectory: 'rootDirectory',
        transitEncryptionPort: 123,
      },
    }],
  },
  ecsProperties: {
    taskProperties: [{
      containers: [{
        image: 'image',

        // the properties below are optional
        command: ['command'],
        dependsOn: [{
          condition: 'condition',
          containerName: 'containerName',
        }],
        environment: [{
          name: 'name',
          value: 'value',
        }],
        essential: false,
        firelensConfiguration: {
          type: 'type',

          // the properties below are optional
          options: {
            optionsKey: 'options',
          },
        },
        linuxParameters: {
          devices: [{
            containerPath: 'containerPath',
            hostPath: 'hostPath',
            permissions: ['permissions'],
          }],
          initProcessEnabled: false,
          maxSwap: 123,
          sharedMemorySize: 123,
          swappiness: 123,
          tmpfs: [{
            containerPath: 'containerPath',
            size: 123,

            // the properties below are optional
            mountOptions: ['mountOptions'],
          }],
        },
        logConfiguration: {
          logDriver: 'logDriver',

          // the properties below are optional
          options: options,
          secretOptions: [{
            name: 'name',
            valueFrom: 'valueFrom',
          }],
        },
        mountPoints: [{
          containerPath: 'containerPath',
          readOnly: false,
          sourceVolume: 'sourceVolume',
        }],
        name: 'name',
        privileged: false,
        readonlyRootFilesystem: false,
        repositoryCredentials: {
          credentialsParameter: 'credentialsParameter',
        },
        resourceRequirements: [{
          type: 'type',
          value: 'value',
        }],
        secrets: [{
          name: 'name',
          valueFrom: 'valueFrom',
        }],
        startTimeout: 123,
        stopTimeout: 123,
        ulimits: [{
          hardLimit: 123,
          name: 'name',
          softLimit: 123,
        }],
        user: 'user',
      }],
      enableExecuteCommand: false,
      executionRoleArn: 'executionRoleArn',
      ipcMode: 'ipcMode',
      pidMode: 'pidMode',
      taskRoleArn: 'taskRoleArn',
      volumes: [{
        efsVolumeConfiguration: {
          fileSystemId: 'fileSystemId',

          // the properties below are optional
          authorizationConfig: {
            accessPointId: 'accessPointId',
            iam: 'iam',
          },
          rootDirectory: 'rootDirectory',
          transitEncryption: 'transitEncryption',
          transitEncryptionPort: 123,
        },
        host: {
          sourcePath: 'sourcePath',
        },
        name: 'name',
        s3FilesVolumeConfiguration: {
          fileSystemArn: 'fileSystemArn',

          // the properties below are optional
          accessPointArn: 'accessPointArn',
          rootDirectory: 'rootDirectory',
          transitEncryptionPort: 123,
        },
      }],
    }],
  },
  eksProperties: {
    podProperties: {
      containers: [{
        image: 'image',

        // the properties below are optional
        args: ['args'],
        command: ['command'],
        env: [{
          name: 'name',

          // the properties below are optional
          value: 'value',
        }],
        imagePullPolicy: 'imagePullPolicy',
        name: 'name',
        resources: {
          limits: limits,
          requests: requests,
        },
        securityContext: {
          allowPrivilegeEscalation: false,
          privileged: false,
          readOnlyRootFilesystem: false,
          runAsGroup: 123,
          runAsNonRoot: false,
          runAsUser: 123,
        },
        volumeMounts: [{
          mountPath: 'mountPath',
          name: 'name',
          readOnly: false,
          subPath: 'subPath',
        }],
      }],
      dnsPolicy: 'dnsPolicy',
      hostNetwork: false,
      imagePullSecrets: [{
        name: 'name',
      }],
      initContainers: [{
        image: 'image',

        // the properties below are optional
        args: ['args'],
        command: ['command'],
        env: [{
          name: 'name',

          // the properties below are optional
          value: 'value',
        }],
        imagePullPolicy: 'imagePullPolicy',
        name: 'name',
        resources: {
          limits: limits,
          requests: requests,
        },
        securityContext: {
          allowPrivilegeEscalation: false,
          privileged: false,
          readOnlyRootFilesystem: false,
          runAsGroup: 123,
          runAsNonRoot: false,
          runAsUser: 123,
        },
        volumeMounts: [{
          mountPath: 'mountPath',
          name: 'name',
          readOnly: false,
          subPath: 'subPath',
        }],
      }],
      metadata: {
        labels: labels,
      },
      serviceAccountName: 'serviceAccountName',
      shareProcessNamespace: false,
      volumes: [{
        name: 'name',

        // the properties below are optional
        emptyDir: {
          medium: 'medium',
          sizeLimit: 'sizeLimit',
        },
        hostPath: {
          path: 'path',
        },
        persistentVolumeClaim: {
          claimName: 'claimName',

          // the properties below are optional
          readOnly: false,
        },
        secret: {
          secretName: 'secretName',

          // the properties below are optional
          optional: false,
        },
      }],
    },
  },
  instanceTypes: ['instanceTypes'],
};

Properties ​

consumableResourcePropertiesIResolvable | CfnJobDefinition.ConsumableResourcePropertiesPropertyconsumable_resource_propertiestyping.Union[IResolvable, ConsumableResourcePropertiesProperty]consumableResourcePropertiesIResolvableConsumableResourcePropertiesIResolvableConsumableResourcePropertiesinterface{}#
Contains a list of consumable resources required by a job.
The container details for the node range.
ecsPropertiesIResolvable | CfnJobDefinition.MultiNodeEcsPropertiesPropertyecs_propertiestyping.Union[IResolvable, MultiNodeEcsPropertiesProperty]ecsPropertiesIResolvableEcsPropertiesIResolvableEcsPropertiesinterface{}#
This is an object that represents the properties of the node range for a multi-node parallel job.
eksPropertiesIResolvable | CfnJobDefinition.EksPropertiesPropertyeks_propertiestyping.Union[IResolvable, EksPropertiesProperty]eksPropertiesIResolvableEksPropertiesIResolvableEksPropertiesinterface{}#
This is an object that represents the properties of the node range for a multi-node parallel job.
instanceTypesstring[]instance_typestyping.List[str]instanceTypesList<String>InstanceTypesstring[]InstanceTypes*[]*string#
The instance types of the underlying host infrastructure of a multi-node parallel job.

This parameter isn't applicable to jobs that are running on Fargate resources.

In addition, this list object is currently limited to one element.

targetNodesstringtarget_nodesstrtargetNodesStringTargetNodesstringTargetNodes*stringrequired#
The range of nodes, using node index values.
notes

A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.