Show / Hide Table of Contents

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html

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

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-consumableresourceproperties

Type union: either IResolvable or CfnJobDefinition.IConsumableResourcePropertiesProperty

Container

The container details for the node range.

object? Container { get; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-container

Type union: either IResolvable or CfnJobDefinition.IContainerPropertiesProperty

EcsProperties

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

object? EcsProperties { get; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-ecsproperties

Type union: either IResolvable or CfnJobDefinition.IMultiNodeEcsPropertiesProperty

EksProperties

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

object? EksProperties { get; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-eksproperties

Type union: either IResolvable or CfnJobDefinition.IEksPropertiesProperty

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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-instancetypes

TargetNodes

The range of nodes, using node index values.

string TargetNodes { get; }
Property Value

string

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.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-targetnodes

Back to top Generated by DocFX