Interface CfnJobDefinition.INodeRangePropertyProperty
This is an object that represents the properties of the node range for a multi-node parallel job.
Namespace: Amazon.CDK.AWS.Batch
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface CfnJobDefinition.INodeRangePropertyProperty
Syntax (vb)
Public Interface CfnJobDefinition.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.AWS.Batch;
var labels;
var limits;
var options;
var requests;
var nodeRangePropertyProperty = new NodeRangePropertyProperty {
TargetNodes = "targetNodes",
// the properties below are optional
ConsumableResourceProperties = new ConsumableResourcePropertiesProperty {
ConsumableResourceList = new [] { new ConsumableResourceRequirementProperty {
ConsumableResource = "consumableResource",
Quantity = 123
} }
},
Container = new ContainerPropertiesProperty {
Image = "image",
// the properties below are optional
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"
},
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",
Size = 123,
// the properties below are optional
MountOptions = new [] { "mountOptions" }
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
// the properties below are optional
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 {
FileSystemId = "fileSystemId",
// the properties below are optional
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
},
EcsProperties = new MultiNodeEcsPropertiesProperty {
TaskProperties = new [] { new MultiNodeEcsTaskPropertiesProperty {
Containers = new [] { new TaskContainerPropertiesProperty {
Image = "image",
// the properties below are optional
Command = new [] { "command" },
DependsOn = new [] { new TaskContainerDependencyProperty {
Condition = "condition",
ContainerName = "containerName"
} },
Environment = new [] { new EnvironmentProperty {
Name = "name",
Value = "value"
} },
Essential = false,
FirelensConfiguration = new FirelensConfigurationProperty {
Type = "type",
// the properties below are optional
Options = new Dictionary<string, string> {
{ "optionsKey", "options" }
}
},
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",
Size = 123,
// the properties below are optional
MountOptions = new [] { "mountOptions" }
} }
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
// the properties below are optional
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 {
FileSystemId = "fileSystemId",
// the properties below are optional
AuthorizationConfig = new AuthorizationConfigProperty {
AccessPointId = "accessPointId",
Iam = "iam"
},
RootDirectory = "rootDirectory",
TransitEncryption = "transitEncryption",
TransitEncryptionPort = 123
},
Host = new VolumesHostProperty {
SourcePath = "sourcePath"
},
Name = "name"
} }
} }
},
EksProperties = new EksPropertiesProperty {
PodProperties = new PodPropertiesProperty {
Containers = new [] { new EksContainerProperty {
Image = "image",
// the properties below are optional
Args = new [] { "args" },
Command = new [] { "command" },
Env = new [] { new EksContainerEnvironmentVariableProperty {
Name = "name",
// the properties below are optional
Value = "value"
} },
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 {
Image = "image",
// the properties below are optional
Args = new [] { "args" },
Command = new [] { "command" },
Env = new [] { new EksContainerEnvironmentVariableProperty {
Name = "name",
// the properties below are optional
Value = "value"
} },
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 {
Name = "name",
// the properties below are optional
EmptyDir = new EmptyDirProperty {
Medium = "medium",
SizeLimit = "sizeLimit"
},
HostPath = new HostPathProperty {
Path = "path"
},
PersistentVolumeClaim = new EksPersistentVolumeClaimProperty {
ClaimName = "claimName",
// the properties below are optional
ReadOnly = false
},
Secret = new EksSecretProperty {
SecretName = "secretName",
// the properties below are optional
Optional = false
}
} }
}
},
InstanceTypes = new [] { "instanceTypes" }
};
Synopsis
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. |
Properties
ConsumableResourceProperties
Contains a list of consumable resources required by a job.
object? ConsumableResourceProperties { get; }
Property Value
Remarks
Container
The container details for the node range.
object? Container { get; }
Property Value
Remarks
EcsProperties
This is an object that represents the properties of the node range for a multi-node parallel job.
object? EcsProperties { get; }
Property Value
Remarks
EksProperties
This is an object that represents the properties of the node range for a multi-node parallel job.
object? EksProperties { get; }
Property Value
Remarks
InstanceTypes
The instance types of the underlying host infrastructure of a multi-node parallel job.
string[]? InstanceTypes { get; }
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.
string TargetNodes { get; }
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.