Class CfnJobDefinitionPropsMixin.NodeRangePropertyProperty
This is an object that represents the properties of the node range for a multi-node parallel job.
Inherited Members
Namespace: Amazon.CDK.Mixins.Preview.AWS.Batch.Mixins
Assembly: Amazon.CDK.Mixins.Preview.dll
Syntax (csharp)
public class CfnJobDefinitionPropsMixin.NodeRangePropertyProperty : CfnJobDefinitionPropsMixin.INodeRangePropertyProperty
Syntax (vb)
Public Class CfnJobDefinitionPropsMixin.NodeRangePropertyProperty Implements CfnJobDefinitionPropsMixin.INodeRangePropertyProperty
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.Mixins.Preview.AWS.Batch.Mixins;
var labels;
var limits;
var options;
var requests;
var nodeRangePropertyProperty = new NodeRangePropertyProperty {
ConsumableResourceProperties = new ConsumableResourcePropertiesProperty {
ConsumableResourceList = new [] { new ConsumableResourceRequirementProperty {
ConsumableResource = "consumableResource",
Quantity = 123
} }
},
Container = new ContainerPropertiesProperty {
Command = new [] { "command" },
EnableExecuteCommand = false,
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
EphemeralStorage = new EphemeralStorageProperty {
SizeInGiB = 123
},
ExecutionRoleArn = "executionRoleArn",
FargatePlatformConfiguration = new FargatePlatformConfigurationProperty {
PlatformVersion = "platformVersion"
},
Image = "image",
InstanceType = "instanceType",
JobRoleArn = "jobRoleArn",
LinuxParameters = new LinuxParametersProperty {
Devices = new [] { new DeviceProperty {
ContainerPath = "containerPath",
HostPath = "hostPath",
Permissions = new [] { "permissions" }
} },
InitProcessEnabled = false,
MaxSwap = 123,
SharedMemorySize = 123,
Swappiness = 123,
Tmpfs = new [] { new TmpfsProperty {
ContainerPath = "containerPath",
MountOptions = new [] { "mountOptions" },
Size = 123
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = options,
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
Memory = 123,
MountPoints = new [] { new MountPointsProperty {
ContainerPath = "containerPath",
ReadOnly = false,
SourceVolume = "sourceVolume"
} },
NetworkConfiguration = new NetworkConfigurationProperty {
AssignPublicIp = "assignPublicIp"
},
Privileged = false,
ReadonlyRootFilesystem = false,
RepositoryCredentials = new RepositoryCredentialsProperty {
CredentialsParameter = "credentialsParameter"
},
ResourceRequirements = new [] { new ResourceRequirementProperty {
Type = "type",
Value = "value"
} },
RuntimePlatform = new RuntimePlatformProperty {
CpuArchitecture = "cpuArchitecture",
OperatingSystemFamily = "operatingSystemFamily"
},
Secrets = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} },
Ulimits = new [] { new UlimitProperty {
HardLimit = 123,
Name = "name",
SoftLimit = 123
} },
User = "user",
Vcpus = 123,
Volumes = new [] { new VolumesProperty {
EfsVolumeConfiguration = new EfsVolumeConfigurationProperty {
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
FileSystemId = "fileSystemId",
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
},
EcsProperties = new MultiNodeEcsPropertiesProperty {
TaskProperties = new [] { new MultiNodeEcsTaskPropertiesProperty {
Containers = new [] { new TaskContainerPropertiesProperty {
Command = new [] { "command" },
DependsOn = new [] { new TaskContainerDependencyProperty {
Condition = "condition",
ContainerName = "containerName"
} },
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
Essential = false,
FirelensConfiguration = new FirelensConfigurationProperty {
Options = new Dictionary<string, string> {
{ "optionsKey", "options" }
},
Type = "type"
},
Image = "image",
LinuxParameters = new LinuxParametersProperty {
Devices = new [] { new DeviceProperty {
ContainerPath = "containerPath",
HostPath = "hostPath",
Permissions = new [] { "permissions" }
} },
InitProcessEnabled = false,
MaxSwap = 123,
SharedMemorySize = 123,
Swappiness = 123,
Tmpfs = new [] { new TmpfsProperty {
ContainerPath = "containerPath",
MountOptions = new [] { "mountOptions" },
Size = 123
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = options,
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
MountPoints = new [] { new MountPointProperty {
ContainerPath = "containerPath",
ReadOnly = false,
SourceVolume = "sourceVolume"
} },
Name = "name",
Privileged = false,
ReadonlyRootFilesystem = false,
RepositoryCredentials = new RepositoryCredentialsProperty {
CredentialsParameter = "credentialsParameter"
},
ResourceRequirements = new [] { new ResourceRequirementProperty {
Type = "type",
Value = "value"
} },
Secrets = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} },
Ulimits = new [] { new UlimitProperty {
HardLimit = 123,
Name = "name",
SoftLimit = 123
} },
User = "user"
} },
EnableExecuteCommand = false,
ExecutionRoleArn = "executionRoleArn",
IpcMode = "ipcMode",
PidMode = "pidMode",
TaskRoleArn = "taskRoleArn",
Volumes = new [] { new VolumesProperty {
EfsVolumeConfiguration = new EfsVolumeConfigurationProperty {
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
FileSystemId = "fileSystemId",
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
} }
},
EksProperties = new EksPropertiesProperty {
PodProperties = new PodPropertiesProperty {
Containers = new [] { new EksContainerProperty {
Args = new [] { "args" },
Command = new [] { "command" },
Env = new [] { new EksContainerEnvironmentVariableProperty {
Name = "name",
Value = "value"
} },
Image = "image",
ImagePullPolicy = "imagePullPolicy",
Name = "name",
Resources = new ResourcesProperty {
Limits = limits,
Requests = requests
},
SecurityContext = new SecurityContextProperty {
AllowPrivilegeEscalation = false,
Privileged = false,
ReadOnlyRootFilesystem = false,
RunAsGroup = 123,
RunAsNonRoot = false,
RunAsUser = 123
},
VolumeMounts = new [] { new EksContainerVolumeMountProperty {
MountPath = "mountPath",
Name = "name",
ReadOnly = false,
SubPath = "subPath"
} }
} },
DnsPolicy = "dnsPolicy",
HostNetwork = false,
ImagePullSecrets = new [] { new ImagePullSecretProperty {
Name = "name"
} },
InitContainers = new [] { new EksContainerProperty {
Args = new [] { "args" },
Command = new [] { "command" },
Env = new [] { new EksContainerEnvironmentVariableProperty {
Name = "name",
Value = "value"
} },
Image = "image",
ImagePullPolicy = "imagePullPolicy",
Name = "name",
Resources = new ResourcesProperty {
Limits = limits,
Requests = requests
},
SecurityContext = new SecurityContextProperty {
AllowPrivilegeEscalation = false,
Privileged = false,
ReadOnlyRootFilesystem = false,
RunAsGroup = 123,
RunAsNonRoot = false,
RunAsUser = 123
},
VolumeMounts = new [] { new EksContainerVolumeMountProperty {
MountPath = "mountPath",
Name = "name",
ReadOnly = false,
SubPath = "subPath"
} }
} },
Metadata = new MetadataProperty {
Labels = labels
},
ServiceAccountName = "serviceAccountName",
ShareProcessNamespace = false,
Volumes = new [] { new EksVolumeProperty {
EmptyDir = new EmptyDirProperty {
Medium = "medium",
SizeLimit = "sizeLimit"
},
HostPath = new HostPathProperty {
Path = "path"
},
Name = "name",
PersistentVolumeClaim = new EksPersistentVolumeClaimProperty {
ClaimName = "claimName",
ReadOnly = false
},
Secret = new EksSecretProperty {
Optional = false,
SecretName = "secretName"
}
} }
}
},
InstanceTypes = new [] { "instanceTypes" },
TargetNodes = "targetNodes"
};
Synopsis
Constructors
| NodeRangePropertyProperty() | This is an object that represents the properties of the node range for a multi-node parallel job. |
Properties
| ConsumableResourceProperties | Contains a list of consumable resources required by a job. |
| Container | The container details for the node range. |
| EcsProperties | This is an object that represents the properties of the node range for a multi-node parallel job. |
| EksProperties | This is an object that represents the properties of the node range for a multi-node parallel job. |
| InstanceTypes | The instance types of the underlying host infrastructure of a multi-node parallel job. |
| TargetNodes | The range of nodes, using node index values. |
Constructors
NodeRangePropertyProperty()
This is an object that represents the properties of the node range for a multi-node parallel job.
public NodeRangePropertyProperty()
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.Mixins.Preview.AWS.Batch.Mixins;
var labels;
var limits;
var options;
var requests;
var nodeRangePropertyProperty = new NodeRangePropertyProperty {
ConsumableResourceProperties = new ConsumableResourcePropertiesProperty {
ConsumableResourceList = new [] { new ConsumableResourceRequirementProperty {
ConsumableResource = "consumableResource",
Quantity = 123
} }
},
Container = new ContainerPropertiesProperty {
Command = new [] { "command" },
EnableExecuteCommand = false,
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
EphemeralStorage = new EphemeralStorageProperty {
SizeInGiB = 123
},
ExecutionRoleArn = "executionRoleArn",
FargatePlatformConfiguration = new FargatePlatformConfigurationProperty {
PlatformVersion = "platformVersion"
},
Image = "image",
InstanceType = "instanceType",
JobRoleArn = "jobRoleArn",
LinuxParameters = new LinuxParametersProperty {
Devices = new [] { new DeviceProperty {
ContainerPath = "containerPath",
HostPath = "hostPath",
Permissions = new [] { "permissions" }
} },
InitProcessEnabled = false,
MaxSwap = 123,
SharedMemorySize = 123,
Swappiness = 123,
Tmpfs = new [] { new TmpfsProperty {
ContainerPath = "containerPath",
MountOptions = new [] { "mountOptions" },
Size = 123
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = options,
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
Memory = 123,
MountPoints = new [] { new MountPointsProperty {
ContainerPath = "containerPath",
ReadOnly = false,
SourceVolume = "sourceVolume"
} },
NetworkConfiguration = new NetworkConfigurationProperty {
AssignPublicIp = "assignPublicIp"
},
Privileged = false,
ReadonlyRootFilesystem = false,
RepositoryCredentials = new RepositoryCredentialsProperty {
CredentialsParameter = "credentialsParameter"
},
ResourceRequirements = new [] { new ResourceRequirementProperty {
Type = "type",
Value = "value"
} },
RuntimePlatform = new RuntimePlatformProperty {
CpuArchitecture = "cpuArchitecture",
OperatingSystemFamily = "operatingSystemFamily"
},
Secrets = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} },
Ulimits = new [] { new UlimitProperty {
HardLimit = 123,
Name = "name",
SoftLimit = 123
} },
User = "user",
Vcpus = 123,
Volumes = new [] { new VolumesProperty {
EfsVolumeConfiguration = new EfsVolumeConfigurationProperty {
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
FileSystemId = "fileSystemId",
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
},
EcsProperties = new MultiNodeEcsPropertiesProperty {
TaskProperties = new [] { new MultiNodeEcsTaskPropertiesProperty {
Containers = new [] { new TaskContainerPropertiesProperty {
Command = new [] { "command" },
DependsOn = new [] { new TaskContainerDependencyProperty {
Condition = "condition",
ContainerName = "containerName"
} },
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
Essential = false,
FirelensConfiguration = new FirelensConfigurationProperty {
Options = new Dictionary<string, string> {
{ "optionsKey", "options" }
},
Type = "type"
},
Image = "image",
LinuxParameters = new LinuxParametersProperty {
Devices = new [] { new DeviceProperty {
ContainerPath = "containerPath",
HostPath = "hostPath",
Permissions = new [] { "permissions" }
} },
InitProcessEnabled = false,
MaxSwap = 123,
SharedMemorySize = 123,
Swappiness = 123,
Tmpfs = new [] { new TmpfsProperty {
ContainerPath = "containerPath",
MountOptions = new [] { "mountOptions" },
Size = 123
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = options,
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
MountPoints = new [] { new MountPointProperty {
ContainerPath = "containerPath",
ReadOnly = false,
SourceVolume = "sourceVolume"
} },
Name = "name",
Privileged = false,
ReadonlyRootFilesystem = false,
RepositoryCredentials = new RepositoryCredentialsProperty {
CredentialsParameter = "credentialsParameter"
},
ResourceRequirements = new [] { new ResourceRequirementProperty {
Type = "type",
Value = "value"
} },
Secrets = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} },
Ulimits = new [] { new UlimitProperty {
HardLimit = 123,
Name = "name",
SoftLimit = 123
} },
User = "user"
} },
EnableExecuteCommand = false,
ExecutionRoleArn = "executionRoleArn",
IpcMode = "ipcMode",
PidMode = "pidMode",
TaskRoleArn = "taskRoleArn",
Volumes = new [] { new VolumesProperty {
EfsVolumeConfiguration = new EfsVolumeConfigurationProperty {
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
FileSystemId = "fileSystemId",
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
} }
},
EksProperties = new EksPropertiesProperty {
PodProperties = new PodPropertiesProperty {
Containers = new [] { new EksContainerProperty {
Args = new [] { "args" },
Command = new [] { "command" },
Env = new [] { new EksContainerEnvironmentVariableProperty {
Name = "name",
Value = "value"
} },
Image = "image",
ImagePullPolicy = "imagePullPolicy",
Name = "name",
Resources = new ResourcesProperty {
Limits = limits,
Requests = requests
},
SecurityContext = new SecurityContextProperty {
AllowPrivilegeEscalation = false,
Privileged = false,
ReadOnlyRootFilesystem = false,
RunAsGroup = 123,
RunAsNonRoot = false,
RunAsUser = 123
},
VolumeMounts = new [] { new EksContainerVolumeMountProperty {
MountPath = "mountPath",
Name = "name",
ReadOnly = false,
SubPath = "subPath"
} }
} },
DnsPolicy = "dnsPolicy",
HostNetwork = false,
ImagePullSecrets = new [] { new ImagePullSecretProperty {
Name = "name"
} },
InitContainers = new [] { new EksContainerProperty {
Args = new [] { "args" },
Command = new [] { "command" },
Env = new [] { new EksContainerEnvironmentVariableProperty {
Name = "name",
Value = "value"
} },
Image = "image",
ImagePullPolicy = "imagePullPolicy",
Name = "name",
Resources = new ResourcesProperty {
Limits = limits,
Requests = requests
},
SecurityContext = new SecurityContextProperty {
AllowPrivilegeEscalation = false,
Privileged = false,
ReadOnlyRootFilesystem = false,
RunAsGroup = 123,
RunAsNonRoot = false,
RunAsUser = 123
},
VolumeMounts = new [] { new EksContainerVolumeMountProperty {
MountPath = "mountPath",
Name = "name",
ReadOnly = false,
SubPath = "subPath"
} }
} },
Metadata = new MetadataProperty {
Labels = labels
},
ServiceAccountName = "serviceAccountName",
ShareProcessNamespace = false,
Volumes = new [] { new EksVolumeProperty {
EmptyDir = new EmptyDirProperty {
Medium = "medium",
SizeLimit = "sizeLimit"
},
HostPath = new HostPathProperty {
Path = "path"
},
Name = "name",
PersistentVolumeClaim = new EksPersistentVolumeClaimProperty {
ClaimName = "claimName",
ReadOnly = false
},
Secret = new EksSecretProperty {
Optional = false,
SecretName = "secretName"
}
} }
}
},
InstanceTypes = new [] { "instanceTypes" },
TargetNodes = "targetNodes"
};
Properties
ConsumableResourceProperties
Contains a list of consumable resources required by a job.
public object? ConsumableResourceProperties { get; set; }
Property Value
Remarks
Container
The container details for the node range.
public object? Container { get; set; }
Property Value
Remarks
EcsProperties
This is an object that represents the properties of the node range for a multi-node parallel job.
public object? EcsProperties { get; set; }
Property Value
Remarks
EksProperties
This is an object that represents the properties of the node range for a multi-node parallel job.
public object? EksProperties { get; set; }
Property Value
Remarks
InstanceTypes
The instance types of the underlying host infrastructure of a multi-node parallel job.
public string[]? InstanceTypes { get; set; }
Property Value
string[]
Remarks
This parameter isn't applicable to jobs that are running on Fargate resources.
In addition, this list object is currently limited to one element.
TargetNodes
The range of nodes, using node index values.
public string? TargetNodes { get; set; }
Property Value
Remarks
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.