interface NodePropertiesProperty
Language | Type name |
---|---|
![]() | Amazon.CDK.AWS.Batch.CfnJobDefinition.NodePropertiesProperty |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awsbatch#CfnJobDefinition_NodePropertiesProperty |
![]() | software.amazon.awscdk.services.batch.CfnJobDefinition.NodePropertiesProperty |
![]() | aws_cdk.aws_batch.CfnJobDefinition.NodePropertiesProperty |
![]() | aws-cdk-lib » aws_batch » CfnJobDefinition » NodePropertiesProperty |
An object that represents the node properties of a multi-node parallel job.
Node properties can't be specified for Amazon EKS based job definitions.
Example
// 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 nodePropertiesProperty: batch.CfnJobDefinition.NodePropertiesProperty = {
mainNode: 123,
nodeRangeProperties: [{
targetNodes: 'targetNodes',
// the properties below are optional
container: {
image: 'image',
// the properties below are optional
command: ['command'],
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',
}],
},
ecsProperties: {
taskProperties: [{
containers: [{
image: 'image',
// the properties below are optional
command: ['command'],
dependsOn: [{
condition: 'condition',
containerName: 'containerName',
}],
environment: [{
name: 'name',
value: 'value',
}],
essential: false,
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',
}],
ulimits: [{
hardLimit: 123,
name: 'name',
softLimit: 123,
}],
user: 'user',
}],
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',
}],
}],
},
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'],
}],
numNodes: 123,
};
Properties
Name | Type | Description |
---|---|---|
main | number | Specifies the node index for the main node of a multi-node parallel job. |
node | IResolvable | IResolvable | Node [] | A list of node ranges and their properties that are associated with a multi-node parallel job. |
num | number | The number of nodes that are associated with a multi-node parallel job. |
mainNode
Type:
number
Specifies the node index for the main node of a multi-node parallel job.
This node index value must be fewer than the number of nodes.
nodeRangeProperties
Type:
IResolvable
|
IResolvable
|
Node
[]
A list of node ranges and their properties that are associated with a multi-node parallel job.
numNodes
Type:
number
The number of nodes that are associated with a multi-node parallel job.