aws-sdk-ecs 1.205.0 → 1.206.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.
@@ -10,6 +10,52 @@
10
10
  module Aws::ECS
11
11
  module Types
12
12
 
13
+ # The minimum and maximum number of accelerators (such as GPUs) for
14
+ # instance type selection. This is used for workloads that require
15
+ # specific numbers of accelerators.
16
+ #
17
+ # @!attribute [rw] min
18
+ # The minimum number of accelerators. Instance types with fewer
19
+ # accelerators are excluded from selection.
20
+ # @return [Integer]
21
+ #
22
+ # @!attribute [rw] max
23
+ # The maximum number of accelerators. Instance types with more
24
+ # accelerators are excluded from selection.
25
+ # @return [Integer]
26
+ #
27
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AcceleratorCountRequest AWS API Documentation
28
+ #
29
+ class AcceleratorCountRequest < Struct.new(
30
+ :min,
31
+ :max)
32
+ SENSITIVE = []
33
+ include Aws::Structure
34
+ end
35
+
36
+ # The minimum and maximum total accelerator memory in mebibytes (MiB)
37
+ # for instance type selection. This is important for GPU workloads that
38
+ # require specific amounts of video memory.
39
+ #
40
+ # @!attribute [rw] min
41
+ # The minimum total accelerator memory in MiB. Instance types with
42
+ # less accelerator memory are excluded from selection.
43
+ # @return [Integer]
44
+ #
45
+ # @!attribute [rw] max
46
+ # The maximum total accelerator memory in MiB. Instance types with
47
+ # more accelerator memory are excluded from selection.
48
+ # @return [Integer]
49
+ #
50
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AcceleratorTotalMemoryMiBRequest AWS API Documentation
51
+ #
52
+ class AcceleratorTotalMemoryMiBRequest < Struct.new(
53
+ :min,
54
+ :max)
55
+ SENSITIVE = []
56
+ include Aws::Structure
57
+ end
58
+
13
59
  # You don't have authorization to perform the requested action.
14
60
  #
15
61
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AccessDeniedException AWS API Documentation
@@ -333,6 +379,29 @@ module Aws::ECS
333
379
  include Aws::Structure
334
380
  end
335
381
 
382
+ # The minimum and maximum baseline Amazon EBS bandwidth in megabits per
383
+ # second (Mbps) for instance type selection. This is important for
384
+ # workloads with high storage I/O requirements.
385
+ #
386
+ # @!attribute [rw] min
387
+ # The minimum baseline Amazon EBS bandwidth in Mbps. Instance types
388
+ # with lower Amazon EBS bandwidth are excluded from selection.
389
+ # @return [Integer]
390
+ #
391
+ # @!attribute [rw] max
392
+ # The maximum baseline Amazon EBS bandwidth in Mbps. Instance types
393
+ # with higher Amazon EBS bandwidth are excluded from selection.
394
+ # @return [Integer]
395
+ #
396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/BaselineEbsBandwidthMbpsRequest AWS API Documentation
397
+ #
398
+ class BaselineEbsBandwidthMbpsRequest < Struct.new(
399
+ :min,
400
+ :max)
401
+ SENSITIVE = []
402
+ include Aws::Structure
403
+ end
404
+
336
405
  # Your Amazon Web Services account was blocked. For more information,
337
406
  # contact [ Amazon Web Services Support][1].
338
407
  #
@@ -355,6 +424,12 @@ module Aws::ECS
355
424
  # The name of the capacity provider.
356
425
  # @return [String]
357
426
  #
427
+ # @!attribute [rw] cluster
428
+ # The cluster that this capacity provider is associated with. Managed
429
+ # instances capacity providers are cluster-scoped, meaning they can
430
+ # only be used within their associated cluster.
431
+ # @return [String]
432
+ #
358
433
  # @!attribute [rw] status
359
434
  # The current status of the capacity provider. Only capacity providers
360
435
  # in an `ACTIVE` state can be used in a cluster. When a capacity
@@ -365,6 +440,12 @@ module Aws::ECS
365
440
  # The Auto Scaling group settings for the capacity provider.
366
441
  # @return [Types::AutoScalingGroupProvider]
367
442
  #
443
+ # @!attribute [rw] managed_instances_provider
444
+ # The configuration for the Amazon ECS Managed Instances provider.
445
+ # This includes the infrastructure role, the launch template
446
+ # configuration, and tag propagation settings.
447
+ # @return [Types::ManagedInstancesProvider]
448
+ #
368
449
  # @!attribute [rw] update_status
369
450
  # The update status of the capacity provider. The following are the
370
451
  # possible states that is returned.
@@ -420,16 +501,25 @@ module Aws::ECS
420
501
  # against your tags per resource limit.
421
502
  # @return [Array<Types::Tag>]
422
503
  #
504
+ # @!attribute [rw] type
505
+ # The type of capacity provider. For Amazon ECS Managed Instances,
506
+ # this value is `MANAGED_INSTANCES`, indicating that Amazon ECS
507
+ # manages the underlying Amazon EC2 instances on your behalf.
508
+ # @return [String]
509
+ #
423
510
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProvider AWS API Documentation
424
511
  #
425
512
  class CapacityProvider < Struct.new(
426
513
  :capacity_provider_arn,
427
514
  :name,
515
+ :cluster,
428
516
  :status,
429
517
  :auto_scaling_group_provider,
518
+ :managed_instances_provider,
430
519
  :update_status,
431
520
  :update_status_reason,
432
- :tags)
521
+ :tags,
522
+ :type)
433
523
  SENSITIVE = []
434
524
  include Aws::Structure
435
525
  end
@@ -804,6 +894,17 @@ module Aws::ECS
804
894
  include Aws::Structure
805
895
  end
806
896
 
897
+ # The cluster contains one or more capacity providers that prevent the
898
+ # requested operation. This exception occurs when you try to delete a
899
+ # cluster that still has active capacity providers, including Amazon ECS
900
+ # Managed Instances capacity providers. You must first delete all
901
+ # capacity providers from the cluster before you can delete the cluster
902
+ # itself.
903
+ #
904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterContainsCapacityProviderException AWS API Documentation
905
+ #
906
+ class ClusterContainsCapacityProviderException < Aws::EmptyStructure; end
907
+
807
908
  # You can't delete a cluster that has registered container instances.
808
909
  # First, deregister the container instances before you can delete the
809
910
  # cluster. For more information, see [DeregisterContainerInstance][1].
@@ -966,7 +1067,7 @@ module Aws::ECS
966
1067
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html
967
1068
  #
968
1069
  # @!attribute [rw] name
969
- # The name of the cluster setting. The value is `containerInsights`.
1070
+ # The name of the cluster setting. The value is `containerInsights` .
970
1071
  # @return [String]
971
1072
  #
972
1073
  # @!attribute [rw] value
@@ -1328,12 +1429,12 @@ module Aws::ECS
1328
1429
  # so you can't access a container's mapped port from the host
1329
1430
  # itself.
1330
1431
  #
1331
- # This parameter maps to `PortBindings` in the docker container create
1332
- # command and the `--publish` option to docker run. If the network
1333
- # mode of a task definition is set to `none`, then you can't specify
1334
- # port mappings. If the network mode of a task definition is set to
1335
- # `host`, then host ports must either be undefined or they must match
1336
- # the container port in the port mapping.
1432
+ # This parameter maps to `PortBindings` in the the docker container
1433
+ # create command and the `--publish` option to docker run. If the
1434
+ # network mode of a task definition is set to `none`, then you can't
1435
+ # specify port mappings. If the network mode of a task definition is
1436
+ # set to `host`, then host ports must either be undefined or they must
1437
+ # match the container port in the port mapping.
1337
1438
  #
1338
1439
  # <note markdown="1"> After a task reaches the `RUNNING` status, manual and automatic host
1339
1440
  # and container port assignments are visible in the **Network
@@ -2479,10 +2580,23 @@ module Aws::ECS
2479
2580
  # "`aws`", "`ecs`", or "`fargate`".
2480
2581
  # @return [String]
2481
2582
  #
2583
+ # @!attribute [rw] cluster
2584
+ # The name of the cluster to associate with the capacity provider.
2585
+ # When you create a capacity provider with Amazon ECS Managed
2586
+ # Instances, it becomes available only within the specified cluster.
2587
+ # @return [String]
2588
+ #
2482
2589
  # @!attribute [rw] auto_scaling_group_provider
2483
2590
  # The details of the Auto Scaling group for the capacity provider.
2484
2591
  # @return [Types::AutoScalingGroupProvider]
2485
2592
  #
2593
+ # @!attribute [rw] managed_instances_provider
2594
+ # The configuration for the Amazon ECS Managed Instances provider.
2595
+ # This configuration specifies how Amazon ECS manages Amazon EC2
2596
+ # instances on your behalf, including the infrastructure role,
2597
+ # instance launch template, and tag propagation settings.
2598
+ # @return [Types::CreateManagedInstancesProviderConfiguration]
2599
+ #
2486
2600
  # @!attribute [rw] tags
2487
2601
  # The metadata that you apply to the capacity provider to categorize
2488
2602
  # and organize them more conveniently. Each tag consists of a key and
@@ -2518,7 +2632,9 @@ module Aws::ECS
2518
2632
  #
2519
2633
  class CreateCapacityProviderRequest < Struct.new(
2520
2634
  :name,
2635
+ :cluster,
2521
2636
  :auto_scaling_group_provider,
2637
+ :managed_instances_provider,
2522
2638
  :tags)
2523
2639
  SENSITIVE = []
2524
2640
  include Aws::Structure
@@ -2687,6 +2803,58 @@ module Aws::ECS
2687
2803
  include Aws::Structure
2688
2804
  end
2689
2805
 
2806
+ # The configuration for creating a Amazon ECS Managed Instances
2807
+ # provider. This specifies how Amazon ECS should manage Amazon EC2
2808
+ # instances, including the infrastructure role, instance launch
2809
+ # template, and whether to propagate tags from the capacity provider to
2810
+ # the instances.
2811
+ #
2812
+ # @!attribute [rw] infrastructure_role_arn
2813
+ # The Amazon Resource Name (ARN) of the infrastructure role that
2814
+ # Amazon ECS uses to manage instances on your behalf. This role must
2815
+ # have permissions to launch, terminate, and manage Amazon EC2
2816
+ # instances, as well as access to other Amazon Web Services services
2817
+ # required for Amazon ECS Managed Instances functionality.
2818
+ #
2819
+ # For more information, see [Amazon ECS infrastructure IAM role][1] in
2820
+ # the *Amazon ECS Developer Guide*.
2821
+ #
2822
+ #
2823
+ #
2824
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
2825
+ # @return [String]
2826
+ #
2827
+ # @!attribute [rw] instance_launch_template
2828
+ # The launch template configuration that specifies how Amazon ECS
2829
+ # should launch Amazon EC2 instances. This includes the instance
2830
+ # profile, network configuration, storage settings, and instance
2831
+ # requirements for attribute-based instance type selection.
2832
+ #
2833
+ # For more information, see [Store instance launch parameters in
2834
+ # Amazon EC2 launch templates][1] in the *Amazon EC2 User Guide*.
2835
+ #
2836
+ #
2837
+ #
2838
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
2839
+ # @return [Types::InstanceLaunchTemplate]
2840
+ #
2841
+ # @!attribute [rw] propagate_tags
2842
+ # Specifies whether to propagate tags from the capacity provider to
2843
+ # the Amazon ECS Managed Instances. When enabled, tags applied to the
2844
+ # capacity provider are automatically applied to all instances
2845
+ # launched by this provider.
2846
+ # @return [String]
2847
+ #
2848
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateManagedInstancesProviderConfiguration AWS API Documentation
2849
+ #
2850
+ class CreateManagedInstancesProviderConfiguration < Struct.new(
2851
+ :infrastructure_role_arn,
2852
+ :instance_launch_template,
2853
+ :propagate_tags)
2854
+ SENSITIVE = []
2855
+ include Aws::Structure
2856
+ end
2857
+
2690
2858
  # @!attribute [rw] cluster
2691
2859
  # The short name or full Amazon Resource Name (ARN) of the cluster
2692
2860
  # that you run your service on. If you do not specify a cluster, the
@@ -2725,19 +2893,6 @@ module Aws::ECS
2725
2893
  # Availability Zones][1] in the <i> <i>Amazon Elastic Container
2726
2894
  # Service Developer Guide</i> </i>.
2727
2895
  #
2728
- # The default behavior of `AvailabilityZoneRebalancing` differs
2729
- # between create and update requests:
2730
- #
2731
- # * For create service requests, when no value is specified for
2732
- # `AvailabilityZoneRebalancing`, Amazon ECS defaults the value to
2733
- # `ENABLED`.
2734
- #
2735
- # * For update service requests, when no value is specified for
2736
- # `AvailabilityZoneRebalancing`, Amazon ECS defaults to the existing
2737
- # service’s `AvailabilityZoneRebalancing` value. If the service
2738
- # never had an `AvailabilityZoneRebalancing` value set, Amazon ECS
2739
- # treats this as `DISABLED`.
2740
- #
2741
2896
  #
2742
2897
  #
2743
2898
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html
@@ -2748,13 +2903,13 @@ module Aws::ECS
2748
2903
  # your service. For more information, see [Service load balancing][1]
2749
2904
  # in the *Amazon Elastic Container Service Developer Guide*.
2750
2905
  #
2751
- # If the service uses the `ECS` deployment controller and using either
2752
- # an Application Load Balancer or Network Load Balancer, you must
2753
- # specify one or more target group ARNs to attach to the service. The
2754
- # service-linked role is required for services that use multiple
2755
- # target groups. For more information, see [Using service-linked roles
2756
- # for Amazon ECS][2] in the *Amazon Elastic Container Service
2757
- # Developer Guide*.
2906
+ # If the service uses the rolling update (`ECS`) deployment controller
2907
+ # and using either an Application Load Balancer or Network Load
2908
+ # Balancer, you must specify one or more target group ARNs to attach
2909
+ # to the service. The service-linked role is required for services
2910
+ # that use multiple target groups. For more information, see [Using
2911
+ # service-linked roles for Amazon ECS][2] in the *Amazon Elastic
2912
+ # Container Service Developer Guide*.
2758
2913
  #
2759
2914
  # If the service uses the `CODE_DEPLOY` deployment controller, the
2760
2915
  # service is required to use either an Application Load Balancer or
@@ -2950,12 +3105,19 @@ module Aws::ECS
2950
3105
  # @return [Types::NetworkConfiguration]
2951
3106
  #
2952
3107
  # @!attribute [rw] health_check_grace_period_seconds
2953
- # The period of time, in seconds, that the Amazon Amazon ECS service
3108
+ # The period of time, in seconds, that the Amazon ECS service
2954
3109
  # scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and
2955
- # container health checks after a task has first started. If you do
2956
- # not specify a health check grace period value, the default value of
2957
- # 0 is used. If you do not use any of the health checks, then
3110
+ # container health checks after a task has first started. If you
3111
+ # don't specify a health check grace period value, the default value
3112
+ # of `0` is used. If you don't use any of the health checks, then
2958
3113
  # `healthCheckGracePeriodSeconds` is unused.
3114
+ #
3115
+ # If your service's tasks take a while to start and respond to health
3116
+ # checks, you can specify a health check grace period of up to
3117
+ # 2,147,483,647 seconds (about 69 years). During that time, the Amazon
3118
+ # ECS service scheduler ignores health check status. This grace period
3119
+ # can prevent the service scheduler from marking tasks as unhealthy
3120
+ # and stopping them before they have time to come up.
2959
3121
  # @return [Integer]
2960
3122
  #
2961
3123
  # @!attribute [rw] scheduling_strategy
@@ -3438,10 +3600,17 @@ module Aws::ECS
3438
3600
  # provider to delete.
3439
3601
  # @return [String]
3440
3602
  #
3603
+ # @!attribute [rw] cluster
3604
+ # The name of the cluster that contains the capacity provider to
3605
+ # delete. Managed instances capacity providers are cluster-scoped and
3606
+ # can only be deleted from their associated cluster.
3607
+ # @return [String]
3608
+ #
3441
3609
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProviderRequest AWS API Documentation
3442
3610
  #
3443
3611
  class DeleteCapacityProviderRequest < Struct.new(
3444
- :capacity_provider)
3612
+ :capacity_provider,
3613
+ :cluster)
3445
3614
  SENSITIVE = []
3446
3615
  include Aws::Structure
3447
3616
  end
@@ -3976,7 +4145,7 @@ module Aws::ECS
3976
4145
  # stops the unhealthy tasks one-by-one — using the
3977
4146
  # `minimumHealthyPercent` as a constraint — to clear up capacity to
3978
4147
  # launch replacement tasks. For more information about how the
3979
- # scheduler replaces unhealthy tasks, see [Amazon ECS services][1].
4148
+ # scheduler replaces unhealthy tasks, see [Amazon ECS services][1] .
3980
4149
  #
3981
4150
  # For services that *do not* use a load balancer, the following should
3982
4151
  # be noted:
@@ -4308,8 +4477,9 @@ module Aws::ECS
4308
4477
  # @return [Array<String>]
4309
4478
  #
4310
4479
  # @!attribute [rw] hook_details
4311
- # Use this field to specify custom parameters that Amazon ECS will
4312
- # pass to your hook target invocations (such as a Lambda function).
4480
+ # The details of the deployment lifecycle hook. This provides
4481
+ # additional configuration for how the hook should be executed during
4482
+ # deployment operations on Amazon ECS Managed Instances.
4313
4483
  # @return [Hash,Array,String,Numeric,Boolean]
4314
4484
  #
4315
4485
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentLifecycleHook AWS API Documentation
@@ -4409,6 +4579,12 @@ module Aws::ECS
4409
4579
  # in an action.
4410
4580
  # @return [Array<String>]
4411
4581
  #
4582
+ # @!attribute [rw] cluster
4583
+ # The name of the cluster to describe capacity providers for. When
4584
+ # specified, only capacity providers associated with this cluster are
4585
+ # returned, including Amazon ECS Managed Instances capacity providers.
4586
+ # @return [String]
4587
+ #
4412
4588
  # @!attribute [rw] include
4413
4589
  # Specifies whether or not you want to see the resource tags for the
4414
4590
  # capacity provider. If `TAGS` is specified, the tags are included in
@@ -4446,6 +4622,7 @@ module Aws::ECS
4446
4622
  #
4447
4623
  class DescribeCapacityProvidersRequest < Struct.new(
4448
4624
  :capacity_providers,
4625
+ :cluster,
4449
4626
  :include,
4450
4627
  :max_results,
4451
4628
  :next_token)
@@ -5945,6 +6122,333 @@ module Aws::ECS
5945
6122
  include Aws::Structure
5946
6123
  end
5947
6124
 
6125
+ # The launch template configuration for Amazon ECS Managed Instances.
6126
+ # This defines how Amazon ECS launches Amazon EC2 instances, including
6127
+ # the instance profile for your tasks, network and storage
6128
+ # configuration, capacity options, and instance requirements for
6129
+ # flexible instance type selection.
6130
+ #
6131
+ # @!attribute [rw] ec2_instance_profile_arn
6132
+ # The Amazon Resource Name (ARN) of the instance profile that Amazon
6133
+ # ECS applies to Amazon ECS Managed Instances. This instance profile
6134
+ # must include the necessary permissions for your tasks to access
6135
+ # Amazon Web Services services and resources.
6136
+ #
6137
+ # For more information, see [Amazon ECS instance profile for Managed
6138
+ # Instances][1] in the *Amazon ECS Developer Guide*.
6139
+ #
6140
+ #
6141
+ #
6142
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html
6143
+ # @return [String]
6144
+ #
6145
+ # @!attribute [rw] network_configuration
6146
+ # The network configuration for Amazon ECS Managed Instances. This
6147
+ # specifies the subnets and security groups that instances use for
6148
+ # network connectivity.
6149
+ # @return [Types::ManagedInstancesNetworkConfiguration]
6150
+ #
6151
+ # @!attribute [rw] storage_configuration
6152
+ # The storage configuration for Amazon ECS Managed Instances. This
6153
+ # defines the root volume size and type for the instances.
6154
+ # @return [Types::ManagedInstancesStorageConfiguration]
6155
+ #
6156
+ # @!attribute [rw] monitoring
6157
+ # CloudWatch provides two categories of monitoring: basic monitoring
6158
+ # and detailed monitoring. By default, your managed instance is
6159
+ # configured for basic monitoring. You can optionally enable detailed
6160
+ # monitoring to help you more quickly identify and act on operational
6161
+ # issues. You can enable or turn off detailed monitoring at launch or
6162
+ # when the managed instance is running or stopped. For more
6163
+ # information, see [Detailed monitoring for Amazon ECS Managed
6164
+ # Instances][1] in the Amazon ECS Developer Guide.
6165
+ #
6166
+ #
6167
+ #
6168
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html
6169
+ # @return [String]
6170
+ #
6171
+ # @!attribute [rw] instance_requirements
6172
+ # The instance requirements. You can specify:
6173
+ #
6174
+ # * The instance types
6175
+ #
6176
+ # * Instance requirements such as vCPU count, memory, network
6177
+ # performance, and accelerator specifications
6178
+ #
6179
+ # Amazon ECS automatically selects the instances that match the
6180
+ # specified criteria.
6181
+ # @return [Types::InstanceRequirementsRequest]
6182
+ #
6183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/InstanceLaunchTemplate AWS API Documentation
6184
+ #
6185
+ class InstanceLaunchTemplate < Struct.new(
6186
+ :ec2_instance_profile_arn,
6187
+ :network_configuration,
6188
+ :storage_configuration,
6189
+ :monitoring,
6190
+ :instance_requirements)
6191
+ SENSITIVE = []
6192
+ include Aws::Structure
6193
+ end
6194
+
6195
+ # The updated launch template configuration for Amazon ECS Managed
6196
+ # Instances. You can modify the instance profile, network configuration,
6197
+ # storage settings, and instance requirements. Changes apply to new
6198
+ # instances launched after the update.
6199
+ #
6200
+ # For more information, see [Store instance launch parameters in Amazon
6201
+ # EC2 launch templates][1] in the *Amazon EC2 User Guide*.
6202
+ #
6203
+ #
6204
+ #
6205
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
6206
+ #
6207
+ # @!attribute [rw] ec2_instance_profile_arn
6208
+ # The updated Amazon Resource Name (ARN) of the instance profile. The
6209
+ # new instance profile must have the necessary permissions for your
6210
+ # tasks.
6211
+ #
6212
+ # For more information, see [Amazon ECS instance profile for Managed
6213
+ # Instances][1] in the *Amazon ECS Developer Guide*.
6214
+ #
6215
+ #
6216
+ #
6217
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html
6218
+ # @return [String]
6219
+ #
6220
+ # @!attribute [rw] network_configuration
6221
+ # The updated network configuration for Amazon ECS Managed Instances.
6222
+ # Changes to subnets and security groups affect new instances launched
6223
+ # after the update.
6224
+ # @return [Types::ManagedInstancesNetworkConfiguration]
6225
+ #
6226
+ # @!attribute [rw] storage_configuration
6227
+ # The updated storage configuration for Amazon ECS Managed Instances.
6228
+ # Changes to storage settings apply to new instances launched after
6229
+ # the update.
6230
+ # @return [Types::ManagedInstancesStorageConfiguration]
6231
+ #
6232
+ # @!attribute [rw] monitoring
6233
+ # CloudWatch provides two categories of monitoring: basic monitoring
6234
+ # and detailed monitoring. By default, your managed instance is
6235
+ # configured for basic monitoring. You can optionally enable detailed
6236
+ # monitoring to help you more quickly identify and act on operational
6237
+ # issues. You can enable or turn off detailed monitoring at launch or
6238
+ # when the managed instance is running or stopped. For more
6239
+ # information, see [Detailed monitoring for Amazon ECS Managed
6240
+ # Instances][1] in the Amazon ECS Developer Guide.
6241
+ #
6242
+ #
6243
+ #
6244
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html
6245
+ # @return [String]
6246
+ #
6247
+ # @!attribute [rw] instance_requirements
6248
+ # The updated instance requirements for attribute-based instance type
6249
+ # selection. Changes to instance requirements affect which instance
6250
+ # types Amazon ECS selects for new instances.
6251
+ # @return [Types::InstanceRequirementsRequest]
6252
+ #
6253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/InstanceLaunchTemplateUpdate AWS API Documentation
6254
+ #
6255
+ class InstanceLaunchTemplateUpdate < Struct.new(
6256
+ :ec2_instance_profile_arn,
6257
+ :network_configuration,
6258
+ :storage_configuration,
6259
+ :monitoring,
6260
+ :instance_requirements)
6261
+ SENSITIVE = []
6262
+ include Aws::Structure
6263
+ end
6264
+
6265
+ # The instance requirements for attribute-based instance type selection.
6266
+ # Instead of specifying exact instance types, you define requirements
6267
+ # such as vCPU count, memory size, network performance, and accelerator
6268
+ # specifications. Amazon ECS automatically selects Amazon EC2 instance
6269
+ # types that match these requirements, providing flexibility and helping
6270
+ # to mitigate capacity constraints.
6271
+ #
6272
+ # @!attribute [rw] v_cpu_count
6273
+ # The minimum and maximum number of vCPUs for the instance types.
6274
+ # Amazon ECS selects instance types that have vCPU counts within this
6275
+ # range.
6276
+ # @return [Types::VCpuCountRangeRequest]
6277
+ #
6278
+ # @!attribute [rw] memory_mi_b
6279
+ # The minimum and maximum amount of memory in mebibytes (MiB) for the
6280
+ # instance types. Amazon ECS selects instance types that have memory
6281
+ # within this range.
6282
+ # @return [Types::MemoryMiBRequest]
6283
+ #
6284
+ # @!attribute [rw] cpu_manufacturers
6285
+ # The CPU manufacturers to include or exclude. You can specify
6286
+ # `intel`, `amd`, or `amazon-web-services` to control which CPU types
6287
+ # are used for your workloads.
6288
+ # @return [Array<String>]
6289
+ #
6290
+ # @!attribute [rw] memory_gi_b_per_v_cpu
6291
+ # The minimum and maximum amount of memory per vCPU in gibibytes
6292
+ # (GiB). This helps ensure that instance types have the appropriate
6293
+ # memory-to-CPU ratio for your workloads.
6294
+ # @return [Types::MemoryGiBPerVCpuRequest]
6295
+ #
6296
+ # @!attribute [rw] excluded_instance_types
6297
+ # The instance types to exclude from selection. Use this to prevent
6298
+ # Amazon ECS from selecting specific instance types that may not be
6299
+ # suitable for your workloads.
6300
+ # @return [Array<String>]
6301
+ #
6302
+ # @!attribute [rw] instance_generations
6303
+ # The instance generations to include. You can specify `current` to
6304
+ # use the latest generation instances, or `previous` to include
6305
+ # previous generation instances for cost optimization.
6306
+ # @return [Array<String>]
6307
+ #
6308
+ # @!attribute [rw] spot_max_price_percentage_over_lowest_price
6309
+ # The maximum price for Spot instances as a percentage over the lowest
6310
+ # priced On-Demand instance. This helps control Spot instance costs
6311
+ # while maintaining access to capacity.
6312
+ # @return [Integer]
6313
+ #
6314
+ # @!attribute [rw] on_demand_max_price_percentage_over_lowest_price
6315
+ # The price protection threshold for On-Demand Instances, as a
6316
+ # percentage higher than an identified On-Demand price. The identified
6317
+ # On-Demand price is the price of the lowest priced current generation
6318
+ # C, M, or R instance type with your specified attributes. If no
6319
+ # current generation C, M, or R instance type matches your attributes,
6320
+ # then the identified price is from either the lowest priced current
6321
+ # generation instance types or, failing that, the lowest priced
6322
+ # previous generation instance types that match your attributes. When
6323
+ # Amazon ECS selects instance types with your attributes, we will
6324
+ # exclude instance types whose price exceeds your specified threshold.
6325
+ # @return [Integer]
6326
+ #
6327
+ # @!attribute [rw] bare_metal
6328
+ # Indicates whether to include bare metal instance types. Set to
6329
+ # `included` to allow bare metal instances, `excluded` to exclude
6330
+ # them, or `required` to use only bare metal instances.
6331
+ # @return [String]
6332
+ #
6333
+ # @!attribute [rw] burstable_performance
6334
+ # Indicates whether to include burstable performance instance types
6335
+ # (T2, T3, T3a, T4g). Set to `included` to allow burstable instances,
6336
+ # `excluded` to exclude them, or `required` to use only burstable
6337
+ # instances.
6338
+ # @return [String]
6339
+ #
6340
+ # @!attribute [rw] require_hibernate_support
6341
+ # Indicates whether the instance types must support hibernation. When
6342
+ # set to `true`, only instance types that support hibernation are
6343
+ # selected.
6344
+ # @return [Boolean]
6345
+ #
6346
+ # @!attribute [rw] network_interface_count
6347
+ # The minimum and maximum number of network interfaces for the
6348
+ # instance types. This is useful for workloads that require multiple
6349
+ # network interfaces.
6350
+ # @return [Types::NetworkInterfaceCountRequest]
6351
+ #
6352
+ # @!attribute [rw] local_storage
6353
+ # Indicates whether to include instance types with local storage. Set
6354
+ # to `included` to allow local storage, `excluded` to exclude it, or
6355
+ # `required` to use only instances with local storage.
6356
+ # @return [String]
6357
+ #
6358
+ # @!attribute [rw] local_storage_types
6359
+ # The local storage types to include. You can specify `hdd` for hard
6360
+ # disk drives, `ssd` for solid state drives, or both.
6361
+ # @return [Array<String>]
6362
+ #
6363
+ # @!attribute [rw] total_local_storage_gb
6364
+ # The minimum and maximum total local storage in gigabytes (GB) for
6365
+ # instance types with local storage.
6366
+ # @return [Types::TotalLocalStorageGBRequest]
6367
+ #
6368
+ # @!attribute [rw] baseline_ebs_bandwidth_mbps
6369
+ # The minimum and maximum baseline Amazon EBS bandwidth in megabits
6370
+ # per second (Mbps). This is important for workloads with high storage
6371
+ # I/O requirements.
6372
+ # @return [Types::BaselineEbsBandwidthMbpsRequest]
6373
+ #
6374
+ # @!attribute [rw] accelerator_types
6375
+ # The accelerator types to include. You can specify `gpu` for graphics
6376
+ # processing units, `fpga` for field programmable gate arrays, or
6377
+ # `inference` for machine learning inference accelerators.
6378
+ # @return [Array<String>]
6379
+ #
6380
+ # @!attribute [rw] accelerator_count
6381
+ # The minimum and maximum number of accelerators for the instance
6382
+ # types. This is used when you need instances with specific numbers of
6383
+ # GPUs or other accelerators.
6384
+ # @return [Types::AcceleratorCountRequest]
6385
+ #
6386
+ # @!attribute [rw] accelerator_manufacturers
6387
+ # The accelerator manufacturers to include. You can specify `nvidia`,
6388
+ # `amd`, `amazon-web-services`, or `xilinx` depending on your
6389
+ # accelerator requirements.
6390
+ # @return [Array<String>]
6391
+ #
6392
+ # @!attribute [rw] accelerator_names
6393
+ # The specific accelerator names to include. For example, you can
6394
+ # specify `a100`, `v100`, `k80`, or other specific accelerator models.
6395
+ # @return [Array<String>]
6396
+ #
6397
+ # @!attribute [rw] accelerator_total_memory_mi_b
6398
+ # The minimum and maximum total accelerator memory in mebibytes (MiB).
6399
+ # This is important for GPU workloads that require specific amounts of
6400
+ # video memory.
6401
+ # @return [Types::AcceleratorTotalMemoryMiBRequest]
6402
+ #
6403
+ # @!attribute [rw] network_bandwidth_gbps
6404
+ # The minimum and maximum network bandwidth in gigabits per second
6405
+ # (Gbps). This is crucial for network-intensive workloads that require
6406
+ # high throughput.
6407
+ # @return [Types::NetworkBandwidthGbpsRequest]
6408
+ #
6409
+ # @!attribute [rw] allowed_instance_types
6410
+ # The instance types to include in the selection. When specified,
6411
+ # Amazon ECS only considers these instance types, subject to the other
6412
+ # requirements specified.
6413
+ # @return [Array<String>]
6414
+ #
6415
+ # @!attribute [rw] max_spot_price_as_percentage_of_optimal_on_demand_price
6416
+ # The maximum price for Spot instances as a percentage of the optimal
6417
+ # On-Demand price. This provides more precise cost control for Spot
6418
+ # instance selection.
6419
+ # @return [Integer]
6420
+ #
6421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/InstanceRequirementsRequest AWS API Documentation
6422
+ #
6423
+ class InstanceRequirementsRequest < Struct.new(
6424
+ :v_cpu_count,
6425
+ :memory_mi_b,
6426
+ :cpu_manufacturers,
6427
+ :memory_gi_b_per_v_cpu,
6428
+ :excluded_instance_types,
6429
+ :instance_generations,
6430
+ :spot_max_price_percentage_over_lowest_price,
6431
+ :on_demand_max_price_percentage_over_lowest_price,
6432
+ :bare_metal,
6433
+ :burstable_performance,
6434
+ :require_hibernate_support,
6435
+ :network_interface_count,
6436
+ :local_storage,
6437
+ :local_storage_types,
6438
+ :total_local_storage_gb,
6439
+ :baseline_ebs_bandwidth_mbps,
6440
+ :accelerator_types,
6441
+ :accelerator_count,
6442
+ :accelerator_manufacturers,
6443
+ :accelerator_names,
6444
+ :accelerator_total_memory_mi_b,
6445
+ :network_bandwidth_gbps,
6446
+ :allowed_instance_types,
6447
+ :max_spot_price_as_percentage_of_optimal_on_demand_price)
6448
+ SENSITIVE = []
6449
+ include Aws::Structure
6450
+ end
6451
+
5948
6452
  # The specified parameter isn't valid. Review the available parameters
5949
6453
  # for the API request.
5950
6454
  #
@@ -7505,6 +8009,103 @@ module Aws::ECS
7505
8009
  include Aws::Structure
7506
8010
  end
7507
8011
 
8012
+ # The network configuration for Amazon ECS Managed Instances. This
8013
+ # specifies the VPC subnets and security groups that instances use for
8014
+ # network connectivity. Amazon ECS Managed Instances support multiple
8015
+ # network modes including `awsvpc` (instances receive ENIs for task
8016
+ # isolation), `host` (instances share network namespace with tasks), and
8017
+ # `none` (no external network connectivity), ensuring backward
8018
+ # compatibility for migrating workloads from Fargate or Amazon EC2.
8019
+ #
8020
+ # @!attribute [rw] subnets
8021
+ # The list of subnet IDs where Amazon ECS can launch Amazon ECS
8022
+ # Managed Instances. Instances are distributed across the specified
8023
+ # subnets for high availability. All subnets must be in the same VPC.
8024
+ # @return [Array<String>]
8025
+ #
8026
+ # @!attribute [rw] security_groups
8027
+ # The list of security group IDs to apply to Amazon ECS Managed
8028
+ # Instances. These security groups control the network traffic allowed
8029
+ # to and from the instances.
8030
+ # @return [Array<String>]
8031
+ #
8032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesNetworkConfiguration AWS API Documentation
8033
+ #
8034
+ class ManagedInstancesNetworkConfiguration < Struct.new(
8035
+ :subnets,
8036
+ :security_groups)
8037
+ SENSITIVE = []
8038
+ include Aws::Structure
8039
+ end
8040
+
8041
+ # The configuration for a Amazon ECS Managed Instances provider. Amazon
8042
+ # ECS uses this configuration to automatically launch, manage, and
8043
+ # terminate Amazon EC2 instances on your behalf. Managed instances
8044
+ # provide access to the full range of Amazon EC2 instance types and
8045
+ # features while offloading infrastructure management to Amazon Web
8046
+ # Services.
8047
+ #
8048
+ # @!attribute [rw] infrastructure_role_arn
8049
+ # The Amazon Resource Name (ARN) of the infrastructure role that
8050
+ # Amazon ECS assumes to manage instances. This role must include
8051
+ # permissions for Amazon EC2 instance lifecycle management,
8052
+ # networking, and any additional Amazon Web Services services required
8053
+ # for your workloads.
8054
+ #
8055
+ # For more information, see [Amazon ECS infrastructure IAM role][1] in
8056
+ # the *Amazon ECS Developer Guide*.
8057
+ #
8058
+ #
8059
+ #
8060
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
8061
+ # @return [String]
8062
+ #
8063
+ # @!attribute [rw] instance_launch_template
8064
+ # The launch template that defines how Amazon ECS launches Amazon ECS
8065
+ # Managed Instances. This includes the instance profile for your
8066
+ # tasks, network and storage configuration, and instance requirements
8067
+ # that determine which Amazon EC2 instance types can be used.
8068
+ #
8069
+ # For more information, see [Store instance launch parameters in
8070
+ # Amazon EC2 launch templates][1] in the *Amazon EC2 User Guide*.
8071
+ #
8072
+ #
8073
+ #
8074
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
8075
+ # @return [Types::InstanceLaunchTemplate]
8076
+ #
8077
+ # @!attribute [rw] propagate_tags
8078
+ # Determines whether tags from the capacity provider are automatically
8079
+ # applied to Amazon ECS Managed Instances. This helps with cost
8080
+ # allocation and resource management by ensuring consistent tagging
8081
+ # across your infrastructure.
8082
+ # @return [String]
8083
+ #
8084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesProvider AWS API Documentation
8085
+ #
8086
+ class ManagedInstancesProvider < Struct.new(
8087
+ :infrastructure_role_arn,
8088
+ :instance_launch_template,
8089
+ :propagate_tags)
8090
+ SENSITIVE = []
8091
+ include Aws::Structure
8092
+ end
8093
+
8094
+ # The storage configuration for Amazon ECS Managed Instances. This
8095
+ # defines the root volume configuration for the instances.
8096
+ #
8097
+ # @!attribute [rw] storage_size_gi_b
8098
+ # The size of the tasks volume.
8099
+ # @return [Integer]
8100
+ #
8101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedInstancesStorageConfiguration AWS API Documentation
8102
+ #
8103
+ class ManagedInstancesStorageConfiguration < Struct.new(
8104
+ :storage_size_gi_b)
8105
+ SENSITIVE = []
8106
+ include Aws::Structure
8107
+ end
8108
+
7508
8109
  # The managed scaling settings for the Auto Scaling group capacity
7509
8110
  # provider.
7510
8111
  #
@@ -7620,6 +8221,52 @@ module Aws::ECS
7620
8221
  include Aws::Structure
7621
8222
  end
7622
8223
 
8224
+ # The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
8225
+ # This helps ensure that instance types have the appropriate
8226
+ # memory-to-CPU ratio for your workloads.
8227
+ #
8228
+ # @!attribute [rw] min
8229
+ # The minimum amount of memory per vCPU in GiB. Instance types with a
8230
+ # lower memory-to-vCPU ratio are excluded from selection.
8231
+ # @return [Float]
8232
+ #
8233
+ # @!attribute [rw] max
8234
+ # The maximum amount of memory per vCPU in GiB. Instance types with a
8235
+ # higher memory-to-vCPU ratio are excluded from selection.
8236
+ # @return [Float]
8237
+ #
8238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/MemoryGiBPerVCpuRequest AWS API Documentation
8239
+ #
8240
+ class MemoryGiBPerVCpuRequest < Struct.new(
8241
+ :min,
8242
+ :max)
8243
+ SENSITIVE = []
8244
+ include Aws::Structure
8245
+ end
8246
+
8247
+ # The minimum and maximum amount of memory in mebibytes (MiB) for
8248
+ # instance type selection. This ensures that selected instance types
8249
+ # have adequate memory for your workloads.
8250
+ #
8251
+ # @!attribute [rw] min
8252
+ # The minimum amount of memory in MiB. Instance types with less memory
8253
+ # than this value are excluded from selection.
8254
+ # @return [Integer]
8255
+ #
8256
+ # @!attribute [rw] max
8257
+ # The maximum amount of memory in MiB. Instance types with more memory
8258
+ # than this value are excluded from selection.
8259
+ # @return [Integer]
8260
+ #
8261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/MemoryMiBRequest AWS API Documentation
8262
+ #
8263
+ class MemoryMiBRequest < Struct.new(
8264
+ :min,
8265
+ :max)
8266
+ SENSITIVE = []
8267
+ include Aws::Structure
8268
+ end
8269
+
7623
8270
  # Amazon ECS can't determine the current version of the Amazon ECS
7624
8271
  # container agent on the container instance and doesn't have enough
7625
8272
  # information to proceed with an update. This could be because the agent
@@ -7664,6 +8311,29 @@ module Aws::ECS
7664
8311
  #
7665
8312
  class NamespaceNotFoundException < Aws::EmptyStructure; end
7666
8313
 
8314
+ # The minimum and maximum network bandwidth in gigabits per second
8315
+ # (Gbps) for instance type selection. This is important for
8316
+ # network-intensive workloads.
8317
+ #
8318
+ # @!attribute [rw] min
8319
+ # The minimum network bandwidth in Gbps. Instance types with lower
8320
+ # network bandwidth are excluded from selection.
8321
+ # @return [Float]
8322
+ #
8323
+ # @!attribute [rw] max
8324
+ # The maximum network bandwidth in Gbps. Instance types with higher
8325
+ # network bandwidth are excluded from selection.
8326
+ # @return [Float]
8327
+ #
8328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NetworkBandwidthGbpsRequest AWS API Documentation
8329
+ #
8330
+ class NetworkBandwidthGbpsRequest < Struct.new(
8331
+ :min,
8332
+ :max)
8333
+ SENSITIVE = []
8334
+ include Aws::Structure
8335
+ end
8336
+
7667
8337
  # Details on the network bindings between a container and its host
7668
8338
  # container instance. After a task reaches the `RUNNING` status, manual
7669
8339
  # and automatic host and container port assignments are visible in the
@@ -7814,6 +8484,29 @@ module Aws::ECS
7814
8484
  include Aws::Structure
7815
8485
  end
7816
8486
 
8487
+ # The minimum and maximum number of network interfaces for instance type
8488
+ # selection. This is useful for workloads that require multiple network
8489
+ # interfaces.
8490
+ #
8491
+ # @!attribute [rw] min
8492
+ # The minimum number of network interfaces. Instance types that
8493
+ # support fewer network interfaces are excluded from selection.
8494
+ # @return [Integer]
8495
+ #
8496
+ # @!attribute [rw] max
8497
+ # The maximum number of network interfaces. Instance types that
8498
+ # support more network interfaces are excluded from selection.
8499
+ # @return [Integer]
8500
+ #
8501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NetworkInterfaceCountRequest AWS API Documentation
8502
+ #
8503
+ class NetworkInterfaceCountRequest < Struct.new(
8504
+ :min,
8505
+ :max)
8506
+ SENSITIVE = []
8507
+ include Aws::Structure
8508
+ end
8509
+
7817
8510
  # There's no update available for this Amazon ECS container agent. This
7818
8511
  # might be because the agent is already running the latest version or
7819
8512
  # because it's so old that there's no update path to the current
@@ -9606,8 +10299,8 @@ module Aws::ECS
9606
10299
  # @!attribute [rw] volume_configurations
9607
10300
  # The details of the volume that was `configuredAtLaunch`. You can
9608
10301
  # configure the size, volumeType, IOPS, throughput, snapshot and
9609
- # encryption in [TaskManagedEBSVolumeConfiguration][1]. The `name` of
9610
- # the volume must match the `name` from the task definition.
10302
+ # encryption in in [TaskManagedEBSVolumeConfiguration][1]. The `name`
10303
+ # of the volume must match the `name` from the task definition.
9611
10304
  #
9612
10305
  #
9613
10306
  #
@@ -10047,19 +10740,6 @@ module Aws::ECS
10047
10740
  # Availability Zones][1] in the <i> <i>Amazon Elastic Container
10048
10741
  # Service Developer Guide</i> </i>.
10049
10742
  #
10050
- # The default behavior of `AvailabilityZoneRebalancing` differs
10051
- # between create and update requests:
10052
- #
10053
- # * For create service requests, when no value is specified for
10054
- # `AvailabilityZoneRebalancing`, Amazon ECS defaults the value to
10055
- # `ENABLED`.
10056
- #
10057
- # * For update service requests, when no value is specified for
10058
- # `AvailabilityZoneRebalancing`, Amazon ECS defaults to the existing
10059
- # service’s `AvailabilityZoneRebalancing` value. If the service
10060
- # never had an `AvailabilityZoneRebalancing` value set, Amazon ECS
10061
- # treats this as `DISABLED`.
10062
- #
10063
10743
  #
10064
10744
  #
10065
10745
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html
@@ -13553,6 +14233,29 @@ module Aws::ECS
13553
14233
  include Aws::Structure
13554
14234
  end
13555
14235
 
14236
+ # The minimum and maximum total local storage in gigabytes (GB) for
14237
+ # instance types with local storage. This is useful for workloads that
14238
+ # require local storage for temporary data or caching.
14239
+ #
14240
+ # @!attribute [rw] min
14241
+ # The minimum total local storage in GB. Instance types with less
14242
+ # local storage are excluded from selection.
14243
+ # @return [Float]
14244
+ #
14245
+ # @!attribute [rw] max
14246
+ # The maximum total local storage in GB. Instance types with more
14247
+ # local storage are excluded from selection.
14248
+ # @return [Float]
14249
+ #
14250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TotalLocalStorageGBRequest AWS API Documentation
14251
+ #
14252
+ class TotalLocalStorageGBRequest < Struct.new(
14253
+ :min,
14254
+ :max)
14255
+ SENSITIVE = []
14256
+ include Aws::Structure
14257
+ end
14258
+
13556
14259
  # The `ulimit` settings to pass to the container.
13557
14260
  #
13558
14261
  # Amazon ECS tasks hosted on Fargate use the default resource limit
@@ -13625,16 +14328,31 @@ module Aws::ECS
13625
14328
  # The name of the capacity provider to update.
13626
14329
  # @return [String]
13627
14330
  #
14331
+ # @!attribute [rw] cluster
14332
+ # The name of the cluster that contains the capacity provider to
14333
+ # update. Managed instances capacity providers are cluster-scoped and
14334
+ # can only be updated within their associated cluster.
14335
+ # @return [String]
14336
+ #
13628
14337
  # @!attribute [rw] auto_scaling_group_provider
13629
14338
  # An object that represent the parameters to update for the Auto
13630
14339
  # Scaling group capacity provider.
13631
14340
  # @return [Types::AutoScalingGroupProviderUpdate]
13632
14341
  #
14342
+ # @!attribute [rw] managed_instances_provider
14343
+ # The updated configuration for the Amazon ECS Managed Instances
14344
+ # provider. You can modify the infrastructure role, instance launch
14345
+ # template, and tag propagation settings. Changes take effect for new
14346
+ # instances launched after the update.
14347
+ # @return [Types::UpdateManagedInstancesProviderConfiguration]
14348
+ #
13633
14349
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderRequest AWS API Documentation
13634
14350
  #
13635
14351
  class UpdateCapacityProviderRequest < Struct.new(
13636
14352
  :name,
13637
- :auto_scaling_group_provider)
14353
+ :cluster,
14354
+ :auto_scaling_group_provider,
14355
+ :managed_instances_provider)
13638
14356
  SENSITIVE = []
13639
14357
  include Aws::Structure
13640
14358
  end
@@ -13845,6 +14563,45 @@ module Aws::ECS
13845
14563
  #
13846
14564
  class UpdateInProgressException < Aws::EmptyStructure; end
13847
14565
 
14566
+ # The updated configuration for a Amazon ECS Managed Instances provider.
14567
+ # You can modify the infrastructure role, instance launch template, and
14568
+ # tag propagation settings. Changes apply to new instances launched
14569
+ # after the update.
14570
+ #
14571
+ # @!attribute [rw] infrastructure_role_arn
14572
+ # The updated Amazon Resource Name (ARN) of the infrastructure role.
14573
+ # The new role must have the necessary permissions to manage instances
14574
+ # and access required Amazon Web Services services.
14575
+ #
14576
+ # For more information, see [Amazon ECS infrastructure IAM role][1] in
14577
+ # the *Amazon ECS Developer Guide*.
14578
+ #
14579
+ #
14580
+ #
14581
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html
14582
+ # @return [String]
14583
+ #
14584
+ # @!attribute [rw] instance_launch_template
14585
+ # The updated launch template configuration. Changes to the launch
14586
+ # template affect new instances launched after the update, while
14587
+ # existing instances continue to use their original configuration.
14588
+ # @return [Types::InstanceLaunchTemplateUpdate]
14589
+ #
14590
+ # @!attribute [rw] propagate_tags
14591
+ # The updated tag propagation setting. When changed, this affects only
14592
+ # new instances launched after the update.
14593
+ # @return [String]
14594
+ #
14595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateManagedInstancesProviderConfiguration AWS API Documentation
14596
+ #
14597
+ class UpdateManagedInstancesProviderConfiguration < Struct.new(
14598
+ :infrastructure_role_arn,
14599
+ :instance_launch_template,
14600
+ :propagate_tags)
14601
+ SENSITIVE = []
14602
+ include Aws::Structure
14603
+ end
14604
+
13848
14605
  # @!attribute [rw] cluster
13849
14606
  # The short name or full Amazon Resource Name (ARN) of the cluster
13850
14607
  # that hosts the service that the task set exists in.
@@ -13969,19 +14726,6 @@ module Aws::ECS
13969
14726
  # Availability Zones][1] in the <i> <i>Amazon Elastic Container
13970
14727
  # Service Developer Guide</i> </i>.
13971
14728
  #
13972
- # The default behavior of `AvailabilityZoneRebalancing` differs
13973
- # between create and update requests:
13974
- #
13975
- # * For create service requests, when no value is specified for
13976
- # `AvailabilityZoneRebalancing`, Amazon ECS defaults the value to
13977
- # `ENABLED`.
13978
- #
13979
- # * For update service requests, when no value is specified for
13980
- # `AvailabilityZoneRebalancing`, Amazon ECS defaults to the existing
13981
- # service’s `AvailabilityZoneRebalancing` value. If the service
13982
- # never had an `AvailabilityZoneRebalancing` value set, Amazon ECS
13983
- # treats this as `DISABLED`.
13984
- #
13985
14729
  # This parameter doesn't trigger a new service deployment.
13986
14730
  #
13987
14731
  #
@@ -14370,6 +15114,29 @@ module Aws::ECS
14370
15114
  include Aws::Structure
14371
15115
  end
14372
15116
 
15117
+ # The minimum and maximum number of vCPUs for instance type selection.
15118
+ # This allows you to specify a range of vCPU counts that meet your
15119
+ # workload requirements.
15120
+ #
15121
+ # @!attribute [rw] min
15122
+ # The minimum number of vCPUs. Instance types with fewer vCPUs than
15123
+ # this value are excluded from selection.
15124
+ # @return [Integer]
15125
+ #
15126
+ # @!attribute [rw] max
15127
+ # The maximum number of vCPUs. Instance types with more vCPUs than
15128
+ # this value are excluded from selection.
15129
+ # @return [Integer]
15130
+ #
15131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/VCpuCountRangeRequest AWS API Documentation
15132
+ #
15133
+ class VCpuCountRangeRequest < Struct.new(
15134
+ :min,
15135
+ :max)
15136
+ SENSITIVE = []
15137
+ include Aws::Structure
15138
+ end
15139
+
14373
15140
  # The Docker and Amazon ECS container agent version information about a
14374
15141
  # container instance.
14375
15142
  #