aws-sdk-ecs 1.99.0 → 1.110.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -51,14 +51,6 @@ module Aws::ECS
51
51
 
52
52
  # An object representing a change in state for a task attachment.
53
53
  #
54
- # @note When making an API call, you may pass AttachmentStateChange
55
- # data as a hash:
56
- #
57
- # {
58
- # attachment_arn: "String", # required
59
- # status: "String", # required
60
- # }
61
- #
62
54
  # @!attribute [rw] attachment_arn
63
55
  # The Amazon Resource Name (ARN) of the attachment.
64
56
  # @return [String]
@@ -86,16 +78,6 @@ module Aws::ECS
86
78
  #
87
79
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes
88
80
  #
89
- # @note When making an API call, you may pass Attribute
90
- # data as a hash:
91
- #
92
- # {
93
- # name: "String", # required
94
- # value: "String",
95
- # target_type: "container-instance", # accepts container-instance
96
- # target_id: "String",
97
- # }
98
- #
99
81
  # @!attribute [rw] name
100
82
  # The name of the attribute. The `name` must contain between 1 and 128
101
83
  # characters. The name may contain letters (uppercase and lowercase),
@@ -108,7 +90,7 @@ module Aws::ECS
108
90
  # 128 characters. It can contain letters (uppercase and lowercase),
109
91
  # numbers, hyphens (-), underscores (\_), periods (.), at signs (@),
110
92
  # forward slashes (/), back slashes (\\), colons (:), or spaces. The
111
- # value can't can't start or end with a space.
93
+ # value can't start or end with a space.
112
94
  # @return [String]
113
95
  #
114
96
  # @!attribute [rw] target_type
@@ -143,21 +125,6 @@ module Aws::ECS
143
125
 
144
126
  # The details of the Auto Scaling group for the capacity provider.
145
127
  #
146
- # @note When making an API call, you may pass AutoScalingGroupProvider
147
- # data as a hash:
148
- #
149
- # {
150
- # auto_scaling_group_arn: "String", # required
151
- # managed_scaling: {
152
- # status: "ENABLED", # accepts ENABLED, DISABLED
153
- # target_capacity: 1,
154
- # minimum_scaling_step_size: 1,
155
- # maximum_scaling_step_size: 1,
156
- # instance_warmup_period: 1,
157
- # },
158
- # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
159
- # }
160
- #
161
128
  # @!attribute [rw] auto_scaling_group_arn
162
129
  # The Amazon Resource Name (ARN) that identifies the Auto Scaling
163
130
  # group.
@@ -206,20 +173,6 @@ module Aws::ECS
206
173
 
207
174
  # The details of the Auto Scaling group capacity provider to update.
208
175
  #
209
- # @note When making an API call, you may pass AutoScalingGroupProviderUpdate
210
- # data as a hash:
211
- #
212
- # {
213
- # managed_scaling: {
214
- # status: "ENABLED", # accepts ENABLED, DISABLED
215
- # target_capacity: 1,
216
- # minimum_scaling_step_size: 1,
217
- # maximum_scaling_step_size: 1,
218
- # instance_warmup_period: 1,
219
- # },
220
- # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
221
- # }
222
- #
223
176
  # @!attribute [rw] managed_scaling
224
177
  # The managed scaling settings for the Auto Scaling group capacity
225
178
  # provider.
@@ -260,15 +213,6 @@ module Aws::ECS
260
213
 
261
214
  # An object representing the networking details for a task or service.
262
215
  #
263
- # @note When making an API call, you may pass AwsVpcConfiguration
264
- # data as a hash:
265
- #
266
- # {
267
- # subnets: ["String"], # required
268
- # security_groups: ["String"],
269
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
270
- # }
271
- #
272
216
  # @!attribute [rw] subnets
273
217
  # The IDs of the subnets associated with the task or service. There's
274
218
  # a limit of 16 subnets that can be specified per
@@ -429,15 +373,6 @@ module Aws::ECS
429
373
  # A capacity provider strategy may contain a maximum of 6 capacity
430
374
  # providers.
431
375
  #
432
- # @note When making an API call, you may pass CapacityProviderStrategyItem
433
- # data as a hash:
434
- #
435
- # {
436
- # capacity_provider: "String", # required
437
- # weight: 1,
438
- # base: 1,
439
- # }
440
- #
441
376
  # @!attribute [rw] capacity_provider
442
377
  # The short name of the capacity provider.
443
378
  # @return [String]
@@ -506,11 +441,13 @@ module Aws::ECS
506
441
  # simultaneously.
507
442
  #
508
443
  # @!attribute [rw] cluster_arn
509
- # The Amazon Resource Name (ARN) that identifies the cluster. The ARN
510
- # contains the `arn:aws:ecs` namespace, followed by the Region of the
511
- # cluster, the Amazon Web Services account ID of the cluster owner,
512
- # the `cluster` namespace, and then the cluster name. For example,
513
- # `arn:aws:ecs:region:012345678910:cluster/test`.
444
+ # The Amazon Resource Name (ARN) that identifies the cluster. For more
445
+ # information about the ARN format, see [Amazon Resource Name
446
+ # (ARN)][1] in the *Amazon ECS Developer Guide*.
447
+ #
448
+ #
449
+ #
450
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
514
451
  # @return [String]
515
452
  #
516
453
  # @!attribute [rw] cluster_name
@@ -642,8 +579,8 @@ module Aws::ECS
642
579
  #
643
580
  # @!attribute [rw] attachments
644
581
  # The resources attached to a cluster. When using a capacity provider
645
- # with a cluster, the Auto Scaling plan that's created is returned as
646
- # a cluster attachment.
582
+ # with a cluster, the capacity provider and associated resources are
583
+ # returned as cluster attachments.
647
584
  # @return [Array<Types::Attachment>]
648
585
  #
649
586
  # @!attribute [rw] attachments_status
@@ -653,8 +590,6 @@ module Aws::ECS
653
590
  # UPDATE\_IN\_PROGRESS
654
591
  #
655
592
  # : The available capacity providers for the cluster are updating.
656
- # This occurs when the Auto Scaling plan is provisioning or
657
- # deprovisioning.
658
593
  #
659
594
  # UPDATE\_COMPLETE
660
595
  #
@@ -665,6 +600,30 @@ module Aws::ECS
665
600
  # : The capacity provider updates failed.
666
601
  # @return [String]
667
602
  #
603
+ # @!attribute [rw] service_connect_defaults
604
+ # Use this parameter to set a default Service Connect namespace. After
605
+ # you set a default Service Connect namespace, any new services with
606
+ # Service Connect turned on that are created in the cluster are added
607
+ # as client services in the namespace. This setting only applies to
608
+ # new services that set the `enabled` parameter to `true` in the
609
+ # `ServiceConnectConfiguration`. You can set the namespace of each
610
+ # service individually in the `ServiceConnectConfiguration` to
611
+ # override this default parameter.
612
+ #
613
+ # Tasks that run in a namespace can use short names to connect to
614
+ # services in the namespace. Tasks can connect to services across all
615
+ # of the clusters in the namespace. Tasks connect through a managed
616
+ # proxy container that collects logs and metrics for increased
617
+ # visibility. Only the tasks that Amazon ECS services create are
618
+ # supported with Service Connect. For more information, see [Service
619
+ # Connect][1] in the *Amazon Elastic Container Service Developer
620
+ # Guide*.
621
+ #
622
+ #
623
+ #
624
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
625
+ # @return [Types::ClusterServiceConnectDefaults]
626
+ #
668
627
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Cluster AWS API Documentation
669
628
  #
670
629
  class Cluster < Struct.new(
@@ -682,30 +641,14 @@ module Aws::ECS
682
641
  :capacity_providers,
683
642
  :default_capacity_provider_strategy,
684
643
  :attachments,
685
- :attachments_status)
644
+ :attachments_status,
645
+ :service_connect_defaults)
686
646
  SENSITIVE = []
687
647
  include Aws::Structure
688
648
  end
689
649
 
690
650
  # The execute command configuration for the cluster.
691
651
  #
692
- # @note When making an API call, you may pass ClusterConfiguration
693
- # data as a hash:
694
- #
695
- # {
696
- # execute_command_configuration: {
697
- # kms_key_id: "String",
698
- # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
699
- # log_configuration: {
700
- # cloud_watch_log_group_name: "String",
701
- # cloud_watch_encryption_enabled: false,
702
- # s3_bucket_name: "String",
703
- # s3_encryption_enabled: false,
704
- # s3_key_prefix: "String",
705
- # },
706
- # },
707
- # }
708
- #
709
652
  # @!attribute [rw] execute_command_configuration
710
653
  # The details of the execute command configuration.
711
654
  # @return [Types::ExecuteCommandConfiguration]
@@ -747,16 +690,103 @@ module Aws::ECS
747
690
  #
748
691
  class ClusterNotFoundException < Aws::EmptyStructure; end
749
692
 
750
- # The settings to use when creating a cluster. This parameter is used to
751
- # turn on CloudWatch Container Insights for a cluster.
693
+ # Use this parameter to set a default Service Connect namespace. After
694
+ # you set a default Service Connect namespace, any new services with
695
+ # Service Connect turned on that are created in the cluster are added as
696
+ # client services in the namespace. This setting only applies to new
697
+ # services that set the `enabled` parameter to `true` in the
698
+ # `ServiceConnectConfiguration`. You can set the namespace of each
699
+ # service individually in the `ServiceConnectConfiguration` to override
700
+ # this default parameter.
701
+ #
702
+ # Tasks that run in a namespace can use short names to connect to
703
+ # services in the namespace. Tasks can connect to services across all of
704
+ # the clusters in the namespace. Tasks connect through a managed proxy
705
+ # container that collects logs and metrics for increased visibility.
706
+ # Only the tasks that Amazon ECS services create are supported with
707
+ # Service Connect. For more information, see [Service Connect][1] in the
708
+ # *Amazon Elastic Container Service Developer Guide*.
709
+ #
710
+ #
711
+ #
712
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
713
+ #
714
+ # @!attribute [rw] namespace
715
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
716
+ # Map namespace. When you create a service and don't specify a
717
+ # Service Connect configuration, this namespace is used.
718
+ # @return [String]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterServiceConnectDefaults AWS API Documentation
721
+ #
722
+ class ClusterServiceConnectDefaults < Struct.new(
723
+ :namespace)
724
+ SENSITIVE = []
725
+ include Aws::Structure
726
+ end
727
+
728
+ # Use this parameter to set a default Service Connect namespace. After
729
+ # you set a default Service Connect namespace, any new services with
730
+ # Service Connect turned on that are created in the cluster are added as
731
+ # client services in the namespace. This setting only applies to new
732
+ # services that set the `enabled` parameter to `true` in the
733
+ # `ServiceConnectConfiguration`. You can set the namespace of each
734
+ # service individually in the `ServiceConnectConfiguration` to override
735
+ # this default parameter.
736
+ #
737
+ # Tasks that run in a namespace can use short names to connect to
738
+ # services in the namespace. Tasks can connect to services across all of
739
+ # the clusters in the namespace. Tasks connect through a managed proxy
740
+ # container that collects logs and metrics for increased visibility.
741
+ # Only the tasks that Amazon ECS services create are supported with
742
+ # Service Connect. For more information, see [Service Connect][1] in the
743
+ # *Amazon Elastic Container Service Developer Guide*.
744
+ #
745
+ #
746
+ #
747
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
748
+ #
749
+ # @!attribute [rw] namespace
750
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
751
+ # Map namespace that's used when you create a service and don't
752
+ # specify a Service Connect configuration. The namespace name can
753
+ # include up to 1024 characters. The name is case-sensitive. The name
754
+ # can't include hyphens (-), tilde (~), greater than (&gt;), less
755
+ # than (&lt;), or slash (/).
756
+ #
757
+ # If you enter an existing namespace name or ARN, then that namespace
758
+ # will be used. Any namespace type is supported. The namespace must be
759
+ # in this account and this Amazon Web Services Region.
760
+ #
761
+ # If you enter a new name, a Cloud Map namespace will be created.
762
+ # Amazon ECS creates a Cloud Map namespace with the "API calls"
763
+ # method of instance discovery only. This instance discovery method is
764
+ # the "HTTP" namespace type in the Command Line Interface. Other
765
+ # types of instance discovery aren't used by Service Connect.
766
+ #
767
+ # If you update the service with an empty string `""` for the
768
+ # namespace name, the cluster configuration for Service Connect is
769
+ # removed. Note that the namespace will remain in Cloud Map and must
770
+ # be deleted separately.
771
+ #
772
+ # For more information about Cloud Map, see [Working with Services][1]
773
+ # in the *Cloud Map Developer Guide*.
774
+ #
775
+ #
752
776
  #
753
- # @note When making an API call, you may pass ClusterSetting
754
- # data as a hash:
777
+ # [1]: https://docs.aws.amazon.com/
778
+ # @return [String]
779
+ #
780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterServiceConnectDefaultsRequest AWS API Documentation
755
781
  #
756
- # {
757
- # name: "containerInsights", # accepts containerInsights
758
- # value: "String",
759
- # }
782
+ class ClusterServiceConnectDefaultsRequest < Struct.new(
783
+ :namespace)
784
+ SENSITIVE = []
785
+ include Aws::Structure
786
+ end
787
+
788
+ # The settings to use when creating a cluster. This parameter is used to
789
+ # turn on CloudWatch Container Insights for a cluster.
760
790
  #
761
791
  # @!attribute [rw] name
762
792
  # The name of the cluster setting. The only supported value is
@@ -890,158 +920,6 @@ module Aws::ECS
890
920
  # Container definitions are used in task definitions to describe the
891
921
  # different containers that are launched as part of a task.
892
922
  #
893
- # @note When making an API call, you may pass ContainerDefinition
894
- # data as a hash:
895
- #
896
- # {
897
- # name: "String",
898
- # image: "String",
899
- # repository_credentials: {
900
- # credentials_parameter: "String", # required
901
- # },
902
- # cpu: 1,
903
- # memory: 1,
904
- # memory_reservation: 1,
905
- # links: ["String"],
906
- # port_mappings: [
907
- # {
908
- # container_port: 1,
909
- # host_port: 1,
910
- # protocol: "tcp", # accepts tcp, udp
911
- # },
912
- # ],
913
- # essential: false,
914
- # entry_point: ["String"],
915
- # command: ["String"],
916
- # environment: [
917
- # {
918
- # name: "String",
919
- # value: "String",
920
- # },
921
- # ],
922
- # environment_files: [
923
- # {
924
- # value: "String", # required
925
- # type: "s3", # required, accepts s3
926
- # },
927
- # ],
928
- # mount_points: [
929
- # {
930
- # source_volume: "String",
931
- # container_path: "String",
932
- # read_only: false,
933
- # },
934
- # ],
935
- # volumes_from: [
936
- # {
937
- # source_container: "String",
938
- # read_only: false,
939
- # },
940
- # ],
941
- # linux_parameters: {
942
- # capabilities: {
943
- # add: ["String"],
944
- # drop: ["String"],
945
- # },
946
- # devices: [
947
- # {
948
- # host_path: "String", # required
949
- # container_path: "String",
950
- # permissions: ["read"], # accepts read, write, mknod
951
- # },
952
- # ],
953
- # init_process_enabled: false,
954
- # shared_memory_size: 1,
955
- # tmpfs: [
956
- # {
957
- # container_path: "String", # required
958
- # size: 1, # required
959
- # mount_options: ["String"],
960
- # },
961
- # ],
962
- # max_swap: 1,
963
- # swappiness: 1,
964
- # },
965
- # secrets: [
966
- # {
967
- # name: "String", # required
968
- # value_from: "String", # required
969
- # },
970
- # ],
971
- # depends_on: [
972
- # {
973
- # container_name: "String", # required
974
- # condition: "START", # required, accepts START, COMPLETE, SUCCESS, HEALTHY
975
- # },
976
- # ],
977
- # start_timeout: 1,
978
- # stop_timeout: 1,
979
- # hostname: "String",
980
- # user: "String",
981
- # working_directory: "String",
982
- # disable_networking: false,
983
- # privileged: false,
984
- # readonly_root_filesystem: false,
985
- # dns_servers: ["String"],
986
- # dns_search_domains: ["String"],
987
- # extra_hosts: [
988
- # {
989
- # hostname: "String", # required
990
- # ip_address: "String", # required
991
- # },
992
- # ],
993
- # docker_security_options: ["String"],
994
- # interactive: false,
995
- # pseudo_terminal: false,
996
- # docker_labels: {
997
- # "String" => "String",
998
- # },
999
- # ulimits: [
1000
- # {
1001
- # name: "core", # required, accepts core, cpu, data, fsize, locks, memlock, msgqueue, nice, nofile, nproc, rss, rtprio, rttime, sigpending, stack
1002
- # soft_limit: 1, # required
1003
- # hard_limit: 1, # required
1004
- # },
1005
- # ],
1006
- # log_configuration: {
1007
- # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
1008
- # options: {
1009
- # "String" => "String",
1010
- # },
1011
- # secret_options: [
1012
- # {
1013
- # name: "String", # required
1014
- # value_from: "String", # required
1015
- # },
1016
- # ],
1017
- # },
1018
- # health_check: {
1019
- # command: ["String"], # required
1020
- # interval: 1,
1021
- # timeout: 1,
1022
- # retries: 1,
1023
- # start_period: 1,
1024
- # },
1025
- # system_controls: [
1026
- # {
1027
- # namespace: "String",
1028
- # value: "String",
1029
- # },
1030
- # ],
1031
- # resource_requirements: [
1032
- # {
1033
- # value: "String", # required
1034
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
1035
- # },
1036
- # ],
1037
- # firelens_configuration: {
1038
- # type: "fluentd", # required, accepts fluentd, fluentbit
1039
- # options: {
1040
- # "String" => "String",
1041
- # },
1042
- # },
1043
- # }
1044
- #
1045
923
  # @!attribute [rw] name
1046
924
  # The name of a container. If you're linking multiple containers
1047
925
  # together in a task definition, the `name` of one container can be
@@ -1184,12 +1062,12 @@ module Aws::ECS
1184
1062
  # container is placed. Otherwise, the value of `memory` is used.
1185
1063
  #
1186
1064
  # The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of
1187
- # memory for a container, so you should not specify fewer than 6 MiB
1188
- # of memory for your containers.
1065
+ # memory for a container. So, don't specify less than 6 MiB of memory
1066
+ # for your containers.
1189
1067
  #
1190
1068
  # The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB
1191
- # of memory for a container, so you should not specify fewer than 4
1192
- # MiB of memory for your containers.
1069
+ # of memory for a container. So, don't specify less than 4 MiB of
1070
+ # memory for your containers.
1193
1071
  #
1194
1072
  #
1195
1073
  #
@@ -1225,9 +1103,13 @@ module Aws::ECS
1225
1103
  # container instance, but also allow the container to consume more
1226
1104
  # memory resources when needed.
1227
1105
  #
1228
- # The Docker daemon reserves a minimum of 4 MiB of memory for a
1229
- # container. Therefore, we recommend that you specify fewer than 4 MiB
1230
- # of memory for your containers.
1106
+ # The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of
1107
+ # memory for a container. So, don't specify less than 6 MiB of memory
1108
+ # for your containers.
1109
+ #
1110
+ # The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB
1111
+ # of memory for a container. So, don't specify less than 4 MiB of
1112
+ # memory for your containers.
1231
1113
  #
1232
1114
  #
1233
1115
  #
@@ -1454,9 +1336,9 @@ module Aws::ECS
1454
1336
  #
1455
1337
  # @!attribute [rw] depends_on
1456
1338
  # The dependencies defined for container startup and shutdown. A
1457
- # container can contain multiple dependencies. When a dependency is
1458
- # defined for container startup, for container shutdown it is
1459
- # reversed.
1339
+ # container can contain multiple dependencies on other containers in a
1340
+ # task definition. When a dependency is defined for container startup,
1341
+ # for container shutdown it is reversed.
1460
1342
  #
1461
1343
  # For tasks using the EC2 launch type, the container instances require
1462
1344
  # at least version 1.26.0 of the container agent to turn on container
@@ -1819,7 +1701,7 @@ module Aws::ECS
1819
1701
  # @return [Hash<String,String>]
1820
1702
  #
1821
1703
  # @!attribute [rw] ulimits
1822
- # A list of `ulimits` to set in the container. If a ulimit value is
1704
+ # A list of `ulimits` to set in the container. If a `ulimit` value is
1823
1705
  # specified in a task definition, it overrides the default values set
1824
1706
  # by Docker. This parameter maps to `Ulimits` in the [Create a
1825
1707
  # container][1] section of the [Docker Remote API][2] and the
@@ -2027,14 +1909,6 @@ module Aws::ECS
2027
1909
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html
2028
1910
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
2029
1911
  #
2030
- # @note When making an API call, you may pass ContainerDependency
2031
- # data as a hash:
2032
- #
2033
- # {
2034
- # container_name: "String", # required
2035
- # condition: "START", # required, accepts START, COMPLETE, SUCCESS, HEALTHY
2036
- # }
2037
- #
2038
1912
  # @!attribute [rw] container_name
2039
1913
  # The name of a container.
2040
1914
  # @return [String]
@@ -2073,16 +1947,17 @@ module Aws::ECS
2073
1947
  include Aws::Structure
2074
1948
  end
2075
1949
 
2076
- # An EC2 instance that's running the Amazon ECS agent and has been
2077
- # registered with a cluster.
1950
+ # An Amazon EC2 or External instance that's running the Amazon ECS
1951
+ # agent and has been registered with a cluster.
2078
1952
  #
2079
1953
  # @!attribute [rw] container_instance_arn
2080
- # The Amazon Resource Name (ARN) of the container instance. The ARN
2081
- # contains the `arn:aws:ecs` namespace, followed by the Region of the
2082
- # container instance, the Amazon Web Services account ID of the
2083
- # container instance owner, the `container-instance` namespace, and
2084
- # then the container instance ID. For example,
2085
- # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID`.
1954
+ # The Amazon Resource Name (ARN) of the container instance. For more
1955
+ # information about the ARN format, see [Amazon Resource Name
1956
+ # (ARN)][1] in the *Amazon ECS Developer Guide*.
1957
+ #
1958
+ #
1959
+ #
1960
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
2086
1961
  # @return [String]
2087
1962
  #
2088
1963
  # @!attribute [rw] ec2_instance_id
@@ -2156,7 +2031,7 @@ module Aws::ECS
2156
2031
  # tasks. The `DRAINING` indicates that new tasks aren't placed on the
2157
2032
  # container instance and any service tasks running on the container
2158
2033
  # instance are removed if possible. For more information, see
2159
- # [Container Instance Draining][1] in the *Amazon Elastic Container
2034
+ # [Container instance draining][1] in the *Amazon Elastic Container
2160
2035
  # Service Developer Guide*.
2161
2036
  #
2162
2037
  #
@@ -2170,9 +2045,9 @@ module Aws::ECS
2170
2045
  #
2171
2046
  # @!attribute [rw] agent_connected
2172
2047
  # This parameter returns `true` if the agent is connected to Amazon
2173
- # ECS. Registered instances with an agent that may be unhealthy or
2174
- # stopped return `false`. Only instances connected to an agent can
2175
- # accept placement requests.
2048
+ # ECS. An instance with an agent that may be unhealthy or stopped
2049
+ # return `false`. Only instances connected to an agent can accept task
2050
+ # placement requests.
2176
2051
  # @return [Boolean]
2177
2052
  #
2178
2053
  # @!attribute [rw] running_tasks_count
@@ -2202,8 +2077,8 @@ module Aws::ECS
2202
2077
  # @return [Time]
2203
2078
  #
2204
2079
  # @!attribute [rw] attachments
2205
- # The resources attached to a container instance, such as elastic
2206
- # network interfaces.
2080
+ # The resources attached to a container instance, such as an elastic
2081
+ # network interface.
2207
2082
  # @return [Array<Types::Attachment>]
2208
2083
  #
2209
2084
  # @!attribute [rw] tags
@@ -2292,35 +2167,6 @@ module Aws::ECS
2292
2167
  # is `\{"containerOverrides": [ ] \}`. If a non-empty container override
2293
2168
  # is specified, the `name` parameter must be included.
2294
2169
  #
2295
- # @note When making an API call, you may pass ContainerOverride
2296
- # data as a hash:
2297
- #
2298
- # {
2299
- # name: "String",
2300
- # command: ["String"],
2301
- # environment: [
2302
- # {
2303
- # name: "String",
2304
- # value: "String",
2305
- # },
2306
- # ],
2307
- # environment_files: [
2308
- # {
2309
- # value: "String", # required
2310
- # type: "s3", # required, accepts s3
2311
- # },
2312
- # ],
2313
- # cpu: 1,
2314
- # memory: 1,
2315
- # memory_reservation: 1,
2316
- # resource_requirements: [
2317
- # {
2318
- # value: "String", # required
2319
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
2320
- # },
2321
- # ],
2322
- # }
2323
- #
2324
2170
  # @!attribute [rw] name
2325
2171
  # The name of the container that receives the override. This parameter
2326
2172
  # is required if any override is specified.
@@ -2387,26 +2233,6 @@ module Aws::ECS
2387
2233
 
2388
2234
  # An object that represents a change in state for a container.
2389
2235
  #
2390
- # @note When making an API call, you may pass ContainerStateChange
2391
- # data as a hash:
2392
- #
2393
- # {
2394
- # container_name: "String",
2395
- # image_digest: "String",
2396
- # runtime_id: "String",
2397
- # exit_code: 1,
2398
- # network_bindings: [
2399
- # {
2400
- # bind_ip: "String",
2401
- # container_port: 1,
2402
- # host_port: 1,
2403
- # protocol: "tcp", # accepts tcp, udp
2404
- # },
2405
- # ],
2406
- # reason: "String",
2407
- # status: "String",
2408
- # }
2409
- #
2410
2236
  # @!attribute [rw] container_name
2411
2237
  # The name of the container.
2412
2238
  # @return [String]
@@ -2450,30 +2276,6 @@ module Aws::ECS
2450
2276
  include Aws::Structure
2451
2277
  end
2452
2278
 
2453
- # @note When making an API call, you may pass CreateCapacityProviderRequest
2454
- # data as a hash:
2455
- #
2456
- # {
2457
- # name: "String", # required
2458
- # auto_scaling_group_provider: { # required
2459
- # auto_scaling_group_arn: "String", # required
2460
- # managed_scaling: {
2461
- # status: "ENABLED", # accepts ENABLED, DISABLED
2462
- # target_capacity: 1,
2463
- # minimum_scaling_step_size: 1,
2464
- # maximum_scaling_step_size: 1,
2465
- # instance_warmup_period: 1,
2466
- # },
2467
- # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
2468
- # },
2469
- # tags: [
2470
- # {
2471
- # key: "TagKey",
2472
- # value: "TagValue",
2473
- # },
2474
- # ],
2475
- # }
2476
- #
2477
2279
  # @!attribute [rw] name
2478
2280
  # The name of the capacity provider. Up to 255 characters are allowed.
2479
2281
  # They include letters (both upper and lowercase letters), numbers,
@@ -2538,46 +2340,6 @@ module Aws::ECS
2538
2340
  include Aws::Structure
2539
2341
  end
2540
2342
 
2541
- # @note When making an API call, you may pass CreateClusterRequest
2542
- # data as a hash:
2543
- #
2544
- # {
2545
- # cluster_name: "String",
2546
- # tags: [
2547
- # {
2548
- # key: "TagKey",
2549
- # value: "TagValue",
2550
- # },
2551
- # ],
2552
- # settings: [
2553
- # {
2554
- # name: "containerInsights", # accepts containerInsights
2555
- # value: "String",
2556
- # },
2557
- # ],
2558
- # configuration: {
2559
- # execute_command_configuration: {
2560
- # kms_key_id: "String",
2561
- # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
2562
- # log_configuration: {
2563
- # cloud_watch_log_group_name: "String",
2564
- # cloud_watch_encryption_enabled: false,
2565
- # s3_bucket_name: "String",
2566
- # s3_encryption_enabled: false,
2567
- # s3_key_prefix: "String",
2568
- # },
2569
- # },
2570
- # },
2571
- # capacity_providers: ["String"],
2572
- # default_capacity_provider_strategy: [
2573
- # {
2574
- # capacity_provider: "String", # required
2575
- # weight: 1,
2576
- # base: 1,
2577
- # },
2578
- # ],
2579
- # }
2580
- #
2581
2343
  # @!attribute [rw] cluster_name
2582
2344
  # The name of your cluster. If you don't specify a name for your
2583
2345
  # cluster, you create a cluster that's named `default`. Up to 255
@@ -2661,6 +2423,30 @@ module Aws::ECS
2661
2423
  # PutClusterCapacityProviders API operation.
2662
2424
  # @return [Array<Types::CapacityProviderStrategyItem>]
2663
2425
  #
2426
+ # @!attribute [rw] service_connect_defaults
2427
+ # Use this parameter to set a default Service Connect namespace. After
2428
+ # you set a default Service Connect namespace, any new services with
2429
+ # Service Connect turned on that are created in the cluster are added
2430
+ # as client services in the namespace. This setting only applies to
2431
+ # new services that set the `enabled` parameter to `true` in the
2432
+ # `ServiceConnectConfiguration`. You can set the namespace of each
2433
+ # service individually in the `ServiceConnectConfiguration` to
2434
+ # override this default parameter.
2435
+ #
2436
+ # Tasks that run in a namespace can use short names to connect to
2437
+ # services in the namespace. Tasks can connect to services across all
2438
+ # of the clusters in the namespace. Tasks connect through a managed
2439
+ # proxy container that collects logs and metrics for increased
2440
+ # visibility. Only the tasks that Amazon ECS services create are
2441
+ # supported with Service Connect. For more information, see [Service
2442
+ # Connect][1] in the *Amazon Elastic Container Service Developer
2443
+ # Guide*.
2444
+ #
2445
+ #
2446
+ #
2447
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
2448
+ # @return [Types::ClusterServiceConnectDefaultsRequest]
2449
+ #
2664
2450
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateClusterRequest AWS API Documentation
2665
2451
  #
2666
2452
  class CreateClusterRequest < Struct.new(
@@ -2669,7 +2455,8 @@ module Aws::ECS
2669
2455
  :settings,
2670
2456
  :configuration,
2671
2457
  :capacity_providers,
2672
- :default_capacity_provider_strategy)
2458
+ :default_capacity_provider_strategy,
2459
+ :service_connect_defaults)
2673
2460
  SENSITIVE = []
2674
2461
  include Aws::Structure
2675
2462
  end
@@ -2686,84 +2473,6 @@ module Aws::ECS
2686
2473
  include Aws::Structure
2687
2474
  end
2688
2475
 
2689
- # @note When making an API call, you may pass CreateServiceRequest
2690
- # data as a hash:
2691
- #
2692
- # {
2693
- # cluster: "String",
2694
- # service_name: "String", # required
2695
- # task_definition: "String",
2696
- # load_balancers: [
2697
- # {
2698
- # target_group_arn: "String",
2699
- # load_balancer_name: "String",
2700
- # container_name: "String",
2701
- # container_port: 1,
2702
- # },
2703
- # ],
2704
- # service_registries: [
2705
- # {
2706
- # registry_arn: "String",
2707
- # port: 1,
2708
- # container_name: "String",
2709
- # container_port: 1,
2710
- # },
2711
- # ],
2712
- # desired_count: 1,
2713
- # client_token: "String",
2714
- # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
2715
- # capacity_provider_strategy: [
2716
- # {
2717
- # capacity_provider: "String", # required
2718
- # weight: 1,
2719
- # base: 1,
2720
- # },
2721
- # ],
2722
- # platform_version: "String",
2723
- # role: "String",
2724
- # deployment_configuration: {
2725
- # deployment_circuit_breaker: {
2726
- # enable: false, # required
2727
- # rollback: false, # required
2728
- # },
2729
- # maximum_percent: 1,
2730
- # minimum_healthy_percent: 1,
2731
- # },
2732
- # placement_constraints: [
2733
- # {
2734
- # type: "distinctInstance", # accepts distinctInstance, memberOf
2735
- # expression: "String",
2736
- # },
2737
- # ],
2738
- # placement_strategy: [
2739
- # {
2740
- # type: "random", # accepts random, spread, binpack
2741
- # field: "String",
2742
- # },
2743
- # ],
2744
- # network_configuration: {
2745
- # awsvpc_configuration: {
2746
- # subnets: ["String"], # required
2747
- # security_groups: ["String"],
2748
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
2749
- # },
2750
- # },
2751
- # health_check_grace_period_seconds: 1,
2752
- # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
2753
- # deployment_controller: {
2754
- # type: "ECS", # required, accepts ECS, CODE_DEPLOY, EXTERNAL
2755
- # },
2756
- # tags: [
2757
- # {
2758
- # key: "TagKey",
2759
- # value: "TagValue",
2760
- # },
2761
- # ],
2762
- # enable_ecs_managed_tags: false,
2763
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
2764
- # enable_execute_command: false,
2765
- # }
2766
- #
2767
2476
  # @!attribute [rw] cluster
2768
2477
  # The short name or full Amazon Resource Name (ARN) of the cluster
2769
2478
  # that you run your service on. If you do not specify a cluster, the
@@ -2789,7 +2498,7 @@ module Aws::ECS
2789
2498
  #
2790
2499
  # @!attribute [rw] load_balancers
2791
2500
  # A load balancer object representing the load balancers to use with
2792
- # your service. For more information, see [Service Load Balancing][1]
2501
+ # your service. For more information, see [Service load balancing][1]
2793
2502
  # in the *Amazon Elastic Container Service Developer Guide*.
2794
2503
  #
2795
2504
  # If the service uses the rolling update (`ECS`) deployment controller
@@ -3001,8 +2710,8 @@ module Aws::ECS
3001
2710
  # load balancer defined and you don't specify a health check grace
3002
2711
  # period value, the default value of `0` is used.
3003
2712
  #
3004
- # If you do not use an Elastic Load Balancing, we recomend that you
3005
- # use the `startPeriod` in the task definition healtch check
2713
+ # If you do not use an Elastic Load Balancing, we recommend that you
2714
+ # use the `startPeriod` in the task definition health check
3006
2715
  # parameters. For more information, see [Health check][1].
3007
2716
  #
3008
2717
  # If your service's tasks take a while to start and respond to
@@ -3091,8 +2800,8 @@ module Aws::ECS
3091
2800
  #
3092
2801
  # @!attribute [rw] enable_ecs_managed_tags
3093
2802
  # Specifies whether to turn on Amazon ECS managed tags for the tasks
3094
- # within the service. For more information, see [Tagging Your Amazon
3095
- # ECS Resources][1] in the *Amazon Elastic Container Service Developer
2803
+ # within the service. For more information, see [Tagging your Amazon
2804
+ # ECS resources][1] in the *Amazon Elastic Container Service Developer
3096
2805
  # Guide*.
3097
2806
  #
3098
2807
  #
@@ -3113,6 +2822,25 @@ module Aws::ECS
3113
2822
  # on all containers in the service tasks.
3114
2823
  # @return [Boolean]
3115
2824
  #
2825
+ # @!attribute [rw] service_connect_configuration
2826
+ # The configuration for this service to discover and connect to
2827
+ # services, and be discovered by, and connected from, other services
2828
+ # within a namespace.
2829
+ #
2830
+ # Tasks that run in a namespace can use short names to connect to
2831
+ # services in the namespace. Tasks can connect to services across all
2832
+ # of the clusters in the namespace. Tasks connect through a managed
2833
+ # proxy container that collects logs and metrics for increased
2834
+ # visibility. Only the tasks that Amazon ECS services create are
2835
+ # supported with Service Connect. For more information, see [Service
2836
+ # Connect][1] in the *Amazon Elastic Container Service Developer
2837
+ # Guide*.
2838
+ #
2839
+ #
2840
+ #
2841
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
2842
+ # @return [Types::ServiceConnectConfiguration]
2843
+ #
3116
2844
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
3117
2845
  #
3118
2846
  class CreateServiceRequest < Struct.new(
@@ -3137,7 +2865,8 @@ module Aws::ECS
3137
2865
  :tags,
3138
2866
  :enable_ecs_managed_tags,
3139
2867
  :propagate_tags,
3140
- :enable_execute_command)
2868
+ :enable_execute_command,
2869
+ :service_connect_configuration)
3141
2870
  SENSITIVE = []
3142
2871
  include Aws::Structure
3143
2872
  end
@@ -3167,59 +2896,6 @@ module Aws::ECS
3167
2896
  include Aws::Structure
3168
2897
  end
3169
2898
 
3170
- # @note When making an API call, you may pass CreateTaskSetRequest
3171
- # data as a hash:
3172
- #
3173
- # {
3174
- # service: "String", # required
3175
- # cluster: "String", # required
3176
- # external_id: "String",
3177
- # task_definition: "String", # required
3178
- # network_configuration: {
3179
- # awsvpc_configuration: {
3180
- # subnets: ["String"], # required
3181
- # security_groups: ["String"],
3182
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3183
- # },
3184
- # },
3185
- # load_balancers: [
3186
- # {
3187
- # target_group_arn: "String",
3188
- # load_balancer_name: "String",
3189
- # container_name: "String",
3190
- # container_port: 1,
3191
- # },
3192
- # ],
3193
- # service_registries: [
3194
- # {
3195
- # registry_arn: "String",
3196
- # port: 1,
3197
- # container_name: "String",
3198
- # container_port: 1,
3199
- # },
3200
- # ],
3201
- # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
3202
- # capacity_provider_strategy: [
3203
- # {
3204
- # capacity_provider: "String", # required
3205
- # weight: 1,
3206
- # base: 1,
3207
- # },
3208
- # ],
3209
- # platform_version: "String",
3210
- # scale: {
3211
- # value: 1.0,
3212
- # unit: "PERCENT", # accepts PERCENT
3213
- # },
3214
- # client_token: "String",
3215
- # tags: [
3216
- # {
3217
- # key: "TagKey",
3218
- # value: "TagValue",
3219
- # },
3220
- # ],
3221
- # }
3222
- #
3223
2899
  # @!attribute [rw] service
3224
2900
  # The short name or full Amazon Resource Name (ARN) of the service to
3225
2901
  # create the task set in.
@@ -3254,7 +2930,7 @@ module Aws::ECS
3254
2930
  #
3255
2931
  # @!attribute [rw] service_registries
3256
2932
  # The details of the service discovery registries to assign to this
3257
- # task set. For more information, see [Service Discovery][1].
2933
+ # task set. For more information, see [Service discovery][1].
3258
2934
  #
3259
2935
  #
3260
2936
  #
@@ -3263,7 +2939,7 @@ module Aws::ECS
3263
2939
  #
3264
2940
  # @!attribute [rw] launch_type
3265
2941
  # The launch type that new tasks in the task set uses. For more
3266
- # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
2942
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
3267
2943
  # Container Service Developer Guide*.
3268
2944
  #
3269
2945
  # If a `launchType` is specified, the `capacityProviderStrategy`
@@ -3387,14 +3063,6 @@ module Aws::ECS
3387
3063
  include Aws::Structure
3388
3064
  end
3389
3065
 
3390
- # @note When making an API call, you may pass DeleteAccountSettingRequest
3391
- # data as a hash:
3392
- #
3393
- # {
3394
- # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
3395
- # principal_arn: "String",
3396
- # }
3397
- #
3398
3066
  # @!attribute [rw] name
3399
3067
  # The resource name to disable the account setting for. If
3400
3068
  # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
@@ -3436,21 +3104,6 @@ module Aws::ECS
3436
3104
  include Aws::Structure
3437
3105
  end
3438
3106
 
3439
- # @note When making an API call, you may pass DeleteAttributesRequest
3440
- # data as a hash:
3441
- #
3442
- # {
3443
- # cluster: "String",
3444
- # attributes: [ # required
3445
- # {
3446
- # name: "String", # required
3447
- # value: "String",
3448
- # target_type: "container-instance", # accepts container-instance
3449
- # target_id: "String",
3450
- # },
3451
- # ],
3452
- # }
3453
- #
3454
3107
  # @!attribute [rw] cluster
3455
3108
  # The short name or full Amazon Resource Name (ARN) of the cluster
3456
3109
  # that contains the resource to delete attributes. If you do not
@@ -3487,13 +3140,6 @@ module Aws::ECS
3487
3140
  include Aws::Structure
3488
3141
  end
3489
3142
 
3490
- # @note When making an API call, you may pass DeleteCapacityProviderRequest
3491
- # data as a hash:
3492
- #
3493
- # {
3494
- # capacity_provider: "String", # required
3495
- # }
3496
- #
3497
3143
  # @!attribute [rw] capacity_provider
3498
3144
  # The short name or full Amazon Resource Name (ARN) of the capacity
3499
3145
  # provider to delete.
@@ -3519,13 +3165,6 @@ module Aws::ECS
3519
3165
  include Aws::Structure
3520
3166
  end
3521
3167
 
3522
- # @note When making an API call, you may pass DeleteClusterRequest
3523
- # data as a hash:
3524
- #
3525
- # {
3526
- # cluster: "String", # required
3527
- # }
3528
- #
3529
3168
  # @!attribute [rw] cluster
3530
3169
  # The short name or full Amazon Resource Name (ARN) of the cluster to
3531
3170
  # delete.
@@ -3551,15 +3190,6 @@ module Aws::ECS
3551
3190
  include Aws::Structure
3552
3191
  end
3553
3192
 
3554
- # @note When making an API call, you may pass DeleteServiceRequest
3555
- # data as a hash:
3556
- #
3557
- # {
3558
- # cluster: "String",
3559
- # service: "String", # required
3560
- # force: false,
3561
- # }
3562
- #
3563
3193
  # @!attribute [rw] cluster
3564
3194
  # The short name or full Amazon Resource Name (ARN) of the cluster
3565
3195
  # that hosts the service to delete. If you do not specify a cluster,
@@ -3598,16 +3228,6 @@ module Aws::ECS
3598
3228
  include Aws::Structure
3599
3229
  end
3600
3230
 
3601
- # @note When making an API call, you may pass DeleteTaskSetRequest
3602
- # data as a hash:
3603
- #
3604
- # {
3605
- # cluster: "String", # required
3606
- # service: "String", # required
3607
- # task_set: "String", # required
3608
- # force: false,
3609
- # }
3610
- #
3611
3231
  # @!attribute [rw] cluster
3612
3232
  # The short name or full Amazon Resource Name (ARN) of the cluster
3613
3233
  # that hosts the service that the task set found in to delete.
@@ -3779,6 +3399,35 @@ module Aws::ECS
3779
3399
  # A description of the rollout state of a deployment.
3780
3400
  # @return [String]
3781
3401
  #
3402
+ # @!attribute [rw] service_connect_configuration
3403
+ # The details of the Service Connect configuration that's used by
3404
+ # this deployment. Compare the configuration between multiple
3405
+ # deployments when troubleshooting issues with new deployments.
3406
+ #
3407
+ # The configuration for this service to discover and connect to
3408
+ # services, and be discovered by, and connected from, other services
3409
+ # within a namespace.
3410
+ #
3411
+ # Tasks that run in a namespace can use short names to connect to
3412
+ # services in the namespace. Tasks can connect to services across all
3413
+ # of the clusters in the namespace. Tasks connect through a managed
3414
+ # proxy container that collects logs and metrics for increased
3415
+ # visibility. Only the tasks that Amazon ECS services create are
3416
+ # supported with Service Connect. For more information, see [Service
3417
+ # Connect][1] in the *Amazon Elastic Container Service Developer
3418
+ # Guide*.
3419
+ #
3420
+ #
3421
+ #
3422
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
3423
+ # @return [Types::ServiceConnectConfiguration]
3424
+ #
3425
+ # @!attribute [rw] service_connect_resources
3426
+ # The list of Service Connect resources that are associated with this
3427
+ # deployment. Each list entry maps a discovery name to a Cloud Map
3428
+ # service name.
3429
+ # @return [Array<Types::ServiceConnectServiceResource>]
3430
+ #
3782
3431
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Deployment AWS API Documentation
3783
3432
  #
3784
3433
  class Deployment < Struct.new(
@@ -3797,7 +3446,54 @@ module Aws::ECS
3797
3446
  :platform_family,
3798
3447
  :network_configuration,
3799
3448
  :rollout_state,
3800
- :rollout_state_reason)
3449
+ :rollout_state_reason,
3450
+ :service_connect_configuration,
3451
+ :service_connect_resources)
3452
+ SENSITIVE = []
3453
+ include Aws::Structure
3454
+ end
3455
+
3456
+ # One of the methods which provide a way for you to quickly identify
3457
+ # when a deployment has failed, and then to optionally roll back the
3458
+ # failure to the last working deployment.
3459
+ #
3460
+ # When the alarms are generated, Amazon ECS sets the service deployment
3461
+ # to failed. Set the rollback parameter to have Amazon ECS to roll back
3462
+ # your service to the last completed deployment after a failure.
3463
+ #
3464
+ # You can only use the `DeploymentAlarms` method to detect failures when
3465
+ # the `DeploymentController` is set to `ECS` (rolling update).
3466
+ #
3467
+ # For more information, see [Rolling update][1] in the <i> <i>Amazon
3468
+ # Elastic Container Service Developer Guide</i> </i>.
3469
+ #
3470
+ #
3471
+ #
3472
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html
3473
+ #
3474
+ # @!attribute [rw] alarm_names
3475
+ # One or more CloudWatch alarm names. Use a "," to separate the
3476
+ # alarms.
3477
+ # @return [Array<String>]
3478
+ #
3479
+ # @!attribute [rw] enable
3480
+ # Determines whether to use the CloudWatch alarm option in the service
3481
+ # deployment process.
3482
+ # @return [Boolean]
3483
+ #
3484
+ # @!attribute [rw] rollback
3485
+ # Determines whether to configure Amazon ECS to roll back the service
3486
+ # if a service deployment fails. If rollback is used, when a service
3487
+ # deployment fails, the service is rolled back to the last deployment
3488
+ # that completed successfully.
3489
+ # @return [Boolean]
3490
+ #
3491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentAlarms AWS API Documentation
3492
+ #
3493
+ class DeploymentAlarms < Struct.new(
3494
+ :alarm_names,
3495
+ :enable,
3496
+ :rollback)
3801
3497
  SENSITIVE = []
3802
3498
  include Aws::Structure
3803
3499
  end
@@ -3820,14 +3516,6 @@ module Aws::ECS
3820
3516
  #
3821
3517
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html
3822
3518
  #
3823
- # @note When making an API call, you may pass DeploymentCircuitBreaker
3824
- # data as a hash:
3825
- #
3826
- # {
3827
- # enable: false, # required
3828
- # rollback: false, # required
3829
- # }
3830
- #
3831
3519
  # @!attribute [rw] enable
3832
3520
  # Determines whether to use the deployment circuit breaker logic for
3833
3521
  # the service.
@@ -3835,9 +3523,9 @@ module Aws::ECS
3835
3523
  #
3836
3524
  # @!attribute [rw] rollback
3837
3525
  # Determines whether to configure Amazon ECS to roll back the service
3838
- # if a service deployment fails. If rollback is enabled, when a
3839
- # service deployment fails, the service is rolled back to the last
3840
- # deployment that completed successfully.
3526
+ # if a service deployment fails. If rollback is on, when a service
3527
+ # deployment fails, the service is rolled back to the last deployment
3528
+ # that completed successfully.
3841
3529
  # @return [Boolean]
3842
3530
  #
3843
3531
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentCircuitBreaker AWS API Documentation
@@ -3852,18 +3540,6 @@ module Aws::ECS
3852
3540
  # Optional deployment parameters that control how many tasks run during
3853
3541
  # a deployment and the ordering of stopping and starting tasks.
3854
3542
  #
3855
- # @note When making an API call, you may pass DeploymentConfiguration
3856
- # data as a hash:
3857
- #
3858
- # {
3859
- # deployment_circuit_breaker: {
3860
- # enable: false, # required
3861
- # rollback: false, # required
3862
- # },
3863
- # maximum_percent: 1,
3864
- # minimum_healthy_percent: 1,
3865
- # }
3866
- #
3867
3543
  # @!attribute [rw] deployment_circuit_breaker
3868
3544
  # <note markdown="1"> The deployment circuit breaker can only be used for services using
3869
3545
  # the rolling update (`ECS`) deployment type.
@@ -3880,81 +3556,108 @@ module Aws::ECS
3880
3556
  #
3881
3557
  # @!attribute [rw] maximum_percent
3882
3558
  # If a service is using the rolling update (`ECS`) deployment type,
3883
- # the **maximum percent** parameter represents an upper limit on the
3884
- # number of tasks in a service that are allowed in the `RUNNING` or
3885
- # `PENDING` state during a deployment, as a percentage of the desired
3886
- # number of tasks (rounded down to the nearest integer), and while any
3887
- # container instances are in the `DRAINING` state if the service
3888
- # contains tasks using the EC2 launch type. This parameter enables you
3889
- # to define the deployment batch size. For example, if your service
3890
- # has a desired number of four tasks and a maximum percent value of
3891
- # 200%, the scheduler may start four new tasks before stopping the
3892
- # four older tasks (provided that the cluster resources required to do
3893
- # this are available). The default value for maximum percent is 200%.
3894
- #
3895
- # If a service is using the blue/green (`CODE_DEPLOY`) or `EXTERNAL`
3896
- # deployment types and tasks that use the EC2 launch type, the
3897
- # **maximum percent** value is set to the default value and is used to
3898
- # define the upper limit on the number of the tasks in the service
3899
- # that remain in the `RUNNING` state while the container instances are
3900
- # in the `DRAINING` state. If the tasks in the service use the Fargate
3901
- # launch type, the maximum percent value is not used, although it is
3902
- # returned when describing your service.
3559
+ # the `maximumPercent` parameter represents an upper limit on the
3560
+ # number of your service's tasks that are allowed in the `RUNNING` or
3561
+ # `PENDING` state during a deployment, as a percentage of the
3562
+ # `desiredCount` (rounded down to the nearest integer). This parameter
3563
+ # enables you to define the deployment batch size. For example, if
3564
+ # your service is using the `REPLICA` service scheduler and has a
3565
+ # `desiredCount` of four tasks and a `maximumPercent` value of 200%,
3566
+ # the scheduler may start four new tasks before stopping the four
3567
+ # older tasks (provided that the cluster resources required to do this
3568
+ # are available). The default `maximumPercent` value for a service
3569
+ # using the `REPLICA` service scheduler is 200%.
3570
+ #
3571
+ # If a service is using either the blue/green (`CODE_DEPLOY`) or
3572
+ # `EXTERNAL` deployment types and tasks that use the EC2 launch type,
3573
+ # the **maximum percent** value is set to the default value and is
3574
+ # used to define the upper limit on the number of the tasks in the
3575
+ # service that remain in the `RUNNING` state while the container
3576
+ # instances are in the `DRAINING` state. If the tasks in the service
3577
+ # use the Fargate launch type, the maximum percent value is not used,
3578
+ # although it is returned when describing your service.
3903
3579
  # @return [Integer]
3904
3580
  #
3905
3581
  # @!attribute [rw] minimum_healthy_percent
3906
3582
  # If a service is using the rolling update (`ECS`) deployment type,
3907
- # the **minimum healthy percent** represents a lower limit on the
3908
- # number of tasks in a service that must remain in the `RUNNING` state
3909
- # during a deployment, as a percentage of the desired number of tasks
3910
- # (rounded up to the nearest integer), and while any container
3911
- # instances are in the `DRAINING` state if the service contains tasks
3912
- # using the EC2 launch type. This parameter enables you to deploy
3583
+ # the `minimumHealthyPercent` represents a lower limit on the number
3584
+ # of your service's tasks that must remain in the `RUNNING` state
3585
+ # during a deployment, as a percentage of the `desiredCount` (rounded
3586
+ # up to the nearest integer). This parameter enables you to deploy
3913
3587
  # without using additional cluster capacity. For example, if your
3914
- # service has a desired number of four tasks and a minimum healthy
3915
- # percent of 50%, the scheduler may stop two existing tasks to free up
3916
- # cluster capacity before starting two new tasks. Tasks for services
3917
- # that *do not* use a load balancer are considered healthy if they're
3918
- # in the `RUNNING` state; tasks for services that *do* use a load
3919
- # balancer are considered healthy if they're in the `RUNNING` state
3920
- # and they're reported as healthy by the load balancer. The default
3921
- # value for minimum healthy percent is 100%.
3922
- #
3923
- # If a service is using the blue/green (`CODE_DEPLOY`) or `EXTERNAL`
3924
- # deployment types and tasks that use the EC2 launch type, the
3925
- # **minimum healthy percent** value is set to the default value and is
3926
- # used to define the lower limit on the number of the tasks in the
3927
- # service that remain in the `RUNNING` state while the container
3928
- # instances are in the `DRAINING` state. If the tasks in the service
3929
- # use the Fargate launch type, the minimum healthy percent value is
3930
- # not used, although it is returned when describing your service.
3588
+ # service has a `desiredCount` of four tasks and a
3589
+ # `minimumHealthyPercent` of 50%, the service scheduler may stop two
3590
+ # existing tasks to free up cluster capacity before starting two new
3591
+ # tasks.
3592
+ #
3593
+ # For services that *do not* use a load balancer, the following should
3594
+ # be noted:
3595
+ #
3596
+ # * A service is considered healthy if all essential containers within
3597
+ # the tasks in the service pass their health checks.
3598
+ #
3599
+ # * If a task has no essential containers with a health check defined,
3600
+ # the service scheduler will wait for 40 seconds after a task
3601
+ # reaches a `RUNNING` state before the task is counted towards the
3602
+ # minimum healthy percent total.
3603
+ #
3604
+ # * If a task has one or more essential containers with a health check
3605
+ # defined, the service scheduler will wait for the task to reach a
3606
+ # healthy status before counting it towards the minimum healthy
3607
+ # percent total. A task is considered healthy when all essential
3608
+ # containers within the task have passed their health checks. The
3609
+ # amount of time the service scheduler can wait for is determined by
3610
+ # the container health check settings.
3611
+ #
3612
+ # For services are that *do* use a load balancer, the following should
3613
+ # be noted:
3614
+ #
3615
+ # * If a task has no essential containers with a health check defined,
3616
+ # the service scheduler will wait for the load balancer target group
3617
+ # health check to return a healthy status before counting the task
3618
+ # towards the minimum healthy percent total.
3619
+ #
3620
+ # * If a task has an essential container with a health check defined,
3621
+ # the service scheduler will wait for both the task to reach a
3622
+ # healthy status and the load balancer target group health check to
3623
+ # return a healthy status before counting the task towards the
3624
+ # minimum healthy percent total.
3625
+ #
3626
+ # If a service is using either the blue/green (`CODE_DEPLOY`) or
3627
+ # `EXTERNAL` deployment types and is running tasks that use the EC2
3628
+ # launch type, the **minimum healthy percent** value is set to the
3629
+ # default value and is used to define the lower limit on the number of
3630
+ # the tasks in the service that remain in the `RUNNING` state while
3631
+ # the container instances are in the `DRAINING` state. If a service is
3632
+ # using either the blue/green (`CODE_DEPLOY`) or `EXTERNAL` deployment
3633
+ # types and is running tasks that use the Fargate launch type, the
3634
+ # minimum healthy percent value is not used, although it is returned
3635
+ # when describing your service.
3931
3636
  # @return [Integer]
3932
3637
  #
3638
+ # @!attribute [rw] alarms
3639
+ # Information about the CloudWatch alarms.
3640
+ # @return [Types::DeploymentAlarms]
3641
+ #
3933
3642
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration AWS API Documentation
3934
3643
  #
3935
3644
  class DeploymentConfiguration < Struct.new(
3936
3645
  :deployment_circuit_breaker,
3937
3646
  :maximum_percent,
3938
- :minimum_healthy_percent)
3647
+ :minimum_healthy_percent,
3648
+ :alarms)
3939
3649
  SENSITIVE = []
3940
3650
  include Aws::Structure
3941
3651
  end
3942
3652
 
3943
3653
  # The deployment controller to use for the service. For more
3944
- # information, see [Amazon ECS Deployment Types][1] in the *Amazon
3654
+ # information, see [Amazon ECS deployment types][1] in the *Amazon
3945
3655
  # Elastic Container Service Developer Guide*.
3946
3656
  #
3947
3657
  #
3948
3658
  #
3949
3659
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
3950
3660
  #
3951
- # @note When making an API call, you may pass DeploymentController
3952
- # data as a hash:
3953
- #
3954
- # {
3955
- # type: "ECS", # required, accepts ECS, CODE_DEPLOY, EXTERNAL
3956
- # }
3957
- #
3958
3661
  # @!attribute [rw] type
3959
3662
  # The deployment controller type to use.
3960
3663
  #
@@ -3991,15 +3694,6 @@ module Aws::ECS
3991
3694
  include Aws::Structure
3992
3695
  end
3993
3696
 
3994
- # @note When making an API call, you may pass DeregisterContainerInstanceRequest
3995
- # data as a hash:
3996
- #
3997
- # {
3998
- # cluster: "String",
3999
- # container_instance: "String", # required
4000
- # force: false,
4001
- # }
4002
- #
4003
3697
  # @!attribute [rw] cluster
4004
3698
  # The short name or full Amazon Resource Name (ARN) of the cluster
4005
3699
  # that hosts the container instance to deregister. If you do not
@@ -4008,11 +3702,12 @@ module Aws::ECS
4008
3702
  #
4009
3703
  # @!attribute [rw] container_instance
4010
3704
  # The container instance ID or full ARN of the container instance to
4011
- # deregister. The ARN contains the `arn:aws:ecs` namespace, followed
4012
- # by the Region of the container instance, the Amazon Web Services
4013
- # account ID of the container instance owner, the `container-instance`
4014
- # namespace, and then the container instance ID. For example,
4015
- # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID`.
3705
+ # deregister. For more information about the ARN format, see [Amazon
3706
+ # Resource Name (ARN)][1] in the *Amazon ECS Developer Guide*.
3707
+ #
3708
+ #
3709
+ #
3710
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
4016
3711
  # @return [String]
4017
3712
  #
4018
3713
  # @!attribute [rw] force
@@ -4053,13 +3748,6 @@ module Aws::ECS
4053
3748
  include Aws::Structure
4054
3749
  end
4055
3750
 
4056
- # @note When making an API call, you may pass DeregisterTaskDefinitionRequest
4057
- # data as a hash:
4058
- #
4059
- # {
4060
- # task_definition: "String", # required
4061
- # }
4062
- #
4063
3751
  # @!attribute [rw] task_definition
4064
3752
  # The `family` and `revision` (`family:revision`) or full Amazon
4065
3753
  # Resource Name (ARN) of the task definition to deregister. You must
@@ -4086,16 +3774,6 @@ module Aws::ECS
4086
3774
  include Aws::Structure
4087
3775
  end
4088
3776
 
4089
- # @note When making an API call, you may pass DescribeCapacityProvidersRequest
4090
- # data as a hash:
4091
- #
4092
- # {
4093
- # capacity_providers: ["String"],
4094
- # include: ["TAGS"], # accepts TAGS
4095
- # max_results: 1,
4096
- # next_token: "String",
4097
- # }
4098
- #
4099
3777
  # @!attribute [rw] capacity_providers
4100
3778
  # The short name or full Amazon Resource Name (ARN) of one or more
4101
3779
  # capacity providers. Up to `100` capacity providers can be described
@@ -4172,14 +3850,6 @@ module Aws::ECS
4172
3850
  include Aws::Structure
4173
3851
  end
4174
3852
 
4175
- # @note When making an API call, you may pass DescribeClustersRequest
4176
- # data as a hash:
4177
- #
4178
- # {
4179
- # clusters: ["String"],
4180
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
4181
- # }
4182
- #
4183
3853
  # @!attribute [rw] clusters
4184
3854
  # A list of up to 100 cluster names or full cluster Amazon Resource
4185
3855
  # Name (ARN) entries. If you do not specify a cluster, the default
@@ -4192,7 +3862,8 @@ module Aws::ECS
4192
3862
  # isn't included.
4193
3863
  #
4194
3864
  # If `ATTACHMENTS` is specified, the attachments for the container
4195
- # instances or tasks within the cluster are included.
3865
+ # instances or tasks within the cluster are included, for example the
3866
+ # capacity providers.
4196
3867
  #
4197
3868
  # If `SETTINGS` is specified, the settings for the cluster are
4198
3869
  # included.
@@ -4233,15 +3904,6 @@ module Aws::ECS
4233
3904
  include Aws::Structure
4234
3905
  end
4235
3906
 
4236
- # @note When making an API call, you may pass DescribeContainerInstancesRequest
4237
- # data as a hash:
4238
- #
4239
- # {
4240
- # cluster: "String",
4241
- # container_instances: ["String"], # required
4242
- # include: ["TAGS"], # accepts TAGS, CONTAINER_INSTANCE_HEALTH
4243
- # }
4244
- #
4245
3907
  # @!attribute [rw] cluster
4246
3908
  # The short name or full Amazon Resource Name (ARN) of the cluster
4247
3909
  # that hosts the container instances to describe. If you do not
@@ -4292,15 +3954,6 @@ module Aws::ECS
4292
3954
  include Aws::Structure
4293
3955
  end
4294
3956
 
4295
- # @note When making an API call, you may pass DescribeServicesRequest
4296
- # data as a hash:
4297
- #
4298
- # {
4299
- # cluster: "String",
4300
- # services: ["String"], # required
4301
- # include: ["TAGS"], # accepts TAGS
4302
- # }
4303
- #
4304
3957
  # @!attribute [rw] cluster
4305
3958
  # The short name or full Amazon Resource Name (ARN)the cluster that
4306
3959
  # hosts the service to describe. If you do not specify a cluster, the
@@ -4348,14 +4001,6 @@ module Aws::ECS
4348
4001
  include Aws::Structure
4349
4002
  end
4350
4003
 
4351
- # @note When making an API call, you may pass DescribeTaskDefinitionRequest
4352
- # data as a hash:
4353
- #
4354
- # {
4355
- # task_definition: "String", # required
4356
- # include: ["TAGS"], # accepts TAGS
4357
- # }
4358
- #
4359
4004
  # @!attribute [rw] task_definition
4360
4005
  # The `family` for the latest `ACTIVE` revision, `family` and
4361
4006
  # `revision` (`family:revision`) for a specific revision in the
@@ -4422,16 +4067,6 @@ module Aws::ECS
4422
4067
  include Aws::Structure
4423
4068
  end
4424
4069
 
4425
- # @note When making an API call, you may pass DescribeTaskSetsRequest
4426
- # data as a hash:
4427
- #
4428
- # {
4429
- # cluster: "String", # required
4430
- # service: "String", # required
4431
- # task_sets: ["String"],
4432
- # include: ["TAGS"], # accepts TAGS
4433
- # }
4434
- #
4435
4070
  # @!attribute [rw] cluster
4436
4071
  # The short name or full Amazon Resource Name (ARN) of the cluster
4437
4072
  # that hosts the service that the task sets exist in.
@@ -4480,15 +4115,6 @@ module Aws::ECS
4480
4115
  include Aws::Structure
4481
4116
  end
4482
4117
 
4483
- # @note When making an API call, you may pass DescribeTasksRequest
4484
- # data as a hash:
4485
- #
4486
- # {
4487
- # cluster: "String",
4488
- # tasks: ["String"], # required
4489
- # include: ["TAGS"], # accepts TAGS
4490
- # }
4491
- #
4492
4118
  # @!attribute [rw] cluster
4493
4119
  # The short name or full Amazon Resource Name (ARN) of the cluster
4494
4120
  # that hosts the task or tasks to describe. If you do not specify a
@@ -4536,15 +4162,6 @@ module Aws::ECS
4536
4162
 
4537
4163
  # An object representing a container instance host device.
4538
4164
  #
4539
- # @note When making an API call, you may pass Device
4540
- # data as a hash:
4541
- #
4542
- # {
4543
- # host_path: "String", # required
4544
- # container_path: "String",
4545
- # permissions: ["read"], # accepts read, write, mknod
4546
- # }
4547
- #
4548
4165
  # @!attribute [rw] host_path
4549
4166
  # The path for the device on the host container instance.
4550
4167
  # @return [String]
@@ -4569,21 +4186,14 @@ module Aws::ECS
4569
4186
  include Aws::Structure
4570
4187
  end
4571
4188
 
4572
- # @note When making an API call, you may pass DiscoverPollEndpointRequest
4573
- # data as a hash:
4189
+ # @!attribute [rw] container_instance
4190
+ # The container instance ID or full ARN of the container instance. For
4191
+ # more information about the ARN format, see [Amazon Resource Name
4192
+ # (ARN)][1] in the *Amazon ECS Developer Guide*.
4574
4193
  #
4575
- # {
4576
- # container_instance: "String",
4577
- # cluster: "String",
4578
- # }
4579
4194
  #
4580
- # @!attribute [rw] container_instance
4581
- # The container instance ID or full ARN of the container instance. The
4582
- # ARN contains the `arn:aws:ecs` namespace, followed by the Region of
4583
- # the container instance, the Amazon Web Services account ID of the
4584
- # container instance owner, the `container-instance` namespace, and
4585
- # then the container instance ID. For example,
4586
- # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID`.
4195
+ #
4196
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
4587
4197
  # @return [String]
4588
4198
  #
4589
4199
  # @!attribute [rw] cluster
@@ -4608,11 +4218,22 @@ module Aws::ECS
4608
4218
  # The telemetry endpoint for the Amazon ECS agent.
4609
4219
  # @return [String]
4610
4220
  #
4221
+ # @!attribute [rw] service_connect_endpoint
4222
+ # The endpoint for the Amazon ECS agent to poll for Service Connect
4223
+ # configuration. For more information, see [Service Connect][1] in the
4224
+ # *Amazon Elastic Container Service Developer Guide*.
4225
+ #
4226
+ #
4227
+ #
4228
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
4229
+ # @return [String]
4230
+ #
4611
4231
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpointResponse AWS API Documentation
4612
4232
  #
4613
4233
  class DiscoverPollEndpointResponse < Struct.new(
4614
4234
  :endpoint,
4615
- :telemetry_endpoint)
4235
+ :telemetry_endpoint,
4236
+ :service_connect_endpoint)
4616
4237
  SENSITIVE = []
4617
4238
  include Aws::Structure
4618
4239
  end
@@ -4622,21 +4243,6 @@ module Aws::ECS
4622
4243
  # Windows containers only support the use of the `local` driver. To use
4623
4244
  # bind mounts, specify a `host` instead.
4624
4245
  #
4625
- # @note When making an API call, you may pass DockerVolumeConfiguration
4626
- # data as a hash:
4627
- #
4628
- # {
4629
- # scope: "task", # accepts task, shared
4630
- # autoprovision: false,
4631
- # driver: "String",
4632
- # driver_opts: {
4633
- # "String" => "String",
4634
- # },
4635
- # labels: {
4636
- # "String" => "String",
4637
- # },
4638
- # }
4639
- #
4640
4246
  # @!attribute [rw] scope
4641
4247
  # The scope for the Docker volume that determines its lifecycle.
4642
4248
  # Docker volumes that are scoped to a `task` are automatically
@@ -4714,14 +4320,6 @@ module Aws::ECS
4714
4320
  # The authorization configuration details for the Amazon EFS file
4715
4321
  # system.
4716
4322
  #
4717
- # @note When making an API call, you may pass EFSAuthorizationConfig
4718
- # data as a hash:
4719
- #
4720
- # {
4721
- # access_point_id: "String",
4722
- # iam: "ENABLED", # accepts ENABLED, DISABLED
4723
- # }
4724
- #
4725
4323
  # @!attribute [rw] access_point_id
4726
4324
  # The Amazon EFS access point ID to use. If an access point is
4727
4325
  # specified, the root directory value specified in the
@@ -4729,7 +4327,7 @@ module Aws::ECS
4729
4327
  # will enforce the path set on the EFS access point. If an access
4730
4328
  # point is used, transit encryption must be enabled in the
4731
4329
  # `EFSVolumeConfiguration`. For more information, see [Working with
4732
- # Amazon EFS Access Points][1] in the *Amazon Elastic File System User
4330
+ # Amazon EFS access points][1] in the *Amazon Elastic File System User
4733
4331
  # Guide*.
4734
4332
  #
4735
4333
  #
@@ -4743,7 +4341,7 @@ module Aws::ECS
4743
4341
  # enabled, transit encryption must be enabled in the
4744
4342
  # `EFSVolumeConfiguration`. If this parameter is omitted, the default
4745
4343
  # value of `DISABLED` is used. For more information, see [Using Amazon
4746
- # EFS Access Points][1] in the *Amazon Elastic Container Service
4344
+ # EFS access points][1] in the *Amazon Elastic Container Service
4747
4345
  # Developer Guide*.
4748
4346
  #
4749
4347
  #
@@ -4762,27 +4360,13 @@ module Aws::ECS
4762
4360
 
4763
4361
  # This parameter is specified when you're using an Amazon Elastic File
4764
4362
  # System file system for task storage. For more information, see [Amazon
4765
- # EFS Volumes][1] in the *Amazon Elastic Container Service Developer
4363
+ # EFS volumes][1] in the *Amazon Elastic Container Service Developer
4766
4364
  # Guide*.
4767
4365
  #
4768
4366
  #
4769
4367
  #
4770
4368
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html
4771
4369
  #
4772
- # @note When making an API call, you may pass EFSVolumeConfiguration
4773
- # data as a hash:
4774
- #
4775
- # {
4776
- # file_system_id: "String", # required
4777
- # root_directory: "String",
4778
- # transit_encryption: "ENABLED", # accepts ENABLED, DISABLED
4779
- # transit_encryption_port: 1,
4780
- # authorization_config: {
4781
- # access_point_id: "String",
4782
- # iam: "ENABLED", # accepts ENABLED, DISABLED
4783
- # },
4784
- # }
4785
- #
4786
4370
  # @!attribute [rw] file_system_id
4787
4371
  # The Amazon EFS file system ID to use.
4788
4372
  # @return [String]
@@ -4803,7 +4387,7 @@ module Aws::ECS
4803
4387
  # between the Amazon ECS host and the Amazon EFS server. Transit
4804
4388
  # encryption must be enabled if Amazon EFS IAM authorization is used.
4805
4389
  # If this parameter is omitted, the default value of `DISABLED` is
4806
- # used. For more information, see [Encrypting Data in Transit][1] in
4390
+ # used. For more information, see [Encrypting data in transit][1] in
4807
4391
  # the *Amazon Elastic File System User Guide*.
4808
4392
  #
4809
4393
  #
@@ -4815,8 +4399,8 @@ module Aws::ECS
4815
4399
  # The port to use when sending encrypted data between the Amazon ECS
4816
4400
  # host and the Amazon EFS server. If you do not specify a transit
4817
4401
  # encryption port, it will use the port selection strategy that the
4818
- # Amazon EFS mount helper uses. For more information, see [EFS Mount
4819
- # Helper][1] in the *Amazon Elastic File System User Guide*.
4402
+ # Amazon EFS mount helper uses. For more information, see [EFS mount
4403
+ # helper][1] in the *Amazon Elastic File System User Guide*.
4820
4404
  #
4821
4405
  #
4822
4406
  #
@@ -4869,14 +4453,6 @@ module Aws::ECS
4869
4453
  # [1]: https://docs.docker.com/compose/env-file/
4870
4454
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html
4871
4455
  #
4872
- # @note When making an API call, you may pass EnvironmentFile
4873
- # data as a hash:
4874
- #
4875
- # {
4876
- # value: "String", # required
4877
- # type: "s3", # required, accepts s3
4878
- # }
4879
- #
4880
4456
  # @!attribute [rw] value
4881
4457
  # The Amazon Resource Name (ARN) of the Amazon S3 object containing
4882
4458
  # the environment variable file.
@@ -4911,13 +4487,6 @@ module Aws::ECS
4911
4487
  #
4912
4488
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
4913
4489
  #
4914
- # @note When making an API call, you may pass EphemeralStorage
4915
- # data as a hash:
4916
- #
4917
- # {
4918
- # size_in_gi_b: 1, # required
4919
- # }
4920
- #
4921
4490
  # @!attribute [rw] size_in_gi_b
4922
4491
  # The total amount, in GiB, of ephemeral storage to set for the task.
4923
4492
  # The minimum supported value is `21` GiB and the maximum supported
@@ -4934,21 +4503,6 @@ module Aws::ECS
4934
4503
 
4935
4504
  # The details of the execute command configuration.
4936
4505
  #
4937
- # @note When making an API call, you may pass ExecuteCommandConfiguration
4938
- # data as a hash:
4939
- #
4940
- # {
4941
- # kms_key_id: "String",
4942
- # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
4943
- # log_configuration: {
4944
- # cloud_watch_log_group_name: "String",
4945
- # cloud_watch_encryption_enabled: false,
4946
- # s3_bucket_name: "String",
4947
- # s3_encryption_enabled: false,
4948
- # s3_key_prefix: "String",
4949
- # },
4950
- # }
4951
- #
4952
4506
  # @!attribute [rw] kms_key_id
4953
4507
  # Specify an Key Management Service key ID to encrypt the data between
4954
4508
  # the local client and the container.
@@ -4990,17 +4544,6 @@ module Aws::ECS
4990
4544
  # The log configuration for the results of the execute command actions.
4991
4545
  # The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.
4992
4546
  #
4993
- # @note When making an API call, you may pass ExecuteCommandLogConfiguration
4994
- # data as a hash:
4995
- #
4996
- # {
4997
- # cloud_watch_log_group_name: "String",
4998
- # cloud_watch_encryption_enabled: false,
4999
- # s3_bucket_name: "String",
5000
- # s3_encryption_enabled: false,
5001
- # s3_key_prefix: "String",
5002
- # }
5003
- #
5004
4547
  # @!attribute [rw] cloud_watch_log_group_name
5005
4548
  # The name of the CloudWatch log group to send logs to.
5006
4549
  #
@@ -5043,17 +4586,6 @@ module Aws::ECS
5043
4586
  include Aws::Structure
5044
4587
  end
5045
4588
 
5046
- # @note When making an API call, you may pass ExecuteCommandRequest
5047
- # data as a hash:
5048
- #
5049
- # {
5050
- # cluster: "String",
5051
- # container: "String",
5052
- # command: "String", # required
5053
- # interactive: false, # required
5054
- # task: "String", # required
5055
- # }
5056
- #
5057
4589
  # @!attribute [rw] cluster
5058
4590
  # The Amazon Resource Name (ARN) or short name of the cluster the task
5059
4591
  # is running in. If you do not specify a cluster, the default cluster
@@ -5133,8 +4665,8 @@ module Aws::ECS
5133
4665
 
5134
4666
  # The authorization configuration details for Amazon FSx for Windows
5135
4667
  # File Server file system. See
5136
- # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
5137
- # Container Service API Reference*.
4668
+ # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon ECS API
4669
+ # Reference*.
5138
4670
  #
5139
4671
  # For more information and the input format, see [Amazon FSx for Windows
5140
4672
  # File Server Volumes][2] in the *Amazon Elastic Container Service
@@ -5145,19 +4677,11 @@ module Aws::ECS
5145
4677
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html
5146
4678
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
5147
4679
  #
5148
- # @note When making an API call, you may pass FSxWindowsFileServerAuthorizationConfig
5149
- # data as a hash:
5150
- #
5151
- # {
5152
- # credentials_parameter: "String", # required
5153
- # domain: "String", # required
5154
- # }
5155
- #
5156
4680
  # @!attribute [rw] credentials_parameter
5157
4681
  # The authorization credential option to use. The authorization
5158
4682
  # credential options can be provided using either the Amazon Resource
5159
4683
  # Name (ARN) of an Secrets Manager secret or SSM Parameter Store
5160
- # parameter. The ARNs refer to the stored credentials.
4684
+ # parameter. The ARN refers to the stored credentials.
5161
4685
  # @return [String]
5162
4686
  #
5163
4687
  # @!attribute [rw] domain
@@ -5183,7 +4707,7 @@ module Aws::ECS
5183
4707
  # File Server][1] file system for task storage.
5184
4708
  #
5185
4709
  # For more information and the input format, see [Amazon FSx for Windows
5186
- # File Server Volumes][2] in the *Amazon Elastic Container Service
4710
+ # File Server volumes][2] in the *Amazon Elastic Container Service
5187
4711
  # Developer Guide*.
5188
4712
  #
5189
4713
  #
@@ -5191,18 +4715,6 @@ module Aws::ECS
5191
4715
  # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html
5192
4716
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
5193
4717
  #
5194
- # @note When making an API call, you may pass FSxWindowsFileServerVolumeConfiguration
5195
- # data as a hash:
5196
- #
5197
- # {
5198
- # file_system_id: "String", # required
5199
- # root_directory: "String", # required
5200
- # authorization_config: { # required
5201
- # credentials_parameter: "String", # required
5202
- # domain: "String", # required
5203
- # },
5204
- # }
5205
- #
5206
4718
  # @!attribute [rw] file_system_id
5207
4719
  # The Amazon FSx for Windows File Server file system ID to use.
5208
4720
  # @return [String]
@@ -5258,23 +4770,13 @@ module Aws::ECS
5258
4770
 
5259
4771
  # The FireLens configuration for the container. This is used to specify
5260
4772
  # and configure a log router for container logs. For more information,
5261
- # see [Custom Log Routing][1] in the *Amazon Elastic Container Service
4773
+ # see [Custom log routing][1] in the *Amazon Elastic Container Service
5262
4774
  # Developer Guide*.
5263
4775
  #
5264
4776
  #
5265
4777
  #
5266
4778
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html
5267
4779
  #
5268
- # @note When making an API call, you may pass FirelensConfiguration
5269
- # data as a hash:
5270
- #
5271
- # {
5272
- # type: "fluentd", # required, accepts fluentd, fluentbit
5273
- # options: {
5274
- # "String" => "String",
5275
- # },
5276
- # }
5277
- #
5278
4780
  # @!attribute [rw] type
5279
4781
  # The log router to use. The valid values are `fluentd` or
5280
4782
  # `fluentbit`.
@@ -5287,8 +4789,8 @@ module Aws::ECS
5287
4789
  # cluster, and container instance details to the log event. If
5288
4790
  # specified, the syntax to use is
5289
4791
  # `"options":\{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"\}`.
5290
- # For more information, see [Creating a Task Definition that Uses a
5291
- # FireLens Configuration][1] in the *Amazon Elastic Container Service
4792
+ # For more information, see [Creating a task definition that uses a
4793
+ # FireLens configuration][1] in the *Amazon Elastic Container Service
5292
4794
  # Developer Guide*.
5293
4795
  #
5294
4796
  # <note markdown="1"> Tasks hosted on Fargate only support the `file` configuration file
@@ -5310,6 +4812,50 @@ module Aws::ECS
5310
4812
  include Aws::Structure
5311
4813
  end
5312
4814
 
4815
+ # @!attribute [rw] cluster
4816
+ # The short name or full Amazon Resource Name (ARN) of the cluster
4817
+ # that hosts the service that the task sets exist in.
4818
+ # @return [String]
4819
+ #
4820
+ # @!attribute [rw] tasks
4821
+ # A list of up to 100 task IDs or full ARN entries.
4822
+ # @return [Array<String>]
4823
+ #
4824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/GetTaskProtectionRequest AWS API Documentation
4825
+ #
4826
+ class GetTaskProtectionRequest < Struct.new(
4827
+ :cluster,
4828
+ :tasks)
4829
+ SENSITIVE = []
4830
+ include Aws::Structure
4831
+ end
4832
+
4833
+ # @!attribute [rw] protected_tasks
4834
+ # A list of tasks with the following information.
4835
+ #
4836
+ # * `taskArn`\: The task ARN.
4837
+ #
4838
+ # * `protectionEnabled`\: The protection status of the task. If
4839
+ # scale-in protection is enabled for a task, the value is `true`.
4840
+ # Otherwise, it is `false`.
4841
+ #
4842
+ # * `expirationDate`\: The epoch time when protection for the task
4843
+ # will expire.
4844
+ # @return [Array<Types::ProtectedTask>]
4845
+ #
4846
+ # @!attribute [rw] failures
4847
+ # Any failures associated with the call.
4848
+ # @return [Array<Types::Failure>]
4849
+ #
4850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/GetTaskProtectionResponse AWS API Documentation
4851
+ #
4852
+ class GetTaskProtectionResponse < Struct.new(
4853
+ :protected_tasks,
4854
+ :failures)
4855
+ SENSITIVE = []
4856
+ include Aws::Structure
4857
+ end
4858
+
5313
4859
  # An object representing a container health check. Health check
5314
4860
  # parameters that are specified in a container definition override any
5315
4861
  # Docker health checks that exist in the container image (such as those
@@ -5339,8 +4885,9 @@ module Aws::ECS
5339
4885
  # no container health check defined.
5340
4886
  #
5341
4887
  # The following describes the possible `healthStatus` values for a task.
5342
- # The container health check status of nonessential containers do not
5343
- # have an effect on the health status of a task.
4888
+ # The container health check status of nonessential containers only
4889
+ # affects the health status of a task if no essential containers have
4890
+ # health checks defined.
5344
4891
  #
5345
4892
  # * `HEALTHY`-All essential containers within the task have passed their
5346
4893
  # health checks.
@@ -5349,23 +4896,30 @@ module Aws::ECS
5349
4896
  # health check.
5350
4897
  #
5351
4898
  # * `UNKNOWN`-The essential containers within the task are still having
5352
- # their health checks evaluated or there are no container health
5353
- # checks defined.
4899
+ # their health checks evaluated or there are only nonessential
4900
+ # containers with health checks defined.
5354
4901
  #
5355
4902
  # If a task is run manually, and not as part of a service, the task will
5356
4903
  # continue its lifecycle regardless of its health status. For tasks that
5357
4904
  # are part of a service, if the task reports as unhealthy then the task
5358
4905
  # will be stopped and the service scheduler will replace it.
5359
4906
  #
4907
+ # For tasks that are a part of a service and the service uses the `ECS`
4908
+ # rolling deployment type, the deployment is paused while the new tasks
4909
+ # have the `UNKNOWN` task health check status. For example, tasks that
4910
+ # define health checks for nonessential containers when no essential
4911
+ # containers have health checks will have the `UNKNOWN` health check
4912
+ # status indefinitely which prevents the deployment from completing.
4913
+ #
5360
4914
  # The following are notes about container health check support:
5361
4915
  #
5362
4916
  # * Container health checks require version 1.17.0 or greater of the
5363
4917
  # Amazon ECS container agent. For more information, see [Updating the
5364
- # Amazon ECS Container Agent][1].
4918
+ # Amazon ECS container agent][1].
5365
4919
  #
5366
4920
  # * Container health checks are supported for Fargate tasks if you're
5367
- # using platform version 1.1.0 or greater. For more information, see
5368
- # [Fargate Platform Versions][2].
4921
+ # using platform version `1.1.0` or greater. For more information, see
4922
+ # [Fargate platform versions][2].
5369
4923
  #
5370
4924
  # * Container health checks aren't supported for tasks that are part of
5371
4925
  # a service that's configured to use a Classic Load Balancer.
@@ -5375,21 +4929,10 @@ module Aws::ECS
5375
4929
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html
5376
4930
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
5377
4931
  #
5378
- # @note When making an API call, you may pass HealthCheck
5379
- # data as a hash:
5380
- #
5381
- # {
5382
- # command: ["String"], # required
5383
- # interval: 1,
5384
- # timeout: 1,
5385
- # retries: 1,
5386
- # start_period: 1,
5387
- # }
5388
- #
5389
4932
  # @!attribute [rw] command
5390
4933
  # A string array representing the command that the container runs to
5391
4934
  # determine if it is healthy. The string array must start with `CMD`
5392
- # to execute the command arguments directly, or `CMD-SHELL` to run the
4935
+ # to run the command arguments directly, or `CMD-SHELL` to run the
5393
4936
  # command with the container's default shell.
5394
4937
  #
5395
4938
  # When you use the Amazon Web Services Management Console JSON panel,
@@ -5460,14 +5003,6 @@ module Aws::ECS
5460
5003
  # file of a container via the `extraHosts` parameter of its
5461
5004
  # ContainerDefinition.
5462
5005
  #
5463
- # @note When making an API call, you may pass HostEntry
5464
- # data as a hash:
5465
- #
5466
- # {
5467
- # hostname: "String", # required
5468
- # ip_address: "String", # required
5469
- # }
5470
- #
5471
5006
  # @!attribute [rw] hostname
5472
5007
  # The hostname to use in the `/etc/hosts` entry.
5473
5008
  # @return [String]
@@ -5487,13 +5022,6 @@ module Aws::ECS
5487
5022
 
5488
5023
  # Details on a container instance bind mount host volume.
5489
5024
  #
5490
- # @note When making an API call, you may pass HostVolumeProperties
5491
- # data as a hash:
5492
- #
5493
- # {
5494
- # source_path: "String",
5495
- # }
5496
- #
5497
5025
  # @!attribute [rw] source_path
5498
5026
  # When the `host` parameter is used, specify a `sourcePath` to declare
5499
5027
  # the path on the host container instance that's presented to the
@@ -5525,14 +5053,6 @@ module Aws::ECS
5525
5053
  #
5526
5054
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html
5527
5055
  #
5528
- # @note When making an API call, you may pass InferenceAccelerator
5529
- # data as a hash:
5530
- #
5531
- # {
5532
- # device_name: "String", # required
5533
- # device_type: "String", # required
5534
- # }
5535
- #
5536
5056
  # @!attribute [rw] device_name
5537
5057
  # The Elastic Inference accelerator device name. The `deviceName` must
5538
5058
  # also be referenced in a container definition as a
@@ -5562,14 +5082,6 @@ module Aws::ECS
5562
5082
  #
5563
5083
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html
5564
5084
  #
5565
- # @note When making an API call, you may pass InferenceAcceleratorOverride
5566
- # data as a hash:
5567
- #
5568
- # {
5569
- # device_name: "String",
5570
- # device_type: "String",
5571
- # }
5572
- #
5573
5085
  # @!attribute [rw] device_name
5574
5086
  # The Elastic Inference accelerator device name to override for the
5575
5087
  # task. This parameter must match a `deviceName` specified in the task
@@ -5641,14 +5153,6 @@ module Aws::ECS
5641
5153
  # [1]: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities
5642
5154
  # [2]: http://man7.org/linux/man-pages/man7/capabilities.7.html
5643
5155
  #
5644
- # @note When making an API call, you may pass KernelCapabilities
5645
- # data as a hash:
5646
- #
5647
- # {
5648
- # add: ["String"],
5649
- # drop: ["String"],
5650
- # }
5651
- #
5652
5156
  # @!attribute [rw] add
5653
5157
  # The Linux capabilities for the container that have been added to the
5654
5158
  # default configuration provided by Docker. This parameter maps to
@@ -5711,14 +5215,6 @@ module Aws::ECS
5711
5215
 
5712
5216
  # A key-value pair object.
5713
5217
  #
5714
- # @note When making an API call, you may pass KeyValuePair
5715
- # data as a hash:
5716
- #
5717
- # {
5718
- # name: "String",
5719
- # value: "String",
5720
- # }
5721
- #
5722
5218
  # @!attribute [rw] name
5723
5219
  # The name of the key-value pair. For environment variables, this is
5724
5220
  # the name of the environment variable.
@@ -5747,34 +5243,6 @@ module Aws::ECS
5747
5243
  # Linux-specific options that are applied to the container, such as
5748
5244
  # Linux KernelCapabilities.
5749
5245
  #
5750
- # @note When making an API call, you may pass LinuxParameters
5751
- # data as a hash:
5752
- #
5753
- # {
5754
- # capabilities: {
5755
- # add: ["String"],
5756
- # drop: ["String"],
5757
- # },
5758
- # devices: [
5759
- # {
5760
- # host_path: "String", # required
5761
- # container_path: "String",
5762
- # permissions: ["read"], # accepts read, write, mknod
5763
- # },
5764
- # ],
5765
- # init_process_enabled: false,
5766
- # shared_memory_size: 1,
5767
- # tmpfs: [
5768
- # {
5769
- # container_path: "String", # required
5770
- # size: 1, # required
5771
- # mount_options: ["String"],
5772
- # },
5773
- # ],
5774
- # max_swap: 1,
5775
- # swappiness: 1,
5776
- # }
5777
- #
5778
5246
  # @!attribute [rw] capabilities
5779
5247
  # The Linux capabilities for the container that are added to or
5780
5248
  # dropped from the default configuration provided by Docker.
@@ -5904,18 +5372,6 @@ module Aws::ECS
5904
5372
  include Aws::Structure
5905
5373
  end
5906
5374
 
5907
- # @note When making an API call, you may pass ListAccountSettingsRequest
5908
- # data as a hash:
5909
- #
5910
- # {
5911
- # name: "serviceLongArnFormat", # accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
5912
- # value: "String",
5913
- # principal_arn: "String",
5914
- # effective_settings: false,
5915
- # next_token: "String",
5916
- # max_results: 1,
5917
- # }
5918
- #
5919
5375
  # @!attribute [rw] name
5920
5376
  # The name of the account setting you want to list the settings for.
5921
5377
  # @return [String]
@@ -6003,18 +5459,6 @@ module Aws::ECS
6003
5459
  include Aws::Structure
6004
5460
  end
6005
5461
 
6006
- # @note When making an API call, you may pass ListAttributesRequest
6007
- # data as a hash:
6008
- #
6009
- # {
6010
- # cluster: "String",
6011
- # target_type: "container-instance", # required, accepts container-instance
6012
- # attribute_name: "String",
6013
- # attribute_value: "String",
6014
- # next_token: "String",
6015
- # max_results: 1,
6016
- # }
6017
- #
6018
5462
  # @!attribute [rw] cluster
6019
5463
  # The short name or full Amazon Resource Name (ARN) of the cluster to
6020
5464
  # list attributes. If you do not specify a cluster, the default
@@ -6092,14 +5536,6 @@ module Aws::ECS
6092
5536
  include Aws::Structure
6093
5537
  end
6094
5538
 
6095
- # @note When making an API call, you may pass ListClustersRequest
6096
- # data as a hash:
6097
- #
6098
- # {
6099
- # next_token: "String",
6100
- # max_results: 1,
6101
- # }
6102
- #
6103
5539
  # @!attribute [rw] next_token
6104
5540
  # The `nextToken` value returned from a `ListClusters` request
6105
5541
  # indicating that more results are available to fulfill the request
@@ -6154,17 +5590,6 @@ module Aws::ECS
6154
5590
  include Aws::Structure
6155
5591
  end
6156
5592
 
6157
- # @note When making an API call, you may pass ListContainerInstancesRequest
6158
- # data as a hash:
6159
- #
6160
- # {
6161
- # cluster: "String",
6162
- # filter: "String",
6163
- # next_token: "String",
6164
- # max_results: 1,
6165
- # status: "ACTIVE", # accepts ACTIVE, DRAINING, REGISTERING, DEREGISTERING, REGISTRATION_FAILED
6166
- # }
6167
- #
6168
5593
  # @!attribute [rw] cluster
6169
5594
  # The short name or full Amazon Resource Name (ARN) of the cluster
6170
5595
  # that hosts the container instances to list. If you do not specify a
@@ -6250,20 +5675,79 @@ module Aws::ECS
6250
5675
  include Aws::Structure
6251
5676
  end
6252
5677
 
6253
- # @note When making an API call, you may pass ListServicesRequest
6254
- # data as a hash:
5678
+ # @!attribute [rw] namespace
5679
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
5680
+ # Map namespace to list the services in.
5681
+ #
5682
+ # Tasks that run in a namespace can use short names to connect to
5683
+ # services in the namespace. Tasks can connect to services across all
5684
+ # of the clusters in the namespace. Tasks connect through a managed
5685
+ # proxy container that collects logs and metrics for increased
5686
+ # visibility. Only the tasks that Amazon ECS services create are
5687
+ # supported with Service Connect. For more information, see [Service
5688
+ # Connect][1] in the *Amazon Elastic Container Service Developer
5689
+ # Guide*.
6255
5690
  #
6256
- # {
6257
- # cluster: "String",
6258
- # next_token: "String",
6259
- # max_results: 1,
6260
- # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
6261
- # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
6262
- # }
6263
5691
  #
6264
- # @!attribute [rw] cluster
6265
- # The short name or full Amazon Resource Name (ARN) of the cluster to
6266
- # use when filtering the `ListServices` results. If you do not specify
5692
+ #
5693
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
5694
+ # @return [String]
5695
+ #
5696
+ # @!attribute [rw] next_token
5697
+ # The `nextToken` value that's returned from a
5698
+ # `ListServicesByNamespace` request. It indicates that more results
5699
+ # are available to fulfill the request and further calls are needed.
5700
+ # If `maxResults` is returned, it is possible the number of results is
5701
+ # less than `maxResults`.
5702
+ # @return [String]
5703
+ #
5704
+ # @!attribute [rw] max_results
5705
+ # The maximum number of service results that `ListServicesByNamespace`
5706
+ # returns in paginated output. When this parameter is used,
5707
+ # `ListServicesByNamespace` only returns `maxResults` results in a
5708
+ # single page along with a `nextToken` response element. The remaining
5709
+ # results of the initial request can be seen by sending another
5710
+ # `ListServicesByNamespace` request with the returned `nextToken`
5711
+ # value. This value can be between 1 and 100. If this parameter isn't
5712
+ # used, then `ListServicesByNamespace` returns up to 10 results and a
5713
+ # `nextToken` value if applicable.
5714
+ # @return [Integer]
5715
+ #
5716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesByNamespaceRequest AWS API Documentation
5717
+ #
5718
+ class ListServicesByNamespaceRequest < Struct.new(
5719
+ :namespace,
5720
+ :next_token,
5721
+ :max_results)
5722
+ SENSITIVE = []
5723
+ include Aws::Structure
5724
+ end
5725
+
5726
+ # @!attribute [rw] service_arns
5727
+ # The list of full ARN entries for each service that's associated
5728
+ # with the specified namespace.
5729
+ # @return [Array<String>]
5730
+ #
5731
+ # @!attribute [rw] next_token
5732
+ # The `nextToken` value to include in a future
5733
+ # `ListServicesByNamespace` request. When the results of a
5734
+ # `ListServicesByNamespace` request exceed `maxResults`, this value
5735
+ # can be used to retrieve the next page of results. When there are no
5736
+ # more results to return, this value is `null`.
5737
+ # @return [String]
5738
+ #
5739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesByNamespaceResponse AWS API Documentation
5740
+ #
5741
+ class ListServicesByNamespaceResponse < Struct.new(
5742
+ :service_arns,
5743
+ :next_token)
5744
+ SENSITIVE = []
5745
+ include Aws::Structure
5746
+ end
5747
+
5748
+ # @!attribute [rw] cluster
5749
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
5750
+ # use when filtering the `ListServices` results. If you do not specify
6267
5751
  # a cluster, the default cluster is assumed.
6268
5752
  # @return [String]
6269
5753
  #
@@ -6333,13 +5817,6 @@ module Aws::ECS
6333
5817
  include Aws::Structure
6334
5818
  end
6335
5819
 
6336
- # @note When making an API call, you may pass ListTagsForResourceRequest
6337
- # data as a hash:
6338
- #
6339
- # {
6340
- # resource_arn: "String", # required
6341
- # }
6342
- #
6343
5820
  # @!attribute [rw] resource_arn
6344
5821
  # The Amazon Resource Name (ARN) that identifies the resource to list
6345
5822
  # the tags for. Currently, the supported resources are Amazon ECS
@@ -6367,16 +5844,6 @@ module Aws::ECS
6367
5844
  include Aws::Structure
6368
5845
  end
6369
5846
 
6370
- # @note When making an API call, you may pass ListTaskDefinitionFamiliesRequest
6371
- # data as a hash:
6372
- #
6373
- # {
6374
- # family_prefix: "String",
6375
- # status: "ACTIVE", # accepts ACTIVE, INACTIVE, ALL
6376
- # next_token: "String",
6377
- # max_results: 1,
6378
- # }
6379
- #
6380
5847
  # @!attribute [rw] family_prefix
6381
5848
  # The `familyPrefix` is a string that's used to filter the results of
6382
5849
  # `ListTaskDefinitionFamilies`. If you specify a `familyPrefix`, only
@@ -6455,17 +5922,6 @@ module Aws::ECS
6455
5922
  include Aws::Structure
6456
5923
  end
6457
5924
 
6458
- # @note When making an API call, you may pass ListTaskDefinitionsRequest
6459
- # data as a hash:
6460
- #
6461
- # {
6462
- # family_prefix: "String",
6463
- # status: "ACTIVE", # accepts ACTIVE, INACTIVE
6464
- # sort: "ASC", # accepts ASC, DESC
6465
- # next_token: "String",
6466
- # max_results: 1,
6467
- # }
6468
- #
6469
5925
  # @!attribute [rw] family_prefix
6470
5926
  # The full family name to filter the `ListTaskDefinitions` results
6471
5927
  # with. Specifying a `familyPrefix` limits the listed task definitions
@@ -6550,21 +6006,6 @@ module Aws::ECS
6550
6006
  include Aws::Structure
6551
6007
  end
6552
6008
 
6553
- # @note When making an API call, you may pass ListTasksRequest
6554
- # data as a hash:
6555
- #
6556
- # {
6557
- # cluster: "String",
6558
- # container_instance: "String",
6559
- # family: "String",
6560
- # next_token: "String",
6561
- # max_results: 1,
6562
- # started_by: "String",
6563
- # service_name: "String",
6564
- # desired_status: "RUNNING", # accepts RUNNING, PENDING, STOPPED
6565
- # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
6566
- # }
6567
- #
6568
6009
  # @!attribute [rw] cluster
6569
6010
  # The short name or full Amazon Resource Name (ARN) of the cluster to
6570
6011
  # use when filtering the `ListTasks` results. If you do not specify a
@@ -6612,6 +6053,9 @@ module Aws::ECS
6612
6053
  # The `startedBy` value to filter the task results with. Specifying a
6613
6054
  # `startedBy` value limits the results to tasks that were started with
6614
6055
  # that value.
6056
+ #
6057
+ # When you specify `startedBy` as the filter, it must be the only
6058
+ # filter that you use.
6615
6059
  # @return [String]
6616
6060
  #
6617
6061
  # @!attribute [rw] service_name
@@ -6692,23 +6136,13 @@ module Aws::ECS
6692
6136
  # update the Elastic Load Balancing configuration.
6693
6137
  #
6694
6138
  # A service-linked role is required for services that use multiple
6695
- # target groups. For more information, see [Service-linked roles][1] in
6696
- # the *Amazon Elastic Container Service Developer Guide*.
6139
+ # target groups. For more information, see [Using service-linked
6140
+ # roles][1] in the *Amazon Elastic Container Service Developer Guide*.
6697
6141
  #
6698
6142
  #
6699
6143
  #
6700
6144
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html
6701
6145
  #
6702
- # @note When making an API call, you may pass LoadBalancer
6703
- # data as a hash:
6704
- #
6705
- # {
6706
- # target_group_arn: "String",
6707
- # load_balancer_name: "String",
6708
- # container_name: "String",
6709
- # container_port: 1,
6710
- # }
6711
- #
6712
6146
  # @!attribute [rw] target_group_arn
6713
6147
  # The full Amazon Resource Name (ARN) of the Elastic Load Balancing
6714
6148
  # target group or groups associated with a service or task set.
@@ -6719,12 +6153,12 @@ module Aws::ECS
6719
6153
  #
6720
6154
  # For services using the `ECS` deployment controller, you can specify
6721
6155
  # one or multiple target groups. For more information, see
6722
- # [Registering Multiple Target Groups with a Service][1] in the
6156
+ # [Registering multiple target groups with a service][1] in the
6723
6157
  # *Amazon Elastic Container Service Developer Guide*.
6724
6158
  #
6725
6159
  # For services using the `CODE_DEPLOY` deployment controller, you're
6726
6160
  # required to define two target groups for the load balancer. For more
6727
- # information, see [Blue/Green Deployment with CodeDeploy][2] in the
6161
+ # information, see [Blue/green deployment with CodeDeploy][2] in the
6728
6162
  # *Amazon Elastic Container Service Developer Guide*.
6729
6163
  #
6730
6164
  # If your service's task definition uses the `awsvpc` network mode,
@@ -6817,22 +6251,6 @@ module Aws::ECS
6817
6251
  # [4]: https://docs.docker.com/engine/admin/logging/overview/
6818
6252
  # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
6819
6253
  #
6820
- # @note When making an API call, you may pass LogConfiguration
6821
- # data as a hash:
6822
- #
6823
- # {
6824
- # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
6825
- # options: {
6826
- # "String" => "String",
6827
- # },
6828
- # secret_options: [
6829
- # {
6830
- # name: "String", # required
6831
- # value_from: "String", # required
6832
- # },
6833
- # ],
6834
- # }
6835
- #
6836
6254
  # @!attribute [rw] log_driver
6837
6255
  # The log driver to use for the container.
6838
6256
  #
@@ -6878,7 +6296,7 @@ module Aws::ECS
6878
6296
  #
6879
6297
  # @!attribute [rw] secret_options
6880
6298
  # The secrets to pass to the log configuration. For more information,
6881
- # see [Specifying Sensitive Data][1] in the *Amazon Elastic Container
6299
+ # see [Specifying sensitive data][1] in the *Amazon Elastic Container
6882
6300
  # Service Developer Guide*.
6883
6301
  #
6884
6302
  #
@@ -6929,16 +6347,6 @@ module Aws::ECS
6929
6347
 
6930
6348
  # An object representing a change in state for a managed agent.
6931
6349
  #
6932
- # @note When making an API call, you may pass ManagedAgentStateChange
6933
- # data as a hash:
6934
- #
6935
- # {
6936
- # container_name: "String", # required
6937
- # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
6938
- # status: "String", # required
6939
- # reason: "String",
6940
- # }
6941
- #
6942
6350
  # @!attribute [rw] container_name
6943
6351
  # The name of the container that's associated with the managed agent.
6944
6352
  # @return [String]
@@ -6973,7 +6381,7 @@ module Aws::ECS
6973
6381
  # scale-out actions of the Auto Scaling group. Amazon ECS manages a
6974
6382
  # target tracking scaling policy using an Amazon ECS managed CloudWatch
6975
6383
  # metric with the specified `targetCapacity` value as the target value
6976
- # for the metric. For more information, see [Using Managed Scaling][1]
6384
+ # for the metric. For more information, see [Using managed scaling][1]
6977
6385
  # in the *Amazon Elastic Container Service Developer Guide*.
6978
6386
  #
6979
6387
  # If managed scaling is disabled, the user must manage the scaling of
@@ -6983,17 +6391,6 @@ module Aws::ECS
6983
6391
  #
6984
6392
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling
6985
6393
  #
6986
- # @note When making an API call, you may pass ManagedScaling
6987
- # data as a hash:
6988
- #
6989
- # {
6990
- # status: "ENABLED", # accepts ENABLED, DISABLED
6991
- # target_capacity: 1,
6992
- # minimum_scaling_step_size: 1,
6993
- # maximum_scaling_step_size: 1,
6994
- # instance_warmup_period: 1,
6995
- # }
6996
- #
6997
6394
  # @!attribute [rw] status
6998
6395
  # Determines whether to use managed scaling for the capacity provider.
6999
6396
  # @return [String]
@@ -7006,15 +6403,27 @@ module Aws::ECS
7006
6403
  # @return [Integer]
7007
6404
  #
7008
6405
  # @!attribute [rw] minimum_scaling_step_size
7009
- # The minimum number of container instances that Amazon ECS scales in
7010
- # or scales out at one time. If this parameter is omitted, the default
7011
- # value of `1` is used.
6406
+ # The minimum number of Amazon EC2 instances that Amazon ECS will
6407
+ # scale out at one time. The scale in process is not affected by this
6408
+ # parameter If this parameter is omitted, the default value of `1` is
6409
+ # used.
6410
+ #
6411
+ # When additional capacity is required, Amazon ECS will scale up the
6412
+ # minimum scaling step size even if the actual demand is less than the
6413
+ # minimum scaling step size.
6414
+ #
6415
+ # If you use a capacity provider with an Auto Scaling group configured
6416
+ # with more than one Amazon EC2 instance type or Availability Zone,
6417
+ # Amazon ECS will scale up by the exact minimum scaling step size
6418
+ # value and will ignore both the maximum scaling step size as well as
6419
+ # the capacity demand.
7012
6420
  # @return [Integer]
7013
6421
  #
7014
6422
  # @!attribute [rw] maximum_scaling_step_size
7015
- # The maximum number of container instances that Amazon ECS scales in
7016
- # or scales out at one time. If this parameter is omitted, the default
7017
- # value of `10000` is used.
6423
+ # The maximum number of Amazon EC2 instances that Amazon ECS will
6424
+ # scale out at one time. The scale in process is not affected by this
6425
+ # parameter. If this parameter is omitted, the default value of `1` is
6426
+ # used.
7018
6427
  # @return [Integer]
7019
6428
  #
7020
6429
  # @!attribute [rw] instance_warmup_period
@@ -7049,15 +6458,6 @@ module Aws::ECS
7049
6458
  # Details for a volume mount point that's used in a container
7050
6459
  # definition.
7051
6460
  #
7052
- # @note When making an API call, you may pass MountPoint
7053
- # data as a hash:
7054
- #
7055
- # {
7056
- # source_volume: "String",
7057
- # container_path: "String",
7058
- # read_only: false,
7059
- # }
7060
- #
7061
6461
  # @!attribute [rw] source_volume
7062
6462
  # The name of the volume to mount. Must be a volume name referenced in
7063
6463
  # the `name` parameter of task definition `volume`.
@@ -7083,21 +6483,17 @@ module Aws::ECS
7083
6483
  include Aws::Structure
7084
6484
  end
7085
6485
 
6486
+ # The specified namespace wasn't found.
6487
+ #
6488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NamespaceNotFoundException AWS API Documentation
6489
+ #
6490
+ class NamespaceNotFoundException < Aws::EmptyStructure; end
6491
+
7086
6492
  # Details on the network bindings between a container and its host
7087
6493
  # container instance. After a task reaches the `RUNNING` status, manual
7088
6494
  # and automatic host and container port assignments are visible in the
7089
6495
  # `networkBindings` section of DescribeTasks API responses.
7090
6496
  #
7091
- # @note When making an API call, you may pass NetworkBinding
7092
- # data as a hash:
7093
- #
7094
- # {
7095
- # bind_ip: "String",
7096
- # container_port: 1,
7097
- # host_port: 1,
7098
- # protocol: "tcp", # accepts tcp, udp
7099
- # }
7100
- #
7101
6497
  # @!attribute [rw] bind_ip
7102
6498
  # The IP address that the container is bound to on the container
7103
6499
  # instance.
@@ -7116,13 +6512,83 @@ module Aws::ECS
7116
6512
  # The protocol used for the network binding.
7117
6513
  # @return [String]
7118
6514
  #
6515
+ # @!attribute [rw] container_port_range
6516
+ # The port number range on the container that's bound to the
6517
+ # dynamically mapped host port range.
6518
+ #
6519
+ # The following rules apply when you specify a `containerPortRange`\:
6520
+ #
6521
+ # * You must use either the `bridge` network mode or the `awsvpc`
6522
+ # network mode.
6523
+ #
6524
+ # * This parameter is available for both the EC2 and Fargate launch
6525
+ # types.
6526
+ #
6527
+ # * This parameter is available for both the Linux and Windows
6528
+ # operating systems.
6529
+ #
6530
+ # * The container instance must have at least version 1.67.0 of the
6531
+ # container agent and at least version 1.67.0-1 of the `ecs-init`
6532
+ # package
6533
+ #
6534
+ # * You can specify a maximum of 100 port ranges per container.
6535
+ #
6536
+ # * You do not specify a `hostPortRange`. The value of the
6537
+ # `hostPortRange` is set as follows:
6538
+ #
6539
+ # * For containers in a task with the `awsvpc` network mode, the
6540
+ # `hostPort` is set to the same value as the `containerPort`. This
6541
+ # is a static mapping strategy.
6542
+ #
6543
+ # * For containers in a task with the `bridge` network mode, the
6544
+ # Amazon ECS agent finds open host ports from the default
6545
+ # ephemeral range and passes it to docker to bind them to the
6546
+ # container ports.
6547
+ #
6548
+ # * The `containerPortRange` valid values are between 1 and 65535.
6549
+ #
6550
+ # * A port can only be included in one port mapping per container.
6551
+ #
6552
+ # * You cannot specify overlapping port ranges.
6553
+ #
6554
+ # * The first port in the range must be less than last port in the
6555
+ # range.
6556
+ #
6557
+ # * Docker recommends that you turn off the docker-proxy in the Docker
6558
+ # daemon config file when you have a large number of ports.
6559
+ #
6560
+ # For more information, see [ Issue #11185][1] on the Github
6561
+ # website.
6562
+ #
6563
+ # For information about how to turn off the docker-proxy in the
6564
+ # Docker daemon config file, see [Docker daemon][2] in the *Amazon
6565
+ # ECS Developer Guide*.
6566
+ #
6567
+ # You can call [ `DescribeTasks` ][3] to view the `hostPortRange`
6568
+ # which are the host ports that are bound to the container ports.
6569
+ #
6570
+ #
6571
+ #
6572
+ # [1]: https://github.com/moby/moby/issues/11185
6573
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon
6574
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html
6575
+ # @return [String]
6576
+ #
6577
+ # @!attribute [rw] host_port_range
6578
+ # The port number range on the host that's used with the network
6579
+ # binding. This is assigned is assigned by Docker and delivered by the
6580
+ # Amazon ECS agent.
6581
+ # @return [String]
6582
+ #
7119
6583
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NetworkBinding AWS API Documentation
7120
6584
  #
7121
6585
  class NetworkBinding < Struct.new(
7122
6586
  :bind_ip,
7123
6587
  :container_port,
7124
6588
  :host_port,
7125
- :protocol)
6589
+ :protocol,
6590
+ :container_port_range,
6591
+ :host_port_range)
7126
6592
  SENSITIVE = []
7127
6593
  include Aws::Structure
7128
6594
  end
@@ -7130,17 +6596,6 @@ module Aws::ECS
7130
6596
  # An object representing the network configuration for a task or
7131
6597
  # service.
7132
6598
  #
7133
- # @note When making an API call, you may pass NetworkConfiguration
7134
- # data as a hash:
7135
- #
7136
- # {
7137
- # awsvpc_configuration: {
7138
- # subnets: ["String"], # required
7139
- # security_groups: ["String"],
7140
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
7141
- # },
7142
- # }
7143
- #
7144
6599
  # @!attribute [rw] awsvpc_configuration
7145
6600
  # The VPC subnets and security groups that are associated with a task.
7146
6601
  #
@@ -7192,7 +6647,7 @@ module Aws::ECS
7192
6647
  class NoUpdateAvailableException < Aws::EmptyStructure; end
7193
6648
 
7194
6649
  # An object representing a constraint on task placement. For more
7195
- # information, see [Task Placement Constraints][1] in the *Amazon
6650
+ # information, see [Task placement constraints][1] in the *Amazon
7196
6651
  # Elastic Container Service Developer Guide*.
7197
6652
  #
7198
6653
  # <note markdown="1"> If you're using the Fargate launch type, task placement constraints
@@ -7204,14 +6659,6 @@ module Aws::ECS
7204
6659
  #
7205
6660
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html
7206
6661
  #
7207
- # @note When making an API call, you may pass PlacementConstraint
7208
- # data as a hash:
7209
- #
7210
- # {
7211
- # type: "distinctInstance", # accepts distinctInstance, memberOf
7212
- # expression: "String",
7213
- # }
7214
- #
7215
6662
  # @!attribute [rw] type
7216
6663
  # The type of constraint. Use `distinctInstance` to ensure that each
7217
6664
  # task in a particular group is running on a different container
@@ -7241,21 +6688,13 @@ module Aws::ECS
7241
6688
  end
7242
6689
 
7243
6690
  # The task placement strategy for a task or service. For more
7244
- # information, see [Task Placement Strategies][1] in the *Amazon Elastic
6691
+ # information, see [Task placement strategies][1] in the *Amazon Elastic
7245
6692
  # Container Service Developer Guide*.
7246
6693
  #
7247
6694
  #
7248
6695
  #
7249
6696
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html
7250
6697
  #
7251
- # @note When making an API call, you may pass PlacementStrategy
7252
- # data as a hash:
7253
- #
7254
- # {
7255
- # type: "random", # accepts random, spread, binpack
7256
- # field: "String",
7257
- # }
7258
- #
7259
6698
  # @!attribute [rw] type
7260
6699
  # The type of placement strategy. The `random` placement strategy
7261
6700
  # randomly places tasks on available candidates. The `spread`
@@ -7290,14 +6729,6 @@ module Aws::ECS
7290
6729
  # The devices that are available on the container instance. The only
7291
6730
  # supported device type is a GPU.
7292
6731
  #
7293
- # @note When making an API call, you may pass PlatformDevice
7294
- # data as a hash:
7295
- #
7296
- # {
7297
- # id: "String", # required
7298
- # type: "GPU", # required, accepts GPU
7299
- # }
7300
- #
7301
6732
  # @!attribute [rw] id
7302
6733
  # The ID for the GPUs on the container instance. The available GPU IDs
7303
6734
  # can also be obtained on the container instance in the
@@ -7348,15 +6779,6 @@ module Aws::ECS
7348
6779
  # and container port assignments are visible in the `networkBindings`
7349
6780
  # section of DescribeTasks API responses.
7350
6781
  #
7351
- # @note When making an API call, you may pass PortMapping
7352
- # data as a hash:
7353
- #
7354
- # {
7355
- # container_port: 1,
7356
- # host_port: 1,
7357
- # protocol: "tcp", # accepts tcp, udp
7358
- # }
7359
- #
7360
6782
  # @!attribute [rw] container_port
7361
6783
  # The port number on the container that's bound to the user-specified
7362
6784
  # or automatically assigned host port.
@@ -7376,6 +6798,18 @@ module Aws::ECS
7376
6798
  # The port number on the container instance to reserve for your
7377
6799
  # container.
7378
6800
  #
6801
+ # If you specify a `containerPortRange`, leave this field empty and
6802
+ # the value of the `hostPort` is set as follows:
6803
+ #
6804
+ # * For containers in a task with the `awsvpc` network mode, the
6805
+ # `hostPort` is set to the same value as the `containerPort`. This
6806
+ # is a static mapping strategy.
6807
+ #
6808
+ # * For containers in a task with the `bridge` network mode, the
6809
+ # Amazon ECS agent finds open ports on the host and automaticaly
6810
+ # binds them to the container ports. This is a dynamic mapping
6811
+ # strategy.
6812
+ #
7379
6813
  # If you use containers in a task with the `awsvpc` or `host` network
7380
6814
  # mode, the `hostPort` can either be left blank or set to the same
7381
6815
  # value as the `containerPort`.
@@ -7396,11 +6830,6 @@ module Aws::ECS
7396
6830
  # In general, ports below 32768 are outside of the ephemeral port
7397
6831
  # range.
7398
6832
  #
7399
- # <note markdown="1"> The default ephemeral port range from 49153 through 65535 is always
7400
- # used for Docker versions before 1.6.0.
7401
- #
7402
- # </note>
7403
- #
7404
6833
  # The default reserved ports are 22 for SSH, the Docker ports 2375 and
7405
6834
  # 2376, and the Amazon ECS container agent ports 51678-51680. Any host
7406
6835
  # port that was previously specified in a running task is also
@@ -7417,12 +6846,147 @@ module Aws::ECS
7417
6846
  # `udp`. The default is `tcp`.
7418
6847
  # @return [String]
7419
6848
  #
6849
+ # @!attribute [rw] name
6850
+ # The name that's used for the port mapping. This parameter only
6851
+ # applies to Service Connect. This parameter is the name that you use
6852
+ # in the `serviceConnectConfiguration` of a service. The name can
6853
+ # include up to 64 characters. The characters can include lowercase
6854
+ # letters, numbers, underscores (\_), and hyphens (-). The name can't
6855
+ # start with a hyphen.
6856
+ #
6857
+ # For more information, see [Service Connect][1] in the *Amazon
6858
+ # Elastic Container Service Developer Guide*.
6859
+ #
6860
+ #
6861
+ #
6862
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
6863
+ # @return [String]
6864
+ #
6865
+ # @!attribute [rw] app_protocol
6866
+ # The application protocol that's used for the port mapping. This
6867
+ # parameter only applies to Service Connect. We recommend that you set
6868
+ # this parameter to be consistent with the protocol that your
6869
+ # application uses. If you set this parameter, Amazon ECS adds
6870
+ # protocol-specific connection handling to the Service Connect proxy.
6871
+ # If you set this parameter, Amazon ECS adds protocol-specific
6872
+ # telemetry in the Amazon ECS console and CloudWatch.
6873
+ #
6874
+ # If you don't set a value for this parameter, then TCP is used.
6875
+ # However, Amazon ECS doesn't add protocol-specific telemetry for
6876
+ # TCP.
6877
+ #
6878
+ # Tasks that run in a namespace can use short names to connect to
6879
+ # services in the namespace. Tasks can connect to services across all
6880
+ # of the clusters in the namespace. Tasks connect through a managed
6881
+ # proxy container that collects logs and metrics for increased
6882
+ # visibility. Only the tasks that Amazon ECS services create are
6883
+ # supported with Service Connect. For more information, see [Service
6884
+ # Connect][1] in the *Amazon Elastic Container Service Developer
6885
+ # Guide*.
6886
+ #
6887
+ #
6888
+ #
6889
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
6890
+ # @return [String]
6891
+ #
6892
+ # @!attribute [rw] container_port_range
6893
+ # The port number range on the container that's bound to the
6894
+ # dynamically mapped host port range.
6895
+ #
6896
+ # The following rules apply when you specify a `containerPortRange`\:
6897
+ #
6898
+ # * You must use either the `bridge` network mode or the `awsvpc`
6899
+ # network mode.
6900
+ #
6901
+ # * This parameter is available for both the EC2 and Fargate launch
6902
+ # types.
6903
+ #
6904
+ # * This parameter is available for both the Linux and Windows
6905
+ # operating systems.
6906
+ #
6907
+ # * The container instance must have at least version 1.67.0 of the
6908
+ # container agent and at least version 1.67.0-1 of the `ecs-init`
6909
+ # package
6910
+ #
6911
+ # * You can specify a maximum of 100 port ranges per container.
6912
+ #
6913
+ # * You do not specify a `hostPortRange`. The value of the
6914
+ # `hostPortRange` is set as follows:
6915
+ #
6916
+ # * For containers in a task with the `awsvpc` network mode, the
6917
+ # `hostPort` is set to the same value as the `containerPort`. This
6918
+ # is a static mapping strategy.
6919
+ #
6920
+ # * For containers in a task with the `bridge` network mode, the
6921
+ # Amazon ECS agent finds open host ports from the default
6922
+ # ephemeral range and passes it to docker to bind them to the
6923
+ # container ports.
6924
+ #
6925
+ # * The `containerPortRange` valid values are between 1 and 65535.
6926
+ #
6927
+ # * A port can only be included in one port mapping per container.
6928
+ #
6929
+ # * You cannot specify overlapping port ranges.
6930
+ #
6931
+ # * The first port in the range must be less than last port in the
6932
+ # range.
6933
+ #
6934
+ # * Docker recommends that you turn off the docker-proxy in the Docker
6935
+ # daemon config file when you have a large number of ports.
6936
+ #
6937
+ # For more information, see [ Issue #11185][1] on the Github
6938
+ # website.
6939
+ #
6940
+ # For information about how to turn off the docker-proxy in the
6941
+ # Docker daemon config file, see [Docker daemon][2] in the *Amazon
6942
+ # ECS Developer Guide*.
6943
+ #
6944
+ # You can call [ `DescribeTasks` ][3] to view the `hostPortRange`
6945
+ # which are the host ports that are bound to the container ports.
6946
+ #
6947
+ #
6948
+ #
6949
+ # [1]: https://github.com/moby/moby/issues/11185
6950
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon
6951
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html
6952
+ # @return [String]
6953
+ #
7420
6954
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PortMapping AWS API Documentation
7421
6955
  #
7422
6956
  class PortMapping < Struct.new(
7423
6957
  :container_port,
7424
6958
  :host_port,
7425
- :protocol)
6959
+ :protocol,
6960
+ :name,
6961
+ :app_protocol,
6962
+ :container_port_range)
6963
+ SENSITIVE = []
6964
+ include Aws::Structure
6965
+ end
6966
+
6967
+ # An object representing the protection status details for a task. You
6968
+ # can set the protection status with the UpdateTaskProtection API and
6969
+ # get the status of tasks with the GetTaskProtection API.
6970
+ #
6971
+ # @!attribute [rw] task_arn
6972
+ # The task ARN.
6973
+ # @return [String]
6974
+ #
6975
+ # @!attribute [rw] protection_enabled
6976
+ # The protection status of the task. If scale-in protection is enabled
6977
+ # for a task, the value is `true`. Otherwise, it is `false`.
6978
+ # @return [Boolean]
6979
+ #
6980
+ # @!attribute [rw] expiration_date
6981
+ # The epoch time when protection for the task will expire.
6982
+ # @return [Time]
6983
+ #
6984
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ProtectedTask AWS API Documentation
6985
+ #
6986
+ class ProtectedTask < Struct.new(
6987
+ :task_arn,
6988
+ :protection_enabled,
6989
+ :expiration_date)
7426
6990
  SENSITIVE = []
7427
6991
  include Aws::Structure
7428
6992
  end
@@ -7441,20 +7005,6 @@ module Aws::ECS
7441
7005
  #
7442
7006
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
7443
7007
  #
7444
- # @note When making an API call, you may pass ProxyConfiguration
7445
- # data as a hash:
7446
- #
7447
- # {
7448
- # type: "APPMESH", # accepts APPMESH
7449
- # container_name: "String", # required
7450
- # properties: [
7451
- # {
7452
- # name: "String",
7453
- # value: "String",
7454
- # },
7455
- # ],
7456
- # }
7457
- #
7458
7008
  # @!attribute [rw] type
7459
7009
  # The proxy type. The only supported value is `APPMESH`.
7460
7010
  # @return [String]
@@ -7506,14 +7056,6 @@ module Aws::ECS
7506
7056
  include Aws::Structure
7507
7057
  end
7508
7058
 
7509
- # @note When making an API call, you may pass PutAccountSettingDefaultRequest
7510
- # data as a hash:
7511
- #
7512
- # {
7513
- # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
7514
- # value: "String", # required
7515
- # }
7516
- #
7517
7059
  # @!attribute [rw] name
7518
7060
  # The resource name for which to modify the account setting. If
7519
7061
  # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
@@ -7525,6 +7067,16 @@ module Aws::ECS
7525
7067
  # container instances is affected. If `containerInsights` is
7526
7068
  # specified, the default setting for CloudWatch Container Insights for
7527
7069
  # your clusters is affected.
7070
+ #
7071
+ # Fargate is transitioning from task count-based quotas to vCPU-based
7072
+ # quotas. You can set the name to `fargateVCPULimit` to opt in or opt
7073
+ # out of the vCPU-based quotas. For information about the opt in
7074
+ # timeline, see [Fargate vCPU-based quotas timeline][1] in the *Amazon
7075
+ # ECS Developer Guide*.
7076
+ #
7077
+ #
7078
+ #
7079
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#fargate-quota-timeline
7528
7080
  # @return [String]
7529
7081
  #
7530
7082
  # @!attribute [rw] value
@@ -7553,15 +7105,6 @@ module Aws::ECS
7553
7105
  include Aws::Structure
7554
7106
  end
7555
7107
 
7556
- # @note When making an API call, you may pass PutAccountSettingRequest
7557
- # data as a hash:
7558
- #
7559
- # {
7560
- # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
7561
- # value: "String", # required
7562
- # principal_arn: "String",
7563
- # }
7564
- #
7565
7108
  # @!attribute [rw] name
7566
7109
  # The Amazon ECS resource name for which to modify the account
7567
7110
  # setting. If `serviceLongArnFormat` is specified, the ARN for your
@@ -7616,21 +7159,6 @@ module Aws::ECS
7616
7159
  include Aws::Structure
7617
7160
  end
7618
7161
 
7619
- # @note When making an API call, you may pass PutAttributesRequest
7620
- # data as a hash:
7621
- #
7622
- # {
7623
- # cluster: "String",
7624
- # attributes: [ # required
7625
- # {
7626
- # name: "String", # required
7627
- # value: "String",
7628
- # target_type: "container-instance", # accepts container-instance
7629
- # target_id: "String",
7630
- # },
7631
- # ],
7632
- # }
7633
- #
7634
7162
  # @!attribute [rw] cluster
7635
7163
  # The short name or full Amazon Resource Name (ARN) of the cluster
7636
7164
  # that contains the resource to apply attributes. If you do not
@@ -7664,21 +7192,6 @@ module Aws::ECS
7664
7192
  include Aws::Structure
7665
7193
  end
7666
7194
 
7667
- # @note When making an API call, you may pass PutClusterCapacityProvidersRequest
7668
- # data as a hash:
7669
- #
7670
- # {
7671
- # cluster: "String", # required
7672
- # capacity_providers: ["String"], # required
7673
- # default_capacity_provider_strategy: [ # required
7674
- # {
7675
- # capacity_provider: "String", # required
7676
- # weight: 1,
7677
- # base: 1,
7678
- # },
7679
- # ],
7680
- # }
7681
- #
7682
7195
  # @!attribute [rw] cluster
7683
7196
  # The short name or full Amazon Resource Name (ARN) of the cluster to
7684
7197
  # modify the capacity provider settings for. If you don't specify a
@@ -7747,51 +7260,6 @@ module Aws::ECS
7747
7260
  include Aws::Structure
7748
7261
  end
7749
7262
 
7750
- # @note When making an API call, you may pass RegisterContainerInstanceRequest
7751
- # data as a hash:
7752
- #
7753
- # {
7754
- # cluster: "String",
7755
- # instance_identity_document: "String",
7756
- # instance_identity_document_signature: "String",
7757
- # total_resources: [
7758
- # {
7759
- # name: "String",
7760
- # type: "String",
7761
- # double_value: 1.0,
7762
- # long_value: 1,
7763
- # integer_value: 1,
7764
- # string_set_value: ["String"],
7765
- # },
7766
- # ],
7767
- # version_info: {
7768
- # agent_version: "String",
7769
- # agent_hash: "String",
7770
- # docker_version: "String",
7771
- # },
7772
- # container_instance_arn: "String",
7773
- # attributes: [
7774
- # {
7775
- # name: "String", # required
7776
- # value: "String",
7777
- # target_type: "container-instance", # accepts container-instance
7778
- # target_id: "String",
7779
- # },
7780
- # ],
7781
- # platform_devices: [
7782
- # {
7783
- # id: "String", # required
7784
- # type: "GPU", # required, accepts GPU
7785
- # },
7786
- # ],
7787
- # tags: [
7788
- # {
7789
- # key: "TagKey",
7790
- # value: "TagValue",
7791
- # },
7792
- # ],
7793
- # }
7794
- #
7795
7263
  # @!attribute [rw] cluster
7796
7264
  # The short name or full Amazon Resource Name (ARN) of the cluster to
7797
7265
  # register your container instance with. If you do not specify a
@@ -7894,243 +7362,6 @@ module Aws::ECS
7894
7362
  include Aws::Structure
7895
7363
  end
7896
7364
 
7897
- # @note When making an API call, you may pass RegisterTaskDefinitionRequest
7898
- # data as a hash:
7899
- #
7900
- # {
7901
- # family: "String", # required
7902
- # task_role_arn: "String",
7903
- # execution_role_arn: "String",
7904
- # network_mode: "bridge", # accepts bridge, host, awsvpc, none
7905
- # container_definitions: [ # required
7906
- # {
7907
- # name: "String",
7908
- # image: "String",
7909
- # repository_credentials: {
7910
- # credentials_parameter: "String", # required
7911
- # },
7912
- # cpu: 1,
7913
- # memory: 1,
7914
- # memory_reservation: 1,
7915
- # links: ["String"],
7916
- # port_mappings: [
7917
- # {
7918
- # container_port: 1,
7919
- # host_port: 1,
7920
- # protocol: "tcp", # accepts tcp, udp
7921
- # },
7922
- # ],
7923
- # essential: false,
7924
- # entry_point: ["String"],
7925
- # command: ["String"],
7926
- # environment: [
7927
- # {
7928
- # name: "String",
7929
- # value: "String",
7930
- # },
7931
- # ],
7932
- # environment_files: [
7933
- # {
7934
- # value: "String", # required
7935
- # type: "s3", # required, accepts s3
7936
- # },
7937
- # ],
7938
- # mount_points: [
7939
- # {
7940
- # source_volume: "String",
7941
- # container_path: "String",
7942
- # read_only: false,
7943
- # },
7944
- # ],
7945
- # volumes_from: [
7946
- # {
7947
- # source_container: "String",
7948
- # read_only: false,
7949
- # },
7950
- # ],
7951
- # linux_parameters: {
7952
- # capabilities: {
7953
- # add: ["String"],
7954
- # drop: ["String"],
7955
- # },
7956
- # devices: [
7957
- # {
7958
- # host_path: "String", # required
7959
- # container_path: "String",
7960
- # permissions: ["read"], # accepts read, write, mknod
7961
- # },
7962
- # ],
7963
- # init_process_enabled: false,
7964
- # shared_memory_size: 1,
7965
- # tmpfs: [
7966
- # {
7967
- # container_path: "String", # required
7968
- # size: 1, # required
7969
- # mount_options: ["String"],
7970
- # },
7971
- # ],
7972
- # max_swap: 1,
7973
- # swappiness: 1,
7974
- # },
7975
- # secrets: [
7976
- # {
7977
- # name: "String", # required
7978
- # value_from: "String", # required
7979
- # },
7980
- # ],
7981
- # depends_on: [
7982
- # {
7983
- # container_name: "String", # required
7984
- # condition: "START", # required, accepts START, COMPLETE, SUCCESS, HEALTHY
7985
- # },
7986
- # ],
7987
- # start_timeout: 1,
7988
- # stop_timeout: 1,
7989
- # hostname: "String",
7990
- # user: "String",
7991
- # working_directory: "String",
7992
- # disable_networking: false,
7993
- # privileged: false,
7994
- # readonly_root_filesystem: false,
7995
- # dns_servers: ["String"],
7996
- # dns_search_domains: ["String"],
7997
- # extra_hosts: [
7998
- # {
7999
- # hostname: "String", # required
8000
- # ip_address: "String", # required
8001
- # },
8002
- # ],
8003
- # docker_security_options: ["String"],
8004
- # interactive: false,
8005
- # pseudo_terminal: false,
8006
- # docker_labels: {
8007
- # "String" => "String",
8008
- # },
8009
- # ulimits: [
8010
- # {
8011
- # name: "core", # required, accepts core, cpu, data, fsize, locks, memlock, msgqueue, nice, nofile, nproc, rss, rtprio, rttime, sigpending, stack
8012
- # soft_limit: 1, # required
8013
- # hard_limit: 1, # required
8014
- # },
8015
- # ],
8016
- # log_configuration: {
8017
- # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
8018
- # options: {
8019
- # "String" => "String",
8020
- # },
8021
- # secret_options: [
8022
- # {
8023
- # name: "String", # required
8024
- # value_from: "String", # required
8025
- # },
8026
- # ],
8027
- # },
8028
- # health_check: {
8029
- # command: ["String"], # required
8030
- # interval: 1,
8031
- # timeout: 1,
8032
- # retries: 1,
8033
- # start_period: 1,
8034
- # },
8035
- # system_controls: [
8036
- # {
8037
- # namespace: "String",
8038
- # value: "String",
8039
- # },
8040
- # ],
8041
- # resource_requirements: [
8042
- # {
8043
- # value: "String", # required
8044
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
8045
- # },
8046
- # ],
8047
- # firelens_configuration: {
8048
- # type: "fluentd", # required, accepts fluentd, fluentbit
8049
- # options: {
8050
- # "String" => "String",
8051
- # },
8052
- # },
8053
- # },
8054
- # ],
8055
- # volumes: [
8056
- # {
8057
- # name: "String",
8058
- # host: {
8059
- # source_path: "String",
8060
- # },
8061
- # docker_volume_configuration: {
8062
- # scope: "task", # accepts task, shared
8063
- # autoprovision: false,
8064
- # driver: "String",
8065
- # driver_opts: {
8066
- # "String" => "String",
8067
- # },
8068
- # labels: {
8069
- # "String" => "String",
8070
- # },
8071
- # },
8072
- # efs_volume_configuration: {
8073
- # file_system_id: "String", # required
8074
- # root_directory: "String",
8075
- # transit_encryption: "ENABLED", # accepts ENABLED, DISABLED
8076
- # transit_encryption_port: 1,
8077
- # authorization_config: {
8078
- # access_point_id: "String",
8079
- # iam: "ENABLED", # accepts ENABLED, DISABLED
8080
- # },
8081
- # },
8082
- # fsx_windows_file_server_volume_configuration: {
8083
- # file_system_id: "String", # required
8084
- # root_directory: "String", # required
8085
- # authorization_config: { # required
8086
- # credentials_parameter: "String", # required
8087
- # domain: "String", # required
8088
- # },
8089
- # },
8090
- # },
8091
- # ],
8092
- # placement_constraints: [
8093
- # {
8094
- # type: "memberOf", # accepts memberOf
8095
- # expression: "String",
8096
- # },
8097
- # ],
8098
- # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE, EXTERNAL
8099
- # cpu: "String",
8100
- # memory: "String",
8101
- # tags: [
8102
- # {
8103
- # key: "TagKey",
8104
- # value: "TagValue",
8105
- # },
8106
- # ],
8107
- # pid_mode: "host", # accepts host, task
8108
- # ipc_mode: "host", # accepts host, task, none
8109
- # proxy_configuration: {
8110
- # type: "APPMESH", # accepts APPMESH
8111
- # container_name: "String", # required
8112
- # properties: [
8113
- # {
8114
- # name: "String",
8115
- # value: "String",
8116
- # },
8117
- # ],
8118
- # },
8119
- # inference_accelerators: [
8120
- # {
8121
- # device_name: "String", # required
8122
- # device_type: "String", # required
8123
- # },
8124
- # ],
8125
- # ephemeral_storage: {
8126
- # size_in_gi_b: 1, # required
8127
- # },
8128
- # runtime_platform: {
8129
- # cpu_architecture: "X86_64", # accepts X86_64, ARM64
8130
- # operating_system_family: "WINDOWS_SERVER_2019_FULL", # accepts WINDOWS_SERVER_2019_FULL, WINDOWS_SERVER_2019_CORE, WINDOWS_SERVER_2016_FULL, WINDOWS_SERVER_2004_CORE, WINDOWS_SERVER_2022_CORE, WINDOWS_SERVER_2022_FULL, WINDOWS_SERVER_20H2_CORE, LINUX
8131
- # },
8132
- # }
8133
- #
8134
7365
  # @!attribute [rw] family
8135
7366
  # You must specify a `family` for a task definition. You can use it
8136
7367
  # track multiple versions of the same task definition. The `family` is
@@ -8248,7 +7479,8 @@ module Aws::ECS
8248
7479
  #
8249
7480
  # If you're using the EC2 launch type, this field is optional.
8250
7481
  # Supported values are between `128` CPU units (`0.125` vCPUs) and
8251
- # `10240` CPU units (`10` vCPUs).
7482
+ # `10240` CPU units (`10` vCPUs). If you do not specify a value, the
7483
+ # parameter is ignored.
8252
7484
  #
8253
7485
  # If you're using the Fargate launch type, this field is required and
8254
7486
  # you must use one of the following values, which determines your
@@ -8267,11 +7499,21 @@ module Aws::ECS
8267
7499
  # GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8
8268
7500
  # GB)
8269
7501
  #
8270
- # * 2048 (2 vCPU) - Available `memory` values: Between 4096 (4 GB) and
8271
- # 16384 (16 GB) in increments of 1024 (1 GB)
7502
+ # * 2048 (2 vCPU) - Available `memory` values: 4096 (4 GB) and 16384
7503
+ # (16 GB) in increments of 1024 (1 GB)
7504
+ #
7505
+ # * 4096 (4 vCPU) - Available `memory` values: 8192 (8 GB) and 30720
7506
+ # (30 GB) in increments of 1024 (1 GB)
7507
+ #
7508
+ # * 8192 (8 vCPU) - Available `memory` values: 16 GB and 60 GB in 4 GB
7509
+ # increments
8272
7510
  #
8273
- # * 4096 (4 vCPU) - Available `memory` values: Between 8192 (8 GB) and
8274
- # 30720 (30 GB) in increments of 1024 (1 GB)
7511
+ # This option requires Linux platform `1.4.0` or later.
7512
+ #
7513
+ # * 16384 (16vCPU) - Available `memory` values: 32GB and 120 GB in 8
7514
+ # GB increments
7515
+ #
7516
+ # This option requires Linux platform `1.4.0` or later.
8275
7517
  # @return [String]
8276
7518
  #
8277
7519
  # @!attribute [rw] memory
@@ -8310,6 +7552,16 @@ module Aws::ECS
8310
7552
  #
8311
7553
  # * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
8312
7554
  # - Available `cpu` values: 4096 (4 vCPU)
7555
+ #
7556
+ # * Between 16 GB and 60 GB in 4 GB increments - Available `cpu`
7557
+ # values: 8192 (8 vCPU)
7558
+ #
7559
+ # This option requires Linux platform `1.4.0` or later.
7560
+ #
7561
+ # * Between 32GB and 120 GB in 8 GB increments - Available `cpu`
7562
+ # values: 16384 (16 vCPU)
7563
+ #
7564
+ # This option requires Linux platform `1.4.0` or later.
8313
7565
  # @return [String]
8314
7566
  #
8315
7567
  # @!attribute [rw] tags
@@ -8444,7 +7696,7 @@ module Aws::ECS
8444
7696
  #
8445
7697
  # * Linux platform version `1.4.0` or later.
8446
7698
  #
8447
- # * Windows platform version `1.0.0` or later.
7699
+ # ^
8448
7700
  #
8449
7701
  # </note>
8450
7702
  #
@@ -8504,13 +7756,6 @@ module Aws::ECS
8504
7756
 
8505
7757
  # The repository credentials for private registry authentication.
8506
7758
  #
8507
- # @note When making an API call, you may pass RepositoryCredentials
8508
- # data as a hash:
8509
- #
8510
- # {
8511
- # credentials_parameter: "String", # required
8512
- # }
8513
- #
8514
7759
  # @!attribute [rw] credentials_parameter
8515
7760
  # The Amazon Resource Name (ARN) of the secret containing the private
8516
7761
  # repository credentials.
@@ -8534,18 +7779,6 @@ module Aws::ECS
8534
7779
 
8535
7780
  # Describes the resources available for a container instance.
8536
7781
  #
8537
- # @note When making an API call, you may pass Resource
8538
- # data as a hash:
8539
- #
8540
- # {
8541
- # name: "String",
8542
- # type: "String",
8543
- # double_value: 1.0,
8544
- # long_value: 1,
8545
- # integer_value: 1,
8546
- # string_set_value: ["String"],
8547
- # }
8548
- #
8549
7782
  # @!attribute [rw] name
8550
7783
  # The name of the resource, such as `CPU`, `MEMORY`, `PORTS`,
8551
7784
  # `PORTS_UDP`, or a user-defined resource.
@@ -8612,14 +7845,6 @@ module Aws::ECS
8612
7845
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html
8613
7846
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html
8614
7847
  #
8615
- # @note When making an API call, you may pass ResourceRequirement
8616
- # data as a hash:
8617
- #
8618
- # {
8619
- # value: "String", # required
8620
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
8621
- # }
8622
- #
8623
7848
  # @!attribute [rw] value
8624
7849
  # The value for the specified resource type.
8625
7850
  #
@@ -8648,97 +7873,6 @@ module Aws::ECS
8648
7873
  include Aws::Structure
8649
7874
  end
8650
7875
 
8651
- # @note When making an API call, you may pass RunTaskRequest
8652
- # data as a hash:
8653
- #
8654
- # {
8655
- # capacity_provider_strategy: [
8656
- # {
8657
- # capacity_provider: "String", # required
8658
- # weight: 1,
8659
- # base: 1,
8660
- # },
8661
- # ],
8662
- # cluster: "String",
8663
- # count: 1,
8664
- # enable_ecs_managed_tags: false,
8665
- # enable_execute_command: false,
8666
- # group: "String",
8667
- # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
8668
- # network_configuration: {
8669
- # awsvpc_configuration: {
8670
- # subnets: ["String"], # required
8671
- # security_groups: ["String"],
8672
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
8673
- # },
8674
- # },
8675
- # overrides: {
8676
- # container_overrides: [
8677
- # {
8678
- # name: "String",
8679
- # command: ["String"],
8680
- # environment: [
8681
- # {
8682
- # name: "String",
8683
- # value: "String",
8684
- # },
8685
- # ],
8686
- # environment_files: [
8687
- # {
8688
- # value: "String", # required
8689
- # type: "s3", # required, accepts s3
8690
- # },
8691
- # ],
8692
- # cpu: 1,
8693
- # memory: 1,
8694
- # memory_reservation: 1,
8695
- # resource_requirements: [
8696
- # {
8697
- # value: "String", # required
8698
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
8699
- # },
8700
- # ],
8701
- # },
8702
- # ],
8703
- # cpu: "String",
8704
- # inference_accelerator_overrides: [
8705
- # {
8706
- # device_name: "String",
8707
- # device_type: "String",
8708
- # },
8709
- # ],
8710
- # execution_role_arn: "String",
8711
- # memory: "String",
8712
- # task_role_arn: "String",
8713
- # ephemeral_storage: {
8714
- # size_in_gi_b: 1, # required
8715
- # },
8716
- # },
8717
- # placement_constraints: [
8718
- # {
8719
- # type: "distinctInstance", # accepts distinctInstance, memberOf
8720
- # expression: "String",
8721
- # },
8722
- # ],
8723
- # placement_strategy: [
8724
- # {
8725
- # type: "random", # accepts random, spread, binpack
8726
- # field: "String",
8727
- # },
8728
- # ],
8729
- # platform_version: "String",
8730
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
8731
- # reference_id: "String",
8732
- # started_by: "String",
8733
- # tags: [
8734
- # {
8735
- # key: "TagKey",
8736
- # value: "TagValue",
8737
- # },
8738
- # ],
8739
- # task_definition: "String", # required
8740
- # }
8741
- #
8742
7876
  # @!attribute [rw] capacity_provider_strategy
8743
7877
  # The capacity provider strategy to use for the task.
8744
7878
  #
@@ -9010,28 +8144,19 @@ module Aws::ECS
9010
8144
 
9011
8145
  # Information about the platform for the Amazon ECS service or task.
9012
8146
  #
9013
- # For more informataion about `RuntimePlatform`, see
9014
- # [RuntimePlatform][1] in the *Amazon Elastic Container Service
9015
- # Developer Guide*.
8147
+ # For more information about `RuntimePlatform`, see [RuntimePlatform][1]
8148
+ # in the *Amazon Elastic Container Service Developer Guide*.
9016
8149
  #
9017
8150
  #
9018
8151
  #
9019
8152
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform
9020
8153
  #
9021
- # @note When making an API call, you may pass RuntimePlatform
9022
- # data as a hash:
9023
- #
9024
- # {
9025
- # cpu_architecture: "X86_64", # accepts X86_64, ARM64
9026
- # operating_system_family: "WINDOWS_SERVER_2019_FULL", # accepts WINDOWS_SERVER_2019_FULL, WINDOWS_SERVER_2019_CORE, WINDOWS_SERVER_2016_FULL, WINDOWS_SERVER_2004_CORE, WINDOWS_SERVER_2022_CORE, WINDOWS_SERVER_2022_FULL, WINDOWS_SERVER_20H2_CORE, LINUX
9027
- # }
9028
- #
9029
8154
  # @!attribute [rw] cpu_architecture
9030
8155
  # The CPU architecture.
9031
8156
  #
9032
8157
  # You can run your Linux tasks on an ARM-based platform by setting the
9033
- # value to `ARM64`. This option is avaiable for tasks that run on
9034
- # Linuc Amazon EC2 instance or Linux containers on Fargate.
8158
+ # value to `ARM64`. This option is available for tasks that run on
8159
+ # Linux Amazon EC2 instance or Linux containers on Fargate.
9035
8160
  # @return [String]
9036
8161
  #
9037
8162
  # @!attribute [rw] operating_system_family
@@ -9050,14 +8175,6 @@ module Aws::ECS
9050
8175
  # A floating-point percentage of the desired number of tasks to place
9051
8176
  # and keep running in the task set.
9052
8177
  #
9053
- # @note When making an API call, you may pass Scale
9054
- # data as a hash:
9055
- #
9056
- # {
9057
- # value: 1.0,
9058
- # unit: "PERCENT", # accepts PERCENT
9059
- # }
9060
- #
9061
8178
  # @!attribute [rw] value
9062
8179
  # The value, specified as a percent total of a service's
9063
8180
  # `desiredCount`, to scale the task set. Accepted values are numbers
@@ -9086,21 +8203,13 @@ module Aws::ECS
9086
8203
  # * To reference sensitive information in the log configuration of a
9087
8204
  # container, use the `secretOptions` container definition parameter.
9088
8205
  #
9089
- # For more information, see [Specifying Sensitive Data][1] in the
8206
+ # For more information, see [Specifying sensitive data][1] in the
9090
8207
  # *Amazon Elastic Container Service Developer Guide*.
9091
8208
  #
9092
8209
  #
9093
8210
  #
9094
8211
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
9095
8212
  #
9096
- # @note When making an API call, you may pass Secret
9097
- # data as a hash:
9098
- #
9099
- # {
9100
- # name: "String", # required
9101
- # value_from: "String", # required
9102
- # }
9103
- #
9104
8213
  # @!attribute [rw] name
9105
8214
  # The name of the secret.
9106
8215
  # @return [String]
@@ -9154,11 +8263,13 @@ module Aws::ECS
9154
8263
  # Details on a service within a cluster
9155
8264
  #
9156
8265
  # @!attribute [rw] service_arn
9157
- # The ARN that identifies the service. The ARN contains the
9158
- # `arn:aws:ecs` namespace, followed by the Region of the service, the
9159
- # Amazon Web Services account ID of the service owner, the `service`
9160
- # namespace, and then the service name. For example,
9161
- # `arn:aws:ecs:region:012345678910:service/my-service`.
8266
+ # The ARN that identifies the service. For more information about the
8267
+ # ARN format, see [Amazon Resource Name (ARN)][1] in the *Amazon ECS
8268
+ # Developer Guide*.
8269
+ #
8270
+ #
8271
+ #
8272
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
9162
8273
  # @return [String]
9163
8274
  #
9164
8275
  # @!attribute [rw] service_name
@@ -9331,9 +8442,7 @@ module Aws::ECS
9331
8442
  # @return [String]
9332
8443
  #
9333
8444
  # @!attribute [rw] deployment_controller
9334
- # The deployment controller type the service is using. When using the
9335
- # DescribeServices API, this field is omitted if the service uses the
9336
- # `ECS` deployment controller type.
8445
+ # The deployment controller type the service is using.
9337
8446
  # @return [Types::DeploymentController]
9338
8447
  #
9339
8448
  # @!attribute [rw] tags
@@ -9432,6 +8541,290 @@ module Aws::ECS
9432
8541
  include Aws::Structure
9433
8542
  end
9434
8543
 
8544
+ # Each alias ("endpoint") is a fully-qualified name and port number
8545
+ # that other tasks ("clients") can use to connect to this service.
8546
+ #
8547
+ # Each name and port mapping must be unique within the namespace.
8548
+ #
8549
+ # Tasks that run in a namespace can use short names to connect to
8550
+ # services in the namespace. Tasks can connect to services across all of
8551
+ # the clusters in the namespace. Tasks connect through a managed proxy
8552
+ # container that collects logs and metrics for increased visibility.
8553
+ # Only the tasks that Amazon ECS services create are supported with
8554
+ # Service Connect. For more information, see [Service Connect][1] in the
8555
+ # *Amazon Elastic Container Service Developer Guide*.
8556
+ #
8557
+ #
8558
+ #
8559
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
8560
+ #
8561
+ # @!attribute [rw] port
8562
+ # The listening port number for the Service Connect proxy. This port
8563
+ # is available inside of all of the tasks within the same namespace.
8564
+ #
8565
+ # To avoid changing your applications in client Amazon ECS services,
8566
+ # set this to the same port that the client application uses by
8567
+ # default. For more information, see [Service Connect][1] in the
8568
+ # *Amazon Elastic Container Service Developer Guide*.
8569
+ #
8570
+ #
8571
+ #
8572
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
8573
+ # @return [Integer]
8574
+ #
8575
+ # @!attribute [rw] dns_name
8576
+ # The `dnsName` is the name that you use in the applications of client
8577
+ # tasks to connect to this service. The name must be a valid DNS name
8578
+ # but doesn't need to be fully-qualified. The name can include up to
8579
+ # 127 characters. The name can include lowercase letters, numbers,
8580
+ # underscores (\_), hyphens (-), and periods (.). The name can't
8581
+ # start with a hyphen.
8582
+ #
8583
+ # If this parameter isn't specified, the default value of
8584
+ # `discoveryName.namespace` is used. If the `discoveryName` isn't
8585
+ # specified, the port mapping name from the task definition is used in
8586
+ # `portName.namespace`.
8587
+ #
8588
+ # To avoid changing your applications in client Amazon ECS services,
8589
+ # set this to the same name that the client application uses by
8590
+ # default. For example, a few common names are `database`, `db`, or
8591
+ # the lowercase name of a database, such as `mysql` or `redis`. For
8592
+ # more information, see [Service Connect][1] in the *Amazon Elastic
8593
+ # Container Service Developer Guide*.
8594
+ #
8595
+ #
8596
+ #
8597
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
8598
+ # @return [String]
8599
+ #
8600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectClientAlias AWS API Documentation
8601
+ #
8602
+ class ServiceConnectClientAlias < Struct.new(
8603
+ :port,
8604
+ :dns_name)
8605
+ SENSITIVE = []
8606
+ include Aws::Structure
8607
+ end
8608
+
8609
+ # The Service Connect configuration of your Amazon ECS service. The
8610
+ # configuration for this service to discover and connect to services,
8611
+ # and be discovered by, and connected from, other services within a
8612
+ # namespace.
8613
+ #
8614
+ # Tasks that run in a namespace can use short names to connect to
8615
+ # services in the namespace. Tasks can connect to services across all of
8616
+ # the clusters in the namespace. Tasks connect through a managed proxy
8617
+ # container that collects logs and metrics for increased visibility.
8618
+ # Only the tasks that Amazon ECS services create are supported with
8619
+ # Service Connect. For more information, see [Service Connect][1] in the
8620
+ # *Amazon Elastic Container Service Developer Guide*.
8621
+ #
8622
+ #
8623
+ #
8624
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
8625
+ #
8626
+ # @!attribute [rw] enabled
8627
+ # Specifies whether to use Service Connect with this service.
8628
+ # @return [Boolean]
8629
+ #
8630
+ # @!attribute [rw] namespace
8631
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
8632
+ # Map namespace for use with Service Connect. The namespace must be in
8633
+ # the same Amazon Web Services Region as the Amazon ECS service and
8634
+ # cluster. The type of namespace doesn't affect Service Connect. For
8635
+ # more information about Cloud Map, see [Working with Services][1] in
8636
+ # the *Cloud Map Developer Guide*.
8637
+ #
8638
+ #
8639
+ #
8640
+ # [1]: https://docs.aws.amazon.com/
8641
+ # @return [String]
8642
+ #
8643
+ # @!attribute [rw] services
8644
+ # The list of Service Connect service objects. These are names and
8645
+ # aliases (also known as endpoints) that are used by other Amazon ECS
8646
+ # services to connect to this service.
8647
+ #
8648
+ # This field is not required for a "client" Amazon ECS service
8649
+ # that's a member of a namespace only to connect to other services
8650
+ # within the namespace. An example of this would be a frontend
8651
+ # application that accepts incoming requests from either a load
8652
+ # balancer that's attached to the service or by other means.
8653
+ #
8654
+ # An object selects a port from the task definition, assigns a name
8655
+ # for the Cloud Map service, and a list of aliases (endpoints) and
8656
+ # ports for client applications to refer to this service.
8657
+ # @return [Array<Types::ServiceConnectService>]
8658
+ #
8659
+ # @!attribute [rw] log_configuration
8660
+ # The log configuration for the container. This parameter maps to
8661
+ # `LogConfig` in the [Create a container][1] section of the [Docker
8662
+ # Remote API][2] and the `--log-driver` option to [ `docker run` ][3].
8663
+ #
8664
+ # By default, containers use the same logging driver that the Docker
8665
+ # daemon uses. However, the container might use a different logging
8666
+ # driver than the Docker daemon by specifying a log driver
8667
+ # configuration in the container definition. For more information
8668
+ # about the options for different supported log drivers, see
8669
+ # [Configure logging drivers][4] in the Docker documentation.
8670
+ #
8671
+ # Understand the following when specifying a log configuration for
8672
+ # your containers.
8673
+ #
8674
+ # * Amazon ECS currently supports a subset of the logging drivers
8675
+ # available to the Docker daemon (shown in the valid values below).
8676
+ # Additional log drivers may be available in future releases of the
8677
+ # Amazon ECS container agent.
8678
+ #
8679
+ # * This parameter requires version 1.18 of the Docker Remote API or
8680
+ # greater on your container instance.
8681
+ #
8682
+ # * For tasks that are hosted on Amazon EC2 instances, the Amazon ECS
8683
+ # container agent must register the available logging drivers with
8684
+ # the `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
8685
+ # containers placed on that instance can use these log configuration
8686
+ # options. For more information, see [Amazon ECS container agent
8687
+ # configuration][5] in the *Amazon Elastic Container Service
8688
+ # Developer Guide*.
8689
+ #
8690
+ # * For tasks that are on Fargate, because you don't have access to
8691
+ # the underlying infrastructure your tasks are hosted on, any
8692
+ # additional software needed must be installed outside of the task.
8693
+ # For example, the Fluentd output aggregators or a remote host
8694
+ # running Logstash to send Gelf logs to.
8695
+ #
8696
+ #
8697
+ #
8698
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
8699
+ # [2]: https://docs.docker.com/engine/api/v1.35/
8700
+ # [3]: https://docs.docker.com/engine/reference/commandline/run/
8701
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
8702
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
8703
+ # @return [Types::LogConfiguration]
8704
+ #
8705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectConfiguration AWS API Documentation
8706
+ #
8707
+ class ServiceConnectConfiguration < Struct.new(
8708
+ :enabled,
8709
+ :namespace,
8710
+ :services,
8711
+ :log_configuration)
8712
+ SENSITIVE = []
8713
+ include Aws::Structure
8714
+ end
8715
+
8716
+ # The Service Connect service object configuration. For more
8717
+ # information, see [Service Connect][1] in the *Amazon Elastic Container
8718
+ # Service Developer Guide*.
8719
+ #
8720
+ #
8721
+ #
8722
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
8723
+ #
8724
+ # @!attribute [rw] port_name
8725
+ # The `portName` must match the name of one of the `portMappings` from
8726
+ # all the containers in the task definition of this Amazon ECS
8727
+ # service.
8728
+ # @return [String]
8729
+ #
8730
+ # @!attribute [rw] discovery_name
8731
+ # The `discoveryName` is the name of the new Cloud Map service that
8732
+ # Amazon ECS creates for this Amazon ECS service. This must be unique
8733
+ # within the Cloud Map namespace. The name can contain up to 64
8734
+ # characters. The name can include lowercase letters, numbers,
8735
+ # underscores (\_), and hyphens (-). The name can't start with a
8736
+ # hyphen.
8737
+ #
8738
+ # If this parameter isn't specified, the default value of
8739
+ # `discoveryName.namespace` is used. If the `discoveryName` isn't
8740
+ # specified, the port mapping name from the task definition is used in
8741
+ # `portName.namespace`.
8742
+ # @return [String]
8743
+ #
8744
+ # @!attribute [rw] client_aliases
8745
+ # The list of client aliases for this Service Connect service. You use
8746
+ # these to assign names that can be used by client applications. The
8747
+ # maximum number of client aliases that you can have in this list is
8748
+ # 1.
8749
+ #
8750
+ # Each alias ("endpoint") is a fully-qualified name and port number
8751
+ # that other Amazon ECS tasks ("clients") can use to connect to this
8752
+ # service.
8753
+ #
8754
+ # Each name and port mapping must be unique within the namespace.
8755
+ #
8756
+ # For each `ServiceConnectService`, you must provide at least one
8757
+ # `clientAlias` with one `port`.
8758
+ # @return [Array<Types::ServiceConnectClientAlias>]
8759
+ #
8760
+ # @!attribute [rw] ingress_port_override
8761
+ # The port number for the Service Connect proxy to listen on.
8762
+ #
8763
+ # Use the value of this field to bypass the proxy for traffic on the
8764
+ # port number specified in the named `portMapping` in the task
8765
+ # definition of this application, and then use it in your VPC security
8766
+ # groups to allow traffic into the proxy for this Amazon ECS service.
8767
+ #
8768
+ # In `awsvpc` mode and Fargate, the default value is the container
8769
+ # port number. The container port number is in the `portMapping` in
8770
+ # the task definition. In bridge mode, the default value is the
8771
+ # ephemeral port of the Service Connect proxy.
8772
+ # @return [Integer]
8773
+ #
8774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectService AWS API Documentation
8775
+ #
8776
+ class ServiceConnectService < Struct.new(
8777
+ :port_name,
8778
+ :discovery_name,
8779
+ :client_aliases,
8780
+ :ingress_port_override)
8781
+ SENSITIVE = []
8782
+ include Aws::Structure
8783
+ end
8784
+
8785
+ # The Service Connect resource. Each configuration maps a discovery name
8786
+ # to a Cloud Map service name. The data is stored in Cloud Map as part
8787
+ # of the Service Connect configuration for each discovery name of this
8788
+ # Amazon ECS service.
8789
+ #
8790
+ # A task can resolve the `dnsName` for each of the `clientAliases` of a
8791
+ # service. However a task can't resolve the discovery names. If you
8792
+ # want to connect to a service, refer to the
8793
+ # `ServiceConnectConfiguration` of that service for the list of
8794
+ # `clientAliases` that you can use.
8795
+ #
8796
+ # @!attribute [rw] discovery_name
8797
+ # The discovery name of this Service Connect resource.
8798
+ #
8799
+ # The `discoveryName` is the name of the new Cloud Map service that
8800
+ # Amazon ECS creates for this Amazon ECS service. This must be unique
8801
+ # within the Cloud Map namespace. The name can contain up to 64
8802
+ # characters. The name can include lowercase letters, numbers,
8803
+ # underscores (\_), and hyphens (-). The name can't start with a
8804
+ # hyphen.
8805
+ #
8806
+ # If this parameter isn't specified, the default value of
8807
+ # `discoveryName.namespace` is used. If the `discoveryName` isn't
8808
+ # specified, the port mapping name from the task definition is used in
8809
+ # `portName.namespace`.
8810
+ # @return [String]
8811
+ #
8812
+ # @!attribute [rw] discovery_arn
8813
+ # The Amazon Resource Name (ARN) for the namespace in Cloud Map that
8814
+ # matches the discovery name for this Service Connect resource. You
8815
+ # can use this ARN in other integrations with Cloud Map. However,
8816
+ # Service Connect can't ensure connectivity outside of Amazon ECS.
8817
+ # @return [String]
8818
+ #
8819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectServiceResource AWS API Documentation
8820
+ #
8821
+ class ServiceConnectServiceResource < Struct.new(
8822
+ :discovery_name,
8823
+ :discovery_arn)
8824
+ SENSITIVE = []
8825
+ include Aws::Structure
8826
+ end
8827
+
9435
8828
  # The details for an event that's associated with a service.
9436
8829
  #
9437
8830
  # @!attribute [rw] id
@@ -9481,16 +8874,6 @@ module Aws::ECS
9481
8874
  # Amazon ECS starts a new deployment. New tasks are registered and
9482
8875
  # deregistered to the updated service registry configuration.
9483
8876
  #
9484
- # @note When making an API call, you may pass ServiceRegistry
9485
- # data as a hash:
9486
- #
9487
- # {
9488
- # registry_arn: "String",
9489
- # port: 1,
9490
- # container_name: "String",
9491
- # container_port: 1,
9492
- # }
9493
- #
9494
8877
  # @!attribute [rw] registry_arn
9495
8878
  # The Amazon Resource Name (ARN) of the service registry. The
9496
8879
  # currently supported service registry is Cloud Map. For more
@@ -9596,76 +8979,6 @@ module Aws::ECS
9596
8979
  include Aws::Structure
9597
8980
  end
9598
8981
 
9599
- # @note When making an API call, you may pass StartTaskRequest
9600
- # data as a hash:
9601
- #
9602
- # {
9603
- # cluster: "String",
9604
- # container_instances: ["String"], # required
9605
- # enable_ecs_managed_tags: false,
9606
- # enable_execute_command: false,
9607
- # group: "String",
9608
- # network_configuration: {
9609
- # awsvpc_configuration: {
9610
- # subnets: ["String"], # required
9611
- # security_groups: ["String"],
9612
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
9613
- # },
9614
- # },
9615
- # overrides: {
9616
- # container_overrides: [
9617
- # {
9618
- # name: "String",
9619
- # command: ["String"],
9620
- # environment: [
9621
- # {
9622
- # name: "String",
9623
- # value: "String",
9624
- # },
9625
- # ],
9626
- # environment_files: [
9627
- # {
9628
- # value: "String", # required
9629
- # type: "s3", # required, accepts s3
9630
- # },
9631
- # ],
9632
- # cpu: 1,
9633
- # memory: 1,
9634
- # memory_reservation: 1,
9635
- # resource_requirements: [
9636
- # {
9637
- # value: "String", # required
9638
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
9639
- # },
9640
- # ],
9641
- # },
9642
- # ],
9643
- # cpu: "String",
9644
- # inference_accelerator_overrides: [
9645
- # {
9646
- # device_name: "String",
9647
- # device_type: "String",
9648
- # },
9649
- # ],
9650
- # execution_role_arn: "String",
9651
- # memory: "String",
9652
- # task_role_arn: "String",
9653
- # ephemeral_storage: {
9654
- # size_in_gi_b: 1, # required
9655
- # },
9656
- # },
9657
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
9658
- # reference_id: "String",
9659
- # started_by: "String",
9660
- # tags: [
9661
- # {
9662
- # key: "TagKey",
9663
- # value: "TagValue",
9664
- # },
9665
- # ],
9666
- # task_definition: "String", # required
9667
- # }
9668
- #
9669
8982
  # @!attribute [rw] cluster
9670
8983
  # The short name or full Amazon Resource Name (ARN) of the cluster
9671
8984
  # where to start your task. If you do not specify a cluster, the
@@ -9819,15 +9132,6 @@ module Aws::ECS
9819
9132
  include Aws::Structure
9820
9133
  end
9821
9134
 
9822
- # @note When making an API call, you may pass StopTaskRequest
9823
- # data as a hash:
9824
- #
9825
- # {
9826
- # cluster: "String",
9827
- # task: "String", # required
9828
- # reason: "String",
9829
- # }
9830
- #
9831
9135
  # @!attribute [rw] cluster
9832
9136
  # The short name or full Amazon Resource Name (ARN) of the cluster
9833
9137
  # that hosts the task to stop. If you do not specify a cluster, the
@@ -9868,19 +9172,6 @@ module Aws::ECS
9868
9172
  include Aws::Structure
9869
9173
  end
9870
9174
 
9871
- # @note When making an API call, you may pass SubmitAttachmentStateChangesRequest
9872
- # data as a hash:
9873
- #
9874
- # {
9875
- # cluster: "String",
9876
- # attachments: [ # required
9877
- # {
9878
- # attachment_arn: "String", # required
9879
- # status: "String", # required
9880
- # },
9881
- # ],
9882
- # }
9883
- #
9884
9175
  # @!attribute [rw] cluster
9885
9176
  # The short name or full ARN of the cluster that hosts the container
9886
9177
  # instance the attachment belongs to.
@@ -9911,27 +9202,6 @@ module Aws::ECS
9911
9202
  include Aws::Structure
9912
9203
  end
9913
9204
 
9914
- # @note When making an API call, you may pass SubmitContainerStateChangeRequest
9915
- # data as a hash:
9916
- #
9917
- # {
9918
- # cluster: "String",
9919
- # task: "String",
9920
- # container_name: "String",
9921
- # runtime_id: "String",
9922
- # status: "String",
9923
- # exit_code: 1,
9924
- # reason: "String",
9925
- # network_bindings: [
9926
- # {
9927
- # bind_ip: "String",
9928
- # container_port: 1,
9929
- # host_port: 1,
9930
- # protocol: "tcp", # accepts tcp, udp
9931
- # },
9932
- # ],
9933
- # }
9934
- #
9935
9205
  # @!attribute [rw] cluster
9936
9206
  # The short name or full ARN of the cluster that hosts the container.
9937
9207
  # @return [String]
@@ -9992,51 +9262,6 @@ module Aws::ECS
9992
9262
  include Aws::Structure
9993
9263
  end
9994
9264
 
9995
- # @note When making an API call, you may pass SubmitTaskStateChangeRequest
9996
- # data as a hash:
9997
- #
9998
- # {
9999
- # cluster: "String",
10000
- # task: "String",
10001
- # status: "String",
10002
- # reason: "String",
10003
- # containers: [
10004
- # {
10005
- # container_name: "String",
10006
- # image_digest: "String",
10007
- # runtime_id: "String",
10008
- # exit_code: 1,
10009
- # network_bindings: [
10010
- # {
10011
- # bind_ip: "String",
10012
- # container_port: 1,
10013
- # host_port: 1,
10014
- # protocol: "tcp", # accepts tcp, udp
10015
- # },
10016
- # ],
10017
- # reason: "String",
10018
- # status: "String",
10019
- # },
10020
- # ],
10021
- # attachments: [
10022
- # {
10023
- # attachment_arn: "String", # required
10024
- # status: "String", # required
10025
- # },
10026
- # ],
10027
- # managed_agents: [
10028
- # {
10029
- # container_name: "String", # required
10030
- # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
10031
- # status: "String", # required
10032
- # reason: "String",
10033
- # },
10034
- # ],
10035
- # pull_started_at: Time.now,
10036
- # pull_stopped_at: Time.now,
10037
- # execution_stopped_at: Time.now,
10038
- # }
10039
- #
10040
9265
  # @!attribute [rw] cluster
10041
9266
  # The short name or full Amazon Resource Name (ARN) of the cluster
10042
9267
  # that hosts the task.
@@ -10136,14 +9361,6 @@ module Aws::ECS
10136
9361
  # [2]: https://docs.docker.com/engine/api/v1.35/
10137
9362
  # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
10138
9363
  #
10139
- # @note When making an API call, you may pass SystemControl
10140
- # data as a hash:
10141
- #
10142
- # {
10143
- # namespace: "String",
10144
- # value: "String",
10145
- # }
10146
- #
10147
9364
  # @!attribute [rw] namespace
10148
9365
  # The namespaced kernel parameter to set a `value` for.
10149
9366
  # @return [String]
@@ -10191,14 +9408,6 @@ module Aws::ECS
10191
9408
  # values with this prefix. Tags with this prefix do not count against
10192
9409
  # your tags per resource limit.
10193
9410
  #
10194
- # @note When making an API call, you may pass Tag
10195
- # data as a hash:
10196
- #
10197
- # {
10198
- # key: "TagKey",
10199
- # value: "TagValue",
10200
- # }
10201
- #
10202
9411
  # @!attribute [rw] key
10203
9412
  # One part of a key-value pair that make up a tag. A `key` is a
10204
9413
  # general label that acts like a category for more specific tag
@@ -10219,19 +9428,6 @@ module Aws::ECS
10219
9428
  include Aws::Structure
10220
9429
  end
10221
9430
 
10222
- # @note When making an API call, you may pass TagResourceRequest
10223
- # data as a hash:
10224
- #
10225
- # {
10226
- # resource_arn: "String", # required
10227
- # tags: [ # required
10228
- # {
10229
- # key: "TagKey",
10230
- # value: "TagValue",
10231
- # },
10232
- # ],
10233
- # }
10234
- #
10235
9431
  # @!attribute [rw] resource_arn
10236
9432
  # The Amazon Resource Name (ARN) of the resource to add tags to.
10237
9433
  # Currently, the supported resources are Amazon ECS capacity
@@ -10381,11 +9577,21 @@ module Aws::ECS
10381
9577
  # GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8
10382
9578
  # GB)
10383
9579
  #
10384
- # * 2048 (2 vCPU) - Available `memory` values: Between 4096 (4 GB) and
10385
- # 16384 (16 GB) in increments of 1024 (1 GB)
9580
+ # * 2048 (2 vCPU) - Available `memory` values: 4096 (4 GB) and 16384
9581
+ # (16 GB) in increments of 1024 (1 GB)
9582
+ #
9583
+ # * 4096 (4 vCPU) - Available `memory` values: 8192 (8 GB) and 30720
9584
+ # (30 GB) in increments of 1024 (1 GB)
9585
+ #
9586
+ # * 8192 (8 vCPU) - Available `memory` values: 16 GB and 60 GB in 4 GB
9587
+ # increments
9588
+ #
9589
+ # This option requires Linux platform `1.4.0` or later.
10386
9590
  #
10387
- # * 4096 (4 vCPU) - Available `memory` values: Between 8192 (8 GB) and
10388
- # 30720 (30 GB) in increments of 1024 (1 GB)
9591
+ # * 16384 (16vCPU) - Available `memory` values: 32GB and 120 GB in 8
9592
+ # GB increments
9593
+ #
9594
+ # This option requires Linux platform `1.4.0` or later.
10389
9595
  # @return [String]
10390
9596
  #
10391
9597
  # @!attribute [rw] created_at
@@ -10486,6 +9692,16 @@ module Aws::ECS
10486
9692
  #
10487
9693
  # * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
10488
9694
  # - Available `cpu` values: 4096 (4 vCPU)
9695
+ #
9696
+ # * Between 16 GB and 60 GB in 4 GB increments - Available `cpu`
9697
+ # values: 8192 (8 vCPU)
9698
+ #
9699
+ # This option requires Linux platform `1.4.0` or later.
9700
+ #
9701
+ # * Between 32GB and 120 GB in 8 GB increments - Available `cpu`
9702
+ # values: 16384 (16 vCPU)
9703
+ #
9704
+ # This option requires Linux platform `1.4.0` or later.
10489
9705
  # @return [String]
10490
9706
  #
10491
9707
  # @!attribute [rw] overrides
@@ -10875,11 +10091,21 @@ module Aws::ECS
10875
10091
  # GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8
10876
10092
  # GB)
10877
10093
  #
10878
- # * 2048 (2 vCPU) - Available `memory` values: Between 4096 (4 GB) and
10879
- # 16384 (16 GB) in increments of 1024 (1 GB)
10094
+ # * 2048 (2 vCPU) - Available `memory` values: 4096 (4 GB) and 16384
10095
+ # (16 GB) in increments of 1024 (1 GB)
10096
+ #
10097
+ # * 4096 (4 vCPU) - Available `memory` values: 8192 (8 GB) and 30720
10098
+ # (30 GB) in increments of 1024 (1 GB)
10880
10099
  #
10881
- # * 4096 (4 vCPU) - Available `memory` values: Between 8192 (8 GB) and
10882
- # 30720 (30 GB) in increments of 1024 (1 GB)
10100
+ # * 8192 (8 vCPU) - Available `memory` values: 16 GB and 60 GB in 4 GB
10101
+ # increments
10102
+ #
10103
+ # This option requires Linux platform `1.4.0` or later.
10104
+ #
10105
+ # * 16384 (16vCPU) - Available `memory` values: 32GB and 120 GB in 8
10106
+ # GB increments
10107
+ #
10108
+ # This option requires Linux platform `1.4.0` or later.
10883
10109
  # @return [String]
10884
10110
  #
10885
10111
  # @!attribute [rw] memory
@@ -10911,6 +10137,16 @@ module Aws::ECS
10911
10137
  # * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
10912
10138
  # - Available `cpu` values: 4096 (4 vCPU)
10913
10139
  #
10140
+ # * Between 16 GB and 60 GB in 4 GB increments - Available `cpu`
10141
+ # values: 8192 (8 vCPU)
10142
+ #
10143
+ # This option requires Linux platform `1.4.0` or later.
10144
+ #
10145
+ # * Between 32GB and 120 GB in 8 GB increments - Available `cpu`
10146
+ # values: 16384 (16 vCPU)
10147
+ #
10148
+ # This option requires Linux platform `1.4.0` or later.
10149
+ #
10914
10150
  #
10915
10151
  #
10916
10152
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html
@@ -11066,14 +10302,6 @@ module Aws::ECS
11066
10302
  #
11067
10303
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html
11068
10304
  #
11069
- # @note When making an API call, you may pass TaskDefinitionPlacementConstraint
11070
- # data as a hash:
11071
- #
11072
- # {
11073
- # type: "memberOf", # accepts memberOf
11074
- # expression: "String",
11075
- # }
11076
- #
11077
10305
  # @!attribute [rw] type
11078
10306
  # The type of constraint. The `MemberOf` constraint restricts
11079
10307
  # selection to be from a group of valid candidates.
@@ -11100,58 +10328,12 @@ module Aws::ECS
11100
10328
 
11101
10329
  # The overrides that are associated with a task.
11102
10330
  #
11103
- # @note When making an API call, you may pass TaskOverride
11104
- # data as a hash:
11105
- #
11106
- # {
11107
- # container_overrides: [
11108
- # {
11109
- # name: "String",
11110
- # command: ["String"],
11111
- # environment: [
11112
- # {
11113
- # name: "String",
11114
- # value: "String",
11115
- # },
11116
- # ],
11117
- # environment_files: [
11118
- # {
11119
- # value: "String", # required
11120
- # type: "s3", # required, accepts s3
11121
- # },
11122
- # ],
11123
- # cpu: 1,
11124
- # memory: 1,
11125
- # memory_reservation: 1,
11126
- # resource_requirements: [
11127
- # {
11128
- # value: "String", # required
11129
- # type: "GPU", # required, accepts GPU, InferenceAccelerator
11130
- # },
11131
- # ],
11132
- # },
11133
- # ],
11134
- # cpu: "String",
11135
- # inference_accelerator_overrides: [
11136
- # {
11137
- # device_name: "String",
11138
- # device_type: "String",
11139
- # },
11140
- # ],
11141
- # execution_role_arn: "String",
11142
- # memory: "String",
11143
- # task_role_arn: "String",
11144
- # ephemeral_storage: {
11145
- # size_in_gi_b: 1, # required
11146
- # },
11147
- # }
11148
- #
11149
10331
  # @!attribute [rw] container_overrides
11150
10332
  # One or more container overrides that are sent to a task.
11151
10333
  # @return [Array<Types::ContainerOverride>]
11152
10334
  #
11153
10335
  # @!attribute [rw] cpu
11154
- # The cpu override for the task.
10336
+ # The CPU override for the task.
11155
10337
  # @return [String]
11156
10338
  #
11157
10339
  # @!attribute [rw] inference_accelerator_overrides
@@ -11239,7 +10421,7 @@ module Aws::ECS
11239
10421
  # The tag specified when a task set is started. If an CodeDeploy
11240
10422
  # deployment created the task set, the `startedBy` parameter is
11241
10423
  # `CODE_DEPLOY`. If an external deployment created the task set, the
11242
- # startedBy field isn't used.
10424
+ # `startedBy` field isn't used.
11243
10425
  # @return [String]
11244
10426
  #
11245
10427
  # @!attribute [rw] external_id
@@ -11364,7 +10546,7 @@ module Aws::ECS
11364
10546
  # @!attribute [rw] stability_status
11365
10547
  # The stability status. This indicates whether the task set has
11366
10548
  # reached a steady state. If the following conditions are met, the
11367
- # task set sre in `STEADY_STATE`\:
10549
+ # task set are in `STEADY_STATE`\:
11368
10550
  #
11369
10551
  # * The task `runningCount` is equal to the `computedDesiredCount`.
11370
10552
  #
@@ -11457,15 +10639,6 @@ module Aws::ECS
11457
10639
 
11458
10640
  # The container path, mount options, and size of the tmpfs mount.
11459
10641
  #
11460
- # @note When making an API call, you may pass Tmpfs
11461
- # data as a hash:
11462
- #
11463
- # {
11464
- # container_path: "String", # required
11465
- # size: 1, # required
11466
- # mount_options: ["String"],
11467
- # }
11468
- #
11469
10642
  # @!attribute [rw] container_path
11470
10643
  # The absolute file path where the tmpfs volume is to be mounted.
11471
10644
  # @return [String]
@@ -11505,25 +10678,16 @@ module Aws::ECS
11505
10678
  # container can use. The default `nofile` soft limit is `1024` and hard
11506
10679
  # limit is `4096`.
11507
10680
  #
11508
- # @note When making an API call, you may pass Ulimit
11509
- # data as a hash:
11510
- #
11511
- # {
11512
- # name: "core", # required, accepts core, cpu, data, fsize, locks, memlock, msgqueue, nice, nofile, nproc, rss, rtprio, rttime, sigpending, stack
11513
- # soft_limit: 1, # required
11514
- # hard_limit: 1, # required
11515
- # }
11516
- #
11517
10681
  # @!attribute [rw] name
11518
10682
  # The `type` of the `ulimit`.
11519
10683
  # @return [String]
11520
10684
  #
11521
10685
  # @!attribute [rw] soft_limit
11522
- # The soft limit for the ulimit type.
10686
+ # The soft limit for the `ulimit` type.
11523
10687
  # @return [Integer]
11524
10688
  #
11525
10689
  # @!attribute [rw] hard_limit
11526
- # The hard limit for the ulimit type.
10690
+ # The hard limit for the `ulimit` type.
11527
10691
  # @return [Integer]
11528
10692
  #
11529
10693
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Ulimit AWS API Documentation
@@ -11542,14 +10706,6 @@ module Aws::ECS
11542
10706
  #
11543
10707
  class UnsupportedFeatureException < Aws::EmptyStructure; end
11544
10708
 
11545
- # @note When making an API call, you may pass UntagResourceRequest
11546
- # data as a hash:
11547
- #
11548
- # {
11549
- # resource_arn: "String", # required
11550
- # tag_keys: ["TagKey"], # required
11551
- # }
11552
- #
11553
10709
  # @!attribute [rw] resource_arn
11554
10710
  # The Amazon Resource Name (ARN) of the resource to delete tags from.
11555
10711
  # Currently, the supported resources are Amazon ECS capacity
@@ -11574,23 +10730,6 @@ module Aws::ECS
11574
10730
  #
11575
10731
  class UntagResourceResponse < Aws::EmptyStructure; end
11576
10732
 
11577
- # @note When making an API call, you may pass UpdateCapacityProviderRequest
11578
- # data as a hash:
11579
- #
11580
- # {
11581
- # name: "String", # required
11582
- # auto_scaling_group_provider: { # required
11583
- # managed_scaling: {
11584
- # status: "ENABLED", # accepts ENABLED, DISABLED
11585
- # target_capacity: 1,
11586
- # minimum_scaling_step_size: 1,
11587
- # maximum_scaling_step_size: 1,
11588
- # instance_warmup_period: 1,
11589
- # },
11590
- # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
11591
- # },
11592
- # }
11593
- #
11594
10733
  # @!attribute [rw] name
11595
10734
  # The name of the capacity provider to update.
11596
10735
  # @return [String]
@@ -11621,32 +10760,6 @@ module Aws::ECS
11621
10760
  include Aws::Structure
11622
10761
  end
11623
10762
 
11624
- # @note When making an API call, you may pass UpdateClusterRequest
11625
- # data as a hash:
11626
- #
11627
- # {
11628
- # cluster: "String", # required
11629
- # settings: [
11630
- # {
11631
- # name: "containerInsights", # accepts containerInsights
11632
- # value: "String",
11633
- # },
11634
- # ],
11635
- # configuration: {
11636
- # execute_command_configuration: {
11637
- # kms_key_id: "String",
11638
- # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
11639
- # log_configuration: {
11640
- # cloud_watch_log_group_name: "String",
11641
- # cloud_watch_encryption_enabled: false,
11642
- # s3_bucket_name: "String",
11643
- # s3_encryption_enabled: false,
11644
- # s3_key_prefix: "String",
11645
- # },
11646
- # },
11647
- # },
11648
- # }
11649
- #
11650
10763
  # @!attribute [rw] cluster
11651
10764
  # The name of the cluster to modify the settings for.
11652
10765
  # @return [String]
@@ -11659,12 +10772,37 @@ module Aws::ECS
11659
10772
  # The execute command configuration for the cluster.
11660
10773
  # @return [Types::ClusterConfiguration]
11661
10774
  #
10775
+ # @!attribute [rw] service_connect_defaults
10776
+ # Use this parameter to set a default Service Connect namespace. After
10777
+ # you set a default Service Connect namespace, any new services with
10778
+ # Service Connect turned on that are created in the cluster are added
10779
+ # as client services in the namespace. This setting only applies to
10780
+ # new services that set the `enabled` parameter to `true` in the
10781
+ # `ServiceConnectConfiguration`. You can set the namespace of each
10782
+ # service individually in the `ServiceConnectConfiguration` to
10783
+ # override this default parameter.
10784
+ #
10785
+ # Tasks that run in a namespace can use short names to connect to
10786
+ # services in the namespace. Tasks can connect to services across all
10787
+ # of the clusters in the namespace. Tasks connect through a managed
10788
+ # proxy container that collects logs and metrics for increased
10789
+ # visibility. Only the tasks that Amazon ECS services create are
10790
+ # supported with Service Connect. For more information, see [Service
10791
+ # Connect][1] in the *Amazon Elastic Container Service Developer
10792
+ # Guide*.
10793
+ #
10794
+ #
10795
+ #
10796
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
10797
+ # @return [Types::ClusterServiceConnectDefaultsRequest]
10798
+ #
11662
10799
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterRequest AWS API Documentation
11663
10800
  #
11664
10801
  class UpdateClusterRequest < Struct.new(
11665
10802
  :cluster,
11666
10803
  :settings,
11667
- :configuration)
10804
+ :configuration,
10805
+ :service_connect_defaults)
11668
10806
  SENSITIVE = []
11669
10807
  include Aws::Structure
11670
10808
  end
@@ -11681,19 +10819,6 @@ module Aws::ECS
11681
10819
  include Aws::Structure
11682
10820
  end
11683
10821
 
11684
- # @note When making an API call, you may pass UpdateClusterSettingsRequest
11685
- # data as a hash:
11686
- #
11687
- # {
11688
- # cluster: "String", # required
11689
- # settings: [ # required
11690
- # {
11691
- # name: "containerInsights", # accepts containerInsights
11692
- # value: "String",
11693
- # },
11694
- # ],
11695
- # }
11696
- #
11697
10822
  # @!attribute [rw] cluster
11698
10823
  # The name of the cluster to modify the settings for.
11699
10824
  # @return [String]
@@ -11703,6 +10828,13 @@ module Aws::ECS
11703
10828
  # to turn on CloudWatch Container Insights for a cluster. If this
11704
10829
  # value is specified, it overrides the `containerInsights` value set
11705
10830
  # with PutAccountSetting or PutAccountSettingDefault.
10831
+ #
10832
+ # Currently, if you delete an existing cluster that does not have
10833
+ # Container Insights turned on, and then create a new cluster with the
10834
+ # same name with Container Insights tuned on, Container Insights will
10835
+ # not actually be turned on. If you want to preserve the same name for
10836
+ # your existing cluster and turn on Container Insights, you must wait
10837
+ # 7 days before you can re-create it.
11706
10838
  # @return [Array<Types::ClusterSetting>]
11707
10839
  #
11708
10840
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettingsRequest AWS API Documentation
@@ -11726,14 +10858,6 @@ module Aws::ECS
11726
10858
  include Aws::Structure
11727
10859
  end
11728
10860
 
11729
- # @note When making an API call, you may pass UpdateContainerAgentRequest
11730
- # data as a hash:
11731
- #
11732
- # {
11733
- # cluster: "String",
11734
- # container_instance: "String", # required
11735
- # }
11736
- #
11737
10861
  # @!attribute [rw] cluster
11738
10862
  # The short name or full Amazon Resource Name (ARN) of the cluster
11739
10863
  # that your container instance is running on. If you do not specify a
@@ -11767,15 +10891,6 @@ module Aws::ECS
11767
10891
  include Aws::Structure
11768
10892
  end
11769
10893
 
11770
- # @note When making an API call, you may pass UpdateContainerInstancesStateRequest
11771
- # data as a hash:
11772
- #
11773
- # {
11774
- # cluster: "String",
11775
- # container_instances: ["String"], # required
11776
- # status: "ACTIVE", # required, accepts ACTIVE, DRAINING, REGISTERING, DEREGISTERING, REGISTRATION_FAILED
11777
- # }
11778
- #
11779
10894
  # @!attribute [rw] cluster
11780
10895
  # The short name or full Amazon Resource Name (ARN) of the cluster
11781
10896
  # that hosts the container instance to update. If you do not specify a
@@ -11834,15 +10949,6 @@ module Aws::ECS
11834
10949
  #
11835
10950
  class UpdateInProgressException < Aws::EmptyStructure; end
11836
10951
 
11837
- # @note When making an API call, you may pass UpdateServicePrimaryTaskSetRequest
11838
- # data as a hash:
11839
- #
11840
- # {
11841
- # cluster: "String", # required
11842
- # service: "String", # required
11843
- # primary_task_set: "String", # required
11844
- # }
11845
- #
11846
10952
  # @!attribute [rw] cluster
11847
10953
  # The short name or full Amazon Resource Name (ARN) of the cluster
11848
10954
  # that hosts the service that the task set exists in.
@@ -11869,7 +10975,7 @@ module Aws::ECS
11869
10975
  end
11870
10976
 
11871
10977
  # @!attribute [rw] task_set
11872
- # etails about the task set.
10978
+ # The details about the task set.
11873
10979
  # @return [Types::TaskSet]
11874
10980
  #
11875
10981
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetResponse AWS API Documentation
@@ -11880,72 +10986,6 @@ module Aws::ECS
11880
10986
  include Aws::Structure
11881
10987
  end
11882
10988
 
11883
- # @note When making an API call, you may pass UpdateServiceRequest
11884
- # data as a hash:
11885
- #
11886
- # {
11887
- # cluster: "String",
11888
- # service: "String", # required
11889
- # desired_count: 1,
11890
- # task_definition: "String",
11891
- # capacity_provider_strategy: [
11892
- # {
11893
- # capacity_provider: "String", # required
11894
- # weight: 1,
11895
- # base: 1,
11896
- # },
11897
- # ],
11898
- # deployment_configuration: {
11899
- # deployment_circuit_breaker: {
11900
- # enable: false, # required
11901
- # rollback: false, # required
11902
- # },
11903
- # maximum_percent: 1,
11904
- # minimum_healthy_percent: 1,
11905
- # },
11906
- # network_configuration: {
11907
- # awsvpc_configuration: {
11908
- # subnets: ["String"], # required
11909
- # security_groups: ["String"],
11910
- # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
11911
- # },
11912
- # },
11913
- # placement_constraints: [
11914
- # {
11915
- # type: "distinctInstance", # accepts distinctInstance, memberOf
11916
- # expression: "String",
11917
- # },
11918
- # ],
11919
- # placement_strategy: [
11920
- # {
11921
- # type: "random", # accepts random, spread, binpack
11922
- # field: "String",
11923
- # },
11924
- # ],
11925
- # platform_version: "String",
11926
- # force_new_deployment: false,
11927
- # health_check_grace_period_seconds: 1,
11928
- # enable_execute_command: false,
11929
- # enable_ecs_managed_tags: false,
11930
- # load_balancers: [
11931
- # {
11932
- # target_group_arn: "String",
11933
- # load_balancer_name: "String",
11934
- # container_name: "String",
11935
- # container_port: 1,
11936
- # },
11937
- # ],
11938
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
11939
- # service_registries: [
11940
- # {
11941
- # registry_arn: "String",
11942
- # port: 1,
11943
- # container_name: "String",
11944
- # container_port: 1,
11945
- # },
11946
- # ],
11947
- # }
11948
- #
11949
10989
  # @!attribute [rw] cluster
11950
10990
  # The short name or full Amazon Resource Name (ARN) of the cluster
11951
10991
  # that your service runs on. If you do not specify a cluster, the
@@ -12161,6 +11201,25 @@ module Aws::ECS
12161
11201
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
12162
11202
  # @return [Array<Types::ServiceRegistry>]
12163
11203
  #
11204
+ # @!attribute [rw] service_connect_configuration
11205
+ # The configuration for this service to discover and connect to
11206
+ # services, and be discovered by, and connected from, other services
11207
+ # within a namespace.
11208
+ #
11209
+ # Tasks that run in a namespace can use short names to connect to
11210
+ # services in the namespace. Tasks can connect to services across all
11211
+ # of the clusters in the namespace. Tasks connect through a managed
11212
+ # proxy container that collects logs and metrics for increased
11213
+ # visibility. Only the tasks that Amazon ECS services create are
11214
+ # supported with Service Connect. For more information, see [Service
11215
+ # Connect][1] in the *Amazon Elastic Container Service Developer
11216
+ # Guide*.
11217
+ #
11218
+ #
11219
+ #
11220
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
11221
+ # @return [Types::ServiceConnectConfiguration]
11222
+ #
12164
11223
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
12165
11224
  #
12166
11225
  class UpdateServiceRequest < Struct.new(
@@ -12180,7 +11239,8 @@ module Aws::ECS
12180
11239
  :enable_ecs_managed_tags,
12181
11240
  :load_balancers,
12182
11241
  :propagate_tags,
12183
- :service_registries)
11242
+ :service_registries,
11243
+ :service_connect_configuration)
12184
11244
  SENSITIVE = []
12185
11245
  include Aws::Structure
12186
11246
  end
@@ -12197,19 +11257,69 @@ module Aws::ECS
12197
11257
  include Aws::Structure
12198
11258
  end
12199
11259
 
12200
- # @note When making an API call, you may pass UpdateTaskSetRequest
12201
- # data as a hash:
11260
+ # @!attribute [rw] cluster
11261
+ # The short name or full Amazon Resource Name (ARN) of the cluster
11262
+ # that hosts the service that the task sets exist in.
11263
+ # @return [String]
11264
+ #
11265
+ # @!attribute [rw] tasks
11266
+ # A list of up to 10 task IDs or full ARN entries.
11267
+ # @return [Array<String>]
11268
+ #
11269
+ # @!attribute [rw] protection_enabled
11270
+ # Specify `true` to mark a task for protection and `false` to unset
11271
+ # protection, making it eligible for termination.
11272
+ # @return [Boolean]
11273
+ #
11274
+ # @!attribute [rw] expires_in_minutes
11275
+ # If you set `protectionEnabled` to `true`, you can specify the
11276
+ # duration for task protection in minutes. You can specify a value
11277
+ # from 1 minute to up to 2,880 minutes (48 hours). During this time,
11278
+ # your task will not be terminated by scale-in events from Service
11279
+ # Auto Scaling or deployments. After this time period lapses,
11280
+ # `protectionEnabled` will be reset to `false`.
11281
+ #
11282
+ # If you don’t specify the time, then the task is automatically
11283
+ # protected for 120 minutes (2 hours).
11284
+ # @return [Integer]
12202
11285
  #
12203
- # {
12204
- # cluster: "String", # required
12205
- # service: "String", # required
12206
- # task_set: "String", # required
12207
- # scale: { # required
12208
- # value: 1.0,
12209
- # unit: "PERCENT", # accepts PERCENT
12210
- # },
12211
- # }
11286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskProtectionRequest AWS API Documentation
12212
11287
  #
11288
+ class UpdateTaskProtectionRequest < Struct.new(
11289
+ :cluster,
11290
+ :tasks,
11291
+ :protection_enabled,
11292
+ :expires_in_minutes)
11293
+ SENSITIVE = []
11294
+ include Aws::Structure
11295
+ end
11296
+
11297
+ # @!attribute [rw] protected_tasks
11298
+ # A list of tasks with the following information.
11299
+ #
11300
+ # * `taskArn`\: The task ARN.
11301
+ #
11302
+ # * `protectionEnabled`\: The protection status of the task. If
11303
+ # scale-in protection is enabled for a task, the value is `true`.
11304
+ # Otherwise, it is `false`.
11305
+ #
11306
+ # * `expirationDate`\: The epoch time when protection for the task
11307
+ # will expire.
11308
+ # @return [Array<Types::ProtectedTask>]
11309
+ #
11310
+ # @!attribute [rw] failures
11311
+ # Any failures associated with the call.
11312
+ # @return [Array<Types::Failure>]
11313
+ #
11314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskProtectionResponse AWS API Documentation
11315
+ #
11316
+ class UpdateTaskProtectionResponse < Struct.new(
11317
+ :protected_tasks,
11318
+ :failures)
11319
+ SENSITIVE = []
11320
+ include Aws::Structure
11321
+ end
11322
+
12213
11323
  # @!attribute [rw] cluster
12214
11324
  # The short name or full Amazon Resource Name (ARN) of the cluster
12215
11325
  # that hosts the service that the task set is found in.
@@ -12256,15 +11366,6 @@ module Aws::ECS
12256
11366
  # The Docker and Amazon ECS container agent version information about a
12257
11367
  # container instance.
12258
11368
  #
12259
- # @note When making an API call, you may pass VersionInfo
12260
- # data as a hash:
12261
- #
12262
- # {
12263
- # agent_version: "String",
12264
- # agent_hash: "String",
12265
- # docker_version: "String",
12266
- # }
12267
- #
12268
11369
  # @!attribute [rw] agent_version
12269
11370
  # The version number of the Amazon ECS container agent.
12270
11371
  # @return [String]
@@ -12305,45 +11406,6 @@ module Aws::ECS
12305
11406
  #
12306
11407
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html
12307
11408
  #
12308
- # @note When making an API call, you may pass Volume
12309
- # data as a hash:
12310
- #
12311
- # {
12312
- # name: "String",
12313
- # host: {
12314
- # source_path: "String",
12315
- # },
12316
- # docker_volume_configuration: {
12317
- # scope: "task", # accepts task, shared
12318
- # autoprovision: false,
12319
- # driver: "String",
12320
- # driver_opts: {
12321
- # "String" => "String",
12322
- # },
12323
- # labels: {
12324
- # "String" => "String",
12325
- # },
12326
- # },
12327
- # efs_volume_configuration: {
12328
- # file_system_id: "String", # required
12329
- # root_directory: "String",
12330
- # transit_encryption: "ENABLED", # accepts ENABLED, DISABLED
12331
- # transit_encryption_port: 1,
12332
- # authorization_config: {
12333
- # access_point_id: "String",
12334
- # iam: "ENABLED", # accepts ENABLED, DISABLED
12335
- # },
12336
- # },
12337
- # fsx_windows_file_server_volume_configuration: {
12338
- # file_system_id: "String", # required
12339
- # root_directory: "String", # required
12340
- # authorization_config: { # required
12341
- # credentials_parameter: "String", # required
12342
- # domain: "String", # required
12343
- # },
12344
- # },
12345
- # }
12346
- #
12347
11409
  # @!attribute [rw] name
12348
11410
  # The name of the volume. Up to 255 letters (uppercase and lowercase),
12349
11411
  # numbers, underscores, and hyphens are allowed. This name is
@@ -12403,14 +11465,6 @@ module Aws::ECS
12403
11465
  # Details on a data volume from another container in the same task
12404
11466
  # definition.
12405
11467
  #
12406
- # @note When making an API call, you may pass VolumeFrom
12407
- # data as a hash:
12408
- #
12409
- # {
12410
- # source_container: "String",
12411
- # read_only: false,
12412
- # }
12413
- #
12414
11468
  # @!attribute [rw] source_container
12415
11469
  # The name of another container within the same task definition to
12416
11470
  # mount volumes from.