aws-cdk-lib 2.132.1__py3-none-any.whl → 2.134.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +9 -1
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.132.1.jsii.tgz → aws-cdk-lib@2.134.0.jsii.tgz} +0 -0
- aws_cdk/aws_amplify/__init__.py +12 -10
- aws_cdk/aws_apigatewayv2/__init__.py +112 -6
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +155 -3
- aws_cdk/aws_appconfig/__init__.py +186 -8
- aws_cdk/aws_appintegrations/__init__.py +551 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +6 -6
- aws_cdk/aws_appsync/__init__.py +71 -0
- aws_cdk/aws_autoscaling/__init__.py +10 -14
- aws_cdk/aws_b2bi/__init__.py +2 -42
- aws_cdk/aws_backup/__init__.py +23 -12
- aws_cdk/aws_batch/__init__.py +2150 -1078
- aws_cdk/aws_bedrock/__init__.py +197 -2
- aws_cdk/aws_cloudformation/__init__.py +1 -1
- aws_cdk/aws_cloudfront/__init__.py +4 -4
- aws_cdk/aws_cloudtrail/__init__.py +44 -14
- aws_cdk/aws_cloudwatch/__init__.py +20 -4
- aws_cdk/aws_codeartifact/__init__.py +812 -2
- aws_cdk/aws_codebuild/__init__.py +32 -10
- aws_cdk/aws_codepipeline/__init__.py +33 -11
- aws_cdk/aws_cognito/__init__.py +49 -44
- aws_cdk/aws_connect/__init__.py +256 -0
- aws_cdk/aws_controltower/__init__.py +4 -4
- aws_cdk/aws_datasync/__init__.py +393 -13
- aws_cdk/aws_dlm/__init__.py +2 -2
- aws_cdk/aws_docdbelastic/__init__.py +117 -0
- aws_cdk/aws_dynamodb/__init__.py +416 -5
- aws_cdk/aws_ec2/__init__.py +590 -134
- aws_cdk/aws_ecs/__init__.py +29 -20
- aws_cdk/aws_ecs_patterns/__init__.py +52 -12
- aws_cdk/aws_eks/__init__.py +27 -25
- aws_cdk/aws_elasticloadbalancing/__init__.py +6 -9
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +363 -62
- aws_cdk/aws_emr/__init__.py +7 -4
- aws_cdk/aws_entityresolution/__init__.py +91 -64
- aws_cdk/aws_fsx/__init__.py +7 -7
- aws_cdk/aws_glue/__init__.py +137 -3
- aws_cdk/aws_iam/__init__.py +9 -10
- aws_cdk/aws_internetmonitor/__init__.py +85 -0
- aws_cdk/aws_iotsitewise/__init__.py +208 -198
- aws_cdk/aws_iotwireless/__init__.py +6 -5
- aws_cdk/aws_kafkaconnect/__init__.py +1237 -162
- aws_cdk/aws_kendra/__init__.py +34 -24
- aws_cdk/aws_kinesisanalytics/__init__.py +37 -37
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +37 -37
- aws_cdk/aws_kinesisfirehose/__init__.py +6 -2
- aws_cdk/aws_lambda/__init__.py +16 -16
- aws_cdk/aws_msk/__init__.py +88 -0
- aws_cdk/aws_opensearchservice/__init__.py +61 -18
- aws_cdk/aws_pinpoint/__init__.py +42 -0
- aws_cdk/aws_rds/__init__.py +1292 -216
- aws_cdk/aws_redshift/__init__.py +6 -3
- aws_cdk/aws_redshiftserverless/__init__.py +0 -157
- aws_cdk/aws_sagemaker/__init__.py +29 -9
- aws_cdk/aws_shield/__init__.py +7 -8
- aws_cdk/aws_ssm/__init__.py +15 -12
- aws_cdk/aws_stepfunctions_tasks/__init__.py +476 -0
- aws_cdk/aws_synthetics/__init__.py +74 -14
- aws_cdk/aws_transfer/__init__.py +4 -3
- aws_cdk/aws_wafv2/__init__.py +516 -42
- aws_cdk/cx_api/__init__.py +34 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/RECORD +69 -69
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.132.1.dist-info → aws_cdk_lib-2.134.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_batch/__init__.py
CHANGED
|
@@ -2375,306 +2375,7 @@ class CfnJobDefinition(
|
|
|
2375
2375
|
|
|
2376
2376
|
Example::
|
|
2377
2377
|
|
|
2378
|
-
# The code below shows an example of how to instantiate this type.
|
|
2379
|
-
# The values are placeholders you should change.
|
|
2380
|
-
from aws_cdk import aws_batch as batch
|
|
2381
|
-
|
|
2382
|
-
# labels: Any
|
|
2383
|
-
# limits: Any
|
|
2384
|
-
# options: Any
|
|
2385
|
-
# parameters: Any
|
|
2386
|
-
# requests: Any
|
|
2387
|
-
# tags: Any
|
|
2388
|
-
|
|
2389
|
-
cfn_job_definition = batch.CfnJobDefinition(self, "MyCfnJobDefinition",
|
|
2390
|
-
type="type",
|
|
2391
|
-
|
|
2392
|
-
# the properties below are optional
|
|
2393
|
-
container_properties=batch.CfnJobDefinition.ContainerPropertiesProperty(
|
|
2394
|
-
image="image",
|
|
2395
|
-
|
|
2396
|
-
# the properties below are optional
|
|
2397
|
-
command=["command"],
|
|
2398
|
-
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
2399
|
-
name="name",
|
|
2400
|
-
value="value"
|
|
2401
|
-
)],
|
|
2402
|
-
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
2403
|
-
size_in_gi_b=123
|
|
2404
|
-
),
|
|
2405
|
-
execution_role_arn="executionRoleArn",
|
|
2406
|
-
fargate_platform_configuration=batch.CfnJobDefinition.FargatePlatformConfigurationProperty(
|
|
2407
|
-
platform_version="platformVersion"
|
|
2408
|
-
),
|
|
2409
|
-
instance_type="instanceType",
|
|
2410
|
-
job_role_arn="jobRoleArn",
|
|
2411
|
-
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
2412
|
-
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
2413
|
-
container_path="containerPath",
|
|
2414
|
-
host_path="hostPath",
|
|
2415
|
-
permissions=["permissions"]
|
|
2416
|
-
)],
|
|
2417
|
-
init_process_enabled=False,
|
|
2418
|
-
max_swap=123,
|
|
2419
|
-
shared_memory_size=123,
|
|
2420
|
-
swappiness=123,
|
|
2421
|
-
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
2422
|
-
container_path="containerPath",
|
|
2423
|
-
size=123,
|
|
2424
|
-
|
|
2425
|
-
# the properties below are optional
|
|
2426
|
-
mount_options=["mountOptions"]
|
|
2427
|
-
)]
|
|
2428
|
-
),
|
|
2429
|
-
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
2430
|
-
log_driver="logDriver",
|
|
2431
|
-
|
|
2432
|
-
# the properties below are optional
|
|
2433
|
-
options=options,
|
|
2434
|
-
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
2435
|
-
name="name",
|
|
2436
|
-
value_from="valueFrom"
|
|
2437
|
-
)]
|
|
2438
|
-
),
|
|
2439
|
-
memory=123,
|
|
2440
|
-
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
2441
|
-
container_path="containerPath",
|
|
2442
|
-
read_only=False,
|
|
2443
|
-
source_volume="sourceVolume"
|
|
2444
|
-
)],
|
|
2445
|
-
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
2446
|
-
assign_public_ip="assignPublicIp"
|
|
2447
|
-
),
|
|
2448
|
-
privileged=False,
|
|
2449
|
-
readonly_root_filesystem=False,
|
|
2450
|
-
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
2451
|
-
credentials_parameter="credentialsParameter"
|
|
2452
|
-
),
|
|
2453
|
-
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
2454
|
-
type="type",
|
|
2455
|
-
value="value"
|
|
2456
|
-
)],
|
|
2457
|
-
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
2458
|
-
cpu_architecture="cpuArchitecture",
|
|
2459
|
-
operating_system_family="operatingSystemFamily"
|
|
2460
|
-
),
|
|
2461
|
-
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
2462
|
-
name="name",
|
|
2463
|
-
value_from="valueFrom"
|
|
2464
|
-
)],
|
|
2465
|
-
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
2466
|
-
hard_limit=123,
|
|
2467
|
-
name="name",
|
|
2468
|
-
soft_limit=123
|
|
2469
|
-
)],
|
|
2470
|
-
user="user",
|
|
2471
|
-
vcpus=123,
|
|
2472
|
-
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
2473
|
-
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
2474
|
-
file_system_id="fileSystemId",
|
|
2475
|
-
|
|
2476
|
-
# the properties below are optional
|
|
2477
|
-
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
2478
|
-
access_point_id="accessPointId",
|
|
2479
|
-
iam="iam"
|
|
2480
|
-
),
|
|
2481
|
-
root_directory="rootDirectory",
|
|
2482
|
-
transit_encryption="transitEncryption",
|
|
2483
|
-
transit_encryption_port=123
|
|
2484
|
-
),
|
|
2485
|
-
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
2486
|
-
source_path="sourcePath"
|
|
2487
|
-
),
|
|
2488
|
-
name="name"
|
|
2489
|
-
)]
|
|
2490
|
-
),
|
|
2491
|
-
eks_properties=batch.CfnJobDefinition.EksPropertiesProperty(
|
|
2492
|
-
pod_properties=batch.CfnJobDefinition.PodPropertiesProperty(
|
|
2493
|
-
containers=[batch.CfnJobDefinition.EksContainerProperty(
|
|
2494
|
-
image="image",
|
|
2495
|
-
|
|
2496
|
-
# the properties below are optional
|
|
2497
|
-
args=["args"],
|
|
2498
|
-
command=["command"],
|
|
2499
|
-
env=[batch.CfnJobDefinition.EksContainerEnvironmentVariableProperty(
|
|
2500
|
-
name="name",
|
|
2501
|
-
|
|
2502
|
-
# the properties below are optional
|
|
2503
|
-
value="value"
|
|
2504
|
-
)],
|
|
2505
|
-
image_pull_policy="imagePullPolicy",
|
|
2506
|
-
name="name",
|
|
2507
|
-
resources=batch.CfnJobDefinition.ResourcesProperty(
|
|
2508
|
-
limits=limits,
|
|
2509
|
-
requests=requests
|
|
2510
|
-
),
|
|
2511
|
-
security_context=batch.CfnJobDefinition.SecurityContextProperty(
|
|
2512
|
-
privileged=False,
|
|
2513
|
-
read_only_root_filesystem=False,
|
|
2514
|
-
run_as_group=123,
|
|
2515
|
-
run_as_non_root=False,
|
|
2516
|
-
run_as_user=123
|
|
2517
|
-
),
|
|
2518
|
-
volume_mounts=[batch.CfnJobDefinition.EksContainerVolumeMountProperty(
|
|
2519
|
-
mount_path="mountPath",
|
|
2520
|
-
name="name",
|
|
2521
|
-
read_only=False
|
|
2522
|
-
)]
|
|
2523
|
-
)],
|
|
2524
|
-
dns_policy="dnsPolicy",
|
|
2525
|
-
host_network=False,
|
|
2526
|
-
metadata=batch.CfnJobDefinition.MetadataProperty(
|
|
2527
|
-
labels=labels
|
|
2528
|
-
),
|
|
2529
|
-
service_account_name="serviceAccountName",
|
|
2530
|
-
volumes=[batch.CfnJobDefinition.EksVolumeProperty(
|
|
2531
|
-
name="name",
|
|
2532
|
-
|
|
2533
|
-
# the properties below are optional
|
|
2534
|
-
empty_dir=batch.CfnJobDefinition.EmptyDirProperty(
|
|
2535
|
-
medium="medium",
|
|
2536
|
-
size_limit="sizeLimit"
|
|
2537
|
-
),
|
|
2538
|
-
host_path=batch.CfnJobDefinition.HostPathProperty(
|
|
2539
|
-
path="path"
|
|
2540
|
-
),
|
|
2541
|
-
secret=batch.CfnJobDefinition.EksSecretProperty(
|
|
2542
|
-
secret_name="secretName",
|
|
2543
|
-
|
|
2544
|
-
# the properties below are optional
|
|
2545
|
-
optional=False
|
|
2546
|
-
)
|
|
2547
|
-
)]
|
|
2548
|
-
)
|
|
2549
|
-
),
|
|
2550
|
-
job_definition_name="jobDefinitionName",
|
|
2551
|
-
node_properties=batch.CfnJobDefinition.NodePropertiesProperty(
|
|
2552
|
-
main_node=123,
|
|
2553
|
-
node_range_properties=[batch.CfnJobDefinition.NodeRangePropertyProperty(
|
|
2554
|
-
target_nodes="targetNodes",
|
|
2555
|
-
|
|
2556
|
-
# the properties below are optional
|
|
2557
|
-
container=batch.CfnJobDefinition.ContainerPropertiesProperty(
|
|
2558
|
-
image="image",
|
|
2559
|
-
|
|
2560
|
-
# the properties below are optional
|
|
2561
|
-
command=["command"],
|
|
2562
|
-
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
2563
|
-
name="name",
|
|
2564
|
-
value="value"
|
|
2565
|
-
)],
|
|
2566
|
-
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
2567
|
-
size_in_gi_b=123
|
|
2568
|
-
),
|
|
2569
|
-
execution_role_arn="executionRoleArn",
|
|
2570
|
-
fargate_platform_configuration=batch.CfnJobDefinition.FargatePlatformConfigurationProperty(
|
|
2571
|
-
platform_version="platformVersion"
|
|
2572
|
-
),
|
|
2573
|
-
instance_type="instanceType",
|
|
2574
|
-
job_role_arn="jobRoleArn",
|
|
2575
|
-
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
2576
|
-
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
2577
|
-
container_path="containerPath",
|
|
2578
|
-
host_path="hostPath",
|
|
2579
|
-
permissions=["permissions"]
|
|
2580
|
-
)],
|
|
2581
|
-
init_process_enabled=False,
|
|
2582
|
-
max_swap=123,
|
|
2583
|
-
shared_memory_size=123,
|
|
2584
|
-
swappiness=123,
|
|
2585
|
-
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
2586
|
-
container_path="containerPath",
|
|
2587
|
-
size=123,
|
|
2588
|
-
|
|
2589
|
-
# the properties below are optional
|
|
2590
|
-
mount_options=["mountOptions"]
|
|
2591
|
-
)]
|
|
2592
|
-
),
|
|
2593
|
-
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
2594
|
-
log_driver="logDriver",
|
|
2595
|
-
|
|
2596
|
-
# the properties below are optional
|
|
2597
|
-
options=options,
|
|
2598
|
-
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
2599
|
-
name="name",
|
|
2600
|
-
value_from="valueFrom"
|
|
2601
|
-
)]
|
|
2602
|
-
),
|
|
2603
|
-
memory=123,
|
|
2604
|
-
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
2605
|
-
container_path="containerPath",
|
|
2606
|
-
read_only=False,
|
|
2607
|
-
source_volume="sourceVolume"
|
|
2608
|
-
)],
|
|
2609
|
-
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
2610
|
-
assign_public_ip="assignPublicIp"
|
|
2611
|
-
),
|
|
2612
|
-
privileged=False,
|
|
2613
|
-
readonly_root_filesystem=False,
|
|
2614
|
-
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
2615
|
-
credentials_parameter="credentialsParameter"
|
|
2616
|
-
),
|
|
2617
|
-
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
2618
|
-
type="type",
|
|
2619
|
-
value="value"
|
|
2620
|
-
)],
|
|
2621
|
-
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
2622
|
-
cpu_architecture="cpuArchitecture",
|
|
2623
|
-
operating_system_family="operatingSystemFamily"
|
|
2624
|
-
),
|
|
2625
|
-
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
2626
|
-
name="name",
|
|
2627
|
-
value_from="valueFrom"
|
|
2628
|
-
)],
|
|
2629
|
-
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
2630
|
-
hard_limit=123,
|
|
2631
|
-
name="name",
|
|
2632
|
-
soft_limit=123
|
|
2633
|
-
)],
|
|
2634
|
-
user="user",
|
|
2635
|
-
vcpus=123,
|
|
2636
|
-
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
2637
|
-
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
2638
|
-
file_system_id="fileSystemId",
|
|
2639
|
-
|
|
2640
|
-
# the properties below are optional
|
|
2641
|
-
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
2642
|
-
access_point_id="accessPointId",
|
|
2643
|
-
iam="iam"
|
|
2644
|
-
),
|
|
2645
|
-
root_directory="rootDirectory",
|
|
2646
|
-
transit_encryption="transitEncryption",
|
|
2647
|
-
transit_encryption_port=123
|
|
2648
|
-
),
|
|
2649
|
-
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
2650
|
-
source_path="sourcePath"
|
|
2651
|
-
),
|
|
2652
|
-
name="name"
|
|
2653
|
-
)]
|
|
2654
|
-
)
|
|
2655
|
-
)],
|
|
2656
|
-
num_nodes=123
|
|
2657
|
-
),
|
|
2658
|
-
parameters=parameters,
|
|
2659
|
-
platform_capabilities=["platformCapabilities"],
|
|
2660
|
-
propagate_tags=False,
|
|
2661
|
-
retry_strategy=batch.CfnJobDefinition.RetryStrategyProperty(
|
|
2662
|
-
attempts=123,
|
|
2663
|
-
evaluate_on_exit=[batch.CfnJobDefinition.EvaluateOnExitProperty(
|
|
2664
|
-
action="action",
|
|
2665
2378
|
|
|
2666
|
-
# the properties below are optional
|
|
2667
|
-
on_exit_code="onExitCode",
|
|
2668
|
-
on_reason="onReason",
|
|
2669
|
-
on_status_reason="onStatusReason"
|
|
2670
|
-
)]
|
|
2671
|
-
),
|
|
2672
|
-
scheduling_priority=123,
|
|
2673
|
-
tags=tags,
|
|
2674
|
-
timeout=batch.CfnJobDefinition.TimeoutProperty(
|
|
2675
|
-
attempt_duration_seconds=123
|
|
2676
|
-
)
|
|
2677
|
-
)
|
|
2678
2379
|
'''
|
|
2679
2380
|
|
|
2680
2381
|
def __init__(
|
|
@@ -2684,6 +2385,7 @@ class CfnJobDefinition(
|
|
|
2684
2385
|
*,
|
|
2685
2386
|
type: builtins.str,
|
|
2686
2387
|
container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2388
|
+
ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EcsPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2687
2389
|
eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2688
2390
|
job_definition_name: typing.Optional[builtins.str] = None,
|
|
2689
2391
|
node_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.NodePropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -2700,6 +2402,7 @@ class CfnJobDefinition(
|
|
|
2700
2402
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2701
2403
|
:param type: The type of job definition. For more information about multi-node parallel jobs, see `Creating a multi-node parallel job definition <https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html>`_ in the *AWS Batch User Guide* . - If the value is ``container`` , then one of the following is required: ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . - If the value is ``multinode`` , then ``nodeProperties`` is required. .. epigraph:: If the job is run on Fargate resources, then ``multinode`` isn't supported.
|
|
2702
2404
|
:param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
|
|
2405
|
+
:param ecs_properties: An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
|
|
2703
2406
|
:param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
|
|
2704
2407
|
:param job_definition_name: The name of the job definition.
|
|
2705
2408
|
:param node_properties: An object with properties that are specific to multi-node parallel jobs. When ``nodeProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . .. epigraph:: If the job runs on Fargate resources, don't specify ``nodeProperties`` . Use ``containerProperties`` instead.
|
|
@@ -2718,6 +2421,7 @@ class CfnJobDefinition(
|
|
|
2718
2421
|
props = CfnJobDefinitionProps(
|
|
2719
2422
|
type=type,
|
|
2720
2423
|
container_properties=container_properties,
|
|
2424
|
+
ecs_properties=ecs_properties,
|
|
2721
2425
|
eks_properties=eks_properties,
|
|
2722
2426
|
job_definition_name=job_definition_name,
|
|
2723
2427
|
node_properties=node_properties,
|
|
@@ -2812,6 +2516,24 @@ class CfnJobDefinition(
|
|
|
2812
2516
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2813
2517
|
jsii.set(self, "containerProperties", value)
|
|
2814
2518
|
|
|
2519
|
+
@builtins.property
|
|
2520
|
+
@jsii.member(jsii_name="ecsProperties")
|
|
2521
|
+
def ecs_properties(
|
|
2522
|
+
self,
|
|
2523
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]]:
|
|
2524
|
+
'''An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .'''
|
|
2525
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]], jsii.get(self, "ecsProperties"))
|
|
2526
|
+
|
|
2527
|
+
@ecs_properties.setter
|
|
2528
|
+
def ecs_properties(
|
|
2529
|
+
self,
|
|
2530
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]],
|
|
2531
|
+
) -> None:
|
|
2532
|
+
if __debug__:
|
|
2533
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0f93a9bec3d893845bf7cf59752d55dcec2df30819130514b48897371c2ec224)
|
|
2534
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2535
|
+
jsii.set(self, "ecsProperties", value)
|
|
2536
|
+
|
|
2815
2537
|
@builtins.property
|
|
2816
2538
|
@jsii.member(jsii_name="eksProperties")
|
|
2817
2539
|
def eks_properties(
|
|
@@ -3728,37 +3450,21 @@ class CfnJobDefinition(
|
|
|
3728
3450
|
)
|
|
3729
3451
|
|
|
3730
3452
|
@jsii.data_type(
|
|
3731
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
3453
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.EcsPropertiesProperty",
|
|
3732
3454
|
jsii_struct_bases=[],
|
|
3733
|
-
name_mapping={
|
|
3734
|
-
"file_system_id": "fileSystemId",
|
|
3735
|
-
"authorization_config": "authorizationConfig",
|
|
3736
|
-
"root_directory": "rootDirectory",
|
|
3737
|
-
"transit_encryption": "transitEncryption",
|
|
3738
|
-
"transit_encryption_port": "transitEncryptionPort",
|
|
3739
|
-
},
|
|
3455
|
+
name_mapping={"task_properties": "taskProperties"},
|
|
3740
3456
|
)
|
|
3741
|
-
class
|
|
3457
|
+
class EcsPropertiesProperty:
|
|
3742
3458
|
def __init__(
|
|
3743
3459
|
self,
|
|
3744
3460
|
*,
|
|
3745
|
-
|
|
3746
|
-
authorization_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.AuthorizationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3747
|
-
root_directory: typing.Optional[builtins.str] = None,
|
|
3748
|
-
transit_encryption: typing.Optional[builtins.str] = None,
|
|
3749
|
-
transit_encryption_port: typing.Optional[jsii.Number] = None,
|
|
3461
|
+
task_properties: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EcsTaskPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
3750
3462
|
) -> None:
|
|
3751
|
-
'''
|
|
3752
|
-
|
|
3753
|
-
For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
|
|
3463
|
+
'''An object that contains the properties for the Amazon ECS resources of a job.
|
|
3754
3464
|
|
|
3755
|
-
:param
|
|
3756
|
-
:param authorization_config: The authorization configuration details for the Amazon EFS file system.
|
|
3757
|
-
:param root_directory: The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying ``/`` has the same effect as omitting this parameter. The maximum length is 4,096 characters. .. epigraph:: If an EFS access point is specified in the ``authorizationConfig`` , the root directory parameter must either be omitted or set to ``/`` , which enforces the path set on the Amazon EFS access point.
|
|
3758
|
-
:param transit_encryption: Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
3759
|
-
:param transit_encryption_port: The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
3465
|
+
:param task_properties: An object that contains the properties for the Amazon ECS task definition of a job. .. epigraph:: This object is currently limited to one element.
|
|
3760
3466
|
|
|
3761
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
3467
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecsproperties.html
|
|
3762
3468
|
:exampleMetadata: fixture=_generated
|
|
3763
3469
|
|
|
3764
3470
|
Example::
|
|
@@ -3767,94 +3473,136 @@ class CfnJobDefinition(
|
|
|
3767
3473
|
# The values are placeholders you should change.
|
|
3768
3474
|
from aws_cdk import aws_batch as batch
|
|
3769
3475
|
|
|
3770
|
-
|
|
3771
|
-
file_system_id="fileSystemId",
|
|
3476
|
+
# options: Any
|
|
3772
3477
|
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3478
|
+
ecs_properties_property = batch.CfnJobDefinition.EcsPropertiesProperty(
|
|
3479
|
+
task_properties=[batch.CfnJobDefinition.EcsTaskPropertiesProperty(
|
|
3480
|
+
containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
|
|
3481
|
+
image="image",
|
|
3482
|
+
|
|
3483
|
+
# the properties below are optional
|
|
3484
|
+
command=["command"],
|
|
3485
|
+
depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
|
|
3486
|
+
condition="condition",
|
|
3487
|
+
container_name="containerName"
|
|
3488
|
+
)],
|
|
3489
|
+
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
3490
|
+
name="name",
|
|
3491
|
+
value="value"
|
|
3492
|
+
)],
|
|
3493
|
+
essential=False,
|
|
3494
|
+
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
3495
|
+
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
3496
|
+
container_path="containerPath",
|
|
3497
|
+
host_path="hostPath",
|
|
3498
|
+
permissions=["permissions"]
|
|
3499
|
+
)],
|
|
3500
|
+
init_process_enabled=False,
|
|
3501
|
+
max_swap=123,
|
|
3502
|
+
shared_memory_size=123,
|
|
3503
|
+
swappiness=123,
|
|
3504
|
+
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
3505
|
+
container_path="containerPath",
|
|
3506
|
+
size=123,
|
|
3507
|
+
|
|
3508
|
+
# the properties below are optional
|
|
3509
|
+
mount_options=["mountOptions"]
|
|
3510
|
+
)]
|
|
3511
|
+
),
|
|
3512
|
+
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
3513
|
+
log_driver="logDriver",
|
|
3514
|
+
|
|
3515
|
+
# the properties below are optional
|
|
3516
|
+
options=options,
|
|
3517
|
+
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
3518
|
+
name="name",
|
|
3519
|
+
value_from="valueFrom"
|
|
3520
|
+
)]
|
|
3521
|
+
),
|
|
3522
|
+
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
3523
|
+
container_path="containerPath",
|
|
3524
|
+
read_only=False,
|
|
3525
|
+
source_volume="sourceVolume"
|
|
3526
|
+
)],
|
|
3527
|
+
name="name",
|
|
3528
|
+
privileged=False,
|
|
3529
|
+
readonly_root_filesystem=False,
|
|
3530
|
+
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
3531
|
+
credentials_parameter="credentialsParameter"
|
|
3532
|
+
),
|
|
3533
|
+
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
3534
|
+
type="type",
|
|
3535
|
+
value="value"
|
|
3536
|
+
)],
|
|
3537
|
+
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
3538
|
+
name="name",
|
|
3539
|
+
value_from="valueFrom"
|
|
3540
|
+
)],
|
|
3541
|
+
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
3542
|
+
hard_limit=123,
|
|
3543
|
+
name="name",
|
|
3544
|
+
soft_limit=123
|
|
3545
|
+
)],
|
|
3546
|
+
user="user"
|
|
3547
|
+
)],
|
|
3548
|
+
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
3549
|
+
size_in_gi_b=123
|
|
3550
|
+
),
|
|
3551
|
+
execution_role_arn="executionRoleArn",
|
|
3552
|
+
ipc_mode="ipcMode",
|
|
3553
|
+
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
3554
|
+
assign_public_ip="assignPublicIp"
|
|
3555
|
+
),
|
|
3556
|
+
pid_mode="pidMode",
|
|
3557
|
+
platform_version="platformVersion",
|
|
3558
|
+
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
3559
|
+
cpu_architecture="cpuArchitecture",
|
|
3560
|
+
operating_system_family="operatingSystemFamily"
|
|
3561
|
+
),
|
|
3562
|
+
task_role_arn="taskRoleArn",
|
|
3563
|
+
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
3564
|
+
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
3565
|
+
file_system_id="fileSystemId",
|
|
3566
|
+
|
|
3567
|
+
# the properties below are optional
|
|
3568
|
+
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
3569
|
+
access_point_id="accessPointId",
|
|
3570
|
+
iam="iam"
|
|
3571
|
+
),
|
|
3572
|
+
root_directory="rootDirectory",
|
|
3573
|
+
transit_encryption="transitEncryption",
|
|
3574
|
+
transit_encryption_port=123
|
|
3575
|
+
),
|
|
3576
|
+
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
3577
|
+
source_path="sourcePath"
|
|
3578
|
+
),
|
|
3579
|
+
name="name"
|
|
3580
|
+
)]
|
|
3581
|
+
)]
|
|
3781
3582
|
)
|
|
3782
3583
|
'''
|
|
3783
3584
|
if __debug__:
|
|
3784
|
-
type_hints = typing.get_type_hints(
|
|
3785
|
-
check_type(argname="argument
|
|
3786
|
-
check_type(argname="argument authorization_config", value=authorization_config, expected_type=type_hints["authorization_config"])
|
|
3787
|
-
check_type(argname="argument root_directory", value=root_directory, expected_type=type_hints["root_directory"])
|
|
3788
|
-
check_type(argname="argument transit_encryption", value=transit_encryption, expected_type=type_hints["transit_encryption"])
|
|
3789
|
-
check_type(argname="argument transit_encryption_port", value=transit_encryption_port, expected_type=type_hints["transit_encryption_port"])
|
|
3585
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6153a950309796a66c44ef3a234e02ed7ff91444107709427ae345e4f0e64828)
|
|
3586
|
+
check_type(argname="argument task_properties", value=task_properties, expected_type=type_hints["task_properties"])
|
|
3790
3587
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3791
|
-
"
|
|
3588
|
+
"task_properties": task_properties,
|
|
3792
3589
|
}
|
|
3793
|
-
if authorization_config is not None:
|
|
3794
|
-
self._values["authorization_config"] = authorization_config
|
|
3795
|
-
if root_directory is not None:
|
|
3796
|
-
self._values["root_directory"] = root_directory
|
|
3797
|
-
if transit_encryption is not None:
|
|
3798
|
-
self._values["transit_encryption"] = transit_encryption
|
|
3799
|
-
if transit_encryption_port is not None:
|
|
3800
|
-
self._values["transit_encryption_port"] = transit_encryption_port
|
|
3801
|
-
|
|
3802
|
-
@builtins.property
|
|
3803
|
-
def file_system_id(self) -> builtins.str:
|
|
3804
|
-
'''The Amazon EFS file system ID to use.
|
|
3805
|
-
|
|
3806
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-filesystemid
|
|
3807
|
-
'''
|
|
3808
|
-
result = self._values.get("file_system_id")
|
|
3809
|
-
assert result is not None, "Required property 'file_system_id' is missing"
|
|
3810
|
-
return typing.cast(builtins.str, result)
|
|
3811
3590
|
|
|
3812
3591
|
@builtins.property
|
|
3813
|
-
def
|
|
3592
|
+
def task_properties(
|
|
3814
3593
|
self,
|
|
3815
|
-
) -> typing.
|
|
3816
|
-
'''
|
|
3817
|
-
|
|
3818
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-authorizationconfig
|
|
3819
|
-
'''
|
|
3820
|
-
result = self._values.get("authorization_config")
|
|
3821
|
-
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.AuthorizationConfigProperty"]], result)
|
|
3822
|
-
|
|
3823
|
-
@builtins.property
|
|
3824
|
-
def root_directory(self) -> typing.Optional[builtins.str]:
|
|
3825
|
-
'''The directory within the Amazon EFS file system to mount as the root directory inside the host.
|
|
3594
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsTaskPropertiesProperty"]]]:
|
|
3595
|
+
'''An object that contains the properties for the Amazon ECS task definition of a job.
|
|
3826
3596
|
|
|
3827
|
-
If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying ``/`` has the same effect as omitting this parameter. The maximum length is 4,096 characters.
|
|
3828
3597
|
.. epigraph::
|
|
3829
3598
|
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-rootdirectory
|
|
3833
|
-
'''
|
|
3834
|
-
result = self._values.get("root_directory")
|
|
3835
|
-
return typing.cast(typing.Optional[builtins.str], result)
|
|
3836
|
-
|
|
3837
|
-
@builtins.property
|
|
3838
|
-
def transit_encryption(self) -> typing.Optional[builtins.str]:
|
|
3839
|
-
'''Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.
|
|
3840
|
-
|
|
3841
|
-
Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
3842
|
-
|
|
3843
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryption
|
|
3844
|
-
'''
|
|
3845
|
-
result = self._values.get("transit_encryption")
|
|
3846
|
-
return typing.cast(typing.Optional[builtins.str], result)
|
|
3847
|
-
|
|
3848
|
-
@builtins.property
|
|
3849
|
-
def transit_encryption_port(self) -> typing.Optional[jsii.Number]:
|
|
3850
|
-
'''The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.
|
|
3851
|
-
|
|
3852
|
-
If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
3599
|
+
This object is currently limited to one element.
|
|
3853
3600
|
|
|
3854
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
3601
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecsproperties.html#cfn-batch-jobdefinition-ecsproperties-taskproperties
|
|
3855
3602
|
'''
|
|
3856
|
-
result = self._values.get("
|
|
3857
|
-
|
|
3603
|
+
result = self._values.get("task_properties")
|
|
3604
|
+
assert result is not None, "Required property 'task_properties' is missing"
|
|
3605
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsTaskPropertiesProperty"]]], result)
|
|
3858
3606
|
|
|
3859
3607
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3860
3608
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -3863,28 +3611,57 @@ class CfnJobDefinition(
|
|
|
3863
3611
|
return not (rhs == self)
|
|
3864
3612
|
|
|
3865
3613
|
def __repr__(self) -> str:
|
|
3866
|
-
return "
|
|
3614
|
+
return "EcsPropertiesProperty(%s)" % ", ".join(
|
|
3867
3615
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
3868
3616
|
)
|
|
3869
3617
|
|
|
3870
3618
|
@jsii.data_type(
|
|
3871
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
3619
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.EcsTaskPropertiesProperty",
|
|
3872
3620
|
jsii_struct_bases=[],
|
|
3873
|
-
name_mapping={
|
|
3621
|
+
name_mapping={
|
|
3622
|
+
"containers": "containers",
|
|
3623
|
+
"ephemeral_storage": "ephemeralStorage",
|
|
3624
|
+
"execution_role_arn": "executionRoleArn",
|
|
3625
|
+
"ipc_mode": "ipcMode",
|
|
3626
|
+
"network_configuration": "networkConfiguration",
|
|
3627
|
+
"pid_mode": "pidMode",
|
|
3628
|
+
"platform_version": "platformVersion",
|
|
3629
|
+
"runtime_platform": "runtimePlatform",
|
|
3630
|
+
"task_role_arn": "taskRoleArn",
|
|
3631
|
+
"volumes": "volumes",
|
|
3632
|
+
},
|
|
3874
3633
|
)
|
|
3875
|
-
class
|
|
3634
|
+
class EcsTaskPropertiesProperty:
|
|
3876
3635
|
def __init__(
|
|
3877
3636
|
self,
|
|
3878
3637
|
*,
|
|
3879
|
-
|
|
3880
|
-
|
|
3638
|
+
containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.TaskContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3639
|
+
ephemeral_storage: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EphemeralStorageProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3640
|
+
execution_role_arn: typing.Optional[builtins.str] = None,
|
|
3641
|
+
ipc_mode: typing.Optional[builtins.str] = None,
|
|
3642
|
+
network_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.NetworkConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3643
|
+
pid_mode: typing.Optional[builtins.str] = None,
|
|
3644
|
+
platform_version: typing.Optional[builtins.str] = None,
|
|
3645
|
+
runtime_platform: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.RuntimePlatformProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3646
|
+
task_role_arn: typing.Optional[builtins.str] = None,
|
|
3647
|
+
volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.VolumesProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3881
3648
|
) -> None:
|
|
3882
|
-
'''
|
|
3649
|
+
'''The properties for a task definition that describes the container and volume definitions of an Amazon ECS task.
|
|
3883
3650
|
|
|
3884
|
-
|
|
3885
|
-
:param value: The value of the environment variable.
|
|
3651
|
+
You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.
|
|
3886
3652
|
|
|
3887
|
-
:
|
|
3653
|
+
:param containers: This object is a list of containers.
|
|
3654
|
+
:param ephemeral_storage: The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
|
|
3655
|
+
:param execution_role_arn: The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see `AWS Batch execution IAM role <https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html>`_ in the *AWS Batch User Guide* .
|
|
3656
|
+
:param ipc_mode: The IPC resource namespace to use for the containers in the task. The valid values are ``host`` , ``task`` , or ``none`` . If ``host`` is specified, all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified ``task`` share the same IPC resources. If ``none`` is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see `IPC settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc>`_ in the Docker run reference.
|
|
3657
|
+
:param network_configuration: The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
|
|
3658
|
+
:param pid_mode: The process namespace to use for the containers in the task. The valid values are ``host`` or ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task. If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. For more information, see `PID settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid>`_ in the Docker run reference.
|
|
3659
|
+
:param platform_version: The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the ``LATEST`` platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see `AWS Fargate platform versions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
3660
|
+
:param runtime_platform: An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
|
|
3661
|
+
:param task_role_arn: The Amazon Resource Name (ARN) that's associated with the Amazon ECS task. .. epigraph:: This is object is comparable to `ContainerProperties:jobRoleArn <https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html>`_ .
|
|
3662
|
+
:param volumes: A list of volumes that are associated with the job.
|
|
3663
|
+
|
|
3664
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html
|
|
3888
3665
|
:exampleMetadata: fixture=_generated
|
|
3889
3666
|
|
|
3890
3667
|
Example::
|
|
@@ -3893,42 +3670,276 @@ class CfnJobDefinition(
|
|
|
3893
3670
|
# The values are placeholders you should change.
|
|
3894
3671
|
from aws_cdk import aws_batch as batch
|
|
3895
3672
|
|
|
3896
|
-
|
|
3897
|
-
name="name",
|
|
3673
|
+
# options: Any
|
|
3898
3674
|
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3675
|
+
ecs_task_properties_property = batch.CfnJobDefinition.EcsTaskPropertiesProperty(
|
|
3676
|
+
containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
|
|
3677
|
+
image="image",
|
|
3678
|
+
|
|
3679
|
+
# the properties below are optional
|
|
3680
|
+
command=["command"],
|
|
3681
|
+
depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
|
|
3682
|
+
condition="condition",
|
|
3683
|
+
container_name="containerName"
|
|
3684
|
+
)],
|
|
3685
|
+
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
3686
|
+
name="name",
|
|
3687
|
+
value="value"
|
|
3688
|
+
)],
|
|
3689
|
+
essential=False,
|
|
3690
|
+
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
3691
|
+
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
3692
|
+
container_path="containerPath",
|
|
3693
|
+
host_path="hostPath",
|
|
3694
|
+
permissions=["permissions"]
|
|
3695
|
+
)],
|
|
3696
|
+
init_process_enabled=False,
|
|
3697
|
+
max_swap=123,
|
|
3698
|
+
shared_memory_size=123,
|
|
3699
|
+
swappiness=123,
|
|
3700
|
+
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
3701
|
+
container_path="containerPath",
|
|
3702
|
+
size=123,
|
|
3703
|
+
|
|
3704
|
+
# the properties below are optional
|
|
3705
|
+
mount_options=["mountOptions"]
|
|
3706
|
+
)]
|
|
3707
|
+
),
|
|
3708
|
+
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
3709
|
+
log_driver="logDriver",
|
|
3710
|
+
|
|
3711
|
+
# the properties below are optional
|
|
3712
|
+
options=options,
|
|
3713
|
+
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
3714
|
+
name="name",
|
|
3715
|
+
value_from="valueFrom"
|
|
3716
|
+
)]
|
|
3717
|
+
),
|
|
3718
|
+
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
3719
|
+
container_path="containerPath",
|
|
3720
|
+
read_only=False,
|
|
3721
|
+
source_volume="sourceVolume"
|
|
3722
|
+
)],
|
|
3723
|
+
name="name",
|
|
3724
|
+
privileged=False,
|
|
3725
|
+
readonly_root_filesystem=False,
|
|
3726
|
+
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
3727
|
+
credentials_parameter="credentialsParameter"
|
|
3728
|
+
),
|
|
3729
|
+
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
3730
|
+
type="type",
|
|
3731
|
+
value="value"
|
|
3732
|
+
)],
|
|
3733
|
+
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
3734
|
+
name="name",
|
|
3735
|
+
value_from="valueFrom"
|
|
3736
|
+
)],
|
|
3737
|
+
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
3738
|
+
hard_limit=123,
|
|
3739
|
+
name="name",
|
|
3740
|
+
soft_limit=123
|
|
3741
|
+
)],
|
|
3742
|
+
user="user"
|
|
3743
|
+
)],
|
|
3744
|
+
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
3745
|
+
size_in_gi_b=123
|
|
3746
|
+
),
|
|
3747
|
+
execution_role_arn="executionRoleArn",
|
|
3748
|
+
ipc_mode="ipcMode",
|
|
3749
|
+
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
3750
|
+
assign_public_ip="assignPublicIp"
|
|
3751
|
+
),
|
|
3752
|
+
pid_mode="pidMode",
|
|
3753
|
+
platform_version="platformVersion",
|
|
3754
|
+
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
3755
|
+
cpu_architecture="cpuArchitecture",
|
|
3756
|
+
operating_system_family="operatingSystemFamily"
|
|
3757
|
+
),
|
|
3758
|
+
task_role_arn="taskRoleArn",
|
|
3759
|
+
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
3760
|
+
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
3761
|
+
file_system_id="fileSystemId",
|
|
3762
|
+
|
|
3763
|
+
# the properties below are optional
|
|
3764
|
+
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
3765
|
+
access_point_id="accessPointId",
|
|
3766
|
+
iam="iam"
|
|
3767
|
+
),
|
|
3768
|
+
root_directory="rootDirectory",
|
|
3769
|
+
transit_encryption="transitEncryption",
|
|
3770
|
+
transit_encryption_port=123
|
|
3771
|
+
),
|
|
3772
|
+
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
3773
|
+
source_path="sourcePath"
|
|
3774
|
+
),
|
|
3775
|
+
name="name"
|
|
3776
|
+
)]
|
|
3777
|
+
)
|
|
3778
|
+
'''
|
|
3779
|
+
if __debug__:
|
|
3780
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8e8c39be2b840a158045732ea20d964bf03d380304bbcd66936cb862e6cc2a8e)
|
|
3781
|
+
check_type(argname="argument containers", value=containers, expected_type=type_hints["containers"])
|
|
3782
|
+
check_type(argname="argument ephemeral_storage", value=ephemeral_storage, expected_type=type_hints["ephemeral_storage"])
|
|
3783
|
+
check_type(argname="argument execution_role_arn", value=execution_role_arn, expected_type=type_hints["execution_role_arn"])
|
|
3784
|
+
check_type(argname="argument ipc_mode", value=ipc_mode, expected_type=type_hints["ipc_mode"])
|
|
3785
|
+
check_type(argname="argument network_configuration", value=network_configuration, expected_type=type_hints["network_configuration"])
|
|
3786
|
+
check_type(argname="argument pid_mode", value=pid_mode, expected_type=type_hints["pid_mode"])
|
|
3787
|
+
check_type(argname="argument platform_version", value=platform_version, expected_type=type_hints["platform_version"])
|
|
3788
|
+
check_type(argname="argument runtime_platform", value=runtime_platform, expected_type=type_hints["runtime_platform"])
|
|
3789
|
+
check_type(argname="argument task_role_arn", value=task_role_arn, expected_type=type_hints["task_role_arn"])
|
|
3790
|
+
check_type(argname="argument volumes", value=volumes, expected_type=type_hints["volumes"])
|
|
3791
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3792
|
+
if containers is not None:
|
|
3793
|
+
self._values["containers"] = containers
|
|
3794
|
+
if ephemeral_storage is not None:
|
|
3795
|
+
self._values["ephemeral_storage"] = ephemeral_storage
|
|
3796
|
+
if execution_role_arn is not None:
|
|
3797
|
+
self._values["execution_role_arn"] = execution_role_arn
|
|
3798
|
+
if ipc_mode is not None:
|
|
3799
|
+
self._values["ipc_mode"] = ipc_mode
|
|
3800
|
+
if network_configuration is not None:
|
|
3801
|
+
self._values["network_configuration"] = network_configuration
|
|
3802
|
+
if pid_mode is not None:
|
|
3803
|
+
self._values["pid_mode"] = pid_mode
|
|
3804
|
+
if platform_version is not None:
|
|
3805
|
+
self._values["platform_version"] = platform_version
|
|
3806
|
+
if runtime_platform is not None:
|
|
3807
|
+
self._values["runtime_platform"] = runtime_platform
|
|
3808
|
+
if task_role_arn is not None:
|
|
3809
|
+
self._values["task_role_arn"] = task_role_arn
|
|
3810
|
+
if volumes is not None:
|
|
3811
|
+
self._values["volumes"] = volumes
|
|
3926
3812
|
|
|
3927
|
-
|
|
3813
|
+
@builtins.property
|
|
3814
|
+
def containers(
|
|
3815
|
+
self,
|
|
3816
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerPropertiesProperty"]]]]:
|
|
3817
|
+
'''This object is a list of containers.
|
|
3818
|
+
|
|
3819
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-containers
|
|
3928
3820
|
'''
|
|
3929
|
-
result = self._values.get("
|
|
3821
|
+
result = self._values.get("containers")
|
|
3822
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerPropertiesProperty"]]]], result)
|
|
3823
|
+
|
|
3824
|
+
@builtins.property
|
|
3825
|
+
def ephemeral_storage(
|
|
3826
|
+
self,
|
|
3827
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EphemeralStorageProperty"]]:
|
|
3828
|
+
'''The amount of ephemeral storage to allocate for the task.
|
|
3829
|
+
|
|
3830
|
+
This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
|
|
3831
|
+
|
|
3832
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-ephemeralstorage
|
|
3833
|
+
'''
|
|
3834
|
+
result = self._values.get("ephemeral_storage")
|
|
3835
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EphemeralStorageProperty"]], result)
|
|
3836
|
+
|
|
3837
|
+
@builtins.property
|
|
3838
|
+
def execution_role_arn(self) -> typing.Optional[builtins.str]:
|
|
3839
|
+
'''The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
|
|
3840
|
+
|
|
3841
|
+
For jobs that run on Fargate resources, you must provide an execution role. For more information, see `AWS Batch execution IAM role <https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html>`_ in the *AWS Batch User Guide* .
|
|
3842
|
+
|
|
3843
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-executionrolearn
|
|
3844
|
+
'''
|
|
3845
|
+
result = self._values.get("execution_role_arn")
|
|
3846
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3847
|
+
|
|
3848
|
+
@builtins.property
|
|
3849
|
+
def ipc_mode(self) -> typing.Optional[builtins.str]:
|
|
3850
|
+
'''The IPC resource namespace to use for the containers in the task.
|
|
3851
|
+
|
|
3852
|
+
The valid values are ``host`` , ``task`` , or ``none`` .
|
|
3853
|
+
|
|
3854
|
+
If ``host`` is specified, all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.
|
|
3855
|
+
|
|
3856
|
+
If ``task`` is specified, all containers within the specified ``task`` share the same IPC resources.
|
|
3857
|
+
|
|
3858
|
+
If ``none`` is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.
|
|
3859
|
+
|
|
3860
|
+
If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see `IPC settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc>`_ in the Docker run reference.
|
|
3861
|
+
|
|
3862
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-ipcmode
|
|
3863
|
+
'''
|
|
3864
|
+
result = self._values.get("ipc_mode")
|
|
3865
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3866
|
+
|
|
3867
|
+
@builtins.property
|
|
3868
|
+
def network_configuration(
|
|
3869
|
+
self,
|
|
3870
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.NetworkConfigurationProperty"]]:
|
|
3871
|
+
'''The network configuration for jobs that are running on Fargate resources.
|
|
3872
|
+
|
|
3873
|
+
Jobs that are running on Amazon EC2 resources must not specify this parameter.
|
|
3874
|
+
|
|
3875
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-networkconfiguration
|
|
3876
|
+
'''
|
|
3877
|
+
result = self._values.get("network_configuration")
|
|
3878
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.NetworkConfigurationProperty"]], result)
|
|
3879
|
+
|
|
3880
|
+
@builtins.property
|
|
3881
|
+
def pid_mode(self) -> typing.Optional[builtins.str]:
|
|
3882
|
+
'''The process namespace to use for the containers in the task.
|
|
3883
|
+
|
|
3884
|
+
The valid values are ``host`` or ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task.
|
|
3885
|
+
|
|
3886
|
+
If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.
|
|
3887
|
+
|
|
3888
|
+
If ``task`` is specified, all containers within the specified task share the same process namespace.
|
|
3889
|
+
|
|
3890
|
+
If no value is specified, the default is a private namespace for each container. For more information, see `PID settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid>`_ in the Docker run reference.
|
|
3891
|
+
|
|
3892
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-pidmode
|
|
3893
|
+
'''
|
|
3894
|
+
result = self._values.get("pid_mode")
|
|
3895
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3896
|
+
|
|
3897
|
+
@builtins.property
|
|
3898
|
+
def platform_version(self) -> typing.Optional[builtins.str]:
|
|
3899
|
+
'''The Fargate platform version where the jobs are running.
|
|
3900
|
+
|
|
3901
|
+
A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the ``LATEST`` platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see `AWS Fargate platform versions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
3902
|
+
|
|
3903
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-platformversion
|
|
3904
|
+
'''
|
|
3905
|
+
result = self._values.get("platform_version")
|
|
3906
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3907
|
+
|
|
3908
|
+
@builtins.property
|
|
3909
|
+
def runtime_platform(
|
|
3910
|
+
self,
|
|
3911
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.RuntimePlatformProperty"]]:
|
|
3912
|
+
'''An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
|
|
3913
|
+
|
|
3914
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-runtimeplatform
|
|
3915
|
+
'''
|
|
3916
|
+
result = self._values.get("runtime_platform")
|
|
3917
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.RuntimePlatformProperty"]], result)
|
|
3918
|
+
|
|
3919
|
+
@builtins.property
|
|
3920
|
+
def task_role_arn(self) -> typing.Optional[builtins.str]:
|
|
3921
|
+
'''The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.
|
|
3922
|
+
|
|
3923
|
+
.. epigraph::
|
|
3924
|
+
|
|
3925
|
+
This is object is comparable to `ContainerProperties:jobRoleArn <https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html>`_ .
|
|
3926
|
+
|
|
3927
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-taskrolearn
|
|
3928
|
+
'''
|
|
3929
|
+
result = self._values.get("task_role_arn")
|
|
3930
3930
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3931
3931
|
|
|
3932
|
+
@builtins.property
|
|
3933
|
+
def volumes(
|
|
3934
|
+
self,
|
|
3935
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesProperty"]]]]:
|
|
3936
|
+
'''A list of volumes that are associated with the job.
|
|
3937
|
+
|
|
3938
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-volumes
|
|
3939
|
+
'''
|
|
3940
|
+
result = self._values.get("volumes")
|
|
3941
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesProperty"]]]], result)
|
|
3942
|
+
|
|
3932
3943
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3933
3944
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3934
3945
|
|
|
@@ -3936,50 +3947,263 @@ class CfnJobDefinition(
|
|
|
3936
3947
|
return not (rhs == self)
|
|
3937
3948
|
|
|
3938
3949
|
def __repr__(self) -> str:
|
|
3939
|
-
return "
|
|
3950
|
+
return "EcsTaskPropertiesProperty(%s)" % ", ".join(
|
|
3940
3951
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
3941
3952
|
)
|
|
3942
3953
|
|
|
3943
3954
|
@jsii.data_type(
|
|
3944
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
3955
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.EfsVolumeConfigurationProperty",
|
|
3945
3956
|
jsii_struct_bases=[],
|
|
3946
3957
|
name_mapping={
|
|
3947
|
-
"
|
|
3948
|
-
"
|
|
3949
|
-
"
|
|
3950
|
-
"
|
|
3951
|
-
"
|
|
3952
|
-
"name": "name",
|
|
3953
|
-
"resources": "resources",
|
|
3954
|
-
"security_context": "securityContext",
|
|
3955
|
-
"volume_mounts": "volumeMounts",
|
|
3958
|
+
"file_system_id": "fileSystemId",
|
|
3959
|
+
"authorization_config": "authorizationConfig",
|
|
3960
|
+
"root_directory": "rootDirectory",
|
|
3961
|
+
"transit_encryption": "transitEncryption",
|
|
3962
|
+
"transit_encryption_port": "transitEncryptionPort",
|
|
3956
3963
|
},
|
|
3957
3964
|
)
|
|
3958
|
-
class
|
|
3965
|
+
class EfsVolumeConfigurationProperty:
|
|
3959
3966
|
def __init__(
|
|
3960
3967
|
self,
|
|
3961
3968
|
*,
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
name: typing.Optional[builtins.str] = None,
|
|
3968
|
-
resources: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ResourcesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3969
|
-
security_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.SecurityContextProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3970
|
-
volume_mounts: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksContainerVolumeMountProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
3969
|
+
file_system_id: builtins.str,
|
|
3970
|
+
authorization_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.AuthorizationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3971
|
+
root_directory: typing.Optional[builtins.str] = None,
|
|
3972
|
+
transit_encryption: typing.Optional[builtins.str] = None,
|
|
3973
|
+
transit_encryption_port: typing.Optional[jsii.Number] = None,
|
|
3971
3974
|
) -> None:
|
|
3972
|
-
'''
|
|
3975
|
+
'''This is used when you're using an Amazon Elastic File System file system for job storage.
|
|
3973
3976
|
|
|
3974
|
-
|
|
3977
|
+
For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
|
|
3975
3978
|
|
|
3976
|
-
:param
|
|
3977
|
-
:param
|
|
3978
|
-
:param
|
|
3979
|
-
:param
|
|
3980
|
-
:param
|
|
3981
|
-
|
|
3982
|
-
:
|
|
3979
|
+
:param file_system_id: The Amazon EFS file system ID to use.
|
|
3980
|
+
:param authorization_config: The authorization configuration details for the Amazon EFS file system.
|
|
3981
|
+
:param root_directory: The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying ``/`` has the same effect as omitting this parameter. The maximum length is 4,096 characters. .. epigraph:: If an EFS access point is specified in the ``authorizationConfig`` , the root directory parameter must either be omitted or set to ``/`` , which enforces the path set on the Amazon EFS access point.
|
|
3982
|
+
:param transit_encryption: Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
3983
|
+
:param transit_encryption_port: The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
3984
|
+
|
|
3985
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html
|
|
3986
|
+
:exampleMetadata: fixture=_generated
|
|
3987
|
+
|
|
3988
|
+
Example::
|
|
3989
|
+
|
|
3990
|
+
# The code below shows an example of how to instantiate this type.
|
|
3991
|
+
# The values are placeholders you should change.
|
|
3992
|
+
from aws_cdk import aws_batch as batch
|
|
3993
|
+
|
|
3994
|
+
efs_volume_configuration_property = batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
3995
|
+
file_system_id="fileSystemId",
|
|
3996
|
+
|
|
3997
|
+
# the properties below are optional
|
|
3998
|
+
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
3999
|
+
access_point_id="accessPointId",
|
|
4000
|
+
iam="iam"
|
|
4001
|
+
),
|
|
4002
|
+
root_directory="rootDirectory",
|
|
4003
|
+
transit_encryption="transitEncryption",
|
|
4004
|
+
transit_encryption_port=123
|
|
4005
|
+
)
|
|
4006
|
+
'''
|
|
4007
|
+
if __debug__:
|
|
4008
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f673b085b46133477cd372799511104e89e28bf34ac0f6255020b20ef8b7e3e0)
|
|
4009
|
+
check_type(argname="argument file_system_id", value=file_system_id, expected_type=type_hints["file_system_id"])
|
|
4010
|
+
check_type(argname="argument authorization_config", value=authorization_config, expected_type=type_hints["authorization_config"])
|
|
4011
|
+
check_type(argname="argument root_directory", value=root_directory, expected_type=type_hints["root_directory"])
|
|
4012
|
+
check_type(argname="argument transit_encryption", value=transit_encryption, expected_type=type_hints["transit_encryption"])
|
|
4013
|
+
check_type(argname="argument transit_encryption_port", value=transit_encryption_port, expected_type=type_hints["transit_encryption_port"])
|
|
4014
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4015
|
+
"file_system_id": file_system_id,
|
|
4016
|
+
}
|
|
4017
|
+
if authorization_config is not None:
|
|
4018
|
+
self._values["authorization_config"] = authorization_config
|
|
4019
|
+
if root_directory is not None:
|
|
4020
|
+
self._values["root_directory"] = root_directory
|
|
4021
|
+
if transit_encryption is not None:
|
|
4022
|
+
self._values["transit_encryption"] = transit_encryption
|
|
4023
|
+
if transit_encryption_port is not None:
|
|
4024
|
+
self._values["transit_encryption_port"] = transit_encryption_port
|
|
4025
|
+
|
|
4026
|
+
@builtins.property
|
|
4027
|
+
def file_system_id(self) -> builtins.str:
|
|
4028
|
+
'''The Amazon EFS file system ID to use.
|
|
4029
|
+
|
|
4030
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-filesystemid
|
|
4031
|
+
'''
|
|
4032
|
+
result = self._values.get("file_system_id")
|
|
4033
|
+
assert result is not None, "Required property 'file_system_id' is missing"
|
|
4034
|
+
return typing.cast(builtins.str, result)
|
|
4035
|
+
|
|
4036
|
+
@builtins.property
|
|
4037
|
+
def authorization_config(
|
|
4038
|
+
self,
|
|
4039
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.AuthorizationConfigProperty"]]:
|
|
4040
|
+
'''The authorization configuration details for the Amazon EFS file system.
|
|
4041
|
+
|
|
4042
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-authorizationconfig
|
|
4043
|
+
'''
|
|
4044
|
+
result = self._values.get("authorization_config")
|
|
4045
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.AuthorizationConfigProperty"]], result)
|
|
4046
|
+
|
|
4047
|
+
@builtins.property
|
|
4048
|
+
def root_directory(self) -> typing.Optional[builtins.str]:
|
|
4049
|
+
'''The directory within the Amazon EFS file system to mount as the root directory inside the host.
|
|
4050
|
+
|
|
4051
|
+
If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying ``/`` has the same effect as omitting this parameter. The maximum length is 4,096 characters.
|
|
4052
|
+
.. epigraph::
|
|
4053
|
+
|
|
4054
|
+
If an EFS access point is specified in the ``authorizationConfig`` , the root directory parameter must either be omitted or set to ``/`` , which enforces the path set on the Amazon EFS access point.
|
|
4055
|
+
|
|
4056
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-rootdirectory
|
|
4057
|
+
'''
|
|
4058
|
+
result = self._values.get("root_directory")
|
|
4059
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4060
|
+
|
|
4061
|
+
@builtins.property
|
|
4062
|
+
def transit_encryption(self) -> typing.Optional[builtins.str]:
|
|
4063
|
+
'''Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.
|
|
4064
|
+
|
|
4065
|
+
Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
4066
|
+
|
|
4067
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryption
|
|
4068
|
+
'''
|
|
4069
|
+
result = self._values.get("transit_encryption")
|
|
4070
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4071
|
+
|
|
4072
|
+
@builtins.property
|
|
4073
|
+
def transit_encryption_port(self) -> typing.Optional[jsii.Number]:
|
|
4074
|
+
'''The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.
|
|
4075
|
+
|
|
4076
|
+
If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
4077
|
+
|
|
4078
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryptionport
|
|
4079
|
+
'''
|
|
4080
|
+
result = self._values.get("transit_encryption_port")
|
|
4081
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4082
|
+
|
|
4083
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4084
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4085
|
+
|
|
4086
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4087
|
+
return not (rhs == self)
|
|
4088
|
+
|
|
4089
|
+
def __repr__(self) -> str:
|
|
4090
|
+
return "EfsVolumeConfigurationProperty(%s)" % ", ".join(
|
|
4091
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4092
|
+
)
|
|
4093
|
+
|
|
4094
|
+
@jsii.data_type(
|
|
4095
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.EksContainerEnvironmentVariableProperty",
|
|
4096
|
+
jsii_struct_bases=[],
|
|
4097
|
+
name_mapping={"name": "name", "value": "value"},
|
|
4098
|
+
)
|
|
4099
|
+
class EksContainerEnvironmentVariableProperty:
|
|
4100
|
+
def __init__(
|
|
4101
|
+
self,
|
|
4102
|
+
*,
|
|
4103
|
+
name: builtins.str,
|
|
4104
|
+
value: typing.Optional[builtins.str] = None,
|
|
4105
|
+
) -> None:
|
|
4106
|
+
'''An environment variable.
|
|
4107
|
+
|
|
4108
|
+
:param name: The name of the environment variable.
|
|
4109
|
+
:param value: The value of the environment variable.
|
|
4110
|
+
|
|
4111
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerenvironmentvariable.html
|
|
4112
|
+
:exampleMetadata: fixture=_generated
|
|
4113
|
+
|
|
4114
|
+
Example::
|
|
4115
|
+
|
|
4116
|
+
# The code below shows an example of how to instantiate this type.
|
|
4117
|
+
# The values are placeholders you should change.
|
|
4118
|
+
from aws_cdk import aws_batch as batch
|
|
4119
|
+
|
|
4120
|
+
eks_container_environment_variable_property = batch.CfnJobDefinition.EksContainerEnvironmentVariableProperty(
|
|
4121
|
+
name="name",
|
|
4122
|
+
|
|
4123
|
+
# the properties below are optional
|
|
4124
|
+
value="value"
|
|
4125
|
+
)
|
|
4126
|
+
'''
|
|
4127
|
+
if __debug__:
|
|
4128
|
+
type_hints = typing.get_type_hints(_typecheckingstub__daaaeed078e13c29ac34da5a79bab4c04e8767edaf6d6a60877918a94797c218)
|
|
4129
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
4130
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4131
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4132
|
+
"name": name,
|
|
4133
|
+
}
|
|
4134
|
+
if value is not None:
|
|
4135
|
+
self._values["value"] = value
|
|
4136
|
+
|
|
4137
|
+
@builtins.property
|
|
4138
|
+
def name(self) -> builtins.str:
|
|
4139
|
+
'''The name of the environment variable.
|
|
4140
|
+
|
|
4141
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerenvironmentvariable.html#cfn-batch-jobdefinition-ekscontainerenvironmentvariable-name
|
|
4142
|
+
'''
|
|
4143
|
+
result = self._values.get("name")
|
|
4144
|
+
assert result is not None, "Required property 'name' is missing"
|
|
4145
|
+
return typing.cast(builtins.str, result)
|
|
4146
|
+
|
|
4147
|
+
@builtins.property
|
|
4148
|
+
def value(self) -> typing.Optional[builtins.str]:
|
|
4149
|
+
'''The value of the environment variable.
|
|
4150
|
+
|
|
4151
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ekscontainerenvironmentvariable.html#cfn-batch-jobdefinition-ekscontainerenvironmentvariable-value
|
|
4152
|
+
'''
|
|
4153
|
+
result = self._values.get("value")
|
|
4154
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4155
|
+
|
|
4156
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4157
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4158
|
+
|
|
4159
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4160
|
+
return not (rhs == self)
|
|
4161
|
+
|
|
4162
|
+
def __repr__(self) -> str:
|
|
4163
|
+
return "EksContainerEnvironmentVariableProperty(%s)" % ", ".join(
|
|
4164
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4165
|
+
)
|
|
4166
|
+
|
|
4167
|
+
@jsii.data_type(
|
|
4168
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.EksContainerProperty",
|
|
4169
|
+
jsii_struct_bases=[],
|
|
4170
|
+
name_mapping={
|
|
4171
|
+
"image": "image",
|
|
4172
|
+
"args": "args",
|
|
4173
|
+
"command": "command",
|
|
4174
|
+
"env": "env",
|
|
4175
|
+
"image_pull_policy": "imagePullPolicy",
|
|
4176
|
+
"name": "name",
|
|
4177
|
+
"resources": "resources",
|
|
4178
|
+
"security_context": "securityContext",
|
|
4179
|
+
"volume_mounts": "volumeMounts",
|
|
4180
|
+
},
|
|
4181
|
+
)
|
|
4182
|
+
class EksContainerProperty:
|
|
4183
|
+
def __init__(
|
|
4184
|
+
self,
|
|
4185
|
+
*,
|
|
4186
|
+
image: builtins.str,
|
|
4187
|
+
args: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4188
|
+
command: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4189
|
+
env: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksContainerEnvironmentVariableProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4190
|
+
image_pull_policy: typing.Optional[builtins.str] = None,
|
|
4191
|
+
name: typing.Optional[builtins.str] = None,
|
|
4192
|
+
resources: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ResourcesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4193
|
+
security_context: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.SecurityContextProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4194
|
+
volume_mounts: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksContainerVolumeMountProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
4195
|
+
) -> None:
|
|
4196
|
+
'''EKS container properties are used in job definitions for Amazon EKS based job definitions to describe the properties for a container node in the pod that's launched as part of a job.
|
|
4197
|
+
|
|
4198
|
+
This can't be specified for Amazon ECS based job definitions.
|
|
4199
|
+
|
|
4200
|
+
:param image: The Docker image used to start the container.
|
|
4201
|
+
:param args: An array of arguments to the entrypoint. If this isn't specified, the ``CMD`` of the container image is used. This corresponds to the ``args`` member in the `Entrypoint <https://docs.aws.amazon.com/https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint>`_ portion of the `Pod <https://docs.aws.amazon.com/https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/>`_ in Kubernetes. Environment variable references are expanded using the container's environment. If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " ``$(NAME1)`` " and the ``NAME1`` environment variable doesn't exist, the command string will remain " ``$(NAME1)`` ." ``$$`` is replaced with ``$`` , and the resulting string isn't expanded. For example, ``$$(VAR_NAME)`` is passed as ``$(VAR_NAME)`` whether or not the ``VAR_NAME`` environment variable exists. For more information, see `Dockerfile reference: CMD <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd>`_ and `Define a command and arguments for a pod <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/>`_ in the *Kubernetes documentation* .
|
|
4202
|
+
:param command: The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ``ENTRYPOINT`` of the container image is used. Environment variable references are expanded using the container's environment. If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " ``$(NAME1)`` " and the ``NAME1`` environment variable doesn't exist, the command string will remain " ``$(NAME1)`` ." ``$$`` is replaced with ``$`` and the resulting string isn't expanded. For example, ``$$(VAR_NAME)`` will be passed as ``$(VAR_NAME)`` whether or not the ``VAR_NAME`` environment variable exists. The entrypoint can't be updated. For more information, see `ENTRYPOINT <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint>`_ in the *Dockerfile reference* and `Define a command and arguments for a container <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/>`_ and `Entrypoint <https://docs.aws.amazon.com/https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint>`_ in the *Kubernetes documentation* .
|
|
4203
|
+
:param env: The environment variables to pass to a container. .. epigraph:: Environment variables cannot start with " ``AWS_BATCH`` ". This naming convention is reserved for variables that AWS Batch sets.
|
|
4204
|
+
:param image_pull_policy: The image pull policy for the container. Supported values are ``Always`` , ``IfNotPresent`` , and ``Never`` . This parameter defaults to ``IfNotPresent`` . However, if the ``:latest`` tag is specified, it defaults to ``Always`` . For more information, see `Updating images <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/containers/images/#updating-images>`_ in the *Kubernetes documentation* .
|
|
4205
|
+
:param name: The name of the container. If the name isn't specified, the default name " ``Default`` " is used. Each container in a pod must have a unique name.
|
|
4206
|
+
:param resources: The type and amount of resources to assign to a container. The supported resources include ``memory`` , ``cpu`` , and ``nvidia.com/gpu`` . For more information, see `Resource management for pods and containers <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/>`_ in the *Kubernetes documentation* .
|
|
3983
4207
|
:param security_context: The security context for a job. For more information, see `Configure a security context for a pod or container <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/security-context/>`_ in the *Kubernetes documentation* .
|
|
3984
4208
|
:param volume_mounts: The volume mounts for the container. AWS Batch supports ``emptyDir`` , ``hostPath`` , and ``secret`` volume types. For more information about volumes and volume mounts in Kubernetes, see `Volumes <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/storage/volumes/>`_ in the *Kubernetes documentation* .
|
|
3985
4209
|
|
|
@@ -4341,33 +4565,65 @@ class CfnJobDefinition(
|
|
|
4341
4565
|
)],
|
|
4342
4566
|
dns_policy="dnsPolicy",
|
|
4343
4567
|
host_network=False,
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
),
|
|
4347
|
-
service_account_name="serviceAccountName",
|
|
4348
|
-
volumes=[batch.CfnJobDefinition.EksVolumeProperty(
|
|
4349
|
-
name="name",
|
|
4568
|
+
init_containers=[batch.CfnJobDefinition.EksContainerProperty(
|
|
4569
|
+
image="image",
|
|
4350
4570
|
|
|
4351
4571
|
# the properties below are optional
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
host_path=batch.CfnJobDefinition.HostPathProperty(
|
|
4357
|
-
path="path"
|
|
4358
|
-
),
|
|
4359
|
-
secret=batch.CfnJobDefinition.EksSecretProperty(
|
|
4360
|
-
secret_name="secretName",
|
|
4572
|
+
args=["args"],
|
|
4573
|
+
command=["command"],
|
|
4574
|
+
env=[batch.CfnJobDefinition.EksContainerEnvironmentVariableProperty(
|
|
4575
|
+
name="name",
|
|
4361
4576
|
|
|
4362
4577
|
# the properties below are optional
|
|
4363
|
-
|
|
4364
|
-
)
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4578
|
+
value="value"
|
|
4579
|
+
)],
|
|
4580
|
+
image_pull_policy="imagePullPolicy",
|
|
4581
|
+
name="name",
|
|
4582
|
+
resources=batch.CfnJobDefinition.ResourcesProperty(
|
|
4583
|
+
limits=limits,
|
|
4584
|
+
requests=requests
|
|
4585
|
+
),
|
|
4586
|
+
security_context=batch.CfnJobDefinition.SecurityContextProperty(
|
|
4587
|
+
privileged=False,
|
|
4588
|
+
read_only_root_filesystem=False,
|
|
4589
|
+
run_as_group=123,
|
|
4590
|
+
run_as_non_root=False,
|
|
4591
|
+
run_as_user=123
|
|
4592
|
+
),
|
|
4593
|
+
volume_mounts=[batch.CfnJobDefinition.EksContainerVolumeMountProperty(
|
|
4594
|
+
mount_path="mountPath",
|
|
4595
|
+
name="name",
|
|
4596
|
+
read_only=False
|
|
4597
|
+
)]
|
|
4598
|
+
)],
|
|
4599
|
+
metadata=batch.CfnJobDefinition.MetadataProperty(
|
|
4600
|
+
labels=labels
|
|
4601
|
+
),
|
|
4602
|
+
service_account_name="serviceAccountName",
|
|
4603
|
+
share_process_namespace=False,
|
|
4604
|
+
volumes=[batch.CfnJobDefinition.EksVolumeProperty(
|
|
4605
|
+
name="name",
|
|
4606
|
+
|
|
4607
|
+
# the properties below are optional
|
|
4608
|
+
empty_dir=batch.CfnJobDefinition.EmptyDirProperty(
|
|
4609
|
+
medium="medium",
|
|
4610
|
+
size_limit="sizeLimit"
|
|
4611
|
+
),
|
|
4612
|
+
host_path=batch.CfnJobDefinition.HostPathProperty(
|
|
4613
|
+
path="path"
|
|
4614
|
+
),
|
|
4615
|
+
secret=batch.CfnJobDefinition.EksSecretProperty(
|
|
4616
|
+
secret_name="secretName",
|
|
4617
|
+
|
|
4618
|
+
# the properties below are optional
|
|
4619
|
+
optional=False
|
|
4620
|
+
)
|
|
4621
|
+
)]
|
|
4622
|
+
)
|
|
4623
|
+
)
|
|
4624
|
+
'''
|
|
4625
|
+
if __debug__:
|
|
4626
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ab4acc4a05a00897faf964911a9c5d642ebccbae43237575ad3b0b27ecb3ee74)
|
|
4371
4627
|
check_type(argname="argument pod_properties", value=pod_properties, expected_type=type_hints["pod_properties"])
|
|
4372
4628
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4373
4629
|
if pod_properties is not None:
|
|
@@ -5697,7 +5953,113 @@ class CfnJobDefinition(
|
|
|
5697
5953
|
),
|
|
5698
5954
|
name="name"
|
|
5699
5955
|
)]
|
|
5700
|
-
)
|
|
5956
|
+
),
|
|
5957
|
+
ecs_properties=batch.CfnJobDefinition.EcsPropertiesProperty(
|
|
5958
|
+
task_properties=[batch.CfnJobDefinition.EcsTaskPropertiesProperty(
|
|
5959
|
+
containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
|
|
5960
|
+
image="image",
|
|
5961
|
+
|
|
5962
|
+
# the properties below are optional
|
|
5963
|
+
command=["command"],
|
|
5964
|
+
depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
|
|
5965
|
+
condition="condition",
|
|
5966
|
+
container_name="containerName"
|
|
5967
|
+
)],
|
|
5968
|
+
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
5969
|
+
name="name",
|
|
5970
|
+
value="value"
|
|
5971
|
+
)],
|
|
5972
|
+
essential=False,
|
|
5973
|
+
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
5974
|
+
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
5975
|
+
container_path="containerPath",
|
|
5976
|
+
host_path="hostPath",
|
|
5977
|
+
permissions=["permissions"]
|
|
5978
|
+
)],
|
|
5979
|
+
init_process_enabled=False,
|
|
5980
|
+
max_swap=123,
|
|
5981
|
+
shared_memory_size=123,
|
|
5982
|
+
swappiness=123,
|
|
5983
|
+
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
5984
|
+
container_path="containerPath",
|
|
5985
|
+
size=123,
|
|
5986
|
+
|
|
5987
|
+
# the properties below are optional
|
|
5988
|
+
mount_options=["mountOptions"]
|
|
5989
|
+
)]
|
|
5990
|
+
),
|
|
5991
|
+
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
5992
|
+
log_driver="logDriver",
|
|
5993
|
+
|
|
5994
|
+
# the properties below are optional
|
|
5995
|
+
options=options,
|
|
5996
|
+
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
5997
|
+
name="name",
|
|
5998
|
+
value_from="valueFrom"
|
|
5999
|
+
)]
|
|
6000
|
+
),
|
|
6001
|
+
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
6002
|
+
container_path="containerPath",
|
|
6003
|
+
read_only=False,
|
|
6004
|
+
source_volume="sourceVolume"
|
|
6005
|
+
)],
|
|
6006
|
+
name="name",
|
|
6007
|
+
privileged=False,
|
|
6008
|
+
readonly_root_filesystem=False,
|
|
6009
|
+
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
6010
|
+
credentials_parameter="credentialsParameter"
|
|
6011
|
+
),
|
|
6012
|
+
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
6013
|
+
type="type",
|
|
6014
|
+
value="value"
|
|
6015
|
+
)],
|
|
6016
|
+
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
6017
|
+
name="name",
|
|
6018
|
+
value_from="valueFrom"
|
|
6019
|
+
)],
|
|
6020
|
+
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
6021
|
+
hard_limit=123,
|
|
6022
|
+
name="name",
|
|
6023
|
+
soft_limit=123
|
|
6024
|
+
)],
|
|
6025
|
+
user="user"
|
|
6026
|
+
)],
|
|
6027
|
+
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
6028
|
+
size_in_gi_b=123
|
|
6029
|
+
),
|
|
6030
|
+
execution_role_arn="executionRoleArn",
|
|
6031
|
+
ipc_mode="ipcMode",
|
|
6032
|
+
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
6033
|
+
assign_public_ip="assignPublicIp"
|
|
6034
|
+
),
|
|
6035
|
+
pid_mode="pidMode",
|
|
6036
|
+
platform_version="platformVersion",
|
|
6037
|
+
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
6038
|
+
cpu_architecture="cpuArchitecture",
|
|
6039
|
+
operating_system_family="operatingSystemFamily"
|
|
6040
|
+
),
|
|
6041
|
+
task_role_arn="taskRoleArn",
|
|
6042
|
+
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
6043
|
+
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
6044
|
+
file_system_id="fileSystemId",
|
|
6045
|
+
|
|
6046
|
+
# the properties below are optional
|
|
6047
|
+
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
6048
|
+
access_point_id="accessPointId",
|
|
6049
|
+
iam="iam"
|
|
6050
|
+
),
|
|
6051
|
+
root_directory="rootDirectory",
|
|
6052
|
+
transit_encryption="transitEncryption",
|
|
6053
|
+
transit_encryption_port=123
|
|
6054
|
+
),
|
|
6055
|
+
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
6056
|
+
source_path="sourcePath"
|
|
6057
|
+
),
|
|
6058
|
+
name="name"
|
|
6059
|
+
)]
|
|
6060
|
+
)]
|
|
6061
|
+
),
|
|
6062
|
+
instance_types=["instanceTypes"]
|
|
5701
6063
|
)],
|
|
5702
6064
|
num_nodes=123
|
|
5703
6065
|
)
|
|
@@ -5761,7 +6123,12 @@ class CfnJobDefinition(
|
|
|
5761
6123
|
@jsii.data_type(
|
|
5762
6124
|
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.NodeRangePropertyProperty",
|
|
5763
6125
|
jsii_struct_bases=[],
|
|
5764
|
-
name_mapping={
|
|
6126
|
+
name_mapping={
|
|
6127
|
+
"target_nodes": "targetNodes",
|
|
6128
|
+
"container": "container",
|
|
6129
|
+
"ecs_properties": "ecsProperties",
|
|
6130
|
+
"instance_types": "instanceTypes",
|
|
6131
|
+
},
|
|
5765
6132
|
)
|
|
5766
6133
|
class NodeRangePropertyProperty:
|
|
5767
6134
|
def __init__(
|
|
@@ -5769,11 +6136,15 @@ class CfnJobDefinition(
|
|
|
5769
6136
|
*,
|
|
5770
6137
|
target_nodes: builtins.str,
|
|
5771
6138
|
container: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6139
|
+
ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EcsPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6140
|
+
instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5772
6141
|
) -> None:
|
|
5773
6142
|
'''This is an object that represents the properties of the node range for a multi-node parallel job.
|
|
5774
6143
|
|
|
5775
6144
|
:param target_nodes: The range of nodes, using node index values. 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.
|
|
5776
6145
|
:param container: The container details for the node range.
|
|
6146
|
+
:param ecs_properties: This is an object that represents the properties of the node range for a multi-node parallel job.
|
|
6147
|
+
:param instance_types: The instance types of the underlying host infrastructure of a multi-node parallel job. .. epigraph:: This parameter isn't applicable to jobs that are running on Fargate resources. In addition, this list object is currently limited to one element.
|
|
5777
6148
|
|
|
5778
6149
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html
|
|
5779
6150
|
:exampleMetadata: fixture=_generated
|
|
@@ -5887,18 +6258,130 @@ class CfnJobDefinition(
|
|
|
5887
6258
|
),
|
|
5888
6259
|
name="name"
|
|
5889
6260
|
)]
|
|
5890
|
-
)
|
|
6261
|
+
),
|
|
6262
|
+
ecs_properties=batch.CfnJobDefinition.EcsPropertiesProperty(
|
|
6263
|
+
task_properties=[batch.CfnJobDefinition.EcsTaskPropertiesProperty(
|
|
6264
|
+
containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
|
|
6265
|
+
image="image",
|
|
6266
|
+
|
|
6267
|
+
# the properties below are optional
|
|
6268
|
+
command=["command"],
|
|
6269
|
+
depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
|
|
6270
|
+
condition="condition",
|
|
6271
|
+
container_name="containerName"
|
|
6272
|
+
)],
|
|
6273
|
+
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
6274
|
+
name="name",
|
|
6275
|
+
value="value"
|
|
6276
|
+
)],
|
|
6277
|
+
essential=False,
|
|
6278
|
+
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
6279
|
+
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
6280
|
+
container_path="containerPath",
|
|
6281
|
+
host_path="hostPath",
|
|
6282
|
+
permissions=["permissions"]
|
|
6283
|
+
)],
|
|
6284
|
+
init_process_enabled=False,
|
|
6285
|
+
max_swap=123,
|
|
6286
|
+
shared_memory_size=123,
|
|
6287
|
+
swappiness=123,
|
|
6288
|
+
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
6289
|
+
container_path="containerPath",
|
|
6290
|
+
size=123,
|
|
6291
|
+
|
|
6292
|
+
# the properties below are optional
|
|
6293
|
+
mount_options=["mountOptions"]
|
|
6294
|
+
)]
|
|
6295
|
+
),
|
|
6296
|
+
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
6297
|
+
log_driver="logDriver",
|
|
6298
|
+
|
|
6299
|
+
# the properties below are optional
|
|
6300
|
+
options=options,
|
|
6301
|
+
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
6302
|
+
name="name",
|
|
6303
|
+
value_from="valueFrom"
|
|
6304
|
+
)]
|
|
6305
|
+
),
|
|
6306
|
+
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
6307
|
+
container_path="containerPath",
|
|
6308
|
+
read_only=False,
|
|
6309
|
+
source_volume="sourceVolume"
|
|
6310
|
+
)],
|
|
6311
|
+
name="name",
|
|
6312
|
+
privileged=False,
|
|
6313
|
+
readonly_root_filesystem=False,
|
|
6314
|
+
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
6315
|
+
credentials_parameter="credentialsParameter"
|
|
6316
|
+
),
|
|
6317
|
+
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
6318
|
+
type="type",
|
|
6319
|
+
value="value"
|
|
6320
|
+
)],
|
|
6321
|
+
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
6322
|
+
name="name",
|
|
6323
|
+
value_from="valueFrom"
|
|
6324
|
+
)],
|
|
6325
|
+
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
6326
|
+
hard_limit=123,
|
|
6327
|
+
name="name",
|
|
6328
|
+
soft_limit=123
|
|
6329
|
+
)],
|
|
6330
|
+
user="user"
|
|
6331
|
+
)],
|
|
6332
|
+
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
6333
|
+
size_in_gi_b=123
|
|
6334
|
+
),
|
|
6335
|
+
execution_role_arn="executionRoleArn",
|
|
6336
|
+
ipc_mode="ipcMode",
|
|
6337
|
+
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
6338
|
+
assign_public_ip="assignPublicIp"
|
|
6339
|
+
),
|
|
6340
|
+
pid_mode="pidMode",
|
|
6341
|
+
platform_version="platformVersion",
|
|
6342
|
+
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
6343
|
+
cpu_architecture="cpuArchitecture",
|
|
6344
|
+
operating_system_family="operatingSystemFamily"
|
|
6345
|
+
),
|
|
6346
|
+
task_role_arn="taskRoleArn",
|
|
6347
|
+
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
6348
|
+
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
6349
|
+
file_system_id="fileSystemId",
|
|
6350
|
+
|
|
6351
|
+
# the properties below are optional
|
|
6352
|
+
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
6353
|
+
access_point_id="accessPointId",
|
|
6354
|
+
iam="iam"
|
|
6355
|
+
),
|
|
6356
|
+
root_directory="rootDirectory",
|
|
6357
|
+
transit_encryption="transitEncryption",
|
|
6358
|
+
transit_encryption_port=123
|
|
6359
|
+
),
|
|
6360
|
+
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
6361
|
+
source_path="sourcePath"
|
|
6362
|
+
),
|
|
6363
|
+
name="name"
|
|
6364
|
+
)]
|
|
6365
|
+
)]
|
|
6366
|
+
),
|
|
6367
|
+
instance_types=["instanceTypes"]
|
|
5891
6368
|
)
|
|
5892
6369
|
'''
|
|
5893
6370
|
if __debug__:
|
|
5894
6371
|
type_hints = typing.get_type_hints(_typecheckingstub__005c21025a81827c3f5ed456b171eb7ffdf652583c7da0ff6ff67186436afeee)
|
|
5895
6372
|
check_type(argname="argument target_nodes", value=target_nodes, expected_type=type_hints["target_nodes"])
|
|
5896
6373
|
check_type(argname="argument container", value=container, expected_type=type_hints["container"])
|
|
6374
|
+
check_type(argname="argument ecs_properties", value=ecs_properties, expected_type=type_hints["ecs_properties"])
|
|
6375
|
+
check_type(argname="argument instance_types", value=instance_types, expected_type=type_hints["instance_types"])
|
|
5897
6376
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5898
6377
|
"target_nodes": target_nodes,
|
|
5899
6378
|
}
|
|
5900
6379
|
if container is not None:
|
|
5901
6380
|
self._values["container"] = container
|
|
6381
|
+
if ecs_properties is not None:
|
|
6382
|
+
self._values["ecs_properties"] = ecs_properties
|
|
6383
|
+
if instance_types is not None:
|
|
6384
|
+
self._values["instance_types"] = instance_types
|
|
5902
6385
|
|
|
5903
6386
|
@builtins.property
|
|
5904
6387
|
def target_nodes(self) -> builtins.str:
|
|
@@ -5923,6 +6406,32 @@ class CfnJobDefinition(
|
|
|
5923
6406
|
result = self._values.get("container")
|
|
5924
6407
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ContainerPropertiesProperty"]], result)
|
|
5925
6408
|
|
|
6409
|
+
@builtins.property
|
|
6410
|
+
def ecs_properties(
|
|
6411
|
+
self,
|
|
6412
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]]:
|
|
6413
|
+
'''This is an object that represents the properties of the node range for a multi-node parallel job.
|
|
6414
|
+
|
|
6415
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-ecsproperties
|
|
6416
|
+
'''
|
|
6417
|
+
result = self._values.get("ecs_properties")
|
|
6418
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]], result)
|
|
6419
|
+
|
|
6420
|
+
@builtins.property
|
|
6421
|
+
def instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
6422
|
+
'''The instance types of the underlying host infrastructure of a multi-node parallel job.
|
|
6423
|
+
|
|
6424
|
+
.. epigraph::
|
|
6425
|
+
|
|
6426
|
+
This parameter isn't applicable to jobs that are running on Fargate resources.
|
|
6427
|
+
|
|
6428
|
+
In addition, this list object is currently limited to one element.
|
|
6429
|
+
|
|
6430
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-instancetypes
|
|
6431
|
+
'''
|
|
6432
|
+
result = self._values.get("instance_types")
|
|
6433
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
6434
|
+
|
|
5926
6435
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5927
6436
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5928
6437
|
|
|
@@ -5941,8 +6450,10 @@ class CfnJobDefinition(
|
|
|
5941
6450
|
"containers": "containers",
|
|
5942
6451
|
"dns_policy": "dnsPolicy",
|
|
5943
6452
|
"host_network": "hostNetwork",
|
|
6453
|
+
"init_containers": "initContainers",
|
|
5944
6454
|
"metadata": "metadata",
|
|
5945
6455
|
"service_account_name": "serviceAccountName",
|
|
6456
|
+
"share_process_namespace": "shareProcessNamespace",
|
|
5946
6457
|
"volumes": "volumes",
|
|
5947
6458
|
},
|
|
5948
6459
|
)
|
|
@@ -5953,8 +6464,10 @@ class CfnJobDefinition(
|
|
|
5953
6464
|
containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksContainerProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5954
6465
|
dns_policy: typing.Optional[builtins.str] = None,
|
|
5955
6466
|
host_network: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
6467
|
+
init_containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksContainerProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5956
6468
|
metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MetadataProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5957
6469
|
service_account_name: typing.Optional[builtins.str] = None,
|
|
6470
|
+
share_process_namespace: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
5958
6471
|
volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksVolumeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5959
6472
|
) -> None:
|
|
5960
6473
|
'''The properties for the pod.
|
|
@@ -5962,8 +6475,10 @@ class CfnJobDefinition(
|
|
|
5962
6475
|
:param containers: The properties of the container that's used on the Amazon EKS pod.
|
|
5963
6476
|
:param dns_policy: The DNS policy for the pod. The default value is ``ClusterFirst`` . If the ``hostNetwork`` parameter is not specified, the default is ``ClusterFirstWithHostNet`` . ``ClusterFirst`` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see `Pod's DNS policy <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy>`_ in the *Kubernetes documentation* . Valid values: ``Default`` | ``ClusterFirst`` | ``ClusterFirstWithHostNet``
|
|
5964
6477
|
:param host_network: Indicates if the pod uses the hosts' network IP address. The default value is ``true`` . Setting this to ``false`` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see `Host namespaces <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/security/pod-security-policy/#host-namespaces>`_ and `Pod networking <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/workloads/pods/#pod-networking>`_ in the *Kubernetes documentation* .
|
|
6478
|
+
:param init_containers: These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see `Init Containers <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>`_ in the *Kubernetes documentation* . .. epigraph:: This object is limited to 10 elements
|
|
5965
6479
|
:param metadata: Metadata about the Kubernetes pod. For more information, see `Understanding Kubernetes Objects <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/>`_ in the *Kubernetes documentation* .
|
|
5966
6480
|
:param service_account_name: The name of the service account that's used to run the pod. For more information, see `Kubernetes service accounts <https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html>`_ and `Configure a Kubernetes service account to assume an IAM role <https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html>`_ in the *Amazon EKS User Guide* and `Configure service accounts for pods <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/>`_ in the *Kubernetes documentation* .
|
|
6481
|
+
:param share_process_namespace: Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see `Share Process Namespace between Containers in a Pod <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/>`_ .
|
|
5967
6482
|
:param volumes: Specifies the volumes for a job definition that uses Amazon EKS resources.
|
|
5968
6483
|
|
|
5969
6484
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html
|
|
@@ -6013,10 +6528,42 @@ class CfnJobDefinition(
|
|
|
6013
6528
|
)],
|
|
6014
6529
|
dns_policy="dnsPolicy",
|
|
6015
6530
|
host_network=False,
|
|
6531
|
+
init_containers=[batch.CfnJobDefinition.EksContainerProperty(
|
|
6532
|
+
image="image",
|
|
6533
|
+
|
|
6534
|
+
# the properties below are optional
|
|
6535
|
+
args=["args"],
|
|
6536
|
+
command=["command"],
|
|
6537
|
+
env=[batch.CfnJobDefinition.EksContainerEnvironmentVariableProperty(
|
|
6538
|
+
name="name",
|
|
6539
|
+
|
|
6540
|
+
# the properties below are optional
|
|
6541
|
+
value="value"
|
|
6542
|
+
)],
|
|
6543
|
+
image_pull_policy="imagePullPolicy",
|
|
6544
|
+
name="name",
|
|
6545
|
+
resources=batch.CfnJobDefinition.ResourcesProperty(
|
|
6546
|
+
limits=limits,
|
|
6547
|
+
requests=requests
|
|
6548
|
+
),
|
|
6549
|
+
security_context=batch.CfnJobDefinition.SecurityContextProperty(
|
|
6550
|
+
privileged=False,
|
|
6551
|
+
read_only_root_filesystem=False,
|
|
6552
|
+
run_as_group=123,
|
|
6553
|
+
run_as_non_root=False,
|
|
6554
|
+
run_as_user=123
|
|
6555
|
+
),
|
|
6556
|
+
volume_mounts=[batch.CfnJobDefinition.EksContainerVolumeMountProperty(
|
|
6557
|
+
mount_path="mountPath",
|
|
6558
|
+
name="name",
|
|
6559
|
+
read_only=False
|
|
6560
|
+
)]
|
|
6561
|
+
)],
|
|
6016
6562
|
metadata=batch.CfnJobDefinition.MetadataProperty(
|
|
6017
6563
|
labels=labels
|
|
6018
6564
|
),
|
|
6019
6565
|
service_account_name="serviceAccountName",
|
|
6566
|
+
share_process_namespace=False,
|
|
6020
6567
|
volumes=[batch.CfnJobDefinition.EksVolumeProperty(
|
|
6021
6568
|
name="name",
|
|
6022
6569
|
|
|
@@ -6042,8 +6589,10 @@ class CfnJobDefinition(
|
|
|
6042
6589
|
check_type(argname="argument containers", value=containers, expected_type=type_hints["containers"])
|
|
6043
6590
|
check_type(argname="argument dns_policy", value=dns_policy, expected_type=type_hints["dns_policy"])
|
|
6044
6591
|
check_type(argname="argument host_network", value=host_network, expected_type=type_hints["host_network"])
|
|
6592
|
+
check_type(argname="argument init_containers", value=init_containers, expected_type=type_hints["init_containers"])
|
|
6045
6593
|
check_type(argname="argument metadata", value=metadata, expected_type=type_hints["metadata"])
|
|
6046
6594
|
check_type(argname="argument service_account_name", value=service_account_name, expected_type=type_hints["service_account_name"])
|
|
6595
|
+
check_type(argname="argument share_process_namespace", value=share_process_namespace, expected_type=type_hints["share_process_namespace"])
|
|
6047
6596
|
check_type(argname="argument volumes", value=volumes, expected_type=type_hints["volumes"])
|
|
6048
6597
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
6049
6598
|
if containers is not None:
|
|
@@ -6052,10 +6601,14 @@ class CfnJobDefinition(
|
|
|
6052
6601
|
self._values["dns_policy"] = dns_policy
|
|
6053
6602
|
if host_network is not None:
|
|
6054
6603
|
self._values["host_network"] = host_network
|
|
6604
|
+
if init_containers is not None:
|
|
6605
|
+
self._values["init_containers"] = init_containers
|
|
6055
6606
|
if metadata is not None:
|
|
6056
6607
|
self._values["metadata"] = metadata
|
|
6057
6608
|
if service_account_name is not None:
|
|
6058
6609
|
self._values["service_account_name"] = service_account_name
|
|
6610
|
+
if share_process_namespace is not None:
|
|
6611
|
+
self._values["share_process_namespace"] = share_process_namespace
|
|
6059
6612
|
if volumes is not None:
|
|
6060
6613
|
self._values["volumes"] = volumes
|
|
6061
6614
|
|
|
@@ -6096,6 +6649,22 @@ class CfnJobDefinition(
|
|
|
6096
6649
|
result = self._values.get("host_network")
|
|
6097
6650
|
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
6098
6651
|
|
|
6652
|
+
@builtins.property
|
|
6653
|
+
def init_containers(
|
|
6654
|
+
self,
|
|
6655
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EksContainerProperty"]]]]:
|
|
6656
|
+
'''These containers run before application containers, always runs to completion, and must complete successfully before the next container starts.
|
|
6657
|
+
|
|
6658
|
+
These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see `Init Containers <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>`_ in the *Kubernetes documentation* .
|
|
6659
|
+
.. epigraph::
|
|
6660
|
+
|
|
6661
|
+
This object is limited to 10 elements
|
|
6662
|
+
|
|
6663
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-initcontainers
|
|
6664
|
+
'''
|
|
6665
|
+
result = self._values.get("init_containers")
|
|
6666
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EksContainerProperty"]]]], result)
|
|
6667
|
+
|
|
6099
6668
|
@builtins.property
|
|
6100
6669
|
def metadata(
|
|
6101
6670
|
self,
|
|
@@ -6120,6 +6689,19 @@ class CfnJobDefinition(
|
|
|
6120
6689
|
result = self._values.get("service_account_name")
|
|
6121
6690
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
6122
6691
|
|
|
6692
|
+
@builtins.property
|
|
6693
|
+
def share_process_namespace(
|
|
6694
|
+
self,
|
|
6695
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
6696
|
+
'''Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
|
|
6697
|
+
|
|
6698
|
+
For more information, see `Share Process Namespace between Containers in a Pod <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/>`_ .
|
|
6699
|
+
|
|
6700
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-shareprocessnamespace
|
|
6701
|
+
'''
|
|
6702
|
+
result = self._values.get("share_process_namespace")
|
|
6703
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
6704
|
+
|
|
6123
6705
|
@builtins.property
|
|
6124
6706
|
def volumes(
|
|
6125
6707
|
self,
|
|
@@ -6747,21 +7329,23 @@ class CfnJobDefinition(
|
|
|
6747
7329
|
)
|
|
6748
7330
|
|
|
6749
7331
|
@jsii.data_type(
|
|
6750
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
7332
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.TaskContainerDependencyProperty",
|
|
6751
7333
|
jsii_struct_bases=[],
|
|
6752
|
-
name_mapping={"
|
|
7334
|
+
name_mapping={"condition": "condition", "container_name": "containerName"},
|
|
6753
7335
|
)
|
|
6754
|
-
class
|
|
7336
|
+
class TaskContainerDependencyProperty:
|
|
6755
7337
|
def __init__(
|
|
6756
7338
|
self,
|
|
6757
7339
|
*,
|
|
6758
|
-
|
|
7340
|
+
condition: builtins.str,
|
|
7341
|
+
container_name: builtins.str,
|
|
6759
7342
|
) -> None:
|
|
6760
|
-
'''
|
|
7343
|
+
'''A list of containers that this task depends on.
|
|
6761
7344
|
|
|
6762
|
-
:param
|
|
7345
|
+
:param condition: The dependency condition of the container. The following are the available conditions and their behavior:. - ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start. - ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container. - ``SUCCESS`` - This condition is the same as ``COMPLETE`` , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
|
|
7346
|
+
:param container_name: A unique identifier for the container.
|
|
6763
7347
|
|
|
6764
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
7348
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html
|
|
6765
7349
|
:exampleMetadata: fixture=_generated
|
|
6766
7350
|
|
|
6767
7351
|
Example::
|
|
@@ -6770,31 +7354,43 @@ class CfnJobDefinition(
|
|
|
6770
7354
|
# The values are placeholders you should change.
|
|
6771
7355
|
from aws_cdk import aws_batch as batch
|
|
6772
7356
|
|
|
6773
|
-
|
|
6774
|
-
|
|
7357
|
+
task_container_dependency_property = batch.CfnJobDefinition.TaskContainerDependencyProperty(
|
|
7358
|
+
condition="condition",
|
|
7359
|
+
container_name="containerName"
|
|
6775
7360
|
)
|
|
6776
7361
|
'''
|
|
6777
7362
|
if __debug__:
|
|
6778
|
-
type_hints = typing.get_type_hints(
|
|
6779
|
-
check_type(argname="argument
|
|
6780
|
-
|
|
6781
|
-
|
|
6782
|
-
|
|
7363
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2f29cae294a8ef5e1db972a16fcfa25d5a4a34ac0b2cb14531b35c42dbf2d4e1)
|
|
7364
|
+
check_type(argname="argument condition", value=condition, expected_type=type_hints["condition"])
|
|
7365
|
+
check_type(argname="argument container_name", value=container_name, expected_type=type_hints["container_name"])
|
|
7366
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7367
|
+
"condition": condition,
|
|
7368
|
+
"container_name": container_name,
|
|
7369
|
+
}
|
|
6783
7370
|
|
|
6784
7371
|
@builtins.property
|
|
6785
|
-
def
|
|
6786
|
-
'''The
|
|
7372
|
+
def condition(self) -> builtins.str:
|
|
7373
|
+
'''The dependency condition of the container. The following are the available conditions and their behavior:.
|
|
6787
7374
|
|
|
6788
|
-
|
|
7375
|
+
- ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
|
|
7376
|
+
- ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
|
|
7377
|
+
- ``SUCCESS`` - This condition is the same as ``COMPLETE`` , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
|
|
6789
7378
|
|
|
6790
|
-
|
|
7379
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html#cfn-batch-jobdefinition-taskcontainerdependency-condition
|
|
7380
|
+
'''
|
|
7381
|
+
result = self._values.get("condition")
|
|
7382
|
+
assert result is not None, "Required property 'condition' is missing"
|
|
7383
|
+
return typing.cast(builtins.str, result)
|
|
6791
7384
|
|
|
6792
|
-
|
|
7385
|
+
@builtins.property
|
|
7386
|
+
def container_name(self) -> builtins.str:
|
|
7387
|
+
'''A unique identifier for the container.
|
|
6793
7388
|
|
|
6794
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
7389
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html#cfn-batch-jobdefinition-taskcontainerdependency-containername
|
|
6795
7390
|
'''
|
|
6796
|
-
result = self._values.get("
|
|
6797
|
-
|
|
7391
|
+
result = self._values.get("container_name")
|
|
7392
|
+
assert result is not None, "Required property 'container_name' is missing"
|
|
7393
|
+
return typing.cast(builtins.str, result)
|
|
6798
7394
|
|
|
6799
7395
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
6800
7396
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -6803,38 +7399,75 @@ class CfnJobDefinition(
|
|
|
6803
7399
|
return not (rhs == self)
|
|
6804
7400
|
|
|
6805
7401
|
def __repr__(self) -> str:
|
|
6806
|
-
return "
|
|
7402
|
+
return "TaskContainerDependencyProperty(%s)" % ", ".join(
|
|
6807
7403
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
6808
7404
|
)
|
|
6809
7405
|
|
|
6810
7406
|
@jsii.data_type(
|
|
6811
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
7407
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.TaskContainerPropertiesProperty",
|
|
6812
7408
|
jsii_struct_bases=[],
|
|
6813
7409
|
name_mapping={
|
|
6814
|
-
"
|
|
6815
|
-
"
|
|
6816
|
-
"
|
|
7410
|
+
"image": "image",
|
|
7411
|
+
"command": "command",
|
|
7412
|
+
"depends_on": "dependsOn",
|
|
7413
|
+
"environment": "environment",
|
|
7414
|
+
"essential": "essential",
|
|
7415
|
+
"linux_parameters": "linuxParameters",
|
|
7416
|
+
"log_configuration": "logConfiguration",
|
|
7417
|
+
"mount_points": "mountPoints",
|
|
7418
|
+
"name": "name",
|
|
7419
|
+
"privileged": "privileged",
|
|
7420
|
+
"readonly_root_filesystem": "readonlyRootFilesystem",
|
|
7421
|
+
"repository_credentials": "repositoryCredentials",
|
|
7422
|
+
"resource_requirements": "resourceRequirements",
|
|
7423
|
+
"secrets": "secrets",
|
|
7424
|
+
"ulimits": "ulimits",
|
|
7425
|
+
"user": "user",
|
|
6817
7426
|
},
|
|
6818
7427
|
)
|
|
6819
|
-
class
|
|
7428
|
+
class TaskContainerPropertiesProperty:
|
|
6820
7429
|
def __init__(
|
|
6821
7430
|
self,
|
|
6822
7431
|
*,
|
|
6823
|
-
|
|
6824
|
-
|
|
6825
|
-
|
|
6826
|
-
|
|
6827
|
-
|
|
6828
|
-
|
|
6829
|
-
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
6833
|
-
:
|
|
6834
|
-
:
|
|
6835
|
-
:
|
|
7432
|
+
image: builtins.str,
|
|
7433
|
+
command: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7434
|
+
depends_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.TaskContainerDependencyProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7435
|
+
environment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EnvironmentProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7436
|
+
essential: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
7437
|
+
linux_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.LinuxParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7438
|
+
log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.LogConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7439
|
+
mount_points: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MountPointsProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7440
|
+
name: typing.Optional[builtins.str] = None,
|
|
7441
|
+
privileged: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
7442
|
+
readonly_root_filesystem: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
7443
|
+
repository_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.RepositoryCredentialsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7444
|
+
resource_requirements: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ResourceRequirementProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7445
|
+
secrets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.SecretProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7446
|
+
ulimits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.UlimitProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7447
|
+
user: typing.Optional[builtins.str] = None,
|
|
7448
|
+
) -> None:
|
|
7449
|
+
'''Container properties are used for Amazon ECS-based job definitions.
|
|
6836
7450
|
|
|
6837
|
-
|
|
7451
|
+
These properties to describe the container that's launched as part of a job.
|
|
7452
|
+
|
|
7453
|
+
:param image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest`` . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``IMAGE`` parameter of the `*docker run* <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
7454
|
+
:param command: The command that's passed to the container. This parameter maps to ``Cmd`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``COMMAND`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . For more information, see `Dockerfile reference: CMD <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd>`_ .
|
|
7455
|
+
:param depends_on: A list of containers that this container depends on.
|
|
7456
|
+
:param environment: The environment variables to pass to a container. This parameter maps to Env inthe `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``--env`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . .. epigraph:: We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with ``AWS_BATCH`` . This naming convention is reserved for variables that AWS Batch sets.
|
|
7457
|
+
:param essential: If the essential parameter of a container is marked as ``true`` , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see `Application Architecture <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
7458
|
+
:param linux_parameters: Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see `KernelCapabilities <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html>`_ .
|
|
7459
|
+
:param log_configuration: The log configuration specification for the container. This parameter maps to ``LogConfig`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--log-driver`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see `Configure logging drivers <https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/>`_ in the *Docker documentation* . .. epigraph:: Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the ``LogConfiguration`` data type). Additional log drivers may be available in future releases of the Amazon ECS container agent. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version ``--format '{{.Server.APIVersion}}'`` .. epigraph:: The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see `Amazon ECS container agent configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
7460
|
+
:param mount_points: The mount points for data volumes in your container. This parameter maps to ``Volumes`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the `--volume <https://docs.aws.amazon.com/>`_ option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives.
|
|
7461
|
+
:param name: The name of a container. The name can be used as a unique identifier to target your ``dependsOn`` and ``Overrides`` objects.
|
|
7462
|
+
:param privileged: When this parameter is ``true`` , the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--privileged`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: This parameter is not supported for Windows containers or tasks run on Fargate.
|
|
7463
|
+
:param readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--read-only`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: This parameter is not supported for Windows containers.
|
|
7464
|
+
:param repository_credentials: The private repository authentication credentials to use.
|
|
7465
|
+
:param resource_requirements: The type and amount of a resource to assign to a container. The only supported resource is a GPU.
|
|
7466
|
+
:param secrets: The secrets to pass to the container. For more information, see `Specifying Sensitive Data <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html>`_ in the Amazon Elastic Container Service Developer Guide.
|
|
7467
|
+
:param ulimits: A list of ``ulimits`` to set in the container. If a ``ulimit`` value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to ``Ulimits`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--ulimit`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``1024`` and the default hard limit is ``65535`` . This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version ``--format '{{.Server.APIVersion}}'`` .. epigraph:: This parameter is not supported for Windows containers.
|
|
7468
|
+
:param user: The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run. .. epigraph:: When running tasks using the ``host`` network mode, don't run containers using the ``root user (UID 0)`` . We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. - ``user`` - ``user:group`` - ``uid`` - ``uid:gid`` - ``user:gi`` - ``uid:group`` .. epigraph:: This parameter is not supported for Windows containers.
|
|
7469
|
+
|
|
7470
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html
|
|
6838
7471
|
:exampleMetadata: fixture=_generated
|
|
6839
7472
|
|
|
6840
7473
|
Example::
|
|
@@ -6843,152 +7476,371 @@ class CfnJobDefinition(
|
|
|
6843
7476
|
# The values are placeholders you should change.
|
|
6844
7477
|
from aws_cdk import aws_batch as batch
|
|
6845
7478
|
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
7479
|
+
# options: Any
|
|
7480
|
+
|
|
7481
|
+
task_container_properties_property = batch.CfnJobDefinition.TaskContainerPropertiesProperty(
|
|
7482
|
+
image="image",
|
|
6849
7483
|
|
|
6850
7484
|
# the properties below are optional
|
|
6851
|
-
|
|
7485
|
+
command=["command"],
|
|
7486
|
+
depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
|
|
7487
|
+
condition="condition",
|
|
7488
|
+
container_name="containerName"
|
|
7489
|
+
)],
|
|
7490
|
+
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
7491
|
+
name="name",
|
|
7492
|
+
value="value"
|
|
7493
|
+
)],
|
|
7494
|
+
essential=False,
|
|
7495
|
+
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
7496
|
+
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
7497
|
+
container_path="containerPath",
|
|
7498
|
+
host_path="hostPath",
|
|
7499
|
+
permissions=["permissions"]
|
|
7500
|
+
)],
|
|
7501
|
+
init_process_enabled=False,
|
|
7502
|
+
max_swap=123,
|
|
7503
|
+
shared_memory_size=123,
|
|
7504
|
+
swappiness=123,
|
|
7505
|
+
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
7506
|
+
container_path="containerPath",
|
|
7507
|
+
size=123,
|
|
7508
|
+
|
|
7509
|
+
# the properties below are optional
|
|
7510
|
+
mount_options=["mountOptions"]
|
|
7511
|
+
)]
|
|
7512
|
+
),
|
|
7513
|
+
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
7514
|
+
log_driver="logDriver",
|
|
7515
|
+
|
|
7516
|
+
# the properties below are optional
|
|
7517
|
+
options=options,
|
|
7518
|
+
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
7519
|
+
name="name",
|
|
7520
|
+
value_from="valueFrom"
|
|
7521
|
+
)]
|
|
7522
|
+
),
|
|
7523
|
+
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
7524
|
+
container_path="containerPath",
|
|
7525
|
+
read_only=False,
|
|
7526
|
+
source_volume="sourceVolume"
|
|
7527
|
+
)],
|
|
7528
|
+
name="name",
|
|
7529
|
+
privileged=False,
|
|
7530
|
+
readonly_root_filesystem=False,
|
|
7531
|
+
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
7532
|
+
credentials_parameter="credentialsParameter"
|
|
7533
|
+
),
|
|
7534
|
+
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
7535
|
+
type="type",
|
|
7536
|
+
value="value"
|
|
7537
|
+
)],
|
|
7538
|
+
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
7539
|
+
name="name",
|
|
7540
|
+
value_from="valueFrom"
|
|
7541
|
+
)],
|
|
7542
|
+
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
7543
|
+
hard_limit=123,
|
|
7544
|
+
name="name",
|
|
7545
|
+
soft_limit=123
|
|
7546
|
+
)],
|
|
7547
|
+
user="user"
|
|
6852
7548
|
)
|
|
6853
7549
|
'''
|
|
6854
7550
|
if __debug__:
|
|
6855
|
-
type_hints = typing.get_type_hints(
|
|
6856
|
-
check_type(argname="argument
|
|
6857
|
-
check_type(argname="argument
|
|
6858
|
-
check_type(argname="argument
|
|
7551
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4946f5f042ef067bff74424b1b71c92ab13e52a7f47a4271e028110521b8a1ae)
|
|
7552
|
+
check_type(argname="argument image", value=image, expected_type=type_hints["image"])
|
|
7553
|
+
check_type(argname="argument command", value=command, expected_type=type_hints["command"])
|
|
7554
|
+
check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
|
|
7555
|
+
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
7556
|
+
check_type(argname="argument essential", value=essential, expected_type=type_hints["essential"])
|
|
7557
|
+
check_type(argname="argument linux_parameters", value=linux_parameters, expected_type=type_hints["linux_parameters"])
|
|
7558
|
+
check_type(argname="argument log_configuration", value=log_configuration, expected_type=type_hints["log_configuration"])
|
|
7559
|
+
check_type(argname="argument mount_points", value=mount_points, expected_type=type_hints["mount_points"])
|
|
7560
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
7561
|
+
check_type(argname="argument privileged", value=privileged, expected_type=type_hints["privileged"])
|
|
7562
|
+
check_type(argname="argument readonly_root_filesystem", value=readonly_root_filesystem, expected_type=type_hints["readonly_root_filesystem"])
|
|
7563
|
+
check_type(argname="argument repository_credentials", value=repository_credentials, expected_type=type_hints["repository_credentials"])
|
|
7564
|
+
check_type(argname="argument resource_requirements", value=resource_requirements, expected_type=type_hints["resource_requirements"])
|
|
7565
|
+
check_type(argname="argument secrets", value=secrets, expected_type=type_hints["secrets"])
|
|
7566
|
+
check_type(argname="argument ulimits", value=ulimits, expected_type=type_hints["ulimits"])
|
|
7567
|
+
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
6859
7568
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6860
|
-
"
|
|
6861
|
-
"size": size,
|
|
7569
|
+
"image": image,
|
|
6862
7570
|
}
|
|
6863
|
-
if
|
|
6864
|
-
self._values["
|
|
7571
|
+
if command is not None:
|
|
7572
|
+
self._values["command"] = command
|
|
7573
|
+
if depends_on is not None:
|
|
7574
|
+
self._values["depends_on"] = depends_on
|
|
7575
|
+
if environment is not None:
|
|
7576
|
+
self._values["environment"] = environment
|
|
7577
|
+
if essential is not None:
|
|
7578
|
+
self._values["essential"] = essential
|
|
7579
|
+
if linux_parameters is not None:
|
|
7580
|
+
self._values["linux_parameters"] = linux_parameters
|
|
7581
|
+
if log_configuration is not None:
|
|
7582
|
+
self._values["log_configuration"] = log_configuration
|
|
7583
|
+
if mount_points is not None:
|
|
7584
|
+
self._values["mount_points"] = mount_points
|
|
7585
|
+
if name is not None:
|
|
7586
|
+
self._values["name"] = name
|
|
7587
|
+
if privileged is not None:
|
|
7588
|
+
self._values["privileged"] = privileged
|
|
7589
|
+
if readonly_root_filesystem is not None:
|
|
7590
|
+
self._values["readonly_root_filesystem"] = readonly_root_filesystem
|
|
7591
|
+
if repository_credentials is not None:
|
|
7592
|
+
self._values["repository_credentials"] = repository_credentials
|
|
7593
|
+
if resource_requirements is not None:
|
|
7594
|
+
self._values["resource_requirements"] = resource_requirements
|
|
7595
|
+
if secrets is not None:
|
|
7596
|
+
self._values["secrets"] = secrets
|
|
7597
|
+
if ulimits is not None:
|
|
7598
|
+
self._values["ulimits"] = ulimits
|
|
7599
|
+
if user is not None:
|
|
7600
|
+
self._values["user"] = user
|
|
6865
7601
|
|
|
6866
7602
|
@builtins.property
|
|
6867
|
-
def
|
|
6868
|
-
'''The
|
|
6869
|
-
|
|
6870
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-containerpath
|
|
6871
|
-
'''
|
|
6872
|
-
result = self._values.get("container_path")
|
|
6873
|
-
assert result is not None, "Required property 'container_path' is missing"
|
|
6874
|
-
return typing.cast(builtins.str, result)
|
|
7603
|
+
def image(self) -> builtins.str:
|
|
7604
|
+
'''The image used to start a container.
|
|
6875
7605
|
|
|
6876
|
-
|
|
6877
|
-
def size(self) -> jsii.Number:
|
|
6878
|
-
'''The size (in MiB) of the ``tmpfs`` volume.
|
|
7606
|
+
This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest`` . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``IMAGE`` parameter of the `*docker run* <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
6879
7607
|
|
|
6880
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
7608
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-image
|
|
6881
7609
|
'''
|
|
6882
|
-
result = self._values.get("
|
|
6883
|
-
assert result is not None, "Required property '
|
|
6884
|
-
return typing.cast(
|
|
7610
|
+
result = self._values.get("image")
|
|
7611
|
+
assert result is not None, "Required property 'image' is missing"
|
|
7612
|
+
return typing.cast(builtins.str, result)
|
|
6885
7613
|
|
|
6886
7614
|
@builtins.property
|
|
6887
|
-
def
|
|
6888
|
-
'''The
|
|
7615
|
+
def command(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
7616
|
+
'''The command that's passed to the container.
|
|
6889
7617
|
|
|
6890
|
-
|
|
7618
|
+
This parameter maps to ``Cmd`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``COMMAND`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . For more information, see `Dockerfile reference: CMD <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd>`_ .
|
|
6891
7619
|
|
|
6892
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
7620
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-command
|
|
6893
7621
|
'''
|
|
6894
|
-
result = self._values.get("
|
|
7622
|
+
result = self._values.get("command")
|
|
6895
7623
|
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
6896
7624
|
|
|
6897
|
-
|
|
6898
|
-
|
|
6899
|
-
|
|
6900
|
-
|
|
6901
|
-
|
|
7625
|
+
@builtins.property
|
|
7626
|
+
def depends_on(
|
|
7627
|
+
self,
|
|
7628
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerDependencyProperty"]]]]:
|
|
7629
|
+
'''A list of containers that this container depends on.
|
|
6902
7630
|
|
|
6903
|
-
|
|
6904
|
-
|
|
6905
|
-
|
|
6906
|
-
)
|
|
7631
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-dependson
|
|
7632
|
+
'''
|
|
7633
|
+
result = self._values.get("depends_on")
|
|
7634
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerDependencyProperty"]]]], result)
|
|
6907
7635
|
|
|
6908
|
-
|
|
6909
|
-
|
|
6910
|
-
jsii_struct_bases=[],
|
|
6911
|
-
name_mapping={
|
|
6912
|
-
"hard_limit": "hardLimit",
|
|
6913
|
-
"name": "name",
|
|
6914
|
-
"soft_limit": "softLimit",
|
|
6915
|
-
},
|
|
6916
|
-
)
|
|
6917
|
-
class UlimitProperty:
|
|
6918
|
-
def __init__(
|
|
7636
|
+
@builtins.property
|
|
7637
|
+
def environment(
|
|
6919
7638
|
self,
|
|
6920
|
-
|
|
6921
|
-
|
|
6922
|
-
name: builtins.str,
|
|
6923
|
-
soft_limit: jsii.Number,
|
|
6924
|
-
) -> None:
|
|
6925
|
-
'''The ``ulimit`` settings to pass to the container. For more information, see `Ulimit <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html>`_ .
|
|
7639
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EnvironmentProperty"]]]]:
|
|
7640
|
+
'''The environment variables to pass to a container.
|
|
6926
7641
|
|
|
7642
|
+
This parameter maps to Env inthe `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``--env`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ .
|
|
6927
7643
|
.. epigraph::
|
|
6928
7644
|
|
|
6929
|
-
|
|
7645
|
+
We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with ``AWS_BATCH`` . This naming convention is reserved for variables that AWS Batch sets.
|
|
6930
7646
|
|
|
6931
|
-
:
|
|
6932
|
-
|
|
6933
|
-
|
|
7647
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-environment
|
|
7648
|
+
'''
|
|
7649
|
+
result = self._values.get("environment")
|
|
7650
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EnvironmentProperty"]]]], result)
|
|
6934
7651
|
|
|
6935
|
-
|
|
6936
|
-
|
|
7652
|
+
@builtins.property
|
|
7653
|
+
def essential(
|
|
7654
|
+
self,
|
|
7655
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
7656
|
+
'''If the essential parameter of a container is marked as ``true`` , and that container fails or stops for any reason, all other containers that are part of the task are stopped.
|
|
6937
7657
|
|
|
6938
|
-
|
|
7658
|
+
If the ``essential`` parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.
|
|
6939
7659
|
|
|
6940
|
-
|
|
6941
|
-
|
|
6942
|
-
|
|
6943
|
-
|
|
6944
|
-
ulimit_property = batch.CfnJobDefinition.UlimitProperty(
|
|
6945
|
-
hard_limit=123,
|
|
6946
|
-
name="name",
|
|
6947
|
-
soft_limit=123
|
|
6948
|
-
)
|
|
7660
|
+
All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see `Application Architecture <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
7661
|
+
|
|
7662
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-essential
|
|
6949
7663
|
'''
|
|
6950
|
-
|
|
6951
|
-
|
|
6952
|
-
check_type(argname="argument hard_limit", value=hard_limit, expected_type=type_hints["hard_limit"])
|
|
6953
|
-
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
6954
|
-
check_type(argname="argument soft_limit", value=soft_limit, expected_type=type_hints["soft_limit"])
|
|
6955
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6956
|
-
"hard_limit": hard_limit,
|
|
6957
|
-
"name": name,
|
|
6958
|
-
"soft_limit": soft_limit,
|
|
6959
|
-
}
|
|
7664
|
+
result = self._values.get("essential")
|
|
7665
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
6960
7666
|
|
|
6961
7667
|
@builtins.property
|
|
6962
|
-
def
|
|
6963
|
-
|
|
7668
|
+
def linux_parameters(
|
|
7669
|
+
self,
|
|
7670
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.LinuxParametersProperty"]]:
|
|
7671
|
+
'''Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
|
|
6964
7672
|
|
|
6965
|
-
|
|
7673
|
+
For more information, see `KernelCapabilities <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html>`_ .
|
|
7674
|
+
|
|
7675
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-linuxparameters
|
|
6966
7676
|
'''
|
|
6967
|
-
result = self._values.get("
|
|
6968
|
-
|
|
6969
|
-
return typing.cast(jsii.Number, result)
|
|
7677
|
+
result = self._values.get("linux_parameters")
|
|
7678
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.LinuxParametersProperty"]], result)
|
|
6970
7679
|
|
|
6971
7680
|
@builtins.property
|
|
6972
|
-
def
|
|
6973
|
-
|
|
7681
|
+
def log_configuration(
|
|
7682
|
+
self,
|
|
7683
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.LogConfigurationProperty"]]:
|
|
7684
|
+
'''The log configuration specification for the container.
|
|
6974
7685
|
|
|
6975
|
-
|
|
7686
|
+
This parameter maps to ``LogConfig`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--log-driver`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
6976
7687
|
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
result = self._values.get("name")
|
|
6980
|
-
assert result is not None, "Required property 'name' is missing"
|
|
6981
|
-
return typing.cast(builtins.str, result)
|
|
7688
|
+
By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see `Configure logging drivers <https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/>`_ in the *Docker documentation* .
|
|
7689
|
+
.. epigraph::
|
|
6982
7690
|
|
|
6983
|
-
|
|
6984
|
-
def soft_limit(self) -> jsii.Number:
|
|
6985
|
-
'''The soft limit for the ``ulimit`` type.
|
|
7691
|
+
Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the ``LogConfiguration`` data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.
|
|
6986
7692
|
|
|
6987
|
-
|
|
7693
|
+
This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version ``--format '{{.Server.APIVersion}}'``
|
|
7694
|
+
.. epigraph::
|
|
7695
|
+
|
|
7696
|
+
The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see `Amazon ECS container agent configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
7697
|
+
|
|
7698
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-logconfiguration
|
|
6988
7699
|
'''
|
|
6989
|
-
result = self._values.get("
|
|
6990
|
-
|
|
6991
|
-
|
|
7700
|
+
result = self._values.get("log_configuration")
|
|
7701
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.LogConfigurationProperty"]], result)
|
|
7702
|
+
|
|
7703
|
+
@builtins.property
|
|
7704
|
+
def mount_points(
|
|
7705
|
+
self,
|
|
7706
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointsProperty"]]]]:
|
|
7707
|
+
'''The mount points for data volumes in your container.
|
|
7708
|
+
|
|
7709
|
+
This parameter maps to ``Volumes`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the `--volume <https://docs.aws.amazon.com/>`_ option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
7710
|
+
|
|
7711
|
+
Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives.
|
|
7712
|
+
|
|
7713
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-mountpoints
|
|
7714
|
+
'''
|
|
7715
|
+
result = self._values.get("mount_points")
|
|
7716
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointsProperty"]]]], result)
|
|
7717
|
+
|
|
7718
|
+
@builtins.property
|
|
7719
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
7720
|
+
'''The name of a container.
|
|
7721
|
+
|
|
7722
|
+
The name can be used as a unique identifier to target your ``dependsOn`` and ``Overrides`` objects.
|
|
7723
|
+
|
|
7724
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-name
|
|
7725
|
+
'''
|
|
7726
|
+
result = self._values.get("name")
|
|
7727
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7728
|
+
|
|
7729
|
+
@builtins.property
|
|
7730
|
+
def privileged(
|
|
7731
|
+
self,
|
|
7732
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
7733
|
+
'''When this parameter is ``true`` , the container is given elevated privileges on the host container instance (similar to the ``root`` user).
|
|
7734
|
+
|
|
7735
|
+
This parameter maps to ``Privileged`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--privileged`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
7736
|
+
.. epigraph::
|
|
7737
|
+
|
|
7738
|
+
This parameter is not supported for Windows containers or tasks run on Fargate.
|
|
7739
|
+
|
|
7740
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-privileged
|
|
7741
|
+
'''
|
|
7742
|
+
result = self._values.get("privileged")
|
|
7743
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
7744
|
+
|
|
7745
|
+
@builtins.property
|
|
7746
|
+
def readonly_root_filesystem(
|
|
7747
|
+
self,
|
|
7748
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
7749
|
+
'''When this parameter is true, the container is given read-only access to its root file system.
|
|
7750
|
+
|
|
7751
|
+
This parameter maps to ``ReadonlyRootfs`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--read-only`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
7752
|
+
.. epigraph::
|
|
7753
|
+
|
|
7754
|
+
This parameter is not supported for Windows containers.
|
|
7755
|
+
|
|
7756
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-readonlyrootfilesystem
|
|
7757
|
+
'''
|
|
7758
|
+
result = self._values.get("readonly_root_filesystem")
|
|
7759
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
7760
|
+
|
|
7761
|
+
@builtins.property
|
|
7762
|
+
def repository_credentials(
|
|
7763
|
+
self,
|
|
7764
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.RepositoryCredentialsProperty"]]:
|
|
7765
|
+
'''The private repository authentication credentials to use.
|
|
7766
|
+
|
|
7767
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-repositorycredentials
|
|
7768
|
+
'''
|
|
7769
|
+
result = self._values.get("repository_credentials")
|
|
7770
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.RepositoryCredentialsProperty"]], result)
|
|
7771
|
+
|
|
7772
|
+
@builtins.property
|
|
7773
|
+
def resource_requirements(
|
|
7774
|
+
self,
|
|
7775
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ResourceRequirementProperty"]]]]:
|
|
7776
|
+
'''The type and amount of a resource to assign to a container.
|
|
7777
|
+
|
|
7778
|
+
The only supported resource is a GPU.
|
|
7779
|
+
|
|
7780
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-resourcerequirements
|
|
7781
|
+
'''
|
|
7782
|
+
result = self._values.get("resource_requirements")
|
|
7783
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ResourceRequirementProperty"]]]], result)
|
|
7784
|
+
|
|
7785
|
+
@builtins.property
|
|
7786
|
+
def secrets(
|
|
7787
|
+
self,
|
|
7788
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.SecretProperty"]]]]:
|
|
7789
|
+
'''The secrets to pass to the container.
|
|
7790
|
+
|
|
7791
|
+
For more information, see `Specifying Sensitive Data <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html>`_ in the Amazon Elastic Container Service Developer Guide.
|
|
7792
|
+
|
|
7793
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-secrets
|
|
7794
|
+
'''
|
|
7795
|
+
result = self._values.get("secrets")
|
|
7796
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.SecretProperty"]]]], result)
|
|
7797
|
+
|
|
7798
|
+
@builtins.property
|
|
7799
|
+
def ulimits(
|
|
7800
|
+
self,
|
|
7801
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.UlimitProperty"]]]]:
|
|
7802
|
+
'''A list of ``ulimits`` to set in the container.
|
|
7803
|
+
|
|
7804
|
+
If a ``ulimit`` value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to ``Ulimits`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--ulimit`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
7805
|
+
|
|
7806
|
+
Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``1024`` and the default hard limit is ``65535`` .
|
|
7807
|
+
|
|
7808
|
+
This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version ``--format '{{.Server.APIVersion}}'``
|
|
7809
|
+
.. epigraph::
|
|
7810
|
+
|
|
7811
|
+
This parameter is not supported for Windows containers.
|
|
7812
|
+
|
|
7813
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-ulimits
|
|
7814
|
+
'''
|
|
7815
|
+
result = self._values.get("ulimits")
|
|
7816
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.UlimitProperty"]]]], result)
|
|
7817
|
+
|
|
7818
|
+
@builtins.property
|
|
7819
|
+
def user(self) -> typing.Optional[builtins.str]:
|
|
7820
|
+
'''The user to use inside the container.
|
|
7821
|
+
|
|
7822
|
+
This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.
|
|
7823
|
+
.. epigraph::
|
|
7824
|
+
|
|
7825
|
+
When running tasks using the ``host`` network mode, don't run containers using the ``root user (UID 0)`` . We recommend using a non-root user for better security.
|
|
7826
|
+
|
|
7827
|
+
You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.
|
|
7828
|
+
|
|
7829
|
+
- ``user``
|
|
7830
|
+
- ``user:group``
|
|
7831
|
+
- ``uid``
|
|
7832
|
+
- ``uid:gid``
|
|
7833
|
+
- ``user:gi``
|
|
7834
|
+
- ``uid:group``
|
|
7835
|
+
|
|
7836
|
+
.. epigraph::
|
|
7837
|
+
|
|
7838
|
+
This parameter is not supported for Windows containers.
|
|
7839
|
+
|
|
7840
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-user
|
|
7841
|
+
'''
|
|
7842
|
+
result = self._values.get("user")
|
|
7843
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
6992
7844
|
|
|
6993
7845
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
6994
7846
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -6997,28 +7849,26 @@ class CfnJobDefinition(
|
|
|
6997
7849
|
return not (rhs == self)
|
|
6998
7850
|
|
|
6999
7851
|
def __repr__(self) -> str:
|
|
7000
|
-
return "
|
|
7852
|
+
return "TaskContainerPropertiesProperty(%s)" % ", ".join(
|
|
7001
7853
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
7002
7854
|
)
|
|
7003
7855
|
|
|
7004
7856
|
@jsii.data_type(
|
|
7005
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
7857
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.TimeoutProperty",
|
|
7006
7858
|
jsii_struct_bases=[],
|
|
7007
|
-
name_mapping={"
|
|
7859
|
+
name_mapping={"attempt_duration_seconds": "attemptDurationSeconds"},
|
|
7008
7860
|
)
|
|
7009
|
-
class
|
|
7861
|
+
class TimeoutProperty:
|
|
7010
7862
|
def __init__(
|
|
7011
7863
|
self,
|
|
7012
7864
|
*,
|
|
7013
|
-
|
|
7865
|
+
attempt_duration_seconds: typing.Optional[jsii.Number] = None,
|
|
7014
7866
|
) -> None:
|
|
7015
|
-
'''
|
|
7016
|
-
|
|
7017
|
-
If this parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.
|
|
7867
|
+
'''An object that represents a job timeout configuration.
|
|
7018
7868
|
|
|
7019
|
-
:param
|
|
7869
|
+
:param attempt_duration_seconds: The job timeout time (in seconds) that's measured from the job attempt's ``startedAt`` timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds. For array jobs, the timeout applies to the child jobs, not to the parent array job. For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.
|
|
7020
7870
|
|
|
7021
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
7871
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html
|
|
7022
7872
|
:exampleMetadata: fixture=_generated
|
|
7023
7873
|
|
|
7024
7874
|
Example::
|
|
@@ -7027,30 +7877,31 @@ class CfnJobDefinition(
|
|
|
7027
7877
|
# The values are placeholders you should change.
|
|
7028
7878
|
from aws_cdk import aws_batch as batch
|
|
7029
7879
|
|
|
7030
|
-
|
|
7031
|
-
|
|
7880
|
+
timeout_property = batch.CfnJobDefinition.TimeoutProperty(
|
|
7881
|
+
attempt_duration_seconds=123
|
|
7032
7882
|
)
|
|
7033
7883
|
'''
|
|
7034
7884
|
if __debug__:
|
|
7035
|
-
type_hints = typing.get_type_hints(
|
|
7036
|
-
check_type(argname="argument
|
|
7885
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5b035a85f593ff8b58d3fbc57a8614a7bc0d733c70f8504eab630022b6186187)
|
|
7886
|
+
check_type(argname="argument attempt_duration_seconds", value=attempt_duration_seconds, expected_type=type_hints["attempt_duration_seconds"])
|
|
7037
7887
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
7038
|
-
if
|
|
7039
|
-
self._values["
|
|
7888
|
+
if attempt_duration_seconds is not None:
|
|
7889
|
+
self._values["attempt_duration_seconds"] = attempt_duration_seconds
|
|
7040
7890
|
|
|
7041
7891
|
@builtins.property
|
|
7042
|
-
def
|
|
7043
|
-
'''The
|
|
7892
|
+
def attempt_duration_seconds(self) -> typing.Optional[jsii.Number]:
|
|
7893
|
+
'''The job timeout time (in seconds) that's measured from the job attempt's ``startedAt`` timestamp.
|
|
7044
7894
|
|
|
7045
|
-
|
|
7046
|
-
.. epigraph::
|
|
7895
|
+
After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.
|
|
7047
7896
|
|
|
7048
|
-
|
|
7897
|
+
For array jobs, the timeout applies to the child jobs, not to the parent array job.
|
|
7049
7898
|
|
|
7050
|
-
|
|
7899
|
+
For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.
|
|
7900
|
+
|
|
7901
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html#cfn-batch-jobdefinition-timeout-attemptdurationseconds
|
|
7051
7902
|
'''
|
|
7052
|
-
result = self._values.get("
|
|
7053
|
-
return typing.cast(typing.Optional[
|
|
7903
|
+
result = self._values.get("attempt_duration_seconds")
|
|
7904
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
7054
7905
|
|
|
7055
7906
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7056
7907
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -7059,34 +7910,38 @@ class CfnJobDefinition(
|
|
|
7059
7910
|
return not (rhs == self)
|
|
7060
7911
|
|
|
7061
7912
|
def __repr__(self) -> str:
|
|
7062
|
-
return "
|
|
7913
|
+
return "TimeoutProperty(%s)" % ", ".join(
|
|
7063
7914
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
7064
7915
|
)
|
|
7065
7916
|
|
|
7066
7917
|
@jsii.data_type(
|
|
7067
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.
|
|
7918
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.TmpfsProperty",
|
|
7068
7919
|
jsii_struct_bases=[],
|
|
7069
7920
|
name_mapping={
|
|
7070
|
-
"
|
|
7071
|
-
"
|
|
7072
|
-
"
|
|
7921
|
+
"container_path": "containerPath",
|
|
7922
|
+
"size": "size",
|
|
7923
|
+
"mount_options": "mountOptions",
|
|
7073
7924
|
},
|
|
7074
7925
|
)
|
|
7075
|
-
class
|
|
7926
|
+
class TmpfsProperty:
|
|
7076
7927
|
def __init__(
|
|
7077
7928
|
self,
|
|
7078
7929
|
*,
|
|
7079
|
-
|
|
7080
|
-
|
|
7081
|
-
|
|
7930
|
+
container_path: builtins.str,
|
|
7931
|
+
size: jsii.Number,
|
|
7932
|
+
mount_options: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7082
7933
|
) -> None:
|
|
7083
|
-
'''
|
|
7934
|
+
'''The container path, mount options, and size of the ``tmpfs`` mount.
|
|
7084
7935
|
|
|
7085
|
-
|
|
7086
|
-
:param host: The contents of the ``host`` parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running. .. epigraph:: This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.
|
|
7087
|
-
:param name: The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the ``sourceVolume`` parameter of container definition ``mountPoints`` .
|
|
7936
|
+
.. epigraph::
|
|
7088
7937
|
|
|
7089
|
-
|
|
7938
|
+
This object isn't applicable to jobs that are running on Fargate resources.
|
|
7939
|
+
|
|
7940
|
+
:param container_path: The absolute file path in the container where the ``tmpfs`` volume is mounted.
|
|
7941
|
+
:param size: The size (in MiB) of the ``tmpfs`` volume.
|
|
7942
|
+
:param mount_options: The list of ``tmpfs`` volume mount options. Valid values: " ``defaults`` " | " ``ro`` " | " ``rw`` " | " ``suid`` " | " ``nosuid`` " | " ``dev`` " | " ``nodev`` " | " ``exec`` " | " ``noexec`` " | " ``sync`` " | " ``async`` " | " ``dirsync`` " | " ``remount`` " | " ``mand`` " | " ``nomand`` " | " ``atime`` " | " ``noatime`` " | " ``diratime`` " | " ``nodiratime`` " | " ``bind`` " | " ``rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime`` " | " ``norelatime`` " | " ``strictatime`` " | " ``nostrictatime`` " | " ``mode`` " | " ``uid`` " | " ``gid`` " | " ``nr_inodes`` " | " ``nr_blocks`` " | " ``mpol`` "
|
|
7943
|
+
|
|
7944
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html
|
|
7090
7945
|
:exampleMetadata: fixture=_generated
|
|
7091
7946
|
|
|
7092
7947
|
Example::
|
|
@@ -7095,77 +7950,152 @@ class CfnJobDefinition(
|
|
|
7095
7950
|
# The values are placeholders you should change.
|
|
7096
7951
|
from aws_cdk import aws_batch as batch
|
|
7097
7952
|
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
|
|
7953
|
+
tmpfs_property = batch.CfnJobDefinition.TmpfsProperty(
|
|
7954
|
+
container_path="containerPath",
|
|
7955
|
+
size=123,
|
|
7101
7956
|
|
|
7102
|
-
|
|
7103
|
-
|
|
7104
|
-
access_point_id="accessPointId",
|
|
7105
|
-
iam="iam"
|
|
7106
|
-
),
|
|
7107
|
-
root_directory="rootDirectory",
|
|
7108
|
-
transit_encryption="transitEncryption",
|
|
7109
|
-
transit_encryption_port=123
|
|
7110
|
-
),
|
|
7111
|
-
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
7112
|
-
source_path="sourcePath"
|
|
7113
|
-
),
|
|
7114
|
-
name="name"
|
|
7957
|
+
# the properties below are optional
|
|
7958
|
+
mount_options=["mountOptions"]
|
|
7115
7959
|
)
|
|
7116
7960
|
'''
|
|
7117
7961
|
if __debug__:
|
|
7118
|
-
type_hints = typing.get_type_hints(
|
|
7119
|
-
check_type(argname="argument
|
|
7120
|
-
check_type(argname="argument
|
|
7121
|
-
check_type(argname="argument
|
|
7122
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7123
|
-
|
|
7124
|
-
|
|
7125
|
-
|
|
7126
|
-
|
|
7127
|
-
|
|
7128
|
-
self._values["name"] = name
|
|
7962
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7c16bfb0295986db06cd649d9ca6994f1d86d2d884185ad1eda92e6da68041e0)
|
|
7963
|
+
check_type(argname="argument container_path", value=container_path, expected_type=type_hints["container_path"])
|
|
7964
|
+
check_type(argname="argument size", value=size, expected_type=type_hints["size"])
|
|
7965
|
+
check_type(argname="argument mount_options", value=mount_options, expected_type=type_hints["mount_options"])
|
|
7966
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
7967
|
+
"container_path": container_path,
|
|
7968
|
+
"size": size,
|
|
7969
|
+
}
|
|
7970
|
+
if mount_options is not None:
|
|
7971
|
+
self._values["mount_options"] = mount_options
|
|
7129
7972
|
|
|
7130
7973
|
@builtins.property
|
|
7131
|
-
def
|
|
7132
|
-
|
|
7133
|
-
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EfsVolumeConfigurationProperty"]]:
|
|
7134
|
-
'''This is used when you're using an Amazon Elastic File System file system for job storage.
|
|
7135
|
-
|
|
7136
|
-
For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
|
|
7974
|
+
def container_path(self) -> builtins.str:
|
|
7975
|
+
'''The absolute file path in the container where the ``tmpfs`` volume is mounted.
|
|
7137
7976
|
|
|
7138
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-
|
|
7977
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-containerpath
|
|
7139
7978
|
'''
|
|
7140
|
-
result = self._values.get("
|
|
7141
|
-
|
|
7979
|
+
result = self._values.get("container_path")
|
|
7980
|
+
assert result is not None, "Required property 'container_path' is missing"
|
|
7981
|
+
return typing.cast(builtins.str, result)
|
|
7142
7982
|
|
|
7143
7983
|
@builtins.property
|
|
7144
|
-
def
|
|
7145
|
-
|
|
7146
|
-
|
|
7147
|
-
|
|
7148
|
-
|
|
7149
|
-
|
|
7984
|
+
def size(self) -> jsii.Number:
|
|
7985
|
+
'''The size (in MiB) of the ``tmpfs`` volume.
|
|
7986
|
+
|
|
7987
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-size
|
|
7988
|
+
'''
|
|
7989
|
+
result = self._values.get("size")
|
|
7990
|
+
assert result is not None, "Required property 'size' is missing"
|
|
7991
|
+
return typing.cast(jsii.Number, result)
|
|
7992
|
+
|
|
7993
|
+
@builtins.property
|
|
7994
|
+
def mount_options(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
7995
|
+
'''The list of ``tmpfs`` volume mount options.
|
|
7996
|
+
|
|
7997
|
+
Valid values: " ``defaults`` " | " ``ro`` " | " ``rw`` " | " ``suid`` " | " ``nosuid`` " | " ``dev`` " | " ``nodev`` " | " ``exec`` " | " ``noexec`` " | " ``sync`` " | " ``async`` " | " ``dirsync`` " | " ``remount`` " | " ``mand`` " | " ``nomand`` " | " ``atime`` " | " ``noatime`` " | " ``diratime`` " | " ``nodiratime`` " | " ``bind`` " | " ``rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime`` " | " ``norelatime`` " | " ``strictatime`` " | " ``nostrictatime`` " | " ``mode`` " | " ``uid`` " | " ``gid`` " | " ``nr_inodes`` " | " ``nr_blocks`` " | " ``mpol`` "
|
|
7998
|
+
|
|
7999
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-tmpfs.html#cfn-batch-jobdefinition-tmpfs-mountoptions
|
|
8000
|
+
'''
|
|
8001
|
+
result = self._values.get("mount_options")
|
|
8002
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
8003
|
+
|
|
8004
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8005
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8006
|
+
|
|
8007
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8008
|
+
return not (rhs == self)
|
|
8009
|
+
|
|
8010
|
+
def __repr__(self) -> str:
|
|
8011
|
+
return "TmpfsProperty(%s)" % ", ".join(
|
|
8012
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
8013
|
+
)
|
|
8014
|
+
|
|
8015
|
+
@jsii.data_type(
|
|
8016
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.UlimitProperty",
|
|
8017
|
+
jsii_struct_bases=[],
|
|
8018
|
+
name_mapping={
|
|
8019
|
+
"hard_limit": "hardLimit",
|
|
8020
|
+
"name": "name",
|
|
8021
|
+
"soft_limit": "softLimit",
|
|
8022
|
+
},
|
|
8023
|
+
)
|
|
8024
|
+
class UlimitProperty:
|
|
8025
|
+
def __init__(
|
|
8026
|
+
self,
|
|
8027
|
+
*,
|
|
8028
|
+
hard_limit: jsii.Number,
|
|
8029
|
+
name: builtins.str,
|
|
8030
|
+
soft_limit: jsii.Number,
|
|
8031
|
+
) -> None:
|
|
8032
|
+
'''The ``ulimit`` settings to pass to the container. For more information, see `Ulimit <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html>`_ .
|
|
8033
|
+
|
|
7150
8034
|
.. epigraph::
|
|
7151
8035
|
|
|
7152
|
-
This
|
|
8036
|
+
This object isn't applicable to jobs that are running on Fargate resources.
|
|
7153
8037
|
|
|
7154
|
-
:
|
|
8038
|
+
:param hard_limit: The hard limit for the ``ulimit`` type.
|
|
8039
|
+
:param name: The ``type`` of the ``ulimit`` . Valid values are: ``core`` | ``cpu`` | ``data`` | ``fsize`` | ``locks`` | ``memlock`` | ``msgqueue`` | ``nice`` | ``nofile`` | ``nproc`` | ``rss`` | ``rtprio`` | ``rttime`` | ``sigpending`` | ``stack`` .
|
|
8040
|
+
:param soft_limit: The soft limit for the ``ulimit`` type.
|
|
8041
|
+
|
|
8042
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html
|
|
8043
|
+
:exampleMetadata: fixture=_generated
|
|
8044
|
+
|
|
8045
|
+
Example::
|
|
8046
|
+
|
|
8047
|
+
# The code below shows an example of how to instantiate this type.
|
|
8048
|
+
# The values are placeholders you should change.
|
|
8049
|
+
from aws_cdk import aws_batch as batch
|
|
8050
|
+
|
|
8051
|
+
ulimit_property = batch.CfnJobDefinition.UlimitProperty(
|
|
8052
|
+
hard_limit=123,
|
|
8053
|
+
name="name",
|
|
8054
|
+
soft_limit=123
|
|
8055
|
+
)
|
|
7155
8056
|
'''
|
|
7156
|
-
|
|
7157
|
-
|
|
8057
|
+
if __debug__:
|
|
8058
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9422053e6f2d5b223ad6edca9c1d424075ea7f34d3f55f01ed34ea8f4b51e8d4)
|
|
8059
|
+
check_type(argname="argument hard_limit", value=hard_limit, expected_type=type_hints["hard_limit"])
|
|
8060
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
8061
|
+
check_type(argname="argument soft_limit", value=soft_limit, expected_type=type_hints["soft_limit"])
|
|
8062
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
8063
|
+
"hard_limit": hard_limit,
|
|
8064
|
+
"name": name,
|
|
8065
|
+
"soft_limit": soft_limit,
|
|
8066
|
+
}
|
|
7158
8067
|
|
|
7159
8068
|
@builtins.property
|
|
7160
|
-
def
|
|
7161
|
-
'''The
|
|
8069
|
+
def hard_limit(self) -> jsii.Number:
|
|
8070
|
+
'''The hard limit for the ``ulimit`` type.
|
|
7162
8071
|
|
|
7163
|
-
|
|
8072
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html#cfn-batch-jobdefinition-ulimit-hardlimit
|
|
8073
|
+
'''
|
|
8074
|
+
result = self._values.get("hard_limit")
|
|
8075
|
+
assert result is not None, "Required property 'hard_limit' is missing"
|
|
8076
|
+
return typing.cast(jsii.Number, result)
|
|
7164
8077
|
|
|
7165
|
-
|
|
8078
|
+
@builtins.property
|
|
8079
|
+
def name(self) -> builtins.str:
|
|
8080
|
+
'''The ``type`` of the ``ulimit`` .
|
|
8081
|
+
|
|
8082
|
+
Valid values are: ``core`` | ``cpu`` | ``data`` | ``fsize`` | ``locks`` | ``memlock`` | ``msgqueue`` | ``nice`` | ``nofile`` | ``nproc`` | ``rss`` | ``rtprio`` | ``rttime`` | ``sigpending`` | ``stack`` .
|
|
8083
|
+
|
|
8084
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html#cfn-batch-jobdefinition-ulimit-name
|
|
7166
8085
|
'''
|
|
7167
8086
|
result = self._values.get("name")
|
|
7168
|
-
|
|
8087
|
+
assert result is not None, "Required property 'name' is missing"
|
|
8088
|
+
return typing.cast(builtins.str, result)
|
|
8089
|
+
|
|
8090
|
+
@builtins.property
|
|
8091
|
+
def soft_limit(self) -> jsii.Number:
|
|
8092
|
+
'''The soft limit for the ``ulimit`` type.
|
|
8093
|
+
|
|
8094
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html#cfn-batch-jobdefinition-ulimit-softlimit
|
|
8095
|
+
'''
|
|
8096
|
+
result = self._values.get("soft_limit")
|
|
8097
|
+
assert result is not None, "Required property 'soft_limit' is missing"
|
|
8098
|
+
return typing.cast(jsii.Number, result)
|
|
7169
8099
|
|
|
7170
8100
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
7171
8101
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -7174,371 +8104,253 @@ class CfnJobDefinition(
|
|
|
7174
8104
|
return not (rhs == self)
|
|
7175
8105
|
|
|
7176
8106
|
def __repr__(self) -> str:
|
|
7177
|
-
return "
|
|
8107
|
+
return "UlimitProperty(%s)" % ", ".join(
|
|
7178
8108
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
7179
8109
|
)
|
|
7180
8110
|
|
|
8111
|
+
@jsii.data_type(
|
|
8112
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.VolumesHostProperty",
|
|
8113
|
+
jsii_struct_bases=[],
|
|
8114
|
+
name_mapping={"source_path": "sourcePath"},
|
|
8115
|
+
)
|
|
8116
|
+
class VolumesHostProperty:
|
|
8117
|
+
def __init__(
|
|
8118
|
+
self,
|
|
8119
|
+
*,
|
|
8120
|
+
source_path: typing.Optional[builtins.str] = None,
|
|
8121
|
+
) -> None:
|
|
8122
|
+
'''Determine whether your data volume persists on the host container instance and where it's stored.
|
|
7181
8123
|
|
|
7182
|
-
|
|
7183
|
-
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinitionProps",
|
|
7184
|
-
jsii_struct_bases=[],
|
|
7185
|
-
name_mapping={
|
|
7186
|
-
"type": "type",
|
|
7187
|
-
"container_properties": "containerProperties",
|
|
7188
|
-
"eks_properties": "eksProperties",
|
|
7189
|
-
"job_definition_name": "jobDefinitionName",
|
|
7190
|
-
"node_properties": "nodeProperties",
|
|
7191
|
-
"parameters": "parameters",
|
|
7192
|
-
"platform_capabilities": "platformCapabilities",
|
|
7193
|
-
"propagate_tags": "propagateTags",
|
|
7194
|
-
"retry_strategy": "retryStrategy",
|
|
7195
|
-
"scheduling_priority": "schedulingPriority",
|
|
7196
|
-
"tags": "tags",
|
|
7197
|
-
"timeout": "timeout",
|
|
7198
|
-
},
|
|
7199
|
-
)
|
|
7200
|
-
class CfnJobDefinitionProps:
|
|
7201
|
-
def __init__(
|
|
7202
|
-
self,
|
|
7203
|
-
*,
|
|
7204
|
-
type: builtins.str,
|
|
7205
|
-
container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7206
|
-
eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7207
|
-
job_definition_name: typing.Optional[builtins.str] = None,
|
|
7208
|
-
node_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.NodePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7209
|
-
parameters: typing.Any = None,
|
|
7210
|
-
platform_capabilities: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7211
|
-
propagate_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
7212
|
-
retry_strategy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.RetryStrategyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7213
|
-
scheduling_priority: typing.Optional[jsii.Number] = None,
|
|
7214
|
-
tags: typing.Any = None,
|
|
7215
|
-
timeout: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.TimeoutProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7216
|
-
) -> None:
|
|
7217
|
-
'''Properties for defining a ``CfnJobDefinition``.
|
|
8124
|
+
If this parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.
|
|
7218
8125
|
|
|
7219
|
-
|
|
7220
|
-
:param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
|
|
7221
|
-
:param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
|
|
7222
|
-
:param job_definition_name: The name of the job definition.
|
|
7223
|
-
:param node_properties: An object with properties that are specific to multi-node parallel jobs. When ``nodeProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . .. epigraph:: If the job runs on Fargate resources, don't specify ``nodeProperties`` . Use ``containerProperties`` instead.
|
|
7224
|
-
:param parameters: Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a ``SubmitJob`` request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see `Job definition parameters <https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html>`_ in the *AWS Batch User Guide* .
|
|
7225
|
-
:param platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to ``EC2`` . Jobs run on Fargate resources specify ``FARGATE`` .
|
|
7226
|
-
:param propagate_tags: Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the ``FAILED`` state.
|
|
7227
|
-
:param retry_strategy: The retry strategy to use for failed jobs that are submitted with this job definition.
|
|
7228
|
-
:param scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
|
|
7229
|
-
:param tags: The tags that are applied to the job definition.
|
|
7230
|
-
:param timeout: The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
|
|
8126
|
+
:param source_path: The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported. .. epigraph:: This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.
|
|
7231
8127
|
|
|
7232
|
-
|
|
7233
|
-
|
|
8128
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html
|
|
8129
|
+
:exampleMetadata: fixture=_generated
|
|
7234
8130
|
|
|
7235
|
-
|
|
8131
|
+
Example::
|
|
7236
8132
|
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
|
|
7265
|
-
|
|
7266
|
-
|
|
7267
|
-
|
|
7268
|
-
|
|
7269
|
-
|
|
7270
|
-
|
|
7271
|
-
|
|
7272
|
-
|
|
7273
|
-
|
|
7274
|
-
|
|
7275
|
-
|
|
7276
|
-
|
|
7277
|
-
|
|
7278
|
-
|
|
7279
|
-
|
|
7280
|
-
|
|
7281
|
-
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
|
|
7285
|
-
|
|
7286
|
-
|
|
7287
|
-
|
|
7288
|
-
|
|
7289
|
-
|
|
7290
|
-
|
|
7291
|
-
|
|
7292
|
-
|
|
7293
|
-
|
|
7294
|
-
|
|
7295
|
-
|
|
7296
|
-
|
|
7297
|
-
|
|
7298
|
-
|
|
7299
|
-
|
|
7300
|
-
|
|
7301
|
-
|
|
7302
|
-
|
|
7303
|
-
|
|
7304
|
-
|
|
7305
|
-
|
|
7306
|
-
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
type="type",
|
|
7314
|
-
value="value"
|
|
7315
|
-
)],
|
|
7316
|
-
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
7317
|
-
cpu_architecture="cpuArchitecture",
|
|
7318
|
-
operating_system_family="operatingSystemFamily"
|
|
7319
|
-
),
|
|
7320
|
-
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
7321
|
-
name="name",
|
|
7322
|
-
value_from="valueFrom"
|
|
7323
|
-
)],
|
|
7324
|
-
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
7325
|
-
hard_limit=123,
|
|
7326
|
-
name="name",
|
|
7327
|
-
soft_limit=123
|
|
7328
|
-
)],
|
|
7329
|
-
user="user",
|
|
7330
|
-
vcpus=123,
|
|
7331
|
-
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
7332
|
-
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
7333
|
-
file_system_id="fileSystemId",
|
|
7334
|
-
|
|
7335
|
-
# the properties below are optional
|
|
7336
|
-
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
7337
|
-
access_point_id="accessPointId",
|
|
7338
|
-
iam="iam"
|
|
7339
|
-
),
|
|
7340
|
-
root_directory="rootDirectory",
|
|
7341
|
-
transit_encryption="transitEncryption",
|
|
7342
|
-
transit_encryption_port=123
|
|
7343
|
-
),
|
|
7344
|
-
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
7345
|
-
source_path="sourcePath"
|
|
7346
|
-
),
|
|
7347
|
-
name="name"
|
|
7348
|
-
)]
|
|
7349
|
-
),
|
|
7350
|
-
eks_properties=batch.CfnJobDefinition.EksPropertiesProperty(
|
|
7351
|
-
pod_properties=batch.CfnJobDefinition.PodPropertiesProperty(
|
|
7352
|
-
containers=[batch.CfnJobDefinition.EksContainerProperty(
|
|
7353
|
-
image="image",
|
|
7354
|
-
|
|
7355
|
-
# the properties below are optional
|
|
7356
|
-
args=["args"],
|
|
7357
|
-
command=["command"],
|
|
7358
|
-
env=[batch.CfnJobDefinition.EksContainerEnvironmentVariableProperty(
|
|
7359
|
-
name="name",
|
|
7360
|
-
|
|
7361
|
-
# the properties below are optional
|
|
7362
|
-
value="value"
|
|
7363
|
-
)],
|
|
7364
|
-
image_pull_policy="imagePullPolicy",
|
|
7365
|
-
name="name",
|
|
7366
|
-
resources=batch.CfnJobDefinition.ResourcesProperty(
|
|
7367
|
-
limits=limits,
|
|
7368
|
-
requests=requests
|
|
7369
|
-
),
|
|
7370
|
-
security_context=batch.CfnJobDefinition.SecurityContextProperty(
|
|
7371
|
-
privileged=False,
|
|
7372
|
-
read_only_root_filesystem=False,
|
|
7373
|
-
run_as_group=123,
|
|
7374
|
-
run_as_non_root=False,
|
|
7375
|
-
run_as_user=123
|
|
7376
|
-
),
|
|
7377
|
-
volume_mounts=[batch.CfnJobDefinition.EksContainerVolumeMountProperty(
|
|
7378
|
-
mount_path="mountPath",
|
|
7379
|
-
name="name",
|
|
7380
|
-
read_only=False
|
|
7381
|
-
)]
|
|
7382
|
-
)],
|
|
7383
|
-
dns_policy="dnsPolicy",
|
|
7384
|
-
host_network=False,
|
|
7385
|
-
metadata=batch.CfnJobDefinition.MetadataProperty(
|
|
7386
|
-
labels=labels
|
|
7387
|
-
),
|
|
7388
|
-
service_account_name="serviceAccountName",
|
|
7389
|
-
volumes=[batch.CfnJobDefinition.EksVolumeProperty(
|
|
7390
|
-
name="name",
|
|
7391
|
-
|
|
7392
|
-
# the properties below are optional
|
|
7393
|
-
empty_dir=batch.CfnJobDefinition.EmptyDirProperty(
|
|
7394
|
-
medium="medium",
|
|
7395
|
-
size_limit="sizeLimit"
|
|
7396
|
-
),
|
|
7397
|
-
host_path=batch.CfnJobDefinition.HostPathProperty(
|
|
7398
|
-
path="path"
|
|
7399
|
-
),
|
|
7400
|
-
secret=batch.CfnJobDefinition.EksSecretProperty(
|
|
7401
|
-
secret_name="secretName",
|
|
7402
|
-
|
|
7403
|
-
# the properties below are optional
|
|
7404
|
-
optional=False
|
|
7405
|
-
)
|
|
7406
|
-
)]
|
|
7407
|
-
)
|
|
7408
|
-
),
|
|
7409
|
-
job_definition_name="jobDefinitionName",
|
|
7410
|
-
node_properties=batch.CfnJobDefinition.NodePropertiesProperty(
|
|
7411
|
-
main_node=123,
|
|
7412
|
-
node_range_properties=[batch.CfnJobDefinition.NodeRangePropertyProperty(
|
|
7413
|
-
target_nodes="targetNodes",
|
|
7414
|
-
|
|
7415
|
-
# the properties below are optional
|
|
7416
|
-
container=batch.CfnJobDefinition.ContainerPropertiesProperty(
|
|
7417
|
-
image="image",
|
|
7418
|
-
|
|
7419
|
-
# the properties below are optional
|
|
7420
|
-
command=["command"],
|
|
7421
|
-
environment=[batch.CfnJobDefinition.EnvironmentProperty(
|
|
7422
|
-
name="name",
|
|
7423
|
-
value="value"
|
|
7424
|
-
)],
|
|
7425
|
-
ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
|
|
7426
|
-
size_in_gi_b=123
|
|
7427
|
-
),
|
|
7428
|
-
execution_role_arn="executionRoleArn",
|
|
7429
|
-
fargate_platform_configuration=batch.CfnJobDefinition.FargatePlatformConfigurationProperty(
|
|
7430
|
-
platform_version="platformVersion"
|
|
7431
|
-
),
|
|
7432
|
-
instance_type="instanceType",
|
|
7433
|
-
job_role_arn="jobRoleArn",
|
|
7434
|
-
linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
|
|
7435
|
-
devices=[batch.CfnJobDefinition.DeviceProperty(
|
|
7436
|
-
container_path="containerPath",
|
|
7437
|
-
host_path="hostPath",
|
|
7438
|
-
permissions=["permissions"]
|
|
7439
|
-
)],
|
|
7440
|
-
init_process_enabled=False,
|
|
7441
|
-
max_swap=123,
|
|
7442
|
-
shared_memory_size=123,
|
|
7443
|
-
swappiness=123,
|
|
7444
|
-
tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
|
|
7445
|
-
container_path="containerPath",
|
|
7446
|
-
size=123,
|
|
7447
|
-
|
|
7448
|
-
# the properties below are optional
|
|
7449
|
-
mount_options=["mountOptions"]
|
|
7450
|
-
)]
|
|
7451
|
-
),
|
|
7452
|
-
log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
|
|
7453
|
-
log_driver="logDriver",
|
|
7454
|
-
|
|
7455
|
-
# the properties below are optional
|
|
7456
|
-
options=options,
|
|
7457
|
-
secret_options=[batch.CfnJobDefinition.SecretProperty(
|
|
7458
|
-
name="name",
|
|
7459
|
-
value_from="valueFrom"
|
|
7460
|
-
)]
|
|
7461
|
-
),
|
|
7462
|
-
memory=123,
|
|
7463
|
-
mount_points=[batch.CfnJobDefinition.MountPointsProperty(
|
|
7464
|
-
container_path="containerPath",
|
|
7465
|
-
read_only=False,
|
|
7466
|
-
source_volume="sourceVolume"
|
|
7467
|
-
)],
|
|
7468
|
-
network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
|
|
7469
|
-
assign_public_ip="assignPublicIp"
|
|
7470
|
-
),
|
|
7471
|
-
privileged=False,
|
|
7472
|
-
readonly_root_filesystem=False,
|
|
7473
|
-
repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
|
|
7474
|
-
credentials_parameter="credentialsParameter"
|
|
7475
|
-
),
|
|
7476
|
-
resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
|
|
7477
|
-
type="type",
|
|
7478
|
-
value="value"
|
|
7479
|
-
)],
|
|
7480
|
-
runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
|
|
7481
|
-
cpu_architecture="cpuArchitecture",
|
|
7482
|
-
operating_system_family="operatingSystemFamily"
|
|
7483
|
-
),
|
|
7484
|
-
secrets=[batch.CfnJobDefinition.SecretProperty(
|
|
7485
|
-
name="name",
|
|
7486
|
-
value_from="valueFrom"
|
|
7487
|
-
)],
|
|
7488
|
-
ulimits=[batch.CfnJobDefinition.UlimitProperty(
|
|
7489
|
-
hard_limit=123,
|
|
7490
|
-
name="name",
|
|
7491
|
-
soft_limit=123
|
|
7492
|
-
)],
|
|
7493
|
-
user="user",
|
|
7494
|
-
vcpus=123,
|
|
7495
|
-
volumes=[batch.CfnJobDefinition.VolumesProperty(
|
|
7496
|
-
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
7497
|
-
file_system_id="fileSystemId",
|
|
7498
|
-
|
|
7499
|
-
# the properties below are optional
|
|
7500
|
-
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
7501
|
-
access_point_id="accessPointId",
|
|
7502
|
-
iam="iam"
|
|
7503
|
-
),
|
|
7504
|
-
root_directory="rootDirectory",
|
|
7505
|
-
transit_encryption="transitEncryption",
|
|
7506
|
-
transit_encryption_port=123
|
|
7507
|
-
),
|
|
7508
|
-
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
7509
|
-
source_path="sourcePath"
|
|
7510
|
-
),
|
|
7511
|
-
name="name"
|
|
7512
|
-
)]
|
|
7513
|
-
)
|
|
7514
|
-
)],
|
|
7515
|
-
num_nodes=123
|
|
7516
|
-
),
|
|
7517
|
-
parameters=parameters,
|
|
7518
|
-
platform_capabilities=["platformCapabilities"],
|
|
7519
|
-
propagate_tags=False,
|
|
7520
|
-
retry_strategy=batch.CfnJobDefinition.RetryStrategyProperty(
|
|
7521
|
-
attempts=123,
|
|
7522
|
-
evaluate_on_exit=[batch.CfnJobDefinition.EvaluateOnExitProperty(
|
|
7523
|
-
action="action",
|
|
7524
|
-
|
|
8133
|
+
# The code below shows an example of how to instantiate this type.
|
|
8134
|
+
# The values are placeholders you should change.
|
|
8135
|
+
from aws_cdk import aws_batch as batch
|
|
8136
|
+
|
|
8137
|
+
volumes_host_property = batch.CfnJobDefinition.VolumesHostProperty(
|
|
8138
|
+
source_path="sourcePath"
|
|
8139
|
+
)
|
|
8140
|
+
'''
|
|
8141
|
+
if __debug__:
|
|
8142
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1af85cd0eadb4e77501a8751a1c3fc18ec19311f49db5d0f921588460010456a)
|
|
8143
|
+
check_type(argname="argument source_path", value=source_path, expected_type=type_hints["source_path"])
|
|
8144
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
8145
|
+
if source_path is not None:
|
|
8146
|
+
self._values["source_path"] = source_path
|
|
8147
|
+
|
|
8148
|
+
@builtins.property
|
|
8149
|
+
def source_path(self) -> typing.Optional[builtins.str]:
|
|
8150
|
+
'''The path on the host container instance that's presented to the container.
|
|
8151
|
+
|
|
8152
|
+
If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.
|
|
8153
|
+
.. epigraph::
|
|
8154
|
+
|
|
8155
|
+
This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.
|
|
8156
|
+
|
|
8157
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html#cfn-batch-jobdefinition-volumeshost-sourcepath
|
|
8158
|
+
'''
|
|
8159
|
+
result = self._values.get("source_path")
|
|
8160
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
8161
|
+
|
|
8162
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8163
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8164
|
+
|
|
8165
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8166
|
+
return not (rhs == self)
|
|
8167
|
+
|
|
8168
|
+
def __repr__(self) -> str:
|
|
8169
|
+
return "VolumesHostProperty(%s)" % ", ".join(
|
|
8170
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
8171
|
+
)
|
|
8172
|
+
|
|
8173
|
+
@jsii.data_type(
|
|
8174
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.VolumesProperty",
|
|
8175
|
+
jsii_struct_bases=[],
|
|
8176
|
+
name_mapping={
|
|
8177
|
+
"efs_volume_configuration": "efsVolumeConfiguration",
|
|
8178
|
+
"host": "host",
|
|
8179
|
+
"name": "name",
|
|
8180
|
+
},
|
|
8181
|
+
)
|
|
8182
|
+
class VolumesProperty:
|
|
8183
|
+
def __init__(
|
|
8184
|
+
self,
|
|
8185
|
+
*,
|
|
8186
|
+
efs_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EfsVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8187
|
+
host: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.VolumesHostProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8188
|
+
name: typing.Optional[builtins.str] = None,
|
|
8189
|
+
) -> None:
|
|
8190
|
+
'''A list of volumes that are associated with the job.
|
|
8191
|
+
|
|
8192
|
+
:param efs_volume_configuration: This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
|
|
8193
|
+
:param host: The contents of the ``host`` parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running. .. epigraph:: This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.
|
|
8194
|
+
:param name: The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the ``sourceVolume`` parameter of container definition ``mountPoints`` .
|
|
8195
|
+
|
|
8196
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html
|
|
8197
|
+
:exampleMetadata: fixture=_generated
|
|
8198
|
+
|
|
8199
|
+
Example::
|
|
8200
|
+
|
|
8201
|
+
# The code below shows an example of how to instantiate this type.
|
|
8202
|
+
# The values are placeholders you should change.
|
|
8203
|
+
from aws_cdk import aws_batch as batch
|
|
8204
|
+
|
|
8205
|
+
volumes_property = batch.CfnJobDefinition.VolumesProperty(
|
|
8206
|
+
efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
|
|
8207
|
+
file_system_id="fileSystemId",
|
|
8208
|
+
|
|
7525
8209
|
# the properties below are optional
|
|
7526
|
-
|
|
7527
|
-
|
|
7528
|
-
|
|
7529
|
-
|
|
7530
|
-
|
|
7531
|
-
|
|
7532
|
-
|
|
7533
|
-
|
|
7534
|
-
|
|
8210
|
+
authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
|
|
8211
|
+
access_point_id="accessPointId",
|
|
8212
|
+
iam="iam"
|
|
8213
|
+
),
|
|
8214
|
+
root_directory="rootDirectory",
|
|
8215
|
+
transit_encryption="transitEncryption",
|
|
8216
|
+
transit_encryption_port=123
|
|
8217
|
+
),
|
|
8218
|
+
host=batch.CfnJobDefinition.VolumesHostProperty(
|
|
8219
|
+
source_path="sourcePath"
|
|
8220
|
+
),
|
|
8221
|
+
name="name"
|
|
7535
8222
|
)
|
|
8223
|
+
'''
|
|
8224
|
+
if __debug__:
|
|
8225
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a4a9d90db8477ca586c3c89fb2ce5a548e9a3bb699ae625a80a8a105b02a362e)
|
|
8226
|
+
check_type(argname="argument efs_volume_configuration", value=efs_volume_configuration, expected_type=type_hints["efs_volume_configuration"])
|
|
8227
|
+
check_type(argname="argument host", value=host, expected_type=type_hints["host"])
|
|
8228
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
8229
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
8230
|
+
if efs_volume_configuration is not None:
|
|
8231
|
+
self._values["efs_volume_configuration"] = efs_volume_configuration
|
|
8232
|
+
if host is not None:
|
|
8233
|
+
self._values["host"] = host
|
|
8234
|
+
if name is not None:
|
|
8235
|
+
self._values["name"] = name
|
|
8236
|
+
|
|
8237
|
+
@builtins.property
|
|
8238
|
+
def efs_volume_configuration(
|
|
8239
|
+
self,
|
|
8240
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EfsVolumeConfigurationProperty"]]:
|
|
8241
|
+
'''This is used when you're using an Amazon Elastic File System file system for job storage.
|
|
8242
|
+
|
|
8243
|
+
For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
|
|
8244
|
+
|
|
8245
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-efsvolumeconfiguration
|
|
8246
|
+
'''
|
|
8247
|
+
result = self._values.get("efs_volume_configuration")
|
|
8248
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EfsVolumeConfigurationProperty"]], result)
|
|
8249
|
+
|
|
8250
|
+
@builtins.property
|
|
8251
|
+
def host(
|
|
8252
|
+
self,
|
|
8253
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesHostProperty"]]:
|
|
8254
|
+
'''The contents of the ``host`` parameter determine whether your data volume persists on the host container instance and where it's stored.
|
|
8255
|
+
|
|
8256
|
+
If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.
|
|
8257
|
+
.. epigraph::
|
|
8258
|
+
|
|
8259
|
+
This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.
|
|
8260
|
+
|
|
8261
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-host
|
|
8262
|
+
'''
|
|
8263
|
+
result = self._values.get("host")
|
|
8264
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesHostProperty"]], result)
|
|
8265
|
+
|
|
8266
|
+
@builtins.property
|
|
8267
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
8268
|
+
'''The name of the volume.
|
|
8269
|
+
|
|
8270
|
+
It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the ``sourceVolume`` parameter of container definition ``mountPoints`` .
|
|
8271
|
+
|
|
8272
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-name
|
|
8273
|
+
'''
|
|
8274
|
+
result = self._values.get("name")
|
|
8275
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
8276
|
+
|
|
8277
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8278
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8279
|
+
|
|
8280
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8281
|
+
return not (rhs == self)
|
|
8282
|
+
|
|
8283
|
+
def __repr__(self) -> str:
|
|
8284
|
+
return "VolumesProperty(%s)" % ", ".join(
|
|
8285
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
7536
8286
|
)
|
|
8287
|
+
|
|
8288
|
+
|
|
8289
|
+
@jsii.data_type(
|
|
8290
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinitionProps",
|
|
8291
|
+
jsii_struct_bases=[],
|
|
8292
|
+
name_mapping={
|
|
8293
|
+
"type": "type",
|
|
8294
|
+
"container_properties": "containerProperties",
|
|
8295
|
+
"ecs_properties": "ecsProperties",
|
|
8296
|
+
"eks_properties": "eksProperties",
|
|
8297
|
+
"job_definition_name": "jobDefinitionName",
|
|
8298
|
+
"node_properties": "nodeProperties",
|
|
8299
|
+
"parameters": "parameters",
|
|
8300
|
+
"platform_capabilities": "platformCapabilities",
|
|
8301
|
+
"propagate_tags": "propagateTags",
|
|
8302
|
+
"retry_strategy": "retryStrategy",
|
|
8303
|
+
"scheduling_priority": "schedulingPriority",
|
|
8304
|
+
"tags": "tags",
|
|
8305
|
+
"timeout": "timeout",
|
|
8306
|
+
},
|
|
8307
|
+
)
|
|
8308
|
+
class CfnJobDefinitionProps:
|
|
8309
|
+
def __init__(
|
|
8310
|
+
self,
|
|
8311
|
+
*,
|
|
8312
|
+
type: builtins.str,
|
|
8313
|
+
container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8314
|
+
ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8315
|
+
eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8316
|
+
job_definition_name: typing.Optional[builtins.str] = None,
|
|
8317
|
+
node_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.NodePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8318
|
+
parameters: typing.Any = None,
|
|
8319
|
+
platform_capabilities: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8320
|
+
propagate_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
8321
|
+
retry_strategy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.RetryStrategyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8322
|
+
scheduling_priority: typing.Optional[jsii.Number] = None,
|
|
8323
|
+
tags: typing.Any = None,
|
|
8324
|
+
timeout: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.TimeoutProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8325
|
+
) -> None:
|
|
8326
|
+
'''Properties for defining a ``CfnJobDefinition``.
|
|
8327
|
+
|
|
8328
|
+
:param type: The type of job definition. For more information about multi-node parallel jobs, see `Creating a multi-node parallel job definition <https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html>`_ in the *AWS Batch User Guide* . - If the value is ``container`` , then one of the following is required: ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . - If the value is ``multinode`` , then ``nodeProperties`` is required. .. epigraph:: If the job is run on Fargate resources, then ``multinode`` isn't supported.
|
|
8329
|
+
:param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
|
|
8330
|
+
:param ecs_properties: An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
|
|
8331
|
+
:param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
|
|
8332
|
+
:param job_definition_name: The name of the job definition.
|
|
8333
|
+
:param node_properties: An object with properties that are specific to multi-node parallel jobs. When ``nodeProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . .. epigraph:: If the job runs on Fargate resources, don't specify ``nodeProperties`` . Use ``containerProperties`` instead.
|
|
8334
|
+
:param parameters: Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a ``SubmitJob`` request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see `Job definition parameters <https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html>`_ in the *AWS Batch User Guide* .
|
|
8335
|
+
:param platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to ``EC2`` . Jobs run on Fargate resources specify ``FARGATE`` .
|
|
8336
|
+
:param propagate_tags: Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the ``FAILED`` state.
|
|
8337
|
+
:param retry_strategy: The retry strategy to use for failed jobs that are submitted with this job definition.
|
|
8338
|
+
:param scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
|
|
8339
|
+
:param tags: The tags that are applied to the job definition.
|
|
8340
|
+
:param timeout: The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
|
|
8341
|
+
|
|
8342
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html
|
|
8343
|
+
:exampleMetadata: fixture=_generated
|
|
8344
|
+
|
|
8345
|
+
Example::
|
|
8346
|
+
|
|
8347
|
+
|
|
7537
8348
|
'''
|
|
7538
8349
|
if __debug__:
|
|
7539
8350
|
type_hints = typing.get_type_hints(_typecheckingstub__ed150d027b29486332c3fd2205a51f3c6f64c25946114fb86a6eba38434e87c9)
|
|
7540
8351
|
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
7541
8352
|
check_type(argname="argument container_properties", value=container_properties, expected_type=type_hints["container_properties"])
|
|
8353
|
+
check_type(argname="argument ecs_properties", value=ecs_properties, expected_type=type_hints["ecs_properties"])
|
|
7542
8354
|
check_type(argname="argument eks_properties", value=eks_properties, expected_type=type_hints["eks_properties"])
|
|
7543
8355
|
check_type(argname="argument job_definition_name", value=job_definition_name, expected_type=type_hints["job_definition_name"])
|
|
7544
8356
|
check_type(argname="argument node_properties", value=node_properties, expected_type=type_hints["node_properties"])
|
|
@@ -7554,6 +8366,8 @@ class CfnJobDefinitionProps:
|
|
|
7554
8366
|
}
|
|
7555
8367
|
if container_properties is not None:
|
|
7556
8368
|
self._values["container_properties"] = container_properties
|
|
8369
|
+
if ecs_properties is not None:
|
|
8370
|
+
self._values["ecs_properties"] = ecs_properties
|
|
7557
8371
|
if eks_properties is not None:
|
|
7558
8372
|
self._values["eks_properties"] = eks_properties
|
|
7559
8373
|
if job_definition_name is not None:
|
|
@@ -7607,6 +8421,17 @@ class CfnJobDefinitionProps:
|
|
|
7607
8421
|
result = self._values.get("container_properties")
|
|
7608
8422
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.ContainerPropertiesProperty]], result)
|
|
7609
8423
|
|
|
8424
|
+
@builtins.property
|
|
8425
|
+
def ecs_properties(
|
|
8426
|
+
self,
|
|
8427
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.EcsPropertiesProperty]]:
|
|
8428
|
+
'''An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
|
|
8429
|
+
|
|
8430
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-ecsproperties
|
|
8431
|
+
'''
|
|
8432
|
+
result = self._values.get("ecs_properties")
|
|
8433
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.EcsPropertiesProperty]], result)
|
|
8434
|
+
|
|
7610
8435
|
@builtins.property
|
|
7611
8436
|
def eks_properties(
|
|
7612
8437
|
self,
|
|
@@ -7765,6 +8590,12 @@ class CfnJobQueue(
|
|
|
7765
8590
|
|
|
7766
8591
|
# the properties below are optional
|
|
7767
8592
|
job_queue_name="jobQueueName",
|
|
8593
|
+
job_state_time_limit_actions=[batch.CfnJobQueue.JobStateTimeLimitActionProperty(
|
|
8594
|
+
action="action",
|
|
8595
|
+
max_time_seconds=123,
|
|
8596
|
+
reason="reason",
|
|
8597
|
+
state="state"
|
|
8598
|
+
)],
|
|
7768
8599
|
scheduling_policy_arn="schedulingPolicyArn",
|
|
7769
8600
|
state="state",
|
|
7770
8601
|
tags={
|
|
@@ -7781,6 +8612,7 @@ class CfnJobQueue(
|
|
|
7781
8612
|
compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobQueue.ComputeEnvironmentOrderProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
7782
8613
|
priority: jsii.Number,
|
|
7783
8614
|
job_queue_name: typing.Optional[builtins.str] = None,
|
|
8615
|
+
job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobQueue.JobStateTimeLimitActionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
7784
8616
|
scheduling_policy_arn: typing.Optional[builtins.str] = None,
|
|
7785
8617
|
state: typing.Optional[builtins.str] = None,
|
|
7786
8618
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
@@ -7791,6 +8623,7 @@ class CfnJobQueue(
|
|
|
7791
8623
|
:param compute_environment_order: The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the ``VALID`` state before you can associate them with a job queue. You can associate up to three compute environments with a job queue. All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed. .. epigraph:: All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn't support mixing compute environment architecture types in a single job queue.
|
|
7792
8624
|
:param priority: The priority of the job queue. Job queues with a higher priority (or a higher integer value for the ``priority`` parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order. For example, a job queue with a priority value of ``10`` is given scheduling preference over a job queue with a priority value of ``1`` . All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed.
|
|
7793
8625
|
:param job_queue_name: The name of the job queue. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).
|
|
8626
|
+
:param job_state_time_limit_actions: The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times. AWS Batch will perform each action after ``maxTimeSeconds`` has passed.
|
|
7794
8627
|
:param scheduling_policy_arn: The Amazon Resource Name (ARN) of the scheduling policy. The format is ``aws: *Partition* :batch: *Region* : *Account* :scheduling-policy/ *Name*`` . For example, ``aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy`` .
|
|
7795
8628
|
:param state: The state of the job queue. If the job queue state is ``ENABLED`` , it is able to accept jobs. If the job queue state is ``DISABLED`` , new jobs can't be added to the queue, but jobs already in the queue can finish.
|
|
7796
8629
|
:param tags: The tags that are applied to the job queue. For more information, see `Tagging your AWS Batch resources <https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html>`_ in *AWS Batch User Guide* .
|
|
@@ -7803,6 +8636,7 @@ class CfnJobQueue(
|
|
|
7803
8636
|
compute_environment_order=compute_environment_order,
|
|
7804
8637
|
priority=priority,
|
|
7805
8638
|
job_queue_name=job_queue_name,
|
|
8639
|
+
job_state_time_limit_actions=job_state_time_limit_actions,
|
|
7806
8640
|
scheduling_policy_arn=scheduling_policy_arn,
|
|
7807
8641
|
state=state,
|
|
7808
8642
|
tags=tags,
|
|
@@ -7904,6 +8738,24 @@ class CfnJobQueue(
|
|
|
7904
8738
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7905
8739
|
jsii.set(self, "jobQueueName", value)
|
|
7906
8740
|
|
|
8741
|
+
@builtins.property
|
|
8742
|
+
@jsii.member(jsii_name="jobStateTimeLimitActions")
|
|
8743
|
+
def job_state_time_limit_actions(
|
|
8744
|
+
self,
|
|
8745
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobQueue.JobStateTimeLimitActionProperty"]]]]:
|
|
8746
|
+
'''The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times.'''
|
|
8747
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobQueue.JobStateTimeLimitActionProperty"]]]], jsii.get(self, "jobStateTimeLimitActions"))
|
|
8748
|
+
|
|
8749
|
+
@job_state_time_limit_actions.setter
|
|
8750
|
+
def job_state_time_limit_actions(
|
|
8751
|
+
self,
|
|
8752
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobQueue.JobStateTimeLimitActionProperty"]]]],
|
|
8753
|
+
) -> None:
|
|
8754
|
+
if __debug__:
|
|
8755
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6e248d0029fc3043fabb974edf0f06b8f9f721a8f13ce794fd6c39b5ae3bb91e)
|
|
8756
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8757
|
+
jsii.set(self, "jobStateTimeLimitActions", value)
|
|
8758
|
+
|
|
7907
8759
|
@builtins.property
|
|
7908
8760
|
@jsii.member(jsii_name="schedulingPolicyArn")
|
|
7909
8761
|
def scheduling_policy_arn(self) -> typing.Optional[builtins.str]:
|
|
@@ -8024,6 +8876,118 @@ class CfnJobQueue(
|
|
|
8024
8876
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
8025
8877
|
)
|
|
8026
8878
|
|
|
8879
|
+
@jsii.data_type(
|
|
8880
|
+
jsii_type="aws-cdk-lib.aws_batch.CfnJobQueue.JobStateTimeLimitActionProperty",
|
|
8881
|
+
jsii_struct_bases=[],
|
|
8882
|
+
name_mapping={
|
|
8883
|
+
"action": "action",
|
|
8884
|
+
"max_time_seconds": "maxTimeSeconds",
|
|
8885
|
+
"reason": "reason",
|
|
8886
|
+
"state": "state",
|
|
8887
|
+
},
|
|
8888
|
+
)
|
|
8889
|
+
class JobStateTimeLimitActionProperty:
|
|
8890
|
+
def __init__(
|
|
8891
|
+
self,
|
|
8892
|
+
*,
|
|
8893
|
+
action: builtins.str,
|
|
8894
|
+
max_time_seconds: jsii.Number,
|
|
8895
|
+
reason: builtins.str,
|
|
8896
|
+
state: builtins.str,
|
|
8897
|
+
) -> None:
|
|
8898
|
+
'''Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
|
|
8899
|
+
|
|
8900
|
+
:param action: The action to take when a job is at the head of the job queue in the specified state for the specified period of time. The only supported value is ``CANCEL`` , which will cancel the job.
|
|
8901
|
+
:param max_time_seconds: The approximate amount of time, in seconds, that must pass with the job in the specified state before the action is taken. The minimum value is 600 (10 minutes) and the maximum value is 86,400 (24 hours).
|
|
8902
|
+
:param reason: The reason to log for the action being taken.
|
|
8903
|
+
:param state: The state of the job needed to trigger the action. The only supported value is ``RUNNABLE`` .
|
|
8904
|
+
|
|
8905
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html
|
|
8906
|
+
:exampleMetadata: fixture=_generated
|
|
8907
|
+
|
|
8908
|
+
Example::
|
|
8909
|
+
|
|
8910
|
+
# The code below shows an example of how to instantiate this type.
|
|
8911
|
+
# The values are placeholders you should change.
|
|
8912
|
+
from aws_cdk import aws_batch as batch
|
|
8913
|
+
|
|
8914
|
+
job_state_time_limit_action_property = batch.CfnJobQueue.JobStateTimeLimitActionProperty(
|
|
8915
|
+
action="action",
|
|
8916
|
+
max_time_seconds=123,
|
|
8917
|
+
reason="reason",
|
|
8918
|
+
state="state"
|
|
8919
|
+
)
|
|
8920
|
+
'''
|
|
8921
|
+
if __debug__:
|
|
8922
|
+
type_hints = typing.get_type_hints(_typecheckingstub__78ff35092216cfb2ffd2106f7da574c86c17494e3404a6f2ccdc020cc2de0437)
|
|
8923
|
+
check_type(argname="argument action", value=action, expected_type=type_hints["action"])
|
|
8924
|
+
check_type(argname="argument max_time_seconds", value=max_time_seconds, expected_type=type_hints["max_time_seconds"])
|
|
8925
|
+
check_type(argname="argument reason", value=reason, expected_type=type_hints["reason"])
|
|
8926
|
+
check_type(argname="argument state", value=state, expected_type=type_hints["state"])
|
|
8927
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
8928
|
+
"action": action,
|
|
8929
|
+
"max_time_seconds": max_time_seconds,
|
|
8930
|
+
"reason": reason,
|
|
8931
|
+
"state": state,
|
|
8932
|
+
}
|
|
8933
|
+
|
|
8934
|
+
@builtins.property
|
|
8935
|
+
def action(self) -> builtins.str:
|
|
8936
|
+
'''The action to take when a job is at the head of the job queue in the specified state for the specified period of time.
|
|
8937
|
+
|
|
8938
|
+
The only supported value is ``CANCEL`` , which will cancel the job.
|
|
8939
|
+
|
|
8940
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-action
|
|
8941
|
+
'''
|
|
8942
|
+
result = self._values.get("action")
|
|
8943
|
+
assert result is not None, "Required property 'action' is missing"
|
|
8944
|
+
return typing.cast(builtins.str, result)
|
|
8945
|
+
|
|
8946
|
+
@builtins.property
|
|
8947
|
+
def max_time_seconds(self) -> jsii.Number:
|
|
8948
|
+
'''The approximate amount of time, in seconds, that must pass with the job in the specified state before the action is taken.
|
|
8949
|
+
|
|
8950
|
+
The minimum value is 600 (10 minutes) and the maximum value is 86,400 (24 hours).
|
|
8951
|
+
|
|
8952
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-maxtimeseconds
|
|
8953
|
+
'''
|
|
8954
|
+
result = self._values.get("max_time_seconds")
|
|
8955
|
+
assert result is not None, "Required property 'max_time_seconds' is missing"
|
|
8956
|
+
return typing.cast(jsii.Number, result)
|
|
8957
|
+
|
|
8958
|
+
@builtins.property
|
|
8959
|
+
def reason(self) -> builtins.str:
|
|
8960
|
+
'''The reason to log for the action being taken.
|
|
8961
|
+
|
|
8962
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-reason
|
|
8963
|
+
'''
|
|
8964
|
+
result = self._values.get("reason")
|
|
8965
|
+
assert result is not None, "Required property 'reason' is missing"
|
|
8966
|
+
return typing.cast(builtins.str, result)
|
|
8967
|
+
|
|
8968
|
+
@builtins.property
|
|
8969
|
+
def state(self) -> builtins.str:
|
|
8970
|
+
'''The state of the job needed to trigger the action.
|
|
8971
|
+
|
|
8972
|
+
The only supported value is ``RUNNABLE`` .
|
|
8973
|
+
|
|
8974
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-state
|
|
8975
|
+
'''
|
|
8976
|
+
result = self._values.get("state")
|
|
8977
|
+
assert result is not None, "Required property 'state' is missing"
|
|
8978
|
+
return typing.cast(builtins.str, result)
|
|
8979
|
+
|
|
8980
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8981
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8982
|
+
|
|
8983
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8984
|
+
return not (rhs == self)
|
|
8985
|
+
|
|
8986
|
+
def __repr__(self) -> str:
|
|
8987
|
+
return "JobStateTimeLimitActionProperty(%s)" % ", ".join(
|
|
8988
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
8989
|
+
)
|
|
8990
|
+
|
|
8027
8991
|
|
|
8028
8992
|
@jsii.data_type(
|
|
8029
8993
|
jsii_type="aws-cdk-lib.aws_batch.CfnJobQueueProps",
|
|
@@ -8032,6 +8996,7 @@ class CfnJobQueue(
|
|
|
8032
8996
|
"compute_environment_order": "computeEnvironmentOrder",
|
|
8033
8997
|
"priority": "priority",
|
|
8034
8998
|
"job_queue_name": "jobQueueName",
|
|
8999
|
+
"job_state_time_limit_actions": "jobStateTimeLimitActions",
|
|
8035
9000
|
"scheduling_policy_arn": "schedulingPolicyArn",
|
|
8036
9001
|
"state": "state",
|
|
8037
9002
|
"tags": "tags",
|
|
@@ -8044,6 +9009,7 @@ class CfnJobQueueProps:
|
|
|
8044
9009
|
compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.ComputeEnvironmentOrderProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
8045
9010
|
priority: jsii.Number,
|
|
8046
9011
|
job_queue_name: typing.Optional[builtins.str] = None,
|
|
9012
|
+
job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.JobStateTimeLimitActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
8047
9013
|
scheduling_policy_arn: typing.Optional[builtins.str] = None,
|
|
8048
9014
|
state: typing.Optional[builtins.str] = None,
|
|
8049
9015
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
@@ -8053,6 +9019,7 @@ class CfnJobQueueProps:
|
|
|
8053
9019
|
:param compute_environment_order: The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the ``VALID`` state before you can associate them with a job queue. You can associate up to three compute environments with a job queue. All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed. .. epigraph:: All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn't support mixing compute environment architecture types in a single job queue.
|
|
8054
9020
|
:param priority: The priority of the job queue. Job queues with a higher priority (or a higher integer value for the ``priority`` parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order. For example, a job queue with a priority value of ``10`` is given scheduling preference over a job queue with a priority value of ``1`` . All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed.
|
|
8055
9021
|
:param job_queue_name: The name of the job queue. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).
|
|
9022
|
+
:param job_state_time_limit_actions: The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times. AWS Batch will perform each action after ``maxTimeSeconds`` has passed.
|
|
8056
9023
|
:param scheduling_policy_arn: The Amazon Resource Name (ARN) of the scheduling policy. The format is ``aws: *Partition* :batch: *Region* : *Account* :scheduling-policy/ *Name*`` . For example, ``aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy`` .
|
|
8057
9024
|
:param state: The state of the job queue. If the job queue state is ``ENABLED`` , it is able to accept jobs. If the job queue state is ``DISABLED`` , new jobs can't be added to the queue, but jobs already in the queue can finish.
|
|
8058
9025
|
:param tags: The tags that are applied to the job queue. For more information, see `Tagging your AWS Batch resources <https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html>`_ in *AWS Batch User Guide* .
|
|
@@ -8075,6 +9042,12 @@ class CfnJobQueueProps:
|
|
|
8075
9042
|
|
|
8076
9043
|
# the properties below are optional
|
|
8077
9044
|
job_queue_name="jobQueueName",
|
|
9045
|
+
job_state_time_limit_actions=[batch.CfnJobQueue.JobStateTimeLimitActionProperty(
|
|
9046
|
+
action="action",
|
|
9047
|
+
max_time_seconds=123,
|
|
9048
|
+
reason="reason",
|
|
9049
|
+
state="state"
|
|
9050
|
+
)],
|
|
8078
9051
|
scheduling_policy_arn="schedulingPolicyArn",
|
|
8079
9052
|
state="state",
|
|
8080
9053
|
tags={
|
|
@@ -8087,6 +9060,7 @@ class CfnJobQueueProps:
|
|
|
8087
9060
|
check_type(argname="argument compute_environment_order", value=compute_environment_order, expected_type=type_hints["compute_environment_order"])
|
|
8088
9061
|
check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
|
|
8089
9062
|
check_type(argname="argument job_queue_name", value=job_queue_name, expected_type=type_hints["job_queue_name"])
|
|
9063
|
+
check_type(argname="argument job_state_time_limit_actions", value=job_state_time_limit_actions, expected_type=type_hints["job_state_time_limit_actions"])
|
|
8090
9064
|
check_type(argname="argument scheduling_policy_arn", value=scheduling_policy_arn, expected_type=type_hints["scheduling_policy_arn"])
|
|
8091
9065
|
check_type(argname="argument state", value=state, expected_type=type_hints["state"])
|
|
8092
9066
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
@@ -8096,6 +9070,8 @@ class CfnJobQueueProps:
|
|
|
8096
9070
|
}
|
|
8097
9071
|
if job_queue_name is not None:
|
|
8098
9072
|
self._values["job_queue_name"] = job_queue_name
|
|
9073
|
+
if job_state_time_limit_actions is not None:
|
|
9074
|
+
self._values["job_state_time_limit_actions"] = job_state_time_limit_actions
|
|
8099
9075
|
if scheduling_policy_arn is not None:
|
|
8100
9076
|
self._values["scheduling_policy_arn"] = scheduling_policy_arn
|
|
8101
9077
|
if state is not None:
|
|
@@ -8143,6 +9119,19 @@ class CfnJobQueueProps:
|
|
|
8143
9119
|
result = self._values.get("job_queue_name")
|
|
8144
9120
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
8145
9121
|
|
|
9122
|
+
@builtins.property
|
|
9123
|
+
def job_state_time_limit_actions(
|
|
9124
|
+
self,
|
|
9125
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnJobQueue.JobStateTimeLimitActionProperty]]]]:
|
|
9126
|
+
'''The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times.
|
|
9127
|
+
|
|
9128
|
+
AWS Batch will perform each action after ``maxTimeSeconds`` has passed.
|
|
9129
|
+
|
|
9130
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-jobstatetimelimitactions
|
|
9131
|
+
'''
|
|
9132
|
+
result = self._values.get("job_state_time_limit_actions")
|
|
9133
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnJobQueue.JobStateTimeLimitActionProperty]]]], result)
|
|
9134
|
+
|
|
8146
9135
|
@builtins.property
|
|
8147
9136
|
def scheduling_policy_arn(self) -> typing.Optional[builtins.str]:
|
|
8148
9137
|
'''The Amazon Resource Name (ARN) of the scheduling policy.
|
|
@@ -21837,6 +22826,7 @@ def _typecheckingstub__37959c68856ab28ea1a57515db976bc2215806d52c75f6166834df6ae
|
|
|
21837
22826
|
*,
|
|
21838
22827
|
type: builtins.str,
|
|
21839
22828
|
container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22829
|
+
ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21840
22830
|
eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21841
22831
|
job_definition_name: typing.Optional[builtins.str] = None,
|
|
21842
22832
|
node_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.NodePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21875,6 +22865,12 @@ def _typecheckingstub__f69a394e899a3c712c6499f6fcffa98702eb3ab7de5e4489e6e69fb85
|
|
|
21875
22865
|
"""Type checking stubs"""
|
|
21876
22866
|
pass
|
|
21877
22867
|
|
|
22868
|
+
def _typecheckingstub__0f93a9bec3d893845bf7cf59752d55dcec2df30819130514b48897371c2ec224(
|
|
22869
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.EcsPropertiesProperty]],
|
|
22870
|
+
) -> None:
|
|
22871
|
+
"""Type checking stubs"""
|
|
22872
|
+
pass
|
|
22873
|
+
|
|
21878
22874
|
def _typecheckingstub__ca04be0ba694eb2f262cad48402ba7bf94953530d02c650e2679b1f91498c346(
|
|
21879
22875
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.EksPropertiesProperty]],
|
|
21880
22876
|
) -> None:
|
|
@@ -21981,6 +22977,29 @@ def _typecheckingstub__adbf78805f7f3d50af2c331ead7e1f53e092ea7a76782151236bad4f3
|
|
|
21981
22977
|
"""Type checking stubs"""
|
|
21982
22978
|
pass
|
|
21983
22979
|
|
|
22980
|
+
def _typecheckingstub__6153a950309796a66c44ef3a234e02ed7ff91444107709427ae345e4f0e64828(
|
|
22981
|
+
*,
|
|
22982
|
+
task_properties: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsTaskPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
22983
|
+
) -> None:
|
|
22984
|
+
"""Type checking stubs"""
|
|
22985
|
+
pass
|
|
22986
|
+
|
|
22987
|
+
def _typecheckingstub__8e8c39be2b840a158045732ea20d964bf03d380304bbcd66936cb862e6cc2a8e(
|
|
22988
|
+
*,
|
|
22989
|
+
containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.TaskContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22990
|
+
ephemeral_storage: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EphemeralStorageProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22991
|
+
execution_role_arn: typing.Optional[builtins.str] = None,
|
|
22992
|
+
ipc_mode: typing.Optional[builtins.str] = None,
|
|
22993
|
+
network_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.NetworkConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22994
|
+
pid_mode: typing.Optional[builtins.str] = None,
|
|
22995
|
+
platform_version: typing.Optional[builtins.str] = None,
|
|
22996
|
+
runtime_platform: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.RuntimePlatformProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22997
|
+
task_role_arn: typing.Optional[builtins.str] = None,
|
|
22998
|
+
volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.VolumesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22999
|
+
) -> None:
|
|
23000
|
+
"""Type checking stubs"""
|
|
23001
|
+
pass
|
|
23002
|
+
|
|
21984
23003
|
def _typecheckingstub__f673b085b46133477cd372799511104e89e28bf34ac0f6255020b20ef8b7e3e0(
|
|
21985
23004
|
*,
|
|
21986
23005
|
file_system_id: builtins.str,
|
|
@@ -22153,6 +23172,8 @@ def _typecheckingstub__005c21025a81827c3f5ed456b171eb7ffdf652583c7da0ff6ff671864
|
|
|
22153
23172
|
*,
|
|
22154
23173
|
target_nodes: builtins.str,
|
|
22155
23174
|
container: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23175
|
+
ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23176
|
+
instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
22156
23177
|
) -> None:
|
|
22157
23178
|
"""Type checking stubs"""
|
|
22158
23179
|
pass
|
|
@@ -22162,8 +23183,10 @@ def _typecheckingstub__75127ae5a1697c34be5f24dcb69fa5c36a3498e1b2c284babc814c444
|
|
|
22162
23183
|
containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksContainerProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22163
23184
|
dns_policy: typing.Optional[builtins.str] = None,
|
|
22164
23185
|
host_network: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
23186
|
+
init_containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksContainerProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22165
23187
|
metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22166
23188
|
service_account_name: typing.Optional[builtins.str] = None,
|
|
23189
|
+
share_process_namespace: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
22167
23190
|
volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksVolumeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22168
23191
|
) -> None:
|
|
22169
23192
|
"""Type checking stubs"""
|
|
@@ -22227,6 +23250,36 @@ def _typecheckingstub__ecf4bfd8ece80e1bc3ee0536353fc145f3c5b08f62a604a53b62e7d25
|
|
|
22227
23250
|
"""Type checking stubs"""
|
|
22228
23251
|
pass
|
|
22229
23252
|
|
|
23253
|
+
def _typecheckingstub__2f29cae294a8ef5e1db972a16fcfa25d5a4a34ac0b2cb14531b35c42dbf2d4e1(
|
|
23254
|
+
*,
|
|
23255
|
+
condition: builtins.str,
|
|
23256
|
+
container_name: builtins.str,
|
|
23257
|
+
) -> None:
|
|
23258
|
+
"""Type checking stubs"""
|
|
23259
|
+
pass
|
|
23260
|
+
|
|
23261
|
+
def _typecheckingstub__4946f5f042ef067bff74424b1b71c92ab13e52a7f47a4271e028110521b8a1ae(
|
|
23262
|
+
*,
|
|
23263
|
+
image: builtins.str,
|
|
23264
|
+
command: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
23265
|
+
depends_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.TaskContainerDependencyProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23266
|
+
environment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EnvironmentProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23267
|
+
essential: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
23268
|
+
linux_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.LinuxParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23269
|
+
log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.LogConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23270
|
+
mount_points: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MountPointsProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23271
|
+
name: typing.Optional[builtins.str] = None,
|
|
23272
|
+
privileged: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
23273
|
+
readonly_root_filesystem: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
23274
|
+
repository_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.RepositoryCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23275
|
+
resource_requirements: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ResourceRequirementProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23276
|
+
secrets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.SecretProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23277
|
+
ulimits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.UlimitProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23278
|
+
user: typing.Optional[builtins.str] = None,
|
|
23279
|
+
) -> None:
|
|
23280
|
+
"""Type checking stubs"""
|
|
23281
|
+
pass
|
|
23282
|
+
|
|
22230
23283
|
def _typecheckingstub__5b035a85f593ff8b58d3fbc57a8614a7bc0d733c70f8504eab630022b6186187(
|
|
22231
23284
|
*,
|
|
22232
23285
|
attempt_duration_seconds: typing.Optional[jsii.Number] = None,
|
|
@@ -22272,6 +23325,7 @@ def _typecheckingstub__ed150d027b29486332c3fd2205a51f3c6f64c25946114fb86a6eba384
|
|
|
22272
23325
|
*,
|
|
22273
23326
|
type: builtins.str,
|
|
22274
23327
|
container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23328
|
+
ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22275
23329
|
eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22276
23330
|
job_definition_name: typing.Optional[builtins.str] = None,
|
|
22277
23331
|
node_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.NodePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22293,6 +23347,7 @@ def _typecheckingstub__6480ab252bc515b2cdb6dc0c833877438fd473fd39eadf6b8a064969a
|
|
|
22293
23347
|
compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.ComputeEnvironmentOrderProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
22294
23348
|
priority: jsii.Number,
|
|
22295
23349
|
job_queue_name: typing.Optional[builtins.str] = None,
|
|
23350
|
+
job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.JobStateTimeLimitActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22296
23351
|
scheduling_policy_arn: typing.Optional[builtins.str] = None,
|
|
22297
23352
|
state: typing.Optional[builtins.str] = None,
|
|
22298
23353
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
@@ -22330,6 +23385,12 @@ def _typecheckingstub__3b88e27e62b46f1049263a61bb14f62674a8121083de64c2db32d5856
|
|
|
22330
23385
|
"""Type checking stubs"""
|
|
22331
23386
|
pass
|
|
22332
23387
|
|
|
23388
|
+
def _typecheckingstub__6e248d0029fc3043fabb974edf0f06b8f9f721a8f13ce794fd6c39b5ae3bb91e(
|
|
23389
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnJobQueue.JobStateTimeLimitActionProperty]]]],
|
|
23390
|
+
) -> None:
|
|
23391
|
+
"""Type checking stubs"""
|
|
23392
|
+
pass
|
|
23393
|
+
|
|
22333
23394
|
def _typecheckingstub__48a6952b4a8d4426554895a52085bf8c88701735f3f94a3426e81e56ab8a5761(
|
|
22334
23395
|
value: typing.Optional[builtins.str],
|
|
22335
23396
|
) -> None:
|
|
@@ -22356,11 +23417,22 @@ def _typecheckingstub__939623842116ecc366f7e36591fb2bdd35bd47aacc55c0a794ff81ec2
|
|
|
22356
23417
|
"""Type checking stubs"""
|
|
22357
23418
|
pass
|
|
22358
23419
|
|
|
23420
|
+
def _typecheckingstub__78ff35092216cfb2ffd2106f7da574c86c17494e3404a6f2ccdc020cc2de0437(
|
|
23421
|
+
*,
|
|
23422
|
+
action: builtins.str,
|
|
23423
|
+
max_time_seconds: jsii.Number,
|
|
23424
|
+
reason: builtins.str,
|
|
23425
|
+
state: builtins.str,
|
|
23426
|
+
) -> None:
|
|
23427
|
+
"""Type checking stubs"""
|
|
23428
|
+
pass
|
|
23429
|
+
|
|
22359
23430
|
def _typecheckingstub__009d6d384b1b723169e64875095e05fe852ae3931adf5ba2004d22475a76caa9(
|
|
22360
23431
|
*,
|
|
22361
23432
|
compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.ComputeEnvironmentOrderProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
22362
23433
|
priority: jsii.Number,
|
|
22363
23434
|
job_queue_name: typing.Optional[builtins.str] = None,
|
|
23435
|
+
job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.JobStateTimeLimitActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22364
23436
|
scheduling_policy_arn: typing.Optional[builtins.str] = None,
|
|
22365
23437
|
state: typing.Optional[builtins.str] = None,
|
|
22366
23438
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|