aws-sdk-ecs 1.104.0 → 1.106.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -108,7 +108,7 @@ module Aws::ECS
108
108
  # 128 characters. It can contain letters (uppercase and lowercase),
109
109
  # numbers, hyphens (-), underscores (\_), periods (.), at signs (@),
110
110
  # forward slashes (/), back slashes (\\), colons (:), or spaces. The
111
- # value can't can't start or end with a space.
111
+ # value can't start or end with a space.
112
112
  # @return [String]
113
113
  #
114
114
  # @!attribute [rw] target_type
@@ -665,6 +665,30 @@ module Aws::ECS
665
665
  # : The capacity provider updates failed.
666
666
  # @return [String]
667
667
  #
668
+ # @!attribute [rw] service_connect_defaults
669
+ # Use this parameter to set a default Service Connect namespace. After
670
+ # you set a default Service Connect namespace, any new services with
671
+ # Service Connect turned on that are created in the cluster are added
672
+ # as client services in the namespace. This setting only applies to
673
+ # new services that set the `enabled` parameter to `true` in the
674
+ # `ServiceConnectConfiguration`. You can set the namespace of each
675
+ # service individually in the `ServiceConnectConfiguration` to
676
+ # override this default parameter.
677
+ #
678
+ # Tasks that run in a namespace can use short names to connect to
679
+ # services in the namespace. Tasks can connect to services across all
680
+ # of the clusters in the namespace. Tasks connect through a managed
681
+ # proxy container that collects logs and metrics for increased
682
+ # visibility. Only the tasks that Amazon ECS services create are
683
+ # supported with Service Connect. For more information, see [Service
684
+ # Connect][1] in the *Amazon Elastic Container Service Developer
685
+ # Guide*.
686
+ #
687
+ #
688
+ #
689
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
690
+ # @return [Types::ClusterServiceConnectDefaults]
691
+ #
668
692
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Cluster AWS API Documentation
669
693
  #
670
694
  class Cluster < Struct.new(
@@ -682,7 +706,8 @@ module Aws::ECS
682
706
  :capacity_providers,
683
707
  :default_capacity_provider_strategy,
684
708
  :attachments,
685
- :attachments_status)
709
+ :attachments_status,
710
+ :service_connect_defaults)
686
711
  SENSITIVE = []
687
712
  include Aws::Structure
688
713
  end
@@ -747,6 +772,108 @@ module Aws::ECS
747
772
  #
748
773
  class ClusterNotFoundException < Aws::EmptyStructure; end
749
774
 
775
+ # Use this parameter to set a default Service Connect namespace. After
776
+ # you set a default Service Connect namespace, any new services with
777
+ # Service Connect turned on that are created in the cluster are added as
778
+ # client services in the namespace. This setting only applies to new
779
+ # services that set the `enabled` parameter to `true` in the
780
+ # `ServiceConnectConfiguration`. You can set the namespace of each
781
+ # service individually in the `ServiceConnectConfiguration` to override
782
+ # this default parameter.
783
+ #
784
+ # Tasks that run in a namespace can use short names to connect to
785
+ # services in the namespace. Tasks can connect to services across all of
786
+ # the clusters in the namespace. Tasks connect through a managed proxy
787
+ # container that collects logs and metrics for increased visibility.
788
+ # Only the tasks that Amazon ECS services create are supported with
789
+ # Service Connect. For more information, see [Service Connect][1] in the
790
+ # *Amazon Elastic Container Service Developer Guide*.
791
+ #
792
+ #
793
+ #
794
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
795
+ #
796
+ # @!attribute [rw] namespace
797
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
798
+ # Map namespace. When you create a service and don't specify a
799
+ # Service Connect configuration, this namespace is used.
800
+ # @return [String]
801
+ #
802
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterServiceConnectDefaults AWS API Documentation
803
+ #
804
+ class ClusterServiceConnectDefaults < Struct.new(
805
+ :namespace)
806
+ SENSITIVE = []
807
+ include Aws::Structure
808
+ end
809
+
810
+ # Use this parameter to set a default Service Connect namespace. After
811
+ # you set a default Service Connect namespace, any new services with
812
+ # Service Connect turned on that are created in the cluster are added as
813
+ # client services in the namespace. This setting only applies to new
814
+ # services that set the `enabled` parameter to `true` in the
815
+ # `ServiceConnectConfiguration`. You can set the namespace of each
816
+ # service individually in the `ServiceConnectConfiguration` to override
817
+ # this default parameter.
818
+ #
819
+ # Tasks that run in a namespace can use short names to connect to
820
+ # services in the namespace. Tasks can connect to services across all of
821
+ # the clusters in the namespace. Tasks connect through a managed proxy
822
+ # container that collects logs and metrics for increased visibility.
823
+ # Only the tasks that Amazon ECS services create are supported with
824
+ # Service Connect. For more information, see [Service Connect][1] in the
825
+ # *Amazon Elastic Container Service Developer Guide*.
826
+ #
827
+ #
828
+ #
829
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
830
+ #
831
+ # @note When making an API call, you may pass ClusterServiceConnectDefaultsRequest
832
+ # data as a hash:
833
+ #
834
+ # {
835
+ # namespace: "String", # required
836
+ # }
837
+ #
838
+ # @!attribute [rw] namespace
839
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
840
+ # Map namespace that's used when you create a service and don't
841
+ # specify a Service Connect configuration. Up to 1024 characters are
842
+ # allowed. The name is case-sensitive. The characters can't include
843
+ # hyphens (-), tilde (~), greater than (&gt;), less than (&lt;), or
844
+ # slash (/).
845
+ #
846
+ # If you enter an existing namespace name or ARN, then that namespace
847
+ # will be used. Any namespace type is supported. The namespace must be
848
+ # in this account and this Amazon Web Services Region.
849
+ #
850
+ # If you enter a new name, a Cloud Map namespace will be created.
851
+ # Amazon ECS creates a Cloud Map namespace with the "API calls"
852
+ # method of instance discovery only. This instance discovery method is
853
+ # the "HTTP" namespace type in the Command Line Interface. Other
854
+ # types of instance discovery aren't used by Service Connect.
855
+ #
856
+ # If you update the service with an empty string `""` for the
857
+ # namespace name, the cluster configuration for Service Connect is
858
+ # removed. Note that the namespace will remain in Cloud Map and must
859
+ # be deleted separately.
860
+ #
861
+ # For more information about Cloud Map, see [Working with Services][1]
862
+ # in the *Cloud Map Developer Guide*.
863
+ #
864
+ #
865
+ #
866
+ # [1]: https://docs.aws.amazon.com/
867
+ # @return [String]
868
+ #
869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterServiceConnectDefaultsRequest AWS API Documentation
870
+ #
871
+ class ClusterServiceConnectDefaultsRequest < Struct.new(
872
+ :namespace)
873
+ SENSITIVE = []
874
+ include Aws::Structure
875
+ end
876
+
750
877
  # The settings to use when creating a cluster. This parameter is used to
751
878
  # turn on CloudWatch Container Insights for a cluster.
752
879
  #
@@ -908,6 +1035,8 @@ module Aws::ECS
908
1035
  # container_port: 1,
909
1036
  # host_port: 1,
910
1037
  # protocol: "tcp", # accepts tcp, udp
1038
+ # name: "String",
1039
+ # app_protocol: "http", # accepts http, http2, grpc
911
1040
  # },
912
1041
  # ],
913
1042
  # essential: false,
@@ -1823,7 +1952,7 @@ module Aws::ECS
1823
1952
  # @return [Hash<String,String>]
1824
1953
  #
1825
1954
  # @!attribute [rw] ulimits
1826
- # A list of `ulimits` to set in the container. If a ulimit value is
1955
+ # A list of `ulimits` to set in the container. If a `ulimit` value is
1827
1956
  # specified in a task definition, it overrides the default values set
1828
1957
  # by Docker. This parameter maps to `Ulimits` in the [Create a
1829
1958
  # container][1] section of the [Docker Remote API][2] and the
@@ -2581,6 +2710,9 @@ module Aws::ECS
2581
2710
  # base: 1,
2582
2711
  # },
2583
2712
  # ],
2713
+ # service_connect_defaults: {
2714
+ # namespace: "String", # required
2715
+ # },
2584
2716
  # }
2585
2717
  #
2586
2718
  # @!attribute [rw] cluster_name
@@ -2666,6 +2798,30 @@ module Aws::ECS
2666
2798
  # PutClusterCapacityProviders API operation.
2667
2799
  # @return [Array<Types::CapacityProviderStrategyItem>]
2668
2800
  #
2801
+ # @!attribute [rw] service_connect_defaults
2802
+ # Use this parameter to set a default Service Connect namespace. After
2803
+ # you set a default Service Connect namespace, any new services with
2804
+ # Service Connect turned on that are created in the cluster are added
2805
+ # as client services in the namespace. This setting only applies to
2806
+ # new services that set the `enabled` parameter to `true` in the
2807
+ # `ServiceConnectConfiguration`. You can set the namespace of each
2808
+ # service individually in the `ServiceConnectConfiguration` to
2809
+ # override this default parameter.
2810
+ #
2811
+ # Tasks that run in a namespace can use short names to connect to
2812
+ # services in the namespace. Tasks can connect to services across all
2813
+ # of the clusters in the namespace. Tasks connect through a managed
2814
+ # proxy container that collects logs and metrics for increased
2815
+ # visibility. Only the tasks that Amazon ECS services create are
2816
+ # supported with Service Connect. For more information, see [Service
2817
+ # Connect][1] in the *Amazon Elastic Container Service Developer
2818
+ # Guide*.
2819
+ #
2820
+ #
2821
+ #
2822
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
2823
+ # @return [Types::ClusterServiceConnectDefaultsRequest]
2824
+ #
2669
2825
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateClusterRequest AWS API Documentation
2670
2826
  #
2671
2827
  class CreateClusterRequest < Struct.new(
@@ -2674,7 +2830,8 @@ module Aws::ECS
2674
2830
  :settings,
2675
2831
  :configuration,
2676
2832
  :capacity_providers,
2677
- :default_capacity_provider_strategy)
2833
+ :default_capacity_provider_strategy,
2834
+ :service_connect_defaults)
2678
2835
  SENSITIVE = []
2679
2836
  include Aws::Structure
2680
2837
  end
@@ -2767,6 +2924,35 @@ module Aws::ECS
2767
2924
  # enable_ecs_managed_tags: false,
2768
2925
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
2769
2926
  # enable_execute_command: false,
2927
+ # service_connect_configuration: {
2928
+ # enabled: false, # required
2929
+ # namespace: "String",
2930
+ # services: [
2931
+ # {
2932
+ # port_name: "String", # required
2933
+ # discovery_name: "String",
2934
+ # client_aliases: [
2935
+ # {
2936
+ # port: 1, # required
2937
+ # dns_name: "String",
2938
+ # },
2939
+ # ],
2940
+ # ingress_port_override: 1,
2941
+ # },
2942
+ # ],
2943
+ # log_configuration: {
2944
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
2945
+ # options: {
2946
+ # "String" => "String",
2947
+ # },
2948
+ # secret_options: [
2949
+ # {
2950
+ # name: "String", # required
2951
+ # value_from: "String", # required
2952
+ # },
2953
+ # ],
2954
+ # },
2955
+ # },
2770
2956
  # }
2771
2957
  #
2772
2958
  # @!attribute [rw] cluster
@@ -3006,8 +3192,8 @@ module Aws::ECS
3006
3192
  # load balancer defined and you don't specify a health check grace
3007
3193
  # period value, the default value of `0` is used.
3008
3194
  #
3009
- # If you do not use an Elastic Load Balancing, we recomend that you
3010
- # use the `startPeriod` in the task definition healtch check
3195
+ # If you do not use an Elastic Load Balancing, we recommend that you
3196
+ # use the `startPeriod` in the task definition health check
3011
3197
  # parameters. For more information, see [Health check][1].
3012
3198
  #
3013
3199
  # If your service's tasks take a while to start and respond to
@@ -3118,6 +3304,25 @@ module Aws::ECS
3118
3304
  # on all containers in the service tasks.
3119
3305
  # @return [Boolean]
3120
3306
  #
3307
+ # @!attribute [rw] service_connect_configuration
3308
+ # The configuration for this service to discover and connect to
3309
+ # services, and be discovered by, and connected from, other services
3310
+ # within a namespace.
3311
+ #
3312
+ # Tasks that run in a namespace can use short names to connect to
3313
+ # services in the namespace. Tasks can connect to services across all
3314
+ # of the clusters in the namespace. Tasks connect through a managed
3315
+ # proxy container that collects logs and metrics for increased
3316
+ # visibility. Only the tasks that Amazon ECS services create are
3317
+ # supported with Service Connect. For more information, see [Service
3318
+ # Connect][1] in the *Amazon Elastic Container Service Developer
3319
+ # Guide*.
3320
+ #
3321
+ #
3322
+ #
3323
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
3324
+ # @return [Types::ServiceConnectConfiguration]
3325
+ #
3121
3326
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
3122
3327
  #
3123
3328
  class CreateServiceRequest < Struct.new(
@@ -3142,7 +3347,8 @@ module Aws::ECS
3142
3347
  :tags,
3143
3348
  :enable_ecs_managed_tags,
3144
3349
  :propagate_tags,
3145
- :enable_execute_command)
3350
+ :enable_execute_command,
3351
+ :service_connect_configuration)
3146
3352
  SENSITIVE = []
3147
3353
  include Aws::Structure
3148
3354
  end
@@ -3784,6 +3990,35 @@ module Aws::ECS
3784
3990
  # A description of the rollout state of a deployment.
3785
3991
  # @return [String]
3786
3992
  #
3993
+ # @!attribute [rw] service_connect_configuration
3994
+ # The details of the Service Connect configuration that's used by
3995
+ # this deployment. Compare the configuration between multiple
3996
+ # deployments when troubleshooting issues with new deployments.
3997
+ #
3998
+ # The configuration for this service to discover and connect to
3999
+ # services, and be discovered by, and connected from, other services
4000
+ # within a namespace.
4001
+ #
4002
+ # Tasks that run in a namespace can use short names to connect to
4003
+ # services in the namespace. Tasks can connect to services across all
4004
+ # of the clusters in the namespace. Tasks connect through a managed
4005
+ # proxy container that collects logs and metrics for increased
4006
+ # visibility. Only the tasks that Amazon ECS services create are
4007
+ # supported with Service Connect. For more information, see [Service
4008
+ # Connect][1] in the *Amazon Elastic Container Service Developer
4009
+ # Guide*.
4010
+ #
4011
+ #
4012
+ #
4013
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
4014
+ # @return [Types::ServiceConnectConfiguration]
4015
+ #
4016
+ # @!attribute [rw] service_connect_resources
4017
+ # The list of Service Connect resources that are associated with this
4018
+ # deployment. Each list entry maps a discovery name to a Cloud Map
4019
+ # service name.
4020
+ # @return [Array<Types::ServiceConnectServiceResource>]
4021
+ #
3787
4022
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Deployment AWS API Documentation
3788
4023
  #
3789
4024
  class Deployment < Struct.new(
@@ -3802,7 +4037,9 @@ module Aws::ECS
3802
4037
  :platform_family,
3803
4038
  :network_configuration,
3804
4039
  :rollout_state,
3805
- :rollout_state_reason)
4040
+ :rollout_state_reason,
4041
+ :service_connect_configuration,
4042
+ :service_connect_resources)
3806
4043
  SENSITIVE = []
3807
4044
  include Aws::Structure
3808
4045
  end
@@ -4227,7 +4464,8 @@ module Aws::ECS
4227
4464
  # isn't included.
4228
4465
  #
4229
4466
  # If `ATTACHMENTS` is specified, the attachments for the container
4230
- # instances or tasks within the cluster are included.
4467
+ # instances or tasks within the cluster are included, for example the
4468
+ # capacity providers.
4231
4469
  #
4232
4470
  # If `SETTINGS` is specified, the settings for the cluster are
4233
4471
  # included.
@@ -4644,11 +4882,22 @@ module Aws::ECS
4644
4882
  # The telemetry endpoint for the Amazon ECS agent.
4645
4883
  # @return [String]
4646
4884
  #
4885
+ # @!attribute [rw] service_connect_endpoint
4886
+ # The endpoint for the Amazon ECS agent to poll for Service Connect
4887
+ # configuration. For more information, see [Service Connect][1] in the
4888
+ # *Amazon Elastic Container Service Developer Guide*.
4889
+ #
4890
+ #
4891
+ #
4892
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
4893
+ # @return [String]
4894
+ #
4647
4895
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpointResponse AWS API Documentation
4648
4896
  #
4649
4897
  class DiscoverPollEndpointResponse < Struct.new(
4650
4898
  :endpoint,
4651
- :telemetry_endpoint)
4899
+ :telemetry_endpoint,
4900
+ :service_connect_endpoint)
4652
4901
  SENSITIVE = []
4653
4902
  include Aws::Structure
4654
4903
  end
@@ -5346,6 +5595,58 @@ module Aws::ECS
5346
5595
  include Aws::Structure
5347
5596
  end
5348
5597
 
5598
+ # @note When making an API call, you may pass GetTaskProtectionRequest
5599
+ # data as a hash:
5600
+ #
5601
+ # {
5602
+ # cluster: "String", # required
5603
+ # tasks: ["String"],
5604
+ # }
5605
+ #
5606
+ # @!attribute [rw] cluster
5607
+ # The short name or full Amazon Resource Name (ARN) of the cluster
5608
+ # that hosts the service that the task sets exist in.
5609
+ # @return [String]
5610
+ #
5611
+ # @!attribute [rw] tasks
5612
+ # A list of up to 100 task IDs or full ARN entries.
5613
+ # @return [Array<String>]
5614
+ #
5615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/GetTaskProtectionRequest AWS API Documentation
5616
+ #
5617
+ class GetTaskProtectionRequest < Struct.new(
5618
+ :cluster,
5619
+ :tasks)
5620
+ SENSITIVE = []
5621
+ include Aws::Structure
5622
+ end
5623
+
5624
+ # @!attribute [rw] protected_tasks
5625
+ # A list of tasks with the following information.
5626
+ #
5627
+ # * `taskArn`\: The task ARN.
5628
+ #
5629
+ # * `protectionEnabled`\: The protection status of the task. If
5630
+ # scale-in protection is enabled for a task, the value is `true`.
5631
+ # Otherwise, it is `false`.
5632
+ #
5633
+ # * `expirationDate`\: The epoch time when protection for the task
5634
+ # will expire.
5635
+ # @return [Array<Types::ProtectedTask>]
5636
+ #
5637
+ # @!attribute [rw] failures
5638
+ # Any failures associated with the call.
5639
+ # @return [Array<Types::Failure>]
5640
+ #
5641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/GetTaskProtectionResponse AWS API Documentation
5642
+ #
5643
+ class GetTaskProtectionResponse < Struct.new(
5644
+ :protected_tasks,
5645
+ :failures)
5646
+ SENSITIVE = []
5647
+ include Aws::Structure
5648
+ end
5649
+
5349
5650
  # An object representing a container health check. Health check
5350
5651
  # parameters that are specified in a container definition override any
5351
5652
  # Docker health checks that exist in the container image (such as those
@@ -5375,8 +5676,9 @@ module Aws::ECS
5375
5676
  # no container health check defined.
5376
5677
  #
5377
5678
  # The following describes the possible `healthStatus` values for a task.
5378
- # The container health check status of nonessential containers do not
5379
- # have an effect on the health status of a task.
5679
+ # The container health check status of nonessential containers only
5680
+ # affects the health status of a task if no essential containers have
5681
+ # health checks defined.
5380
5682
  #
5381
5683
  # * `HEALTHY`-All essential containers within the task have passed their
5382
5684
  # health checks.
@@ -5385,14 +5687,21 @@ module Aws::ECS
5385
5687
  # health check.
5386
5688
  #
5387
5689
  # * `UNKNOWN`-The essential containers within the task are still having
5388
- # their health checks evaluated or there are no container health
5389
- # checks defined.
5690
+ # their health checks evaluated or there are only nonessential
5691
+ # containers with health checks defined.
5390
5692
  #
5391
5693
  # If a task is run manually, and not as part of a service, the task will
5392
5694
  # continue its lifecycle regardless of its health status. For tasks that
5393
5695
  # are part of a service, if the task reports as unhealthy then the task
5394
5696
  # will be stopped and the service scheduler will replace it.
5395
5697
  #
5698
+ # For tasks that are a part of a service and the service uses the `ECS`
5699
+ # rolling deployment type, the deployment is paused while the new tasks
5700
+ # have the `UNKNOWN` task health check status. For example, tasks that
5701
+ # define health checks for nonessential containers when no essential
5702
+ # containers have health checks will have the `UNKNOWN` health check
5703
+ # status indefinitely which prevents the deployment from completing.
5704
+ #
5396
5705
  # The following are notes about container health check support:
5397
5706
  #
5398
5707
  # * Container health checks require version 1.17.0 or greater of the
@@ -6286,6 +6595,85 @@ module Aws::ECS
6286
6595
  include Aws::Structure
6287
6596
  end
6288
6597
 
6598
+ # @note When making an API call, you may pass ListServicesByNamespaceRequest
6599
+ # data as a hash:
6600
+ #
6601
+ # {
6602
+ # namespace: "String", # required
6603
+ # next_token: "String",
6604
+ # max_results: 1,
6605
+ # }
6606
+ #
6607
+ # @!attribute [rw] namespace
6608
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
6609
+ # Map namespace to list the services in.
6610
+ #
6611
+ # Tasks that run in a namespace can use short names to connect to
6612
+ # services in the namespace. Tasks can connect to services across all
6613
+ # of the clusters in the namespace. Tasks connect through a managed
6614
+ # proxy container that collects logs and metrics for increased
6615
+ # visibility. Only the tasks that Amazon ECS services create are
6616
+ # supported with Service Connect. For more information, see [Service
6617
+ # Connect][1] in the *Amazon Elastic Container Service Developer
6618
+ # Guide*.
6619
+ #
6620
+ #
6621
+ #
6622
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
6623
+ # @return [String]
6624
+ #
6625
+ # @!attribute [rw] next_token
6626
+ # The `nextToken` value that's returned from a
6627
+ # `ListServicesByNamespace` request. It indicates that more results
6628
+ # are available to fulfill the request and further calls are needed.
6629
+ # If `maxResults` is returned, it is possible the number of results is
6630
+ # less than `maxResults`.
6631
+ # @return [String]
6632
+ #
6633
+ # @!attribute [rw] max_results
6634
+ # The maximum number of service results that `ListServicesByNamespace`
6635
+ # returns in paginated output. When this parameter is used,
6636
+ # `ListServicesByNamespace` only returns `maxResults` results in a
6637
+ # single page along with a `nextToken` response element. The remaining
6638
+ # results of the initial request can be seen by sending another
6639
+ # `ListServicesByNamespace` request with the returned `nextToken`
6640
+ # value. This value can be between 1 and 100. If this parameter isn't
6641
+ # used, then `ListServicesByNamespace` returns up to 10 results and a
6642
+ # `nextToken` value if applicable.
6643
+ # @return [Integer]
6644
+ #
6645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesByNamespaceRequest AWS API Documentation
6646
+ #
6647
+ class ListServicesByNamespaceRequest < Struct.new(
6648
+ :namespace,
6649
+ :next_token,
6650
+ :max_results)
6651
+ SENSITIVE = []
6652
+ include Aws::Structure
6653
+ end
6654
+
6655
+ # @!attribute [rw] service_arns
6656
+ # The list of full ARN entries for each service that's associated
6657
+ # with the specified namespace.
6658
+ # @return [Array<String>]
6659
+ #
6660
+ # @!attribute [rw] next_token
6661
+ # The `nextToken` value to include in a future
6662
+ # `ListServicesByNamespace` request. When the results of a
6663
+ # `ListServicesByNamespace` request exceed `maxResults`, this value
6664
+ # can be used to retrieve the next page of results. When there are no
6665
+ # more results to return, this value is `null`.
6666
+ # @return [String]
6667
+ #
6668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesByNamespaceResponse AWS API Documentation
6669
+ #
6670
+ class ListServicesByNamespaceResponse < Struct.new(
6671
+ :service_arns,
6672
+ :next_token)
6673
+ SENSITIVE = []
6674
+ include Aws::Structure
6675
+ end
6676
+
6289
6677
  # @note When making an API call, you may pass ListServicesRequest
6290
6678
  # data as a hash:
6291
6679
  #
@@ -6648,6 +7036,9 @@ module Aws::ECS
6648
7036
  # The `startedBy` value to filter the task results with. Specifying a
6649
7037
  # `startedBy` value limits the results to tasks that were started with
6650
7038
  # that value.
7039
+ #
7040
+ # When you specify `startedBy` as the filter, it must be the only
7041
+ # filter that you use.
6651
7042
  # @return [String]
6652
7043
  #
6653
7044
  # @!attribute [rw] service_name
@@ -7061,8 +7452,8 @@ module Aws::ECS
7061
7452
  # @!attribute [rw] maximum_scaling_step_size
7062
7453
  # The maximum number of Amazon EC2 instances that Amazon ECS will
7063
7454
  # scale out at one time. The scale in process is not affected by this
7064
- # parameter. If this parameter is omitted, the default value of
7065
- # `10000` is used.
7455
+ # parameter. If this parameter is omitted, the default value of `1` is
7456
+ # used.
7066
7457
  # @return [Integer]
7067
7458
  #
7068
7459
  # @!attribute [rw] instance_warmup_period
@@ -7131,6 +7522,12 @@ module Aws::ECS
7131
7522
  include Aws::Structure
7132
7523
  end
7133
7524
 
7525
+ # The specified namespace wasn't found.
7526
+ #
7527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NamespaceNotFoundException AWS API Documentation
7528
+ #
7529
+ class NamespaceNotFoundException < Aws::EmptyStructure; end
7530
+
7134
7531
  # Details on the network bindings between a container and its host
7135
7532
  # container instance. After a task reaches the `RUNNING` status, manual
7136
7533
  # and automatic host and container port assignments are visible in the
@@ -7403,6 +7800,8 @@ module Aws::ECS
7403
7800
  # container_port: 1,
7404
7801
  # host_port: 1,
7405
7802
  # protocol: "tcp", # accepts tcp, udp
7803
+ # name: "String",
7804
+ # app_protocol: "http", # accepts http, http2, grpc
7406
7805
  # }
7407
7806
  #
7408
7807
  # @!attribute [rw] container_port
@@ -7460,12 +7859,84 @@ module Aws::ECS
7460
7859
  # `udp`. The default is `tcp`.
7461
7860
  # @return [String]
7462
7861
  #
7862
+ # @!attribute [rw] name
7863
+ # The name that's used for the port mapping. This parameter only
7864
+ # applies to Service Connect. This parameter is the name that you use
7865
+ # in the `serviceConnectConfiguration` of a service. Up to 64
7866
+ # characters are allowed. The characters can include lowercase
7867
+ # letters, numbers, underscores (\_), and hyphens (-). A hyphen can't
7868
+ # be the first character.
7869
+ #
7870
+ # For more information, see [Service Connect][1] in the *Amazon
7871
+ # Elastic Container Service Developer Guide*.
7872
+ #
7873
+ #
7874
+ #
7875
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
7876
+ # @return [String]
7877
+ #
7878
+ # @!attribute [rw] app_protocol
7879
+ # The application protocol that's used for the port mapping. This
7880
+ # parameter only applies to Service Connect. We recommend that you set
7881
+ # this parameter to be consistent with the protocol that your
7882
+ # application uses. If you set this parameter, Amazon ECS adds
7883
+ # protocol-specific connection handling to the Service Connect proxy.
7884
+ # If you set this parameter, Amazon ECS adds protocol-specific
7885
+ # telemetry in the Amazon ECS console and CloudWatch.
7886
+ #
7887
+ # If you don't set a value for this parameter, then TCP is used.
7888
+ # However, Amazon ECS doesn't add protocol-specific telemetry for
7889
+ # TCP.
7890
+ #
7891
+ # Tasks that run in a namespace can use short names to connect to
7892
+ # services in the namespace. Tasks can connect to services across all
7893
+ # of the clusters in the namespace. Tasks connect through a managed
7894
+ # proxy container that collects logs and metrics for increased
7895
+ # visibility. Only the tasks that Amazon ECS services create are
7896
+ # supported with Service Connect. For more information, see [Service
7897
+ # Connect][1] in the *Amazon Elastic Container Service Developer
7898
+ # Guide*.
7899
+ #
7900
+ #
7901
+ #
7902
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
7903
+ # @return [String]
7904
+ #
7463
7905
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PortMapping AWS API Documentation
7464
7906
  #
7465
7907
  class PortMapping < Struct.new(
7466
7908
  :container_port,
7467
7909
  :host_port,
7468
- :protocol)
7910
+ :protocol,
7911
+ :name,
7912
+ :app_protocol)
7913
+ SENSITIVE = []
7914
+ include Aws::Structure
7915
+ end
7916
+
7917
+ # An object representing the protection status details for a task. You
7918
+ # can set the protection status with the UpdateTaskProtection API and
7919
+ # get the status of tasks with the GetTaskProtection API.
7920
+ #
7921
+ # @!attribute [rw] task_arn
7922
+ # The task ARN.
7923
+ # @return [String]
7924
+ #
7925
+ # @!attribute [rw] protection_enabled
7926
+ # The protection status of the task. If scale-in protection is enabled
7927
+ # for a task, the value is `true`. Otherwise, it is `false`.
7928
+ # @return [Boolean]
7929
+ #
7930
+ # @!attribute [rw] expiration_date
7931
+ # The epoch time when protection for the task will expire.
7932
+ # @return [Time]
7933
+ #
7934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ProtectedTask AWS API Documentation
7935
+ #
7936
+ class ProtectedTask < Struct.new(
7937
+ :task_arn,
7938
+ :protection_enabled,
7939
+ :expiration_date)
7469
7940
  SENSITIVE = []
7470
7941
  include Aws::Structure
7471
7942
  end
@@ -7971,6 +8442,8 @@ module Aws::ECS
7971
8442
  # container_port: 1,
7972
8443
  # host_port: 1,
7973
8444
  # protocol: "tcp", # accepts tcp, udp
8445
+ # name: "String",
8446
+ # app_protocol: "http", # accepts http, http2, grpc
7974
8447
  # },
7975
8448
  # ],
7976
8449
  # essential: false,
@@ -9103,7 +9576,7 @@ module Aws::ECS
9103
9576
  # The CPU architecture.
9104
9577
  #
9105
9578
  # You can run your Linux tasks on an ARM-based platform by setting the
9106
- # value to `ARM64`. This option is avaiable for tasks that run on
9579
+ # value to `ARM64`. This option is available for tasks that run on
9107
9580
  # Linux Amazon EC2 instance or Linux containers on Fargate.
9108
9581
  # @return [String]
9109
9582
  #
@@ -9505,6 +9978,339 @@ module Aws::ECS
9505
9978
  include Aws::Structure
9506
9979
  end
9507
9980
 
9981
+ # Each alias ("endpoint") is a fully-qualified name and port number
9982
+ # that other tasks ("clients") can use to connect to this service.
9983
+ #
9984
+ # Each name and port mapping must be unique within the namespace.
9985
+ #
9986
+ # Tasks that run in a namespace can use short names to connect to
9987
+ # services in the namespace. Tasks can connect to services across all of
9988
+ # the clusters in the namespace. Tasks connect through a managed proxy
9989
+ # container that collects logs and metrics for increased visibility.
9990
+ # Only the tasks that Amazon ECS services create are supported with
9991
+ # Service Connect. For more information, see [Service Connect][1] in the
9992
+ # *Amazon Elastic Container Service Developer Guide*.
9993
+ #
9994
+ #
9995
+ #
9996
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
9997
+ #
9998
+ # @note When making an API call, you may pass ServiceConnectClientAlias
9999
+ # data as a hash:
10000
+ #
10001
+ # {
10002
+ # port: 1, # required
10003
+ # dns_name: "String",
10004
+ # }
10005
+ #
10006
+ # @!attribute [rw] port
10007
+ # The listening port number for the Service Connect proxy. This port
10008
+ # is available inside of all of the tasks within the same namespace.
10009
+ #
10010
+ # To avoid changing your applications in client Amazon ECS services,
10011
+ # set this to the same port that the client application uses by
10012
+ # default. For more information, see [Service Connect][1] in the
10013
+ # *Amazon Elastic Container Service Developer Guide*.
10014
+ #
10015
+ #
10016
+ #
10017
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
10018
+ # @return [Integer]
10019
+ #
10020
+ # @!attribute [rw] dns_name
10021
+ # The `dnsName` is the name that you use in the applications of client
10022
+ # tasks to connect to this service. The name must be a valid DNS name
10023
+ # but doesn't need to be fully-qualified. Up to 127 characters are
10024
+ # allowed. The characters can include lowercase letters, numbers,
10025
+ # underscores (\_), hyphens (-), and periods (.). A hyphen can't be
10026
+ # the first character.
10027
+ #
10028
+ # If this parameter isn't specified, the default value of
10029
+ # `discoveryName.namespace` is used. If the `discoveryName` isn't
10030
+ # specified, the `portName.namespace` from the task definition is
10031
+ # used.
10032
+ #
10033
+ # To avoid changing your applications in client Amazon ECS services,
10034
+ # set this to the same name that the client application uses by
10035
+ # default. For example, a few common names are `database`, `db`, or
10036
+ # the lowercase name of a database, such as `mysql` or `redis`. For
10037
+ # more information, see [Service Connect][1] in the *Amazon Elastic
10038
+ # Container Service Developer Guide*.
10039
+ #
10040
+ #
10041
+ #
10042
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
10043
+ # @return [String]
10044
+ #
10045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectClientAlias AWS API Documentation
10046
+ #
10047
+ class ServiceConnectClientAlias < Struct.new(
10048
+ :port,
10049
+ :dns_name)
10050
+ SENSITIVE = []
10051
+ include Aws::Structure
10052
+ end
10053
+
10054
+ # The Service Connect configuration of your Amazon ECS service. The
10055
+ # configuration for this service to discover and connect to services,
10056
+ # and be discovered by, and connected from, other services within a
10057
+ # namespace.
10058
+ #
10059
+ # Tasks that run in a namespace can use short names to connect to
10060
+ # services in the namespace. Tasks can connect to services across all of
10061
+ # the clusters in the namespace. Tasks connect through a managed proxy
10062
+ # container that collects logs and metrics for increased visibility.
10063
+ # Only the tasks that Amazon ECS services create are supported with
10064
+ # Service Connect. For more information, see [Service Connect][1] in the
10065
+ # *Amazon Elastic Container Service Developer Guide*.
10066
+ #
10067
+ #
10068
+ #
10069
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
10070
+ #
10071
+ # @note When making an API call, you may pass ServiceConnectConfiguration
10072
+ # data as a hash:
10073
+ #
10074
+ # {
10075
+ # enabled: false, # required
10076
+ # namespace: "String",
10077
+ # services: [
10078
+ # {
10079
+ # port_name: "String", # required
10080
+ # discovery_name: "String",
10081
+ # client_aliases: [
10082
+ # {
10083
+ # port: 1, # required
10084
+ # dns_name: "String",
10085
+ # },
10086
+ # ],
10087
+ # ingress_port_override: 1,
10088
+ # },
10089
+ # ],
10090
+ # log_configuration: {
10091
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
10092
+ # options: {
10093
+ # "String" => "String",
10094
+ # },
10095
+ # secret_options: [
10096
+ # {
10097
+ # name: "String", # required
10098
+ # value_from: "String", # required
10099
+ # },
10100
+ # ],
10101
+ # },
10102
+ # }
10103
+ #
10104
+ # @!attribute [rw] enabled
10105
+ # Specifies whether to use Service Connect with this service.
10106
+ # @return [Boolean]
10107
+ #
10108
+ # @!attribute [rw] namespace
10109
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud
10110
+ # Map namespace for use with Service Connect. The namespace must be in
10111
+ # the same Amazon Web Services Region as the Amazon ECS service and
10112
+ # cluster. The type of namespace doesn't affect Service Connect. For
10113
+ # more information about Cloud Map, see [Working with Services][1] in
10114
+ # the *Cloud Map Developer Guide*.
10115
+ #
10116
+ #
10117
+ #
10118
+ # [1]: https://docs.aws.amazon.com/
10119
+ # @return [String]
10120
+ #
10121
+ # @!attribute [rw] services
10122
+ # The list of Service Connect service objects. These are names and
10123
+ # aliases (also known as endpoints) that are used by other Amazon ECS
10124
+ # services to connect to this service. You can specify up to X (30?)
10125
+ # objects per Amazon ECS service.
10126
+ #
10127
+ # This field is not required for a "client" Amazon ECS service
10128
+ # that's a member of a namespace only to connect to other services
10129
+ # within the namespace. An example of this would be a frontend
10130
+ # application that accepts incoming requests from either a load
10131
+ # balancer that's attached to the service or by other means.
10132
+ #
10133
+ # An object selects a port from the task definition, assigns a name
10134
+ # for the Cloud Map service, and a list of aliases (endpoints) and
10135
+ # ports for client applications to refer to this service.
10136
+ # @return [Array<Types::ServiceConnectService>]
10137
+ #
10138
+ # @!attribute [rw] log_configuration
10139
+ # The log configuration for the container. This parameter maps to
10140
+ # `LogConfig` in the [Create a container][1] section of the [Docker
10141
+ # Remote API][2] and the `--log-driver` option to [ `docker run` ][3].
10142
+ #
10143
+ # By default, containers use the same logging driver that the Docker
10144
+ # daemon uses. However, the container might use a different logging
10145
+ # driver than the Docker daemon by specifying a log driver
10146
+ # configuration in the container definition. For more information
10147
+ # about the options for different supported log drivers, see
10148
+ # [Configure logging drivers][4] in the Docker documentation.
10149
+ #
10150
+ # Understand the following when specifying a log configuration for
10151
+ # your containers.
10152
+ #
10153
+ # * Amazon ECS currently supports a subset of the logging drivers
10154
+ # available to the Docker daemon (shown in the valid values below).
10155
+ # Additional log drivers may be available in future releases of the
10156
+ # Amazon ECS container agent.
10157
+ #
10158
+ # * This parameter requires version 1.18 of the Docker Remote API or
10159
+ # greater on your container instance.
10160
+ #
10161
+ # * For tasks that are hosted on Amazon EC2 instances, the Amazon ECS
10162
+ # container agent must register the available logging drivers with
10163
+ # the `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
10164
+ # containers placed on that instance can use these log configuration
10165
+ # options. For more information, see [Amazon ECS container agent
10166
+ # configuration][5] in the *Amazon Elastic Container Service
10167
+ # Developer Guide*.
10168
+ #
10169
+ # * For tasks that are on Fargate, because you don't have access to
10170
+ # the underlying infrastructure your tasks are hosted on, any
10171
+ # additional software needed must be installed outside of the task.
10172
+ # For example, the Fluentd output aggregators or a remote host
10173
+ # running Logstash to send Gelf logs to.
10174
+ #
10175
+ #
10176
+ #
10177
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
10178
+ # [2]: https://docs.docker.com/engine/api/v1.35/
10179
+ # [3]: https://docs.docker.com/engine/reference/commandline/run/
10180
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
10181
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
10182
+ # @return [Types::LogConfiguration]
10183
+ #
10184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectConfiguration AWS API Documentation
10185
+ #
10186
+ class ServiceConnectConfiguration < Struct.new(
10187
+ :enabled,
10188
+ :namespace,
10189
+ :services,
10190
+ :log_configuration)
10191
+ SENSITIVE = []
10192
+ include Aws::Structure
10193
+ end
10194
+
10195
+ # The Service Connect service object configuration. For more
10196
+ # information, see [Service Connect][1] in the *Amazon Elastic Container
10197
+ # Service Developer Guide*.
10198
+ #
10199
+ #
10200
+ #
10201
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
10202
+ #
10203
+ # @note When making an API call, you may pass ServiceConnectService
10204
+ # data as a hash:
10205
+ #
10206
+ # {
10207
+ # port_name: "String", # required
10208
+ # discovery_name: "String",
10209
+ # client_aliases: [
10210
+ # {
10211
+ # port: 1, # required
10212
+ # dns_name: "String",
10213
+ # },
10214
+ # ],
10215
+ # ingress_port_override: 1,
10216
+ # }
10217
+ #
10218
+ # @!attribute [rw] port_name
10219
+ # The `portName` must match the name of one of the `portMappings` from
10220
+ # all the containers in the task definition of this Amazon ECS
10221
+ # service.
10222
+ # @return [String]
10223
+ #
10224
+ # @!attribute [rw] discovery_name
10225
+ # The `discoveryName` is the name of the new Cloud Map service that
10226
+ # Amazon ECS creates for this Amazon ECS service. This must be unique
10227
+ # within the Cloud Map namespace. Up to 64 characters are allowed. The
10228
+ # characters can include lowercase letters, numbers, underscores (\_),
10229
+ # and hyphens (-). A hyphen can't be the first character.
10230
+ #
10231
+ # If this field isn't specified, `portName` is used.
10232
+ # @return [String]
10233
+ #
10234
+ # @!attribute [rw] client_aliases
10235
+ # The list of client aliases for this Service Connect service. You use
10236
+ # these to assign names that can be used by client applications. The
10237
+ # maximum number of client aliases that you can have in this list is
10238
+ # 1.
10239
+ #
10240
+ # Each alias ("endpoint") is a fully-qualified name and port number
10241
+ # that other Amazon ECS tasks ("clients") can use to connect to this
10242
+ # service.
10243
+ #
10244
+ # Each name and port mapping must be unique within the namespace.
10245
+ #
10246
+ # For each `ServiceConnectService`, you must provide at least one
10247
+ # `clientAlias` with one `port`.
10248
+ # @return [Array<Types::ServiceConnectClientAlias>]
10249
+ #
10250
+ # @!attribute [rw] ingress_port_override
10251
+ # The port number for the Service Connect proxy to listen on.
10252
+ #
10253
+ # Use the value of this field to bypass the proxy for traffic on the
10254
+ # port number specified in the named `portMapping` in the task
10255
+ # definition of this application, and then use it in your VPC security
10256
+ # groups to allow traffic into the proxy for this Amazon ECS service.
10257
+ #
10258
+ # In `awsvpc` mode and Fargate, the default value is the container
10259
+ # port number. The container port number is in the `portMapping` in
10260
+ # the task definition. In bridge mode, the default value is the
10261
+ # ephemeral port of the Service Connect proxy.
10262
+ # @return [Integer]
10263
+ #
10264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectService AWS API Documentation
10265
+ #
10266
+ class ServiceConnectService < Struct.new(
10267
+ :port_name,
10268
+ :discovery_name,
10269
+ :client_aliases,
10270
+ :ingress_port_override)
10271
+ SENSITIVE = []
10272
+ include Aws::Structure
10273
+ end
10274
+
10275
+ # The Service Connect resource. Each configuration maps a discovery name
10276
+ # to a Cloud Map service name. The data is stored in Cloud Map as part
10277
+ # of the Service Connect configuration for each discovery name of this
10278
+ # Amazon ECS service.
10279
+ #
10280
+ # A task can resolve the `dnsName` for each of the `clientAliases` of a
10281
+ # service. However a task can't resolve the discovery names. If you
10282
+ # want to connect to a service, refer to the
10283
+ # `ServiceConnectConfiguration` of that service for the list of
10284
+ # `clientAliases` that you can use.
10285
+ #
10286
+ # @!attribute [rw] discovery_name
10287
+ # The discovery name of this Service Connect resource.
10288
+ #
10289
+ # The `discoveryName` is the name of the new Cloud Map service that
10290
+ # Amazon ECS creates for this Amazon ECS service. This must be unique
10291
+ # within the Cloud Map namespace. Up to 64 characters are allowed. The
10292
+ # characters can include lowercase letters, numbers, underscores (\_),
10293
+ # and hyphens (-). A hyphen can't be the first character.
10294
+ #
10295
+ # If this field isn't specified, `portName` is used.
10296
+ # @return [String]
10297
+ #
10298
+ # @!attribute [rw] discovery_arn
10299
+ # The Amazon Resource Name (ARN) for the namespace in Cloud Map that
10300
+ # matches the discovery name for this Service Connect resource. You
10301
+ # can use this ARN in other integrations with Cloud Map. However,
10302
+ # Service Connect can't ensure connectivity outside of Amazon ECS.
10303
+ # @return [String]
10304
+ #
10305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceConnectServiceResource AWS API Documentation
10306
+ #
10307
+ class ServiceConnectServiceResource < Struct.new(
10308
+ :discovery_name,
10309
+ :discovery_arn)
10310
+ SENSITIVE = []
10311
+ include Aws::Structure
10312
+ end
10313
+
9508
10314
  # The details for an event that's associated with a service.
9509
10315
  #
9510
10316
  # @!attribute [rw] id
@@ -11264,7 +12070,7 @@ module Aws::ECS
11264
12070
  # @return [Array<Types::ContainerOverride>]
11265
12071
  #
11266
12072
  # @!attribute [rw] cpu
11267
- # The cpu override for the task.
12073
+ # The CPU override for the task.
11268
12074
  # @return [String]
11269
12075
  #
11270
12076
  # @!attribute [rw] inference_accelerator_overrides
@@ -11352,7 +12158,7 @@ module Aws::ECS
11352
12158
  # The tag specified when a task set is started. If an CodeDeploy
11353
12159
  # deployment created the task set, the `startedBy` parameter is
11354
12160
  # `CODE_DEPLOY`. If an external deployment created the task set, the
11355
- # startedBy field isn't used.
12161
+ # `startedBy` field isn't used.
11356
12162
  # @return [String]
11357
12163
  #
11358
12164
  # @!attribute [rw] external_id
@@ -11477,7 +12283,7 @@ module Aws::ECS
11477
12283
  # @!attribute [rw] stability_status
11478
12284
  # The stability status. This indicates whether the task set has
11479
12285
  # reached a steady state. If the following conditions are met, the
11480
- # task set sre in `STEADY_STATE`\:
12286
+ # task set are in `STEADY_STATE`\:
11481
12287
  #
11482
12288
  # * The task `runningCount` is equal to the `computedDesiredCount`.
11483
12289
  #
@@ -11632,11 +12438,11 @@ module Aws::ECS
11632
12438
  # @return [String]
11633
12439
  #
11634
12440
  # @!attribute [rw] soft_limit
11635
- # The soft limit for the ulimit type.
12441
+ # The soft limit for the `ulimit` type.
11636
12442
  # @return [Integer]
11637
12443
  #
11638
12444
  # @!attribute [rw] hard_limit
11639
- # The hard limit for the ulimit type.
12445
+ # The hard limit for the `ulimit` type.
11640
12446
  # @return [Integer]
11641
12447
  #
11642
12448
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Ulimit AWS API Documentation
@@ -11758,6 +12564,9 @@ module Aws::ECS
11758
12564
  # },
11759
12565
  # },
11760
12566
  # },
12567
+ # service_connect_defaults: {
12568
+ # namespace: "String", # required
12569
+ # },
11761
12570
  # }
11762
12571
  #
11763
12572
  # @!attribute [rw] cluster
@@ -11772,12 +12581,37 @@ module Aws::ECS
11772
12581
  # The execute command configuration for the cluster.
11773
12582
  # @return [Types::ClusterConfiguration]
11774
12583
  #
12584
+ # @!attribute [rw] service_connect_defaults
12585
+ # Use this parameter to set a default Service Connect namespace. After
12586
+ # you set a default Service Connect namespace, any new services with
12587
+ # Service Connect turned on that are created in the cluster are added
12588
+ # as client services in the namespace. This setting only applies to
12589
+ # new services that set the `enabled` parameter to `true` in the
12590
+ # `ServiceConnectConfiguration`. You can set the namespace of each
12591
+ # service individually in the `ServiceConnectConfiguration` to
12592
+ # override this default parameter.
12593
+ #
12594
+ # Tasks that run in a namespace can use short names to connect to
12595
+ # services in the namespace. Tasks can connect to services across all
12596
+ # of the clusters in the namespace. Tasks connect through a managed
12597
+ # proxy container that collects logs and metrics for increased
12598
+ # visibility. Only the tasks that Amazon ECS services create are
12599
+ # supported with Service Connect. For more information, see [Service
12600
+ # Connect][1] in the *Amazon Elastic Container Service Developer
12601
+ # Guide*.
12602
+ #
12603
+ #
12604
+ #
12605
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
12606
+ # @return [Types::ClusterServiceConnectDefaultsRequest]
12607
+ #
11775
12608
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterRequest AWS API Documentation
11776
12609
  #
11777
12610
  class UpdateClusterRequest < Struct.new(
11778
12611
  :cluster,
11779
12612
  :settings,
11780
- :configuration)
12613
+ :configuration,
12614
+ :service_connect_defaults)
11781
12615
  SENSITIVE = []
11782
12616
  include Aws::Structure
11783
12617
  end
@@ -11816,6 +12650,13 @@ module Aws::ECS
11816
12650
  # to turn on CloudWatch Container Insights for a cluster. If this
11817
12651
  # value is specified, it overrides the `containerInsights` value set
11818
12652
  # with PutAccountSetting or PutAccountSettingDefault.
12653
+ #
12654
+ # Currently, if you delete an existing cluster that does not have
12655
+ # Container Insights turned on, and then create a new cluster with the
12656
+ # same name with Container Insights tuned on, Container Insights will
12657
+ # not actually be turned on. If you want to preserve the same name for
12658
+ # your existing cluster and turn on Container Insights, you must wait
12659
+ # 7 days before you can re-create it.
11819
12660
  # @return [Array<Types::ClusterSetting>]
11820
12661
  #
11821
12662
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettingsRequest AWS API Documentation
@@ -11982,7 +12823,7 @@ module Aws::ECS
11982
12823
  end
11983
12824
 
11984
12825
  # @!attribute [rw] task_set
11985
- # etails about the task set.
12826
+ # The details about the task set.
11986
12827
  # @return [Types::TaskSet]
11987
12828
  #
11988
12829
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetResponse AWS API Documentation
@@ -12057,6 +12898,35 @@ module Aws::ECS
12057
12898
  # container_port: 1,
12058
12899
  # },
12059
12900
  # ],
12901
+ # service_connect_configuration: {
12902
+ # enabled: false, # required
12903
+ # namespace: "String",
12904
+ # services: [
12905
+ # {
12906
+ # port_name: "String", # required
12907
+ # discovery_name: "String",
12908
+ # client_aliases: [
12909
+ # {
12910
+ # port: 1, # required
12911
+ # dns_name: "String",
12912
+ # },
12913
+ # ],
12914
+ # ingress_port_override: 1,
12915
+ # },
12916
+ # ],
12917
+ # log_configuration: {
12918
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
12919
+ # options: {
12920
+ # "String" => "String",
12921
+ # },
12922
+ # secret_options: [
12923
+ # {
12924
+ # name: "String", # required
12925
+ # value_from: "String", # required
12926
+ # },
12927
+ # ],
12928
+ # },
12929
+ # },
12060
12930
  # }
12061
12931
  #
12062
12932
  # @!attribute [rw] cluster
@@ -12274,6 +13144,25 @@ module Aws::ECS
12274
13144
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
12275
13145
  # @return [Array<Types::ServiceRegistry>]
12276
13146
  #
13147
+ # @!attribute [rw] service_connect_configuration
13148
+ # The configuration for this service to discover and connect to
13149
+ # services, and be discovered by, and connected from, other services
13150
+ # within a namespace.
13151
+ #
13152
+ # Tasks that run in a namespace can use short names to connect to
13153
+ # services in the namespace. Tasks can connect to services across all
13154
+ # of the clusters in the namespace. Tasks connect through a managed
13155
+ # proxy container that collects logs and metrics for increased
13156
+ # visibility. Only the tasks that Amazon ECS services create are
13157
+ # supported with Service Connect. For more information, see [Service
13158
+ # Connect][1] in the *Amazon Elastic Container Service Developer
13159
+ # Guide*.
13160
+ #
13161
+ #
13162
+ #
13163
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
13164
+ # @return [Types::ServiceConnectConfiguration]
13165
+ #
12277
13166
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
12278
13167
  #
12279
13168
  class UpdateServiceRequest < Struct.new(
@@ -12293,7 +13182,8 @@ module Aws::ECS
12293
13182
  :enable_ecs_managed_tags,
12294
13183
  :load_balancers,
12295
13184
  :propagate_tags,
12296
- :service_registries)
13185
+ :service_registries,
13186
+ :service_connect_configuration)
12297
13187
  SENSITIVE = []
12298
13188
  include Aws::Structure
12299
13189
  end
@@ -12310,6 +13200,79 @@ module Aws::ECS
12310
13200
  include Aws::Structure
12311
13201
  end
12312
13202
 
13203
+ # @note When making an API call, you may pass UpdateTaskProtectionRequest
13204
+ # data as a hash:
13205
+ #
13206
+ # {
13207
+ # cluster: "String", # required
13208
+ # tasks: ["String"], # required
13209
+ # protection_enabled: false, # required
13210
+ # expires_in_minutes: 1,
13211
+ # }
13212
+ #
13213
+ # @!attribute [rw] cluster
13214
+ # The short name or full Amazon Resource Name (ARN) of the cluster
13215
+ # that hosts the service that the task sets exist in.
13216
+ # @return [String]
13217
+ #
13218
+ # @!attribute [rw] tasks
13219
+ # A list of up to 10 task IDs or full ARN entries.
13220
+ # @return [Array<String>]
13221
+ #
13222
+ # @!attribute [rw] protection_enabled
13223
+ # Specify `true` to mark a task for protection and `false` to unset
13224
+ # protection, making it eligible for termination.
13225
+ # @return [Boolean]
13226
+ #
13227
+ # @!attribute [rw] expires_in_minutes
13228
+ # If you set `protectionEnabled` to `true`, you can specify the
13229
+ # duration for task protection in minutes. You can specify a value
13230
+ # from 1 minute to up to 2,880 minutes (48 hours). During this time,
13231
+ # your task will not be terminated by scale-in events from Service
13232
+ # Auto Scaling or deployments. After this time period lapses,
13233
+ # `protectionEnabled` will be reset to `false`.
13234
+ #
13235
+ # If you don’t specify the time, then the task is automatically
13236
+ # protected for 120 minutes (2 hours).
13237
+ # @return [Integer]
13238
+ #
13239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskProtectionRequest AWS API Documentation
13240
+ #
13241
+ class UpdateTaskProtectionRequest < Struct.new(
13242
+ :cluster,
13243
+ :tasks,
13244
+ :protection_enabled,
13245
+ :expires_in_minutes)
13246
+ SENSITIVE = []
13247
+ include Aws::Structure
13248
+ end
13249
+
13250
+ # @!attribute [rw] protected_tasks
13251
+ # A list of tasks with the following information.
13252
+ #
13253
+ # * `taskArn`\: The task ARN.
13254
+ #
13255
+ # * `protectionEnabled`\: The protection status of the task. If
13256
+ # scale-in protection is enabled for a task, the value is `true`.
13257
+ # Otherwise, it is `false`.
13258
+ #
13259
+ # * `expirationDate`\: The epoch time when protection for the task
13260
+ # will expire.
13261
+ # @return [Array<Types::ProtectedTask>]
13262
+ #
13263
+ # @!attribute [rw] failures
13264
+ # Any failures associated with the call.
13265
+ # @return [Array<Types::Failure>]
13266
+ #
13267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskProtectionResponse AWS API Documentation
13268
+ #
13269
+ class UpdateTaskProtectionResponse < Struct.new(
13270
+ :protected_tasks,
13271
+ :failures)
13272
+ SENSITIVE = []
13273
+ include Aws::Structure
13274
+ end
13275
+
12313
13276
  # @note When making an API call, you may pass UpdateTaskSetRequest
12314
13277
  # data as a hash:
12315
13278
  #