aws-sdk-batch 1.149.0 → 1.150.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a19772fd82f49a885f174446a3191eaed145b3a9dd9448ab68ea7861fe2a0293
4
- data.tar.gz: f4e67af1863c7868d761fe68dadd48b3b10562013238c7768d16c4655878b279
3
+ metadata.gz: 5ae00e9a5372c7935222368bba12956094dbd80fb84f1379b86a7691d14ff586
4
+ data.tar.gz: ed1d630fb922c505c9660c337599a868c1483eafd2d11f1a624d40634b0aad82
5
5
  SHA512:
6
- metadata.gz: 9e67b9317a5d7538abc4c1478f31cc41c6ad169ce4da5f557eb7662517df2bc268930d64af2be196a54b9f951b7753d2e19bdfcca727609f316467e023ac7ba5
7
- data.tar.gz: a582736dccc27ed22c56a184c15cb47730f1d2c98fab73eff853dd5319d3a2ec8ceda5723e9b4a08441bbf9c3d4316062e75e04fe2e6114fd0a56e6698856e58
6
+ metadata.gz: b5b89f54eaf4460b5ced2bebcc68b52465111bee775a979887444f423dd07e1aca7ef4b3eccf2b8e60137b3491b4b6acaa9ad3f0d3a2fcb910f6c90fdaf95e15
7
+ data.tar.gz: 32c4a31b17183f02fdd93406b2e3a16f8fb439f5a016b43c4aad437a8caaf322d7399871dc77beb41f3d4795d0ba2ee102b5461b59af392fad30c014cd386974
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.150.0 (2026-08-20)
5
+ ------------------
6
+
7
+ * Feature - AWS Batch now supports a new compute environment type that provides fully managed EC2 capacity with broader compute flexibility than Fargate, including GPU instances, bare metal, and specific instance type selection, without infrastructure management overhead.
8
+
4
9
  1.149.0 (2026-08-19)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.149.0
1
+ 1.150.0
@@ -806,6 +806,131 @@ module Aws::Batch
806
806
  # compute_environment_name: "M4Spot",
807
807
  # }
808
808
  #
809
+ # @example Example: To create an ECS Managed Instances compute environment
810
+ #
811
+ # # This example creates a managed compute environment that uses ECS Managed Instances.
812
+ #
813
+ # resp = client.create_compute_environment({
814
+ # type: "MANAGED",
815
+ # compute_environment_name: "my-managed-instances-ce",
816
+ # compute_resources: {
817
+ # type: "ECS_MANAGED_INSTANCES",
818
+ # managed_instances_provider: {
819
+ # infrastructure_role_arn: "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
820
+ # instance_launch_template: {
821
+ # ec2_instance_profile_arn: "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
822
+ # network_configuration: {
823
+ # security_groups: [
824
+ # "sg-abcde012",
825
+ # ],
826
+ # subnets: [
827
+ # "subnet-abcde012",
828
+ # "subnet-bcde012a",
829
+ # ],
830
+ # },
831
+ # },
832
+ # },
833
+ # maxv_cpus: 256,
834
+ # },
835
+ # state: "ENABLED",
836
+ # })
837
+ #
838
+ # resp.to_h outputs the following:
839
+ # {
840
+ # compute_environment_arn: "arn:aws:batch:us-east-1:123456789012:compute-environment/my-managed-instances-ce",
841
+ # compute_environment_name: "my-managed-instances-ce",
842
+ # }
843
+ #
844
+ # @example Example: To create an ECS Managed Instances Spot compute environment
845
+ #
846
+ # # This example creates a Spot-backed ECS Managed Instances compute environment constrained to specific instance types.
847
+ #
848
+ # resp = client.create_compute_environment({
849
+ # type: "MANAGED",
850
+ # compute_environment_name: "my-spot-managed-instances-ce",
851
+ # compute_resources: {
852
+ # type: "ECS_MANAGED_INSTANCES",
853
+ # managed_instances_provider: {
854
+ # infrastructure_role_arn: "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
855
+ # instance_launch_template: {
856
+ # capacity_option_type: "SPOT",
857
+ # ec2_instance_profile_arn: "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
858
+ # instance_requirements: {
859
+ # allowed_instance_types: [
860
+ # "m5.large",
861
+ # "m5.xlarge",
862
+ # "m6i.large",
863
+ # "m6i.xlarge",
864
+ # ],
865
+ # },
866
+ # network_configuration: {
867
+ # security_groups: [
868
+ # "sg-abcde012",
869
+ # ],
870
+ # subnets: [
871
+ # "subnet-abcde012",
872
+ # "subnet-bcde012a",
873
+ # ],
874
+ # },
875
+ # },
876
+ # },
877
+ # maxv_cpus: 1000,
878
+ # },
879
+ # state: "ENABLED",
880
+ # })
881
+ #
882
+ # resp.to_h outputs the following:
883
+ # {
884
+ # compute_environment_arn: "arn:aws:batch:us-east-1:123456789012:compute-environment/my-spot-managed-instances-ce",
885
+ # compute_environment_name: "my-spot-managed-instances-ce",
886
+ # }
887
+ #
888
+ # @example Example: To create an ECS Managed Instances compute environment with capacity reservations
889
+ #
890
+ # # This example creates an ECS Managed Instances compute environment that targets On-Demand Capacity Reservations for
891
+ # # predictable capacity.
892
+ #
893
+ # resp = client.create_compute_environment({
894
+ # type: "MANAGED",
895
+ # compute_environment_name: "my-reserved-managed-instances-ce",
896
+ # compute_resources: {
897
+ # type: "ECS_MANAGED_INSTANCES",
898
+ # managed_instances_provider: {
899
+ # infrastructure_role_arn: "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
900
+ # instance_launch_template: {
901
+ # capacity_reservations: {
902
+ # reservation_group_arn: "arn:aws:ec2:us-east-1:123456789012:capacity-reservation-group/my-reservation-group",
903
+ # reservation_preference: "RESERVATIONS_FIRST",
904
+ # },
905
+ # ec2_instance_profile_arn: "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
906
+ # instance_requirements: {
907
+ # allowed_instance_types: [
908
+ # "m5.xlarge",
909
+ # "m5.2xlarge",
910
+ # ],
911
+ # },
912
+ # network_configuration: {
913
+ # security_groups: [
914
+ # "sg-abcde012",
915
+ # ],
916
+ # subnets: [
917
+ # "subnet-abcde012",
918
+ # "subnet-bcde012a",
919
+ # ],
920
+ # },
921
+ # },
922
+ # },
923
+ # maxv_cpus: 512,
924
+ # },
925
+ # state: "ENABLED",
926
+ # })
927
+ #
928
+ # resp.to_h outputs the following:
929
+ # {
930
+ # compute_environment_arn: "arn:aws:batch:us-east-1:123456789012:compute-environment/my-reserved-managed-instances-ce",
931
+ # compute_environment_name: "my-reserved-managed-instances-ce",
932
+ # }
933
+ #
809
934
  # @example Request syntax with placeholder values
810
935
  #
811
936
  # resp = client.create_compute_environment({
@@ -814,7 +939,7 @@ module Aws::Batch
814
939
  # state: "ENABLED", # accepts ENABLED, DISABLED
815
940
  # unmanagedv_cpus: 1,
816
941
  # compute_resources: {
817
- # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
942
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT, ECS_MANAGED_INSTANCES
818
943
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, BEST_FIT_PROGRESSIVE_ORDERED, SPOT_CAPACITY_OPTIMIZED, SPOT_PRICE_CAPACITY_OPTIMIZED, SPOT_CAPACITY_OPTIMIZED_PRIORITIZED
819
944
  # minv_cpus: 1,
820
945
  # maxv_cpus: 1, # required
@@ -857,6 +982,40 @@ module Aws::Batch
857
982
  # scaling_policy: {
858
983
  # min_scale_down_delay_minutes: 1,
859
984
  # },
985
+ # managed_instances_provider: {
986
+ # propagate_tags: "String",
987
+ # infrastructure_role_arn: "String", # required
988
+ # instance_launch_template: { # required
989
+ # ec2_instance_profile_arn: "String", # required
990
+ # network_configuration: { # required
991
+ # subnets: ["String"], # required
992
+ # security_groups: ["String"], # required
993
+ # },
994
+ # instance_requirements: {
995
+ # allowed_instance_types: ["String"],
996
+ # },
997
+ # capacity_option_type: "String",
998
+ # storage_configuration: {
999
+ # storage_size_gi_b: 1,
1000
+ # },
1001
+ # monitoring: "String",
1002
+ # fips_enabled: false,
1003
+ # capacity_reservations: {
1004
+ # reservation_group_arn: "String",
1005
+ # reservation_preference: "String",
1006
+ # },
1007
+ # instance_metadata_tags_propagation: false,
1008
+ # local_storage_configuration: {
1009
+ # use_local_storage: false,
1010
+ # },
1011
+ # },
1012
+ # infrastructure_optimization: {
1013
+ # scale_in_after: 1,
1014
+ # },
1015
+ # },
1016
+ # capacity_tags: {
1017
+ # "TagKey" => "TagValue",
1018
+ # },
860
1019
  # },
861
1020
  # service_role: "String",
862
1021
  # tags: {
@@ -1114,6 +1273,55 @@ module Aws::Batch
1114
1273
  # job_queue_name: "HighPriority",
1115
1274
  # }
1116
1275
  #
1276
+ # @example Example: To create a job queue with an ECS Managed Instances compute environment
1277
+ #
1278
+ # # This example creates a job queue called ManagedInstancesQueue that uses an ECS Managed Instances compute environment.
1279
+ #
1280
+ # resp = client.create_job_queue({
1281
+ # compute_environment_order: [
1282
+ # {
1283
+ # compute_environment: "my-managed-instances-ce",
1284
+ # order: 1,
1285
+ # },
1286
+ # ],
1287
+ # job_queue_name: "ManagedInstancesQueue",
1288
+ # priority: 10,
1289
+ # state: "ENABLED",
1290
+ # })
1291
+ #
1292
+ # resp.to_h outputs the following:
1293
+ # {
1294
+ # job_queue_arn: "arn:aws:batch:us-east-1:123456789012:job-queue/ManagedInstancesQueue",
1295
+ # job_queue_name: "ManagedInstancesQueue",
1296
+ # }
1297
+ #
1298
+ # @example Example: To create a job queue with On-Demand and Spot ECS Managed Instances compute environments
1299
+ #
1300
+ # # This example creates a job queue that uses both On-Demand and Spot ECS Managed Instances compute environments. On-Demand
1301
+ # # environments must be ordered before Spot environments.
1302
+ #
1303
+ # resp = client.create_job_queue({
1304
+ # compute_environment_order: [
1305
+ # {
1306
+ # compute_environment: "my-managed-instances-ce",
1307
+ # order: 1,
1308
+ # },
1309
+ # {
1310
+ # compute_environment: "my-spot-managed-instances-ce",
1311
+ # order: 2,
1312
+ # },
1313
+ # ],
1314
+ # job_queue_name: "ManagedInstancesMixedQueue",
1315
+ # priority: 5,
1316
+ # state: "ENABLED",
1317
+ # })
1318
+ #
1319
+ # resp.to_h outputs the following:
1320
+ # {
1321
+ # job_queue_arn: "arn:aws:batch:us-east-1:123456789012:job-queue/ManagedInstancesMixedQueue",
1322
+ # job_queue_name: "ManagedInstancesMixedQueue",
1323
+ # }
1324
+ #
1117
1325
  # @example Request syntax with placeholder values
1118
1326
  #
1119
1327
  # resp = client.create_job_queue({
@@ -1133,7 +1341,7 @@ module Aws::Batch
1133
1341
  # service_environment: "String", # required
1134
1342
  # },
1135
1343
  # ],
1136
- # job_queue_type: "EKS", # accepts EKS, ECS, ECS_FARGATE, SAGEMAKER_TRAINING
1344
+ # job_queue_type: "EKS", # accepts EKS, ECS, ECS_FARGATE, SAGEMAKER_TRAINING, ECS_MANAGED_INSTANCES
1137
1345
  # tags: {
1138
1346
  # "TagKey" => "TagValue",
1139
1347
  # },
@@ -1728,7 +1936,7 @@ module Aws::Batch
1728
1936
  # resp.compute_environments[0].state #=> String, one of "ENABLED", "DISABLED"
1729
1937
  # resp.compute_environments[0].status #=> String, one of "CREATING", "UPDATING", "DELETING", "DELETED", "VALID", "INVALID"
1730
1938
  # resp.compute_environments[0].status_reason #=> String
1731
- # resp.compute_environments[0].compute_resources.type #=> String, one of "EC2", "SPOT", "FARGATE", "FARGATE_SPOT"
1939
+ # resp.compute_environments[0].compute_resources.type #=> String, one of "EC2", "SPOT", "FARGATE", "FARGATE_SPOT", "ECS_MANAGED_INSTANCES"
1732
1940
  # resp.compute_environments[0].compute_resources.allocation_strategy #=> String, one of "BEST_FIT", "BEST_FIT_PROGRESSIVE", "BEST_FIT_PROGRESSIVE_ORDERED", "SPOT_CAPACITY_OPTIMIZED", "SPOT_PRICE_CAPACITY_OPTIMIZED", "SPOT_CAPACITY_OPTIMIZED_PRIORITIZED"
1733
1941
  # resp.compute_environments[0].compute_resources.minv_cpus #=> Integer
1734
1942
  # resp.compute_environments[0].compute_resources.maxv_cpus #=> Integer
@@ -1764,6 +1972,26 @@ module Aws::Batch
1764
1972
  # resp.compute_environments[0].compute_resources.ec2_configuration[0].batch_image_status #=> String
1765
1973
  # resp.compute_environments[0].compute_resources.ec2_configuration[0].image_kubernetes_version #=> String
1766
1974
  # resp.compute_environments[0].compute_resources.scaling_policy.min_scale_down_delay_minutes #=> Integer
1975
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.propagate_tags #=> String
1976
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.infrastructure_role_arn #=> String
1977
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.ec2_instance_profile_arn #=> String
1978
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.network_configuration.subnets #=> Array
1979
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.network_configuration.subnets[0] #=> String
1980
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.network_configuration.security_groups #=> Array
1981
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.network_configuration.security_groups[0] #=> String
1982
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.instance_requirements.allowed_instance_types #=> Array
1983
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.instance_requirements.allowed_instance_types[0] #=> String
1984
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.capacity_option_type #=> String
1985
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.storage_configuration.storage_size_gi_b #=> Integer
1986
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.monitoring #=> String
1987
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.fips_enabled #=> Boolean
1988
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.capacity_reservations.reservation_group_arn #=> String
1989
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.capacity_reservations.reservation_preference #=> String
1990
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.instance_metadata_tags_propagation #=> Boolean
1991
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.instance_launch_template.local_storage_configuration.use_local_storage #=> Boolean
1992
+ # resp.compute_environments[0].compute_resources.managed_instances_provider.infrastructure_optimization.scale_in_after #=> Integer
1993
+ # resp.compute_environments[0].compute_resources.capacity_tags #=> Hash
1994
+ # resp.compute_environments[0].compute_resources.capacity_tags["TagKey"] #=> String
1767
1995
  # resp.compute_environments[0].service_role #=> String
1768
1996
  # resp.compute_environments[0].update_policy.terminate_jobs_on_update #=> Boolean
1769
1997
  # resp.compute_environments[0].update_policy.job_execution_timeout_minutes #=> Integer
@@ -2194,6 +2422,7 @@ module Aws::Batch
2194
2422
  # resp.job_definitions[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.transit_encryption_port #=> Integer
2195
2423
  # resp.job_definitions[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.access_point_arn #=> String
2196
2424
  # resp.job_definitions[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].enable_execute_command #=> Boolean
2425
+ # resp.job_definitions[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].network_mode #=> String
2197
2426
  # resp.job_definitions[0].node_properties.node_range_properties[0].eks_properties.pod_properties.service_account_name #=> String
2198
2427
  # resp.job_definitions[0].node_properties.node_range_properties[0].eks_properties.pod_properties.host_network #=> Boolean
2199
2428
  # resp.job_definitions[0].node_properties.node_range_properties[0].eks_properties.pod_properties.dns_policy #=> String
@@ -2273,7 +2502,7 @@ module Aws::Batch
2273
2502
  # resp.job_definitions[0].tags["TagKey"] #=> String
2274
2503
  # resp.job_definitions[0].propagate_tags #=> Boolean
2275
2504
  # resp.job_definitions[0].platform_capabilities #=> Array
2276
- # resp.job_definitions[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE"
2505
+ # resp.job_definitions[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE", "MANAGED_INSTANCES"
2277
2506
  # resp.job_definitions[0].ecs_properties.task_properties #=> Array
2278
2507
  # resp.job_definitions[0].ecs_properties.task_properties[0].containers #=> Array
2279
2508
  # resp.job_definitions[0].ecs_properties.task_properties[0].containers[0].command #=> Array
@@ -2353,6 +2582,7 @@ module Aws::Batch
2353
2582
  # resp.job_definitions[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.transit_encryption_port #=> Integer
2354
2583
  # resp.job_definitions[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.access_point_arn #=> String
2355
2584
  # resp.job_definitions[0].ecs_properties.task_properties[0].enable_execute_command #=> Boolean
2585
+ # resp.job_definitions[0].ecs_properties.task_properties[0].network_mode #=> String
2356
2586
  # resp.job_definitions[0].eks_properties.pod_properties.service_account_name #=> String
2357
2587
  # resp.job_definitions[0].eks_properties.pod_properties.host_network #=> Boolean
2358
2588
  # resp.job_definitions[0].eks_properties.pod_properties.dns_policy #=> String
@@ -2530,7 +2760,7 @@ module Aws::Batch
2530
2760
  # resp.job_queues[0].service_environment_order #=> Array
2531
2761
  # resp.job_queues[0].service_environment_order[0].order #=> Integer
2532
2762
  # resp.job_queues[0].service_environment_order[0].service_environment #=> String
2533
- # resp.job_queues[0].job_queue_type #=> String, one of "EKS", "ECS", "ECS_FARGATE", "SAGEMAKER_TRAINING"
2763
+ # resp.job_queues[0].job_queue_type #=> String, one of "EKS", "ECS", "ECS_FARGATE", "SAGEMAKER_TRAINING", "ECS_MANAGED_INSTANCES"
2534
2764
  # resp.job_queues[0].tags #=> Hash
2535
2765
  # resp.job_queues[0].tags["TagKey"] #=> String
2536
2766
  # resp.job_queues[0].job_state_time_limit_actions #=> Array
@@ -2897,6 +3127,7 @@ module Aws::Batch
2897
3127
  # resp.jobs[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.transit_encryption_port #=> Integer
2898
3128
  # resp.jobs[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.access_point_arn #=> String
2899
3129
  # resp.jobs[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].enable_execute_command #=> Boolean
3130
+ # resp.jobs[0].node_properties.node_range_properties[0].ecs_properties.task_properties[0].network_mode #=> String
2900
3131
  # resp.jobs[0].node_properties.node_range_properties[0].eks_properties.pod_properties.service_account_name #=> String
2901
3132
  # resp.jobs[0].node_properties.node_range_properties[0].eks_properties.pod_properties.host_network #=> Boolean
2902
3133
  # resp.jobs[0].node_properties.node_range_properties[0].eks_properties.pod_properties.dns_policy #=> String
@@ -2982,7 +3213,7 @@ module Aws::Batch
2982
3213
  # resp.jobs[0].tags["TagKey"] #=> String
2983
3214
  # resp.jobs[0].propagate_tags #=> Boolean
2984
3215
  # resp.jobs[0].platform_capabilities #=> Array
2985
- # resp.jobs[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE"
3216
+ # resp.jobs[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE", "MANAGED_INSTANCES"
2986
3217
  # resp.jobs[0].eks_properties.pod_properties.service_account_name #=> String
2987
3218
  # resp.jobs[0].eks_properties.pod_properties.host_network #=> Boolean
2988
3219
  # resp.jobs[0].eks_properties.pod_properties.dns_policy #=> String
@@ -3167,6 +3398,7 @@ module Aws::Batch
3167
3398
  # resp.jobs[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.transit_encryption_port #=> Integer
3168
3399
  # resp.jobs[0].ecs_properties.task_properties[0].volumes[0].s3files_volume_configuration.access_point_arn #=> String
3169
3400
  # resp.jobs[0].ecs_properties.task_properties[0].enable_execute_command #=> Boolean
3401
+ # resp.jobs[0].ecs_properties.task_properties[0].network_mode #=> String
3170
3402
  # resp.jobs[0].is_cancelled #=> Boolean
3171
3403
  # resp.jobs[0].is_terminated #=> Boolean
3172
3404
  # resp.jobs[0].consumable_resource_properties.consumable_resource_list #=> Array
@@ -4390,7 +4622,12 @@ module Aws::Batch
4390
4622
  # @option params [Array<String>] :platform_capabilities
4391
4623
  # The platform capabilities required by the job definition. If no value
4392
4624
  # is specified, it defaults to `EC2`. To run the job on Fargate
4393
- # resources, specify `FARGATE`.
4625
+ # resources, specify `FARGATE`. To run the job on Amazon ECS Managed
4626
+ # Instances, specify `MANAGED_INSTANCES`.
4627
+ #
4628
+ # Jobs with the `MANAGED_INSTANCES` platform capability must use
4629
+ # `ecsProperties` (not `containerProperties`) and do not support
4630
+ # multi-node parallel jobs.
4394
4631
  #
4395
4632
  # <note markdown="1"> If the job runs on Amazon EKS resources, then you must not specify
4396
4633
  # `platformCapabilities`.
@@ -4485,6 +4722,168 @@ module Aws::Batch
4485
4722
  # revision: 1,
4486
4723
  # }
4487
4724
  #
4725
+ # @example Example: To register a job definition on ECS Managed Instances
4726
+ #
4727
+ # # This example registers a job definition that runs on ECS Managed Instances using ecsProperties with the
4728
+ # # MANAGED_INSTANCES platform capability.
4729
+ #
4730
+ # resp = client.register_job_definition({
4731
+ # type: "container",
4732
+ # ecs_properties: {
4733
+ # task_properties: [
4734
+ # {
4735
+ # containers: [
4736
+ # {
4737
+ # name: "main",
4738
+ # command: [
4739
+ # "echo",
4740
+ # "hello managed instances",
4741
+ # ],
4742
+ # image: "public.ecr.aws/amazonlinux/amazonlinux:2023",
4743
+ # resource_requirements: [
4744
+ # {
4745
+ # type: "VCPU",
4746
+ # value: "1",
4747
+ # },
4748
+ # {
4749
+ # type: "MEMORY",
4750
+ # value: "1024",
4751
+ # },
4752
+ # ],
4753
+ # },
4754
+ # ],
4755
+ # execution_role_arn: "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
4756
+ # },
4757
+ # ],
4758
+ # },
4759
+ # job_definition_name: "my-managed-instances-job-def",
4760
+ # platform_capabilities: [
4761
+ # "MANAGED_INSTANCES",
4762
+ # ],
4763
+ # })
4764
+ #
4765
+ # resp.to_h outputs the following:
4766
+ # {
4767
+ # job_definition_arn: "arn:aws:batch:us-east-1:123456789012:job-definition/my-managed-instances-job-def:1",
4768
+ # job_definition_name: "my-managed-instances-job-def",
4769
+ # revision: 1,
4770
+ # }
4771
+ #
4772
+ # @example Example: To register a GPU job definition on ECS Managed Instances
4773
+ #
4774
+ # # This example registers a job definition that requests GPU resources on ECS Managed Instances.
4775
+ #
4776
+ # resp = client.register_job_definition({
4777
+ # type: "container",
4778
+ # ecs_properties: {
4779
+ # task_properties: [
4780
+ # {
4781
+ # containers: [
4782
+ # {
4783
+ # name: "main",
4784
+ # command: [
4785
+ # "nvidia-smi",
4786
+ # ],
4787
+ # image: "123456789012.dkr.ecr.us-east-1.amazonaws.com/my-gpu-image:latest",
4788
+ # resource_requirements: [
4789
+ # {
4790
+ # type: "VCPU",
4791
+ # value: "4",
4792
+ # },
4793
+ # {
4794
+ # type: "MEMORY",
4795
+ # value: "16384",
4796
+ # },
4797
+ # {
4798
+ # type: "GPU",
4799
+ # value: "1",
4800
+ # },
4801
+ # ],
4802
+ # },
4803
+ # ],
4804
+ # execution_role_arn: "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
4805
+ # },
4806
+ # ],
4807
+ # },
4808
+ # job_definition_name: "my-gpu-managed-instances-job-def",
4809
+ # platform_capabilities: [
4810
+ # "MANAGED_INSTANCES",
4811
+ # ],
4812
+ # })
4813
+ #
4814
+ # resp.to_h outputs the following:
4815
+ # {
4816
+ # job_definition_arn: "arn:aws:batch:us-east-1:123456789012:job-definition/my-gpu-managed-instances-job-def:1",
4817
+ # job_definition_name: "my-gpu-managed-instances-job-def",
4818
+ # revision: 1,
4819
+ # }
4820
+ #
4821
+ # @example Example: To register a multi-container job definition on ECS Managed Instances
4822
+ #
4823
+ # # This example registers a job definition with a main container and a sidecar logging container on ECS Managed Instances.
4824
+ #
4825
+ # resp = client.register_job_definition({
4826
+ # type: "container",
4827
+ # ecs_properties: {
4828
+ # task_properties: [
4829
+ # {
4830
+ # containers: [
4831
+ # {
4832
+ # name: "main",
4833
+ # command: [
4834
+ # "echo",
4835
+ # "processing data",
4836
+ # ],
4837
+ # essential: true,
4838
+ # image: "public.ecr.aws/amazonlinux/amazonlinux:2023",
4839
+ # resource_requirements: [
4840
+ # {
4841
+ # type: "VCPU",
4842
+ # value: "2",
4843
+ # },
4844
+ # {
4845
+ # type: "MEMORY",
4846
+ # value: "4096",
4847
+ # },
4848
+ # ],
4849
+ # },
4850
+ # {
4851
+ # name: "sidecar",
4852
+ # command: [
4853
+ # "echo",
4854
+ # "logging sidecar",
4855
+ # ],
4856
+ # essential: false,
4857
+ # image: "public.ecr.aws/amazonlinux/amazonlinux:2023",
4858
+ # resource_requirements: [
4859
+ # {
4860
+ # type: "VCPU",
4861
+ # value: "1",
4862
+ # },
4863
+ # {
4864
+ # type: "MEMORY",
4865
+ # value: "512",
4866
+ # },
4867
+ # ],
4868
+ # },
4869
+ # ],
4870
+ # execution_role_arn: "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
4871
+ # },
4872
+ # ],
4873
+ # },
4874
+ # job_definition_name: "my-sidecar-managed-instances-job-def",
4875
+ # platform_capabilities: [
4876
+ # "MANAGED_INSTANCES",
4877
+ # ],
4878
+ # })
4879
+ #
4880
+ # resp.to_h outputs the following:
4881
+ # {
4882
+ # job_definition_arn: "arn:aws:batch:us-east-1:123456789012:job-definition/my-sidecar-managed-instances-job-def:1",
4883
+ # job_definition_name: "my-sidecar-managed-instances-job-def",
4884
+ # revision: 1,
4885
+ # }
4886
+ #
4488
4887
  # @example Request syntax with placeholder values
4489
4888
  #
4490
4889
  # resp = client.register_job_definition({
@@ -4870,6 +5269,7 @@ module Aws::Batch
4870
5269
  # },
4871
5270
  # ],
4872
5271
  # enable_execute_command: false,
5272
+ # network_mode: "String",
4873
5273
  # },
4874
5274
  # ],
4875
5275
  # },
@@ -5022,7 +5422,7 @@ module Aws::Batch
5022
5422
  # tags: {
5023
5423
  # "TagKey" => "TagValue",
5024
5424
  # },
5025
- # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
5425
+ # platform_capabilities: ["EC2"], # accepts EC2, FARGATE, MANAGED_INSTANCES
5026
5426
  # eks_properties: {
5027
5427
  # pod_properties: {
5028
5428
  # service_account_name: "String",
@@ -5278,6 +5678,7 @@ module Aws::Batch
5278
5678
  # },
5279
5679
  # ],
5280
5680
  # enable_execute_command: false,
5681
+ # network_mode: "String",
5281
5682
  # },
5282
5683
  # ],
5283
5684
  # },
@@ -6232,11 +6633,43 @@ module Aws::Batch
6232
6633
  # },
6233
6634
  # ],
6234
6635
  # update_to_latest_image_version: false,
6235
- # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT
6636
+ # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT, ECS_MANAGED_INSTANCES
6236
6637
  # image_id: "String",
6237
6638
  # scaling_policy: {
6238
6639
  # min_scale_down_delay_minutes: 1,
6239
6640
  # },
6641
+ # managed_instances_provider: {
6642
+ # propagate_tags: "String",
6643
+ # infrastructure_role_arn: "String",
6644
+ # instance_launch_template: {
6645
+ # ec2_instance_profile_arn: "String",
6646
+ # network_configuration: {
6647
+ # subnets: ["String"], # required
6648
+ # security_groups: ["String"], # required
6649
+ # },
6650
+ # instance_requirements: {
6651
+ # allowed_instance_types: ["String"],
6652
+ # },
6653
+ # storage_configuration: {
6654
+ # storage_size_gi_b: 1,
6655
+ # },
6656
+ # monitoring: "String",
6657
+ # capacity_reservations: {
6658
+ # reservation_group_arn: "String",
6659
+ # reservation_preference: "String",
6660
+ # },
6661
+ # instance_metadata_tags_propagation: false,
6662
+ # local_storage_configuration: {
6663
+ # use_local_storage: false,
6664
+ # },
6665
+ # },
6666
+ # infrastructure_optimization: {
6667
+ # scale_in_after: 1,
6668
+ # },
6669
+ # },
6670
+ # capacity_tags: {
6671
+ # "TagKey" => "TagValue",
6672
+ # },
6240
6673
  # },
6241
6674
  # service_role: "String",
6242
6675
  # update_policy: {
@@ -6681,7 +7114,7 @@ module Aws::Batch
6681
7114
  tracer: tracer
6682
7115
  )
6683
7116
  context[:gem_name] = 'aws-sdk-batch'
6684
- context[:gem_version] = '1.149.0'
7117
+ context[:gem_version] = '1.150.0'
6685
7118
  Seahorse::Client::Request.new(handlers, context)
6686
7119
  end
6687
7120