@aws-sdk/client-batch 3.1113.0 → 3.1115.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.
@@ -1,4 +1,4 @@
1
- import type { ArrayJobDependency, AssignPublicIp, CEState, CEStatus, CEType, CRAllocationStrategy, CRType, CRUpdateAllocationStrategy, DeviceCgroupPermission, EFSAuthorizationConfigIAM, EFSTransitEncryption, FirelensConfigurationType, JobDefinitionType, JobQueueType, JobStateTimeLimitActionsAction, JobStateTimeLimitActionsState, JobStatus, JQState, JQStatus, LogDriver, OrchestrationType, PlatformCapability, QuotaShareIdleResourceAssignmentStrategy, QuotaShareInSharePreemptionState, QuotaShareResourceSharingStrategy, QuotaShareState, QuotaShareStatus, ResourceType, RetryAction, ServiceEnvironmentState, ServiceEnvironmentStatus, ServiceEnvironmentType, ServiceJobRetryAction, ServiceJobStatus, ServiceJobType, ServiceResourceIdName, UserdataType } from "./enums";
1
+ import type { ArrayJobDependency, AssignPublicIp, CEState, CEStatus, CEType, ContainerInsights, CRAllocationStrategy, CRType, CRUpdateAllocationStrategy, DeviceCgroupPermission, EFSAuthorizationConfigIAM, EFSTransitEncryption, FirelensConfigurationType, JobDefinitionType, JobQueueType, JobStateTimeLimitActionsAction, JobStateTimeLimitActionsState, JobStatus, JQState, JQStatus, LogDriver, OrchestrationType, PlatformCapability, QuotaShareIdleResourceAssignmentStrategy, QuotaShareInSharePreemptionState, QuotaShareResourceSharingStrategy, QuotaShareState, QuotaShareStatus, ResourceType, RetryAction, ServiceEnvironmentState, ServiceEnvironmentStatus, ServiceEnvironmentType, ServiceJobRetryAction, ServiceJobStatus, ServiceJobType, ServiceResourceIdName, UserdataType } from "./enums";
2
2
  /**
3
3
  * <p>An object that represents an Batch array job.</p>
4
4
  * @public
@@ -569,6 +569,235 @@ export interface LaunchTemplateSpecification {
569
569
  */
570
570
  userdataType?: UserdataType | undefined;
571
571
  }
572
+ /**
573
+ * <p>The infrastructure optimization configuration for an Amazon ECS Managed Instances capacity
574
+ * provider. Specifies the idle-instance scale-in behavior.</p>
575
+ * @public
576
+ */
577
+ export interface InfrastructureOptimization {
578
+ /**
579
+ * <p>The number of seconds an instance can remain idle before it is terminated. Valid
580
+ * values are <code>-1</code> or <code>0</code> to <code>3600</code>. Use <code>-1</code> as a
581
+ * special value to disable scale-in (instances are never terminated for being idle). If not
582
+ * specified, a default value applies.</p>
583
+ * @public
584
+ */
585
+ scaleInAfter?: number | undefined;
586
+ }
587
+ /**
588
+ * <p>The capacity reservation configuration for Amazon ECS Managed Instances. Use this to target
589
+ * On-Demand Capacity Reservations or Reserved Instances.</p>
590
+ * @public
591
+ */
592
+ export interface CapacityReservationRequest {
593
+ /**
594
+ * <p>The Amazon Resource Name (ARN) of the capacity reservation group to target.</p>
595
+ * @public
596
+ */
597
+ reservationGroupArn?: string | undefined;
598
+ /**
599
+ * <p>The capacity reservation preference. Valid values:</p>
600
+ * <ul>
601
+ * <li>
602
+ * <p>
603
+ * <code>RESERVATIONS_ONLY</code> — Use only capacity reservations.</p>
604
+ * </li>
605
+ * <li>
606
+ * <p>
607
+ * <code>RESERVATIONS_FIRST</code> — Prefer capacity reservations but fall back to
608
+ * On-Demand if unavailable.</p>
609
+ * </li>
610
+ * <li>
611
+ * <p>
612
+ * <code>RESERVATIONS_EXCLUDED</code> — Do not use capacity reservations.</p>
613
+ * </li>
614
+ * </ul>
615
+ * @public
616
+ */
617
+ reservationPreference?: string | undefined;
618
+ }
619
+ /**
620
+ * <p>The instance type requirements for the Amazon ECS Managed Instances capacity provider. Use this
621
+ * to specify which Amazon EC2 instance types or instance families Amazon ECS can launch.</p>
622
+ * @public
623
+ */
624
+ export interface InstanceRequirementsRequest {
625
+ /**
626
+ * <p>A list of specific instance types or instance families that Amazon ECS can launch (for example,
627
+ * <code>m5.large</code> or <code>g5</code>). When specified, only these instance types are
628
+ * used.</p>
629
+ * @public
630
+ */
631
+ allowedInstanceTypes?: string[] | undefined;
632
+ }
633
+ /**
634
+ * <p>The local storage configuration for Amazon ECS Managed Instances.</p>
635
+ * @public
636
+ */
637
+ export interface ManagedInstancesLocalStorageConfiguration {
638
+ /**
639
+ * <p>Specifies whether instance store volumes (local NVMe SSDs) are available to containers.
640
+ * When enabled, containers can use the instance store for high-performance temporary
641
+ * storage.</p>
642
+ * @public
643
+ */
644
+ useLocalStorage?: boolean | undefined;
645
+ }
646
+ /**
647
+ * <p>The network configuration for Amazon ECS Managed Instances. Specifies the VPC subnets and
648
+ * security groups where instances are launched.</p>
649
+ * @public
650
+ */
651
+ export interface ManagedInstancesNetworkConfiguration {
652
+ /**
653
+ * <p>The VPC subnets where managed instances are launched. If your subnets don't provide public
654
+ * IP addresses, they must have a NAT gateway for outbound internet access.</p>
655
+ * @public
656
+ */
657
+ subnets: string[] | undefined;
658
+ /**
659
+ * <p>The VPC security groups to associate with the managed instances.</p>
660
+ * @public
661
+ */
662
+ securityGroups: string[] | undefined;
663
+ }
664
+ /**
665
+ * <p>The storage configuration for Amazon ECS Managed Instances.</p>
666
+ * @public
667
+ */
668
+ export interface ManagedInstancesStorageConfiguration {
669
+ /**
670
+ * <p>The size of the root EBS volume in GiB for the managed instances.</p>
671
+ * @public
672
+ */
673
+ storageSizeGiB?: number | undefined;
674
+ }
675
+ /**
676
+ * <p>The instance launch configuration for an Amazon ECS Managed Instances capacity provider.
677
+ * Specifies the instance profile, networking, instance selection constraints, capacity pricing
678
+ * model, storage, and monitoring settings.</p>
679
+ * @public
680
+ */
681
+ export interface InstanceLaunchTemplate {
682
+ /**
683
+ * <p>The Amazon Resource Name (ARN) of the Amazon EC2 instance profile for the managed instances. The instance profile
684
+ * must use the <code>AmazonECSInstanceRolePolicyForManagedInstances</code> managed policy with a
685
+ * trust policy for <code>ec2.amazonaws.com</code>.</p>
686
+ * @public
687
+ */
688
+ ec2InstanceProfileArn: string | undefined;
689
+ /**
690
+ * <p>The network configuration for the managed instances. Specifies the VPC subnets and security
691
+ * groups where instances are launched.</p>
692
+ * @public
693
+ */
694
+ networkConfiguration: ManagedInstancesNetworkConfiguration | undefined;
695
+ /**
696
+ * <p>The instance type requirements for the capacity provider. Use this to constrain which Amazon EC2
697
+ * instance types Amazon ECS can launch. If not specified, all available instance types are
698
+ * eligible.</p>
699
+ * @public
700
+ */
701
+ instanceRequirements?: InstanceRequirementsRequest | undefined;
702
+ /**
703
+ * <p>The capacity pricing model for the managed instances. Valid values:</p>
704
+ * <ul>
705
+ * <li>
706
+ * <p>
707
+ * <code>ON_DEMAND</code> (default) — On-Demand pricing.</p>
708
+ * </li>
709
+ * <li>
710
+ * <p>
711
+ * <code>SPOT</code> — Spot Instances, which can provide significant cost savings
712
+ * for fault-tolerant workloads.</p>
713
+ * </li>
714
+ * </ul>
715
+ * @public
716
+ */
717
+ capacityOptionType?: string | undefined;
718
+ /**
719
+ * <p>The storage configuration for the managed instances. Configures the root EBS volume size.
720
+ * If not specified, the service uses the default EBS volume size for the instance type.</p>
721
+ * @public
722
+ */
723
+ storageConfiguration?: ManagedInstancesStorageConfiguration | undefined;
724
+ /**
725
+ * <p>The level of CloudWatch monitoring for the managed instances. Valid values are
726
+ * <code>BASIC</code> and <code>DETAILED</code>.</p>
727
+ * @public
728
+ */
729
+ monitoring?: string | undefined;
730
+ /**
731
+ * <p>Specifies whether FIPS 140-2 validated cryptographic modules are enabled on the managed
732
+ * instances. Not available in all Regions.</p>
733
+ * @public
734
+ */
735
+ fipsEnabled?: boolean | undefined;
736
+ /**
737
+ * <p>The capacity reservation configuration for the managed instances. Use this to target
738
+ * On-Demand Capacity Reservations or Reserved Instances for predictable capacity and cost
739
+ * optimization.</p>
740
+ * @public
741
+ */
742
+ capacityReservations?: CapacityReservationRequest | undefined;
743
+ /**
744
+ * <p>Specifies whether instance tags are accessible from the instance metadata service (IMDS).
745
+ * If not specified, instance tags are not accessible from IMDS.</p>
746
+ * @public
747
+ */
748
+ instanceMetadataTagsPropagation?: boolean | undefined;
749
+ /**
750
+ * <p>The local storage configuration for the managed instances. If not specified, instance store
751
+ * volumes are not available to containers.</p>
752
+ * @public
753
+ */
754
+ localStorageConfiguration?: ManagedInstancesLocalStorageConfiguration | undefined;
755
+ }
756
+ /**
757
+ * <p>The configuration for an Amazon ECS Managed Instances capacity provider. This object is required
758
+ * when creating a compute environment with <code>computeResources.type</code> set to
759
+ * <code>ECS_MANAGED_INSTANCES</code>.</p>
760
+ * @public
761
+ */
762
+ export interface ManagedInstancesProvider {
763
+ /**
764
+ * <p>Specifies whether tags on the capacity provider are propagated to the Amazon EC2 instances it
765
+ * launches. Valid values:</p>
766
+ * <ul>
767
+ * <li>
768
+ * <p>
769
+ * <code>CAPACITY_PROVIDER</code> — Propagates tags to instances.</p>
770
+ * </li>
771
+ * <li>
772
+ * <p>
773
+ * <code>NONE</code> (default) — Does not propagate tags to instances.</p>
774
+ * </li>
775
+ * </ul>
776
+ * @public
777
+ */
778
+ propagateTags?: string | undefined;
779
+ /**
780
+ * <p>The Amazon Resource Name (ARN) of the IAM role that Amazon ECS assumes to manage Amazon EC2 instances on your behalf.
781
+ * This role must have a trust policy for <code>ecs.amazonaws.com</code>. You must have the
782
+ * <code>iam:PassRole</code> permission for this role with the condition
783
+ * <code>iam:PassedToService: ecs.amazonaws.com</code>.</p>
784
+ * @public
785
+ */
786
+ infrastructureRoleArn: string | undefined;
787
+ /**
788
+ * <p>The instance launch configuration for the Amazon ECS Managed Instances capacity provider.
789
+ * Contains networking, instance profile, instance requirements, capacity type, storage, and
790
+ * monitoring configuration.</p>
791
+ * @public
792
+ */
793
+ instanceLaunchTemplate: InstanceLaunchTemplate | undefined;
794
+ /**
795
+ * <p>The infrastructure optimization configuration for the capacity provider. Specifies the
796
+ * idle-instance scale-in behavior.</p>
797
+ * @public
798
+ */
799
+ infrastructureOptimization?: InfrastructureOptimization | undefined;
800
+ }
572
801
  /**
573
802
  * <p>An object that represents a scaling policy for a compute environment.</p>
574
803
  * @public
@@ -609,13 +838,21 @@ export interface ComputeScalingPolicy {
609
838
  export interface ComputeResource {
610
839
  /**
611
840
  * <p>The type of compute environment: <code>EC2</code>, <code>SPOT</code>, <code>FARGATE</code>,
612
- * or <code>FARGATE_SPOT</code>. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute environments</a> in the
613
- * <i>Batch User Guide</i>.</p>
841
+ * <code>FARGATE_SPOT</code>, or <code>ECS_MANAGED_INSTANCES</code>. For more information, see
842
+ * <a href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
843
+ * environments</a> in the <i>Batch User Guide</i>.</p>
614
844
  * <p> If you choose <code>SPOT</code>, you must also specify an Amazon EC2 Spot Fleet role with the
615
845
  * <code>spotIamFleetRole</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html">Amazon EC2 spot fleet role</a> in the
616
846
  * <i>Batch User Guide</i>.</p>
847
+ * <p>If you choose <code>ECS_MANAGED_INSTANCES</code>, you must also specify a
848
+ * <code>managedInstancesProvider</code> configuration. To use Spot capacity, set
849
+ * <code>capacityOptionType</code> to <code>SPOT</code> in the
850
+ * <code>managedInstancesProvider.instanceLaunchTemplate</code> configuration. For more
851
+ * information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/ecs_managed_instances.html">Amazon ECS Managed Instances compute
852
+ * environments</a> in the <i>Batch User Guide</i>.</p>
617
853
  * <note>
618
- * <p>Multi-node parallel jobs aren't supported on Spot Instances.</p>
854
+ * <p>Multi-node parallel jobs aren't supported on Spot Instances or Amazon ECS Managed
855
+ * Instances.</p>
619
856
  * </note>
620
857
  * @public
621
858
  */
@@ -958,6 +1195,60 @@ export interface ComputeResource {
958
1195
  * @public
959
1196
  */
960
1197
  scalingPolicy?: ComputeScalingPolicy | undefined;
1198
+ /**
1199
+ * <p>The configuration for the Amazon ECS Managed Instances capacity provider. This parameter is
1200
+ * required when <code>computeResources.type</code> is <code>ECS_MANAGED_INSTANCES</code> and must
1201
+ * not be specified for other compute environment types.</p>
1202
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/ecs_managed_instances.html">Amazon ECS
1203
+ * Managed Instances compute environments</a> in the
1204
+ * <i>Batch User Guide</i>.</p>
1205
+ * @public
1206
+ */
1207
+ managedInstancesProvider?: ManagedInstancesProvider | undefined;
1208
+ /**
1209
+ * <p>The tags to apply to the Amazon ECS capacity provider and Amazon EC2 instances launched by the
1210
+ * compute environment. These tags are separate from the compute environment resource tags (the
1211
+ * top-level <code>tags</code> parameter). Use <code>capacityTags</code> for cost allocation and
1212
+ * organization of the underlying infrastructure resources.</p>
1213
+ * <p>This parameter is only valid for <code>ECS_MANAGED_INSTANCES</code> compute environments.
1214
+ * You must have the <code>batch:SetCapacityTags</code> permission on the
1215
+ * compute environment resource to use this parameter.</p>
1216
+ * @public
1217
+ */
1218
+ capacityTags?: Record<string, string> | undefined;
1219
+ }
1220
+ /**
1221
+ * <p>The Amazon ECS settings for a compute environment, including the CloudWatch Container Insights
1222
+ * mode. Use this structure with <code>CreateComputeEnvironment</code> and
1223
+ * <code>UpdateComputeEnvironment</code>.</p>
1224
+ * @public
1225
+ */
1226
+ export interface EcsSettings {
1227
+ /**
1228
+ * <p>Specifies the CloudWatch Container Insights mode for the compute environment. Valid values
1229
+ * are:</p>
1230
+ * <dl>
1231
+ * <dt>ENABLED</dt>
1232
+ * <dd>
1233
+ * <p>Turns on standard Container Insights, which collects CPU, memory, disk, and network
1234
+ * utilization metrics for the compute environment.</p>
1235
+ * </dd>
1236
+ * <dt>ENHANCED</dt>
1237
+ * <dd>
1238
+ * <p>Turns on enhanced Container Insights, which collects the standard metrics along with
1239
+ * additional per-task observability metrics.</p>
1240
+ * </dd>
1241
+ * <dt>DISABLED</dt>
1242
+ * <dd>
1243
+ * <p>Turns off Container Insights for the compute environment.</p>
1244
+ * </dd>
1245
+ * </dl>
1246
+ * <p>If you don't specify a value, the default is <code>DISABLED</code>. For more information,
1247
+ * see <a href="https://docs.aws.amazon.com/batch/latest/userguide/cloudwatch-container-insights.html">Container Insights</a> in the
1248
+ * <i>Batch User Guide</i>.</p>
1249
+ * @public
1250
+ */
1251
+ containerInsights?: ContainerInsights | undefined;
961
1252
  }
962
1253
  /**
963
1254
  * <p>Configuration for the Amazon EKS cluster that supports the Batch compute environment. The
@@ -1095,6 +1386,12 @@ export interface CreateComputeEnvironmentRequest {
1095
1386
  * @public
1096
1387
  */
1097
1388
  context?: string | undefined;
1389
+ /**
1390
+ * <p>The Amazon ECS settings for the compute environment. These settings control CloudWatch
1391
+ * Container Insights collection for the compute environment.</p>
1392
+ * @public
1393
+ */
1394
+ ecsSettings?: EcsSettings | undefined;
1098
1395
  }
1099
1396
  /**
1100
1397
  * @public
@@ -1935,6 +2232,12 @@ export interface ComputeEnvironmentDetail {
1935
2232
  * @public
1936
2233
  */
1937
2234
  context?: string | undefined;
2235
+ /**
2236
+ * <p>The Amazon ECS settings for the compute environment. These settings control CloudWatch
2237
+ * Container Insights collection.</p>
2238
+ * @public
2239
+ */
2240
+ ecsSettings?: EcsSettings | undefined;
1938
2241
  }
1939
2242
  /**
1940
2243
  * @public
@@ -3598,13 +3901,18 @@ export interface EcsTaskProperties {
3598
3901
  pidMode?: string | undefined;
3599
3902
  /**
3600
3903
  * <p>The network configuration for jobs that are running on Fargate resources. Jobs that are
3601
- * running on Amazon EC2 resources must not specify this parameter.</p>
3904
+ * running on Amazon EC2 resources or Amazon ECS Managed Instances must not specify this parameter.</p>
3602
3905
  * @public
3603
3906
  */
3604
3907
  networkConfiguration?: NetworkConfiguration | undefined;
3605
3908
  /**
3606
3909
  * <p>An object that represents the compute environment architecture for Batch jobs on
3607
- * Fargate.</p>
3910
+ * Fargate or Amazon ECS Managed Instances. Use this to specify the operating system family
3911
+ * (<code>operatingSystemFamily</code>) and CPU architecture
3912
+ * (<code>cpuArchitecture</code>).</p>
3913
+ * <p>For Amazon ECS Managed Instances, the valid value for <code>operatingSystemFamily</code> is
3914
+ * <code>LINUX</code> (default). The valid values for <code>cpuArchitecture</code> are
3915
+ * <code>X86_64</code> and <code>ARM64</code>.</p>
3608
3916
  * @public
3609
3917
  */
3610
3918
  runtimePlatform?: RuntimePlatform | undefined;
@@ -3619,6 +3927,19 @@ export interface EcsTaskProperties {
3619
3927
  * @public
3620
3928
  */
3621
3929
  enableExecuteCommand?: boolean | undefined;
3930
+ /**
3931
+ * <p>The network mode to use for the task. Valid values: <code>host</code>. When not specified,
3932
+ * the default is <code>host</code>.</p>
3933
+ * <p>With <code>host</code> mode, the container shares the host instance's network stack
3934
+ * directly. When running tasks that use the <code>host</code> network mode, do not run containers
3935
+ * using the root user (UID 0). Running as root grants unrestricted access to host resources and
3936
+ * increases the attack surface.</p>
3937
+ * <p>This parameter only applies to jobs running on Amazon ECS Managed Instances
3938
+ * (<code>MANAGED_INSTANCES</code> platform capability). It cannot be specified for Fargate or
3939
+ * Amazon EC2 platform job definitions.</p>
3940
+ * @public
3941
+ */
3942
+ networkMode?: string | undefined;
3622
3943
  }
3623
3944
  /**
3624
3945
  * <p>An object that contains the properties for the Amazon ECS resources of a job.</p>
@@ -4476,7 +4797,8 @@ export interface JobDefinition {
4476
4797
  /**
4477
4798
  * <p>The platform capabilities required by the job definition. If no value is specified, it
4478
4799
  * defaults to <code>EC2</code>. Jobs run on Fargate resources specify
4479
- * <code>FARGATE</code>.</p>
4800
+ * <code>FARGATE</code>. Jobs run on Amazon ECS Managed Instances specify
4801
+ * <code>MANAGED_INSTANCES</code>.</p>
4480
4802
  * @public
4481
4803
  */
4482
4804
  platformCapabilities?: PlatformCapability[] | undefined;
@@ -5292,7 +5614,8 @@ export interface EcsTaskDetails {
5292
5614
  networkConfiguration?: NetworkConfiguration | undefined;
5293
5615
  /**
5294
5616
  * <p>An object that represents the compute environment architecture for Batch jobs on
5295
- * Fargate.</p>
5617
+ * Fargate or Amazon ECS Managed Instances. Contains the operating system family and CPU architecture
5618
+ * of the task.</p>
5296
5619
  * @public
5297
5620
  */
5298
5621
  runtimePlatform?: RuntimePlatform | undefined;
@@ -5307,6 +5630,13 @@ export interface EcsTaskDetails {
5307
5630
  * @public
5308
5631
  */
5309
5632
  enableExecuteCommand?: boolean | undefined;
5633
+ /**
5634
+ * <p>The network mode configured for the task. This field is populated for jobs running on Amazon ECS
5635
+ * Managed Instances (<code>MANAGED_INSTANCES</code> platform capability) and always returns
5636
+ * <code>host</code>.</p>
5637
+ * @public
5638
+ */
5639
+ networkMode?: string | undefined;
5310
5640
  }
5311
5641
  /**
5312
5642
  * <p>An object that contains the details for the Amazon ECS resources of a job.</p>
@@ -5780,7 +6110,8 @@ export interface JobDetail {
5780
6110
  /**
5781
6111
  * <p>The platform capabilities required by the job definition. If no value is specified, it
5782
6112
  * defaults to <code>EC2</code>. Jobs run on Fargate resources specify
5783
- * <code>FARGATE</code>.</p>
6113
+ * <code>FARGATE</code>. Jobs run on Amazon ECS Managed Instances specify
6114
+ * <code>MANAGED_INSTANCES</code>.</p>
5784
6115
  * @public
5785
6116
  */
5786
6117
  platformCapabilities?: PlatformCapability[] | undefined;
@@ -7654,7 +7985,11 @@ export interface RegisterJobDefinitionRequest {
7654
7985
  /**
7655
7986
  * <p>The platform capabilities required by the job definition. If no value is specified, it
7656
7987
  * defaults to <code>EC2</code>. To run the job on Fargate resources, specify
7657
- * <code>FARGATE</code>.</p>
7988
+ * <code>FARGATE</code>. To run the job on Amazon ECS Managed Instances, specify
7989
+ * <code>MANAGED_INSTANCES</code>.</p>
7990
+ * <p>Jobs with the <code>MANAGED_INSTANCES</code> platform capability must use
7991
+ * <code>ecsProperties</code> (not <code>containerProperties</code>) and do not support
7992
+ * multi-node parallel jobs.</p>
7658
7993
  * <note>
7659
7994
  * <p>If the job runs on Amazon EKS resources, then you must not specify
7660
7995
  * <code>platformCapabilities</code>.</p>
@@ -8354,6 +8689,97 @@ export interface UntagResourceRequest {
8354
8689
  */
8355
8690
  export interface UntagResourceResponse {
8356
8691
  }
8692
+ /**
8693
+ * <p>The instance launch configuration for updating an Amazon ECS Managed Instances capacity
8694
+ * provider. You cannot change <code>capacityOptionType</code> or <code>fipsEnabled</code> after
8695
+ * the compute environment is created.</p>
8696
+ * @public
8697
+ */
8698
+ export interface InstanceLaunchTemplateUpdate {
8699
+ /**
8700
+ * <p>The updated Amazon Resource Name (ARN) of the Amazon EC2 instance profile for the managed instances.</p>
8701
+ * @public
8702
+ */
8703
+ ec2InstanceProfileArn?: string | undefined;
8704
+ /**
8705
+ * <p>The updated network configuration for the managed instances.</p>
8706
+ * @public
8707
+ */
8708
+ networkConfiguration?: ManagedInstancesNetworkConfiguration | undefined;
8709
+ /**
8710
+ * <p>The updated instance type requirements for the capacity provider.</p>
8711
+ * @public
8712
+ */
8713
+ instanceRequirements?: InstanceRequirementsRequest | undefined;
8714
+ /**
8715
+ * <p>The updated storage configuration for the managed instances.</p>
8716
+ * @public
8717
+ */
8718
+ storageConfiguration?: ManagedInstancesStorageConfiguration | undefined;
8719
+ /**
8720
+ * <p>The updated monitoring level. Valid values are <code>BASIC</code> and
8721
+ * <code>DETAILED</code>.</p>
8722
+ * @public
8723
+ */
8724
+ monitoring?: string | undefined;
8725
+ /**
8726
+ * <p>The updated capacity reservation configuration.</p>
8727
+ * @public
8728
+ */
8729
+ capacityReservations?: CapacityReservationRequest | undefined;
8730
+ /**
8731
+ * <p>Specifies whether instance tags are accessible from the instance metadata service
8732
+ * (IMDS).</p>
8733
+ * @public
8734
+ */
8735
+ instanceMetadataTagsPropagation?: boolean | undefined;
8736
+ /**
8737
+ * <p>The updated local storage configuration.</p>
8738
+ * @public
8739
+ */
8740
+ localStorageConfiguration?: ManagedInstancesLocalStorageConfiguration | undefined;
8741
+ }
8742
+ /**
8743
+ * <p>The configuration for updating an Amazon ECS Managed Instances capacity provider. Used in
8744
+ * <code>UpdateComputeEnvironment</code> requests. The <code>capacityOptionType</code> and
8745
+ * <code>fipsEnabled</code> fields cannot be changed on update.</p>
8746
+ * @public
8747
+ */
8748
+ export interface UpdateManagedInstancesProviderConfiguration {
8749
+ /**
8750
+ * <p>Specifies whether tags on the capacity provider are propagated to the Amazon EC2 instances it
8751
+ * launches. Valid values:</p>
8752
+ * <ul>
8753
+ * <li>
8754
+ * <p>
8755
+ * <code>CAPACITY_PROVIDER</code> — Propagates tags to instances.</p>
8756
+ * </li>
8757
+ * <li>
8758
+ * <p>
8759
+ * <code>NONE</code> — Does not propagate tags to instances.</p>
8760
+ * </li>
8761
+ * </ul>
8762
+ * @public
8763
+ */
8764
+ propagateTags?: string | undefined;
8765
+ /**
8766
+ * <p>The updated Amazon Resource Name (ARN) of the IAM role that Amazon ECS assumes to manage Amazon EC2 instances on
8767
+ * your behalf.</p>
8768
+ * @public
8769
+ */
8770
+ infrastructureRoleArn?: string | undefined;
8771
+ /**
8772
+ * <p>The updated instance launch configuration for the Amazon ECS Managed Instances capacity
8773
+ * provider.</p>
8774
+ * @public
8775
+ */
8776
+ instanceLaunchTemplate?: InstanceLaunchTemplateUpdate | undefined;
8777
+ /**
8778
+ * <p>The updated infrastructure optimization configuration.</p>
8779
+ * @public
8780
+ */
8781
+ infrastructureOptimization?: InfrastructureOptimization | undefined;
8782
+ }
8357
8783
  /**
8358
8784
  * <p>An object that represents the attributes of a compute environment that can be updated. For
8359
8785
  * more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html">Updating compute environments</a> in the
@@ -8706,14 +9132,16 @@ export interface ComputeResourceUpdate {
8706
9132
  updateToLatestImageVersion?: boolean | undefined;
8707
9133
  /**
8708
9134
  * <p>The type of compute environment: <code>EC2</code>, <code>SPOT</code>, <code>FARGATE</code>,
8709
- * or <code>FARGATE_SPOT</code>. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute environments</a> in the
8710
- * <i>Batch User Guide</i>.</p>
9135
+ * <code>FARGATE_SPOT</code>, or <code>ECS_MANAGED_INSTANCES</code>. For more information, see
9136
+ * <a href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
9137
+ * environments</a> in the <i>Batch User Guide</i>.</p>
8711
9138
  * <p> If you choose <code>SPOT</code>, you must also specify an Amazon EC2 Spot Fleet role with the
8712
9139
  * <code>spotIamFleetRole</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html">Amazon EC2 spot fleet role</a> in the
8713
9140
  * <i>Batch User Guide</i>.</p>
8714
9141
  * <p>When updating a compute environment, changing the type of a compute environment requires an
8715
9142
  * infrastructure update of the compute environment. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html">Updating compute
8716
9143
  * environments</a> in the <i>Batch User Guide</i>.</p>
9144
+ * <p>You cannot change the type to or from <code>ECS_MANAGED_INSTANCES</code>.</p>
8717
9145
  * @public
8718
9146
  */
8719
9147
  type?: CRType | undefined;
@@ -8747,6 +9175,21 @@ export interface ComputeResourceUpdate {
8747
9175
  * @public
8748
9176
  */
8749
9177
  scalingPolicy?: ComputeScalingPolicy | undefined;
9178
+ /**
9179
+ * <p>The updated configuration for the Amazon ECS Managed Instances capacity provider. This parameter
9180
+ * is only valid when the compute environment type is <code>ECS_MANAGED_INSTANCES</code>. You
9181
+ * cannot change <code>capacityOptionType</code> or <code>fipsEnabled</code> on update.</p>
9182
+ * @public
9183
+ */
9184
+ managedInstancesProvider?: UpdateManagedInstancesProviderConfiguration | undefined;
9185
+ /**
9186
+ * <p>The updated tags to apply to the Amazon ECS capacity provider and Amazon EC2 instances. This
9187
+ * parameter is only valid for <code>ECS_MANAGED_INSTANCES</code> compute environments. You must
9188
+ * have the <code>batch:SetCapacityTags</code> permission on the compute environment resource to
9189
+ * use this parameter.</p>
9190
+ * @public
9191
+ */
9192
+ capacityTags?: Record<string, string> | undefined;
8750
9193
  }
8751
9194
  /**
8752
9195
  * <p>Contains the parameters for <code>UpdateComputeEnvironment</code>.</p>
@@ -8833,6 +9276,12 @@ export interface UpdateComputeEnvironmentRequest {
8833
9276
  * @public
8834
9277
  */
8835
9278
  context?: string | undefined;
9279
+ /**
9280
+ * <p>The Amazon ECS settings for the compute environment. These settings control CloudWatch
9281
+ * Container Insights collection for the compute environment.</p>
9282
+ * @public
9283
+ */
9284
+ ecsSettings?: EcsSettings | undefined;
8836
9285
  }
8837
9286
  /**
8838
9287
  * @public
@@ -19,6 +19,7 @@ export declare var AttemptTaskContainerDetails$: StaticStructureSchema;
19
19
  export declare var CancelJobRequest$: StaticStructureSchema;
20
20
  export declare var CancelJobResponse$: StaticStructureSchema;
21
21
  export declare var CapacityLimit$: StaticStructureSchema;
22
+ export declare var CapacityReservationRequest$: StaticStructureSchema;
22
23
  export declare var ComputeEnvironmentDetail$: StaticStructureSchema;
23
24
  export declare var ComputeEnvironmentOrder$: StaticStructureSchema;
24
25
  export declare var ComputeResource$: StaticStructureSchema;
@@ -80,6 +81,7 @@ export declare var Ec2Configuration$: StaticStructureSchema;
80
81
  export declare var EcsProperties$: StaticStructureSchema;
81
82
  export declare var EcsPropertiesDetail$: StaticStructureSchema;
82
83
  export declare var EcsPropertiesOverride$: StaticStructureSchema;
84
+ export declare var EcsSettings$: StaticStructureSchema;
83
85
  export declare var EcsTaskDetails$: StaticStructureSchema;
84
86
  export declare var EcsTaskProperties$: StaticStructureSchema;
85
87
  export declare var EFSAuthorizationConfig$: StaticStructureSchema;
@@ -122,6 +124,10 @@ export declare var GetJobQueueSnapshotRequest$: StaticStructureSchema;
122
124
  export declare var GetJobQueueSnapshotResponse$: StaticStructureSchema;
123
125
  export declare var Host$: StaticStructureSchema;
124
126
  export declare var ImagePullSecret$: StaticStructureSchema;
127
+ export declare var InfrastructureOptimization$: StaticStructureSchema;
128
+ export declare var InstanceLaunchTemplate$: StaticStructureSchema;
129
+ export declare var InstanceLaunchTemplateUpdate$: StaticStructureSchema;
130
+ export declare var InstanceRequirementsRequest$: StaticStructureSchema;
125
131
  export declare var JobCapacityUsageSummary$: StaticStructureSchema;
126
132
  export declare var JobDefinition$: StaticStructureSchema;
127
133
  export declare var JobDependency$: StaticStructureSchema;
@@ -152,6 +158,10 @@ export declare var ListServiceJobsResponse$: StaticStructureSchema;
152
158
  export declare var ListTagsForResourceRequest$: StaticStructureSchema;
153
159
  export declare var ListTagsForResourceResponse$: StaticStructureSchema;
154
160
  export declare var LogConfiguration$: StaticStructureSchema;
161
+ export declare var ManagedInstancesLocalStorageConfiguration$: StaticStructureSchema;
162
+ export declare var ManagedInstancesNetworkConfiguration$: StaticStructureSchema;
163
+ export declare var ManagedInstancesProvider$: StaticStructureSchema;
164
+ export declare var ManagedInstancesStorageConfiguration$: StaticStructureSchema;
155
165
  export declare var MountPoint$: StaticStructureSchema;
156
166
  export declare var NetworkConfiguration$: StaticStructureSchema;
157
167
  export declare var NetworkInterface$: StaticStructureSchema;
@@ -220,6 +230,7 @@ export declare var UpdateConsumableResourceRequest$: StaticStructureSchema;
220
230
  export declare var UpdateConsumableResourceResponse$: StaticStructureSchema;
221
231
  export declare var UpdateJobQueueRequest$: StaticStructureSchema;
222
232
  export declare var UpdateJobQueueResponse$: StaticStructureSchema;
233
+ export declare var UpdateManagedInstancesProviderConfiguration$: StaticStructureSchema;
223
234
  export declare var UpdatePolicy$: StaticStructureSchema;
224
235
  export declare var UpdateQuotaShareRequest$: StaticStructureSchema;
225
236
  export declare var UpdateQuotaShareResponse$: StaticStructureSchema;