aws-sdk-ecs 1.75.0 → 1.76.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 392d9ad82de139ba254e8f660c6ba9b9ec96de7e5c7b38545debc4925a25c9cd
4
- data.tar.gz: 8283d6687252baeee9c253b06ca04e3b3687023bd06f5ed5752cfa7affada868
3
+ metadata.gz: 174825452c22c1558f83709cc3f9317ed5f73b1c95dc292969fd152e3a395d3c
4
+ data.tar.gz: 98ada088a63296a732cf7ea0ef75d6538be65813d4d1eeb1140be84258ae8960
5
5
  SHA512:
6
- metadata.gz: 75fdfcc378063165f8a7bf39ceefb8b8f1af205496210ae57203d85fa39efa5a998818526d7633e3d481e42c1c02f4b5fdd9ada33da8433d277f7761ee1f6152
7
- data.tar.gz: a7480a0be0bc2edf3276420c86ff71fc54907b32795b0b0aafb70e5b3cdf60f20899251a5ab7b9d175d597b3f8f58c4110372b885370540ccafa7494ee499cbb
6
+ metadata.gz: 21b72b3e7879f9fec814b1f00dfedf70782b4be00c53bfdce1da72f1d272abc927e32a80f248955a900bec8d3e6bb7663b1521b859b844c8d2968ceddc215749
7
+ data.tar.gz: faf85ea430af07628e1e91980912e7926b7d4c9345b06218a9c8b539d5e7d4d9c081f96eef286d53d6135b766739fbc7b4a632396a7c134855ca78c49283548f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.76.0 (2021-03-15)
5
+ ------------------
6
+
7
+ * Feature - This is for ecs exec feature release which includes two new APIs - execute-command and update-cluster and an AWS CLI customization for execute-command API
8
+
4
9
  1.75.0 (2021-03-10)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.75.0
1
+ 1.76.0
data/lib/aws-sdk-ecs.rb CHANGED
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-ecs/customizations'
49
49
  # @!group service
50
50
  module Aws::ECS
51
51
 
52
- GEM_VERSION = '1.75.0'
52
+ GEM_VERSION = '1.76.0'
53
53
 
54
54
  end
@@ -499,14 +499,20 @@ module Aws::ECS
499
499
  # specified, it will override the `containerInsights` value set with
500
500
  # PutAccountSetting or PutAccountSettingDefault.
501
501
  #
502
+ # @option params [Types::ClusterConfiguration] :configuration
503
+ # The execute command configuration for the cluster.
504
+ #
502
505
  # @option params [Array<String>] :capacity_providers
503
506
  # The short name of one or more capacity providers to associate with the
504
- # cluster.
507
+ # cluster. A capacity provider must be associated with a cluster before
508
+ # it can be included as part of the default capacity provider strategy
509
+ # of the cluster or used in a capacity provider strategy when calling
510
+ # the CreateService or RunTask actions.
505
511
  #
506
512
  # If specifying a capacity provider that uses an Auto Scaling group, the
507
513
  # capacity provider must already be created and not already associated
508
- # with another cluster. New capacity providers can be created with the
509
- # CreateCapacityProvider API operation.
514
+ # with another cluster. New Auto Scaling group capacity providers can be
515
+ # created with the CreateCapacityProvider API operation.
510
516
  #
511
517
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
512
518
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -518,27 +524,11 @@ module Aws::ECS
518
524
  # is created.
519
525
  #
520
526
  # @option params [Array<Types::CapacityProviderStrategyItem>] :default_capacity_provider_strategy
521
- # The capacity provider strategy to use by default for the cluster.
522
- #
523
- # When creating a service or running a task on a cluster, if no capacity
524
- # provider or launch type is specified then the default capacity
525
- # provider strategy for the cluster is used.
526
- #
527
- # A capacity provider strategy consists of one or more capacity
528
- # providers along with the `base` and `weight` to assign to them. A
529
- # capacity provider must be associated with the cluster to be used in a
530
- # capacity provider strategy. The PutClusterCapacityProviders API is
531
- # used to associate a capacity provider with a cluster. Only capacity
532
- # providers with an `ACTIVE` or `UPDATING` status can be used.
533
- #
534
- # If specifying a capacity provider that uses an Auto Scaling group, the
535
- # capacity provider must already be created. New capacity providers can
536
- # be created with the CreateCapacityProvider API operation.
537
- #
538
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
539
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
540
- # providers are available to all accounts and only need to be associated
541
- # with a cluster to be used.
527
+ # The capacity provider strategy to set as the default for the cluster.
528
+ # When a default capacity provider strategy is set for a cluster, when
529
+ # calling the RunTask or CreateService APIs wtih no capacity provider
530
+ # strategy or launch type specified, the default capacity provider
531
+ # strategy for the cluster is used.
542
532
  #
543
533
  # If a default capacity provider strategy is not defined for a cluster
544
534
  # during creation, it can be defined later with the
@@ -586,6 +576,19 @@ module Aws::ECS
586
576
  # value: "String",
587
577
  # },
588
578
  # ],
579
+ # configuration: {
580
+ # execute_command_configuration: {
581
+ # kms_key_id: "String",
582
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
583
+ # log_configuration: {
584
+ # cloud_watch_log_group_name: "String",
585
+ # cloud_watch_encryption_enabled: false,
586
+ # s3_bucket_name: "String",
587
+ # s3_encryption_enabled: false,
588
+ # s3_key_prefix: "String",
589
+ # },
590
+ # },
591
+ # },
589
592
  # capacity_providers: ["String"],
590
593
  # default_capacity_provider_strategy: [
591
594
  # {
@@ -600,6 +603,13 @@ module Aws::ECS
600
603
  #
601
604
  # resp.cluster.cluster_arn #=> String
602
605
  # resp.cluster.cluster_name #=> String
606
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
607
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
608
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
609
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
610
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
611
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
612
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
603
613
  # resp.cluster.status #=> String
604
614
  # resp.cluster.registered_container_instances_count #=> Integer
605
615
  # resp.cluster.running_tasks_count #=> Integer
@@ -790,7 +800,7 @@ module Aws::ECS
790
800
  # Load Balancer, you must specify one or more target group ARNs to
791
801
  # attach to the service. The service-linked role is required for
792
802
  # services that make use of multiple target groups. For more
793
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in the
803
+ # information, see [Using service-linked roles for Amazon ECS][2] in the
794
804
  # *Amazon Elastic Container Service Developer Guide*.
795
805
  #
796
806
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -841,11 +851,11 @@ module Aws::ECS
841
851
  #
842
852
  # @option params [Array<Types::ServiceRegistry>] :service_registries
843
853
  # The details of the service discovery registries to assign to this
844
- # service. For more information, see [Service Discovery][1].
854
+ # service. For more information, see [Service discovery][1].
845
855
  #
846
856
  # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
847
857
  # platform version v1.1.0 or later. For more information, see [AWS
848
- # Fargate Platform Versions][2].
858
+ # Fargate platform versions][2].
849
859
  #
850
860
  # </note>
851
861
  #
@@ -867,9 +877,16 @@ module Aws::ECS
867
877
  # idempotency of the request. Up to 32 ASCII characters are allowed.
868
878
  #
869
879
  # @option params [String] :launch_type
870
- # The launch type on which to run your service. For more information,
871
- # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
872
- # Service Developer Guide*.
880
+ # The launch type on which to run your service. The accepted values are
881
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS launch
882
+ # types][1] in the *Amazon Elastic Container Service Developer Guide*.
883
+ #
884
+ # When a value of `FARGATE` is specified, your tasks are launched on AWS
885
+ # Fargate On-Demand infrastructure. To use Fargate Spot, you must use a
886
+ # capacity provider strategy with the `FARGATE_SPOT` capacity provider.
887
+ #
888
+ # When a value of `EC2` is specified, your tasks are launched on Amazon
889
+ # EC2 instances registered to your cluster.
873
890
  #
874
891
  # If a `launchType` is specified, the `capacityProviderStrategy`
875
892
  # parameter must be omitted.
@@ -881,37 +898,17 @@ module Aws::ECS
881
898
  # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
882
899
  # The capacity provider strategy to use for the service.
883
900
  #
884
- # A capacity provider strategy consists of one or more capacity
885
- # providers along with the `base` and `weight` to assign to them. A
886
- # capacity provider must be associated with the cluster to be used in a
887
- # capacity provider strategy. The PutClusterCapacityProviders API is
888
- # used to associate a capacity provider with a cluster. Only capacity
889
- # providers with an `ACTIVE` or `UPDATING` status can be used.
890
- #
891
901
  # If a `capacityProviderStrategy` is specified, the `launchType`
892
902
  # parameter must be omitted. If no `capacityProviderStrategy` or
893
903
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
894
904
  # the cluster is used.
895
905
  #
896
- # If specifying a capacity provider that uses an Auto Scaling group, the
897
- # capacity provider must already be created. New capacity providers can
898
- # be created with the CreateCapacityProvider API operation.
899
- #
900
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
901
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
902
- # providers are available to all accounts and only need to be associated
903
- # with a cluster to be used.
904
- #
905
- # The PutClusterCapacityProviders API operation is used to update the
906
- # list of available capacity providers for a cluster after the cluster
907
- # is created.
908
- #
909
906
  # @option params [String] :platform_version
910
907
  # The platform version that your tasks in the service are running on. A
911
908
  # platform version is specified only for tasks using the Fargate launch
912
909
  # type. If one isn't specified, the `LATEST` platform version is used
913
- # by default. For more information, see [AWS Fargate Platform
914
- # Versions][1] in the *Amazon Elastic Container Service Developer
910
+ # by default. For more information, see [AWS Fargate platform
911
+ # versions][1] in the *Amazon Elastic Container Service Developer
915
912
  # Guide*.
916
913
  #
917
914
  #
@@ -933,14 +930,14 @@ module Aws::ECS
933
930
  # configured to use service discovery, an external deployment
934
931
  # controller, multiple target groups, or Elastic Inference accelerators
935
932
  # in which case you should not specify a role here. For more
936
- # information, see [Using Service-Linked Roles for Amazon ECS][1] in the
933
+ # information, see [Using service-linked roles for Amazon ECS][1] in the
937
934
  # *Amazon Elastic Container Service Developer Guide*.
938
935
  #
939
936
  # If your specified role has a path other than `/`, then you must either
940
937
  # specify the full role ARN (this is recommended) or prefix the role
941
938
  # name with the path. For example, if a role with the name `bar` has a
942
939
  # path of `/foo/` then you would specify `/foo/bar` as the role name.
943
- # For more information, see [Friendly Names and Paths][2] in the *IAM
940
+ # For more information, see [Friendly names and paths][2] in the *IAM
944
941
  # User Guide*.
945
942
  #
946
943
  #
@@ -966,7 +963,7 @@ module Aws::ECS
966
963
  # The network configuration for the service. This parameter is required
967
964
  # for task definitions that use the `awsvpc` network mode to receive
968
965
  # their own elastic network interface, and it is not supported for other
969
- # network modes. For more information, see [Task Networking][1] in the
966
+ # network modes. For more information, see [Task networking][1] in the
970
967
  # *Amazon Elastic Container Service Developer Guide*.
971
968
  #
972
969
  #
@@ -1071,6 +1068,11 @@ module Aws::ECS
1071
1068
  # within the service during service creation. To add tags to a task
1072
1069
  # after service creation, use the TagResource API action.
1073
1070
  #
1071
+ # @option params [Boolean] :enable_execute_command
1072
+ # Whether or not the execute command functionality is enabled for the
1073
+ # service. If `true`, this enables execute command functionality on all
1074
+ # containers in the service tasks.
1075
+ #
1074
1076
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1075
1077
  #
1076
1078
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -1267,6 +1269,7 @@ module Aws::ECS
1267
1269
  # ],
1268
1270
  # enable_ecs_managed_tags: false,
1269
1271
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
1272
+ # enable_execute_command: false,
1270
1273
  # })
1271
1274
  #
1272
1275
  # @example Response structure
@@ -1390,6 +1393,7 @@ module Aws::ECS
1390
1393
  # resp.service.created_by #=> String
1391
1394
  # resp.service.enable_ecs_managed_tags #=> Boolean
1392
1395
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
1396
+ # resp.service.enable_execute_command #=> Boolean
1393
1397
  #
1394
1398
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation
1395
1399
  #
@@ -1881,6 +1885,13 @@ module Aws::ECS
1881
1885
  #
1882
1886
  # resp.cluster.cluster_arn #=> String
1883
1887
  # resp.cluster.cluster_name #=> String
1888
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
1889
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
1890
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
1891
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
1892
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
1893
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
1894
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
1884
1895
  # resp.cluster.status #=> String
1885
1896
  # resp.cluster.registered_container_instances_count #=> Integer
1886
1897
  # resp.cluster.running_tasks_count #=> Integer
@@ -2102,6 +2113,7 @@ module Aws::ECS
2102
2113
  # resp.service.created_by #=> String
2103
2114
  # resp.service.enable_ecs_managed_tags #=> Boolean
2104
2115
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
2116
+ # resp.service.enable_execute_command #=> Boolean
2105
2117
  #
2106
2118
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation
2107
2119
  #
@@ -2695,7 +2707,7 @@ module Aws::ECS
2695
2707
  #
2696
2708
  # resp = client.describe_clusters({
2697
2709
  # clusters: ["String"],
2698
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
2710
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
2699
2711
  # })
2700
2712
  #
2701
2713
  # @example Response structure
@@ -2703,6 +2715,13 @@ module Aws::ECS
2703
2715
  # resp.clusters #=> Array
2704
2716
  # resp.clusters[0].cluster_arn #=> String
2705
2717
  # resp.clusters[0].cluster_name #=> String
2718
+ # resp.clusters[0].configuration.execute_command_configuration.kms_key_id #=> String
2719
+ # resp.clusters[0].configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
2720
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
2721
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
2722
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
2723
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
2724
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
2706
2725
  # resp.clusters[0].status #=> String
2707
2726
  # resp.clusters[0].registered_container_instances_count #=> Integer
2708
2727
  # resp.clusters[0].running_tasks_count #=> Integer
@@ -3137,6 +3156,7 @@ module Aws::ECS
3137
3156
  # resp.services[0].created_by #=> String
3138
3157
  # resp.services[0].enable_ecs_managed_tags #=> Boolean
3139
3158
  # resp.services[0].propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
3159
+ # resp.services[0].enable_execute_command #=> Boolean
3140
3160
  # resp.failures #=> Array
3141
3161
  # resp.failures[0].arn #=> String
3142
3162
  # resp.failures[0].reason #=> String
@@ -3640,6 +3660,11 @@ module Aws::ECS
3640
3660
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
3641
3661
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
3642
3662
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
3663
+ # resp.tasks[0].containers[0].managed_agents #=> Array
3664
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
3665
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
3666
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
3667
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
3643
3668
  # resp.tasks[0].containers[0].cpu #=> String
3644
3669
  # resp.tasks[0].containers[0].memory #=> String
3645
3670
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -3648,6 +3673,7 @@ module Aws::ECS
3648
3673
  # resp.tasks[0].cpu #=> String
3649
3674
  # resp.tasks[0].created_at #=> Time
3650
3675
  # resp.tasks[0].desired_status #=> String
3676
+ # resp.tasks[0].enable_execute_command #=> Boolean
3651
3677
  # resp.tasks[0].execution_stopped_at #=> Time
3652
3678
  # resp.tasks[0].group #=> String
3653
3679
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -3760,6 +3786,66 @@ module Aws::ECS
3760
3786
  req.send_request(options)
3761
3787
  end
3762
3788
 
3789
+ # Runs a command remotely on a container within a task.
3790
+ #
3791
+ # @option params [String] :cluster
3792
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
3793
+ # is running in. If you do not specify a cluster, the default cluster is
3794
+ # assumed.
3795
+ #
3796
+ # @option params [String] :container
3797
+ # The name of the container to execute the command on. A container name
3798
+ # only needs to be specified for tasks containing multiple containers.
3799
+ #
3800
+ # @option params [required, String] :command
3801
+ # The command to run on the container.
3802
+ #
3803
+ # @option params [required, Boolean] :interactive
3804
+ # Use this flag to run your command in interactive mode.
3805
+ #
3806
+ # @option params [required, String] :task
3807
+ # The Amazon Resource Name (ARN) or ID of the task the container is part
3808
+ # of.
3809
+ #
3810
+ # @return [Types::ExecuteCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3811
+ #
3812
+ # * {Types::ExecuteCommandResponse#cluster_arn #cluster_arn} => String
3813
+ # * {Types::ExecuteCommandResponse#container_arn #container_arn} => String
3814
+ # * {Types::ExecuteCommandResponse#container_name #container_name} => String
3815
+ # * {Types::ExecuteCommandResponse#interactive #interactive} => Boolean
3816
+ # * {Types::ExecuteCommandResponse#session #session} => Types::Session
3817
+ # * {Types::ExecuteCommandResponse#task_arn #task_arn} => String
3818
+ #
3819
+ # @example Request syntax with placeholder values
3820
+ #
3821
+ # resp = client.execute_command({
3822
+ # cluster: "String",
3823
+ # container: "String",
3824
+ # command: "String", # required
3825
+ # interactive: false, # required
3826
+ # task: "String", # required
3827
+ # })
3828
+ #
3829
+ # @example Response structure
3830
+ #
3831
+ # resp.cluster_arn #=> String
3832
+ # resp.container_arn #=> String
3833
+ # resp.container_name #=> String
3834
+ # resp.interactive #=> Boolean
3835
+ # resp.session.session_id #=> String
3836
+ # resp.session.stream_url #=> String
3837
+ # resp.session.token_value #=> String
3838
+ # resp.task_arn #=> String
3839
+ #
3840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand AWS API Documentation
3841
+ #
3842
+ # @overload execute_command(params = {})
3843
+ # @param [Hash] params ({})
3844
+ def execute_command(params = {}, options = {})
3845
+ req = build_request(:execute_command, params)
3846
+ req.send_request(options)
3847
+ end
3848
+
3763
3849
  # Lists the account settings for a specified principal.
3764
3850
  #
3765
3851
  # @option params [String] :name
@@ -5005,6 +5091,13 @@ module Aws::ECS
5005
5091
  #
5006
5092
  # resp.cluster.cluster_arn #=> String
5007
5093
  # resp.cluster.cluster_name #=> String
5094
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
5095
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
5096
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
5097
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
5098
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
5099
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
5100
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
5008
5101
  # resp.cluster.status #=> String
5009
5102
  # resp.cluster.registered_container_instances_count #=> Integer
5010
5103
  # resp.cluster.running_tasks_count #=> Integer
@@ -5350,9 +5443,9 @@ module Aws::ECS
5350
5443
  #
5351
5444
  # @option params [Array<String>] :requires_compatibilities
5352
5445
  # The task launch type that Amazon ECS should validate the task
5353
- # definition against. This ensures that the task definition parameters
5354
- # are compatible with the specified launch type. If no value is
5355
- # specified, it defaults to `EC2`.
5446
+ # definition against. A client exception is returned if the task
5447
+ # definition doesn't validate against the compatibilities specified. If
5448
+ # no value is specified, the parameter is omitted from the response.
5356
5449
  #
5357
5450
  # @option params [String] :cpu
5358
5451
  # The number of CPU units used by the task. It can be expressed as an
@@ -5468,8 +5561,8 @@ module Aws::ECS
5468
5561
  # risk of undesired process namespace expose. For more information, see
5469
5562
  # [Docker security][2].
5470
5563
  #
5471
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks using
5472
- # the Fargate launch type.
5564
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5565
+ # AWS Fargate.
5473
5566
  #
5474
5567
  # </note>
5475
5568
  #
@@ -5507,8 +5600,8 @@ module Aws::ECS
5507
5600
  # * For tasks that use the `task` IPC mode, IPC namespace related
5508
5601
  # `systemControls` will apply to all containers within a task.
5509
5602
  #
5510
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks using
5511
- # the Fargate launch type.
5603
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5604
+ # AWS Fargate.
5512
5605
  #
5513
5606
  # </note>
5514
5607
  #
@@ -6037,31 +6130,11 @@ module Aws::ECS
6037
6130
  # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
6038
6131
  # The capacity provider strategy to use for the task.
6039
6132
  #
6040
- # A capacity provider strategy consists of one or more capacity
6041
- # providers along with the `base` and `weight` to assign to them. A
6042
- # capacity provider must be associated with the cluster to be used in a
6043
- # capacity provider strategy. The PutClusterCapacityProviders API is
6044
- # used to associate a capacity provider with a cluster. Only capacity
6045
- # providers with an `ACTIVE` or `UPDATING` status can be used.
6046
- #
6047
6133
  # If a `capacityProviderStrategy` is specified, the `launchType`
6048
6134
  # parameter must be omitted. If no `capacityProviderStrategy` or
6049
6135
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
6050
6136
  # the cluster is used.
6051
6137
  #
6052
- # If specifying a capacity provider that uses an Auto Scaling group, the
6053
- # capacity provider must already be created. New capacity providers can
6054
- # be created with the CreateCapacityProvider API operation.
6055
- #
6056
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
6057
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
6058
- # providers are available to all accounts and only need to be associated
6059
- # with a cluster to be used.
6060
- #
6061
- # The PutClusterCapacityProviders API operation is used to update the
6062
- # list of available capacity providers for a cluster after the cluster
6063
- # is created.
6064
- #
6065
6138
  # @option params [String] :cluster
6066
6139
  # The short name or full Amazon Resource Name (ARN) of the cluster on
6067
6140
  # which to run your task. If you do not specify a cluster, the default
@@ -6080,15 +6153,27 @@ module Aws::ECS
6080
6153
  #
6081
6154
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6082
6155
  #
6156
+ # @option params [Boolean] :enable_execute_command
6157
+ # Whether or not to enable the execute command functionality for the
6158
+ # containers in this task. If `true`, this enables execute command
6159
+ # functionality on all containers in the task.
6160
+ #
6083
6161
  # @option params [String] :group
6084
6162
  # The name of the task group to associate with the task. The default
6085
6163
  # value is the family name of the task definition (for example,
6086
6164
  # family:my-family-name).
6087
6165
  #
6088
6166
  # @option params [String] :launch_type
6089
- # The launch type on which to run your task. For more information, see
6090
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container Service
6091
- # Developer Guide*.
6167
+ # The launch type on which to run your task. The accepted values are
6168
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS Launch
6169
+ # Types][1] in the *Amazon Elastic Container Service Developer Guide*.
6170
+ #
6171
+ # When a value of `FARGATE` is specified, your tasks are launched on AWS
6172
+ # Fargate On-Demand infrastructure. To use Fargate Spot, you must use a
6173
+ # capacity provider strategy with the `FARGATE_SPOT` capacity provider.
6174
+ #
6175
+ # When a value of `EC2` is specified, your tasks are launched on Amazon
6176
+ # EC2 instances registered to your cluster.
6092
6177
  #
6093
6178
  # If a `launchType` is specified, the `capacityProviderStrategy`
6094
6179
  # parameter must be omitted.
@@ -6260,6 +6345,7 @@ module Aws::ECS
6260
6345
  # cluster: "String",
6261
6346
  # count: 1,
6262
6347
  # enable_ecs_managed_tags: false,
6348
+ # enable_execute_command: false,
6263
6349
  # group: "String",
6264
6350
  # launch_type: "EC2", # accepts EC2, FARGATE
6265
6351
  # network_configuration: {
@@ -6374,6 +6460,11 @@ module Aws::ECS
6374
6460
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
6375
6461
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
6376
6462
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6463
+ # resp.tasks[0].containers[0].managed_agents #=> Array
6464
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
6465
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6466
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
6467
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
6377
6468
  # resp.tasks[0].containers[0].cpu #=> String
6378
6469
  # resp.tasks[0].containers[0].memory #=> String
6379
6470
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -6382,6 +6473,7 @@ module Aws::ECS
6382
6473
  # resp.tasks[0].cpu #=> String
6383
6474
  # resp.tasks[0].created_at #=> Time
6384
6475
  # resp.tasks[0].desired_status #=> String
6476
+ # resp.tasks[0].enable_execute_command #=> Boolean
6385
6477
  # resp.tasks[0].execution_stopped_at #=> Time
6386
6478
  # resp.tasks[0].group #=> String
6387
6479
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6473,6 +6565,11 @@ module Aws::ECS
6473
6565
  #
6474
6566
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6475
6567
  #
6568
+ # @option params [Boolean] :enable_execute_command
6569
+ # Whether or not the execute command functionality is enabled for the
6570
+ # task. If `true`, this enables execute command functionality on all
6571
+ # containers in the task.
6572
+ #
6476
6573
  # @option params [String] :group
6477
6574
  # The name of the task group to associate with the task. The default
6478
6575
  # value is the family name of the task definition (for example,
@@ -6564,6 +6661,7 @@ module Aws::ECS
6564
6661
  # cluster: "String",
6565
6662
  # container_instances: ["String"], # required
6566
6663
  # enable_ecs_managed_tags: false,
6664
+ # enable_execute_command: false,
6567
6665
  # group: "String",
6568
6666
  # network_configuration: {
6569
6667
  # awsvpc_configuration: {
@@ -6664,6 +6762,11 @@ module Aws::ECS
6664
6762
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
6665
6763
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
6666
6764
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6765
+ # resp.tasks[0].containers[0].managed_agents #=> Array
6766
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
6767
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6768
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
6769
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
6667
6770
  # resp.tasks[0].containers[0].cpu #=> String
6668
6771
  # resp.tasks[0].containers[0].memory #=> String
6669
6772
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -6672,6 +6775,7 @@ module Aws::ECS
6672
6775
  # resp.tasks[0].cpu #=> String
6673
6776
  # resp.tasks[0].created_at #=> Time
6674
6777
  # resp.tasks[0].desired_status #=> String
6778
+ # resp.tasks[0].enable_execute_command #=> Boolean
6675
6779
  # resp.tasks[0].execution_stopped_at #=> Time
6676
6780
  # resp.tasks[0].group #=> String
6677
6781
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6821,6 +6925,11 @@ module Aws::ECS
6821
6925
  # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String
6822
6926
  # resp.task.containers[0].network_interfaces[0].ipv6_address #=> String
6823
6927
  # resp.task.containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6928
+ # resp.task.containers[0].managed_agents #=> Array
6929
+ # resp.task.containers[0].managed_agents[0].last_started_at #=> Time
6930
+ # resp.task.containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6931
+ # resp.task.containers[0].managed_agents[0].reason #=> String
6932
+ # resp.task.containers[0].managed_agents[0].last_status #=> String
6824
6933
  # resp.task.containers[0].cpu #=> String
6825
6934
  # resp.task.containers[0].memory #=> String
6826
6935
  # resp.task.containers[0].memory_reservation #=> String
@@ -6829,6 +6938,7 @@ module Aws::ECS
6829
6938
  # resp.task.cpu #=> String
6830
6939
  # resp.task.created_at #=> Time
6831
6940
  # resp.task.desired_status #=> String
6941
+ # resp.task.enable_execute_command #=> Boolean
6832
6942
  # resp.task.execution_stopped_at #=> Time
6833
6943
  # resp.task.group #=> String
6834
6944
  # resp.task.health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -7024,6 +7134,9 @@ module Aws::ECS
7024
7134
  # @option params [Array<Types::AttachmentStateChange>] :attachments
7025
7135
  # Any attachments associated with the state change request.
7026
7136
  #
7137
+ # @option params [Array<Types::ManagedAgentStateChange>] :managed_agents
7138
+ # The details for the managed agent associated with the task.
7139
+ #
7027
7140
  # @option params [Time,DateTime,Date,Integer,String] :pull_started_at
7028
7141
  # The Unix timestamp for when the container image pull began.
7029
7142
  #
@@ -7068,6 +7181,14 @@ module Aws::ECS
7068
7181
  # status: "String", # required
7069
7182
  # },
7070
7183
  # ],
7184
+ # managed_agents: [
7185
+ # {
7186
+ # container_name: "String", # required
7187
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
7188
+ # status: "String", # required
7189
+ # reason: "String",
7190
+ # },
7191
+ # ],
7071
7192
  # pull_started_at: Time.now,
7072
7193
  # pull_stopped_at: Time.now,
7073
7194
  # execution_stopped_at: Time.now,
@@ -7267,6 +7388,95 @@ module Aws::ECS
7267
7388
  req.send_request(options)
7268
7389
  end
7269
7390
 
7391
+ # Updates the cluster.
7392
+ #
7393
+ # @option params [required, String] :cluster
7394
+ # The name of the cluster to modify the settings for.
7395
+ #
7396
+ # @option params [Array<Types::ClusterSetting>] :settings
7397
+ # The cluster settings for your cluster.
7398
+ #
7399
+ # @option params [Types::ClusterConfiguration] :configuration
7400
+ # The execute command configuration for the cluster.
7401
+ #
7402
+ # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7403
+ #
7404
+ # * {Types::UpdateClusterResponse#cluster #cluster} => Types::Cluster
7405
+ #
7406
+ # @example Request syntax with placeholder values
7407
+ #
7408
+ # resp = client.update_cluster({
7409
+ # cluster: "String", # required
7410
+ # settings: [
7411
+ # {
7412
+ # name: "containerInsights", # accepts containerInsights
7413
+ # value: "String",
7414
+ # },
7415
+ # ],
7416
+ # configuration: {
7417
+ # execute_command_configuration: {
7418
+ # kms_key_id: "String",
7419
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
7420
+ # log_configuration: {
7421
+ # cloud_watch_log_group_name: "String",
7422
+ # cloud_watch_encryption_enabled: false,
7423
+ # s3_bucket_name: "String",
7424
+ # s3_encryption_enabled: false,
7425
+ # s3_key_prefix: "String",
7426
+ # },
7427
+ # },
7428
+ # },
7429
+ # })
7430
+ #
7431
+ # @example Response structure
7432
+ #
7433
+ # resp.cluster.cluster_arn #=> String
7434
+ # resp.cluster.cluster_name #=> String
7435
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
7436
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
7437
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
7438
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
7439
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
7440
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
7441
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
7442
+ # resp.cluster.status #=> String
7443
+ # resp.cluster.registered_container_instances_count #=> Integer
7444
+ # resp.cluster.running_tasks_count #=> Integer
7445
+ # resp.cluster.pending_tasks_count #=> Integer
7446
+ # resp.cluster.active_services_count #=> Integer
7447
+ # resp.cluster.statistics #=> Array
7448
+ # resp.cluster.statistics[0].name #=> String
7449
+ # resp.cluster.statistics[0].value #=> String
7450
+ # resp.cluster.tags #=> Array
7451
+ # resp.cluster.tags[0].key #=> String
7452
+ # resp.cluster.tags[0].value #=> String
7453
+ # resp.cluster.settings #=> Array
7454
+ # resp.cluster.settings[0].name #=> String, one of "containerInsights"
7455
+ # resp.cluster.settings[0].value #=> String
7456
+ # resp.cluster.capacity_providers #=> Array
7457
+ # resp.cluster.capacity_providers[0] #=> String
7458
+ # resp.cluster.default_capacity_provider_strategy #=> Array
7459
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
7460
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
7461
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
7462
+ # resp.cluster.attachments #=> Array
7463
+ # resp.cluster.attachments[0].id #=> String
7464
+ # resp.cluster.attachments[0].type #=> String
7465
+ # resp.cluster.attachments[0].status #=> String
7466
+ # resp.cluster.attachments[0].details #=> Array
7467
+ # resp.cluster.attachments[0].details[0].name #=> String
7468
+ # resp.cluster.attachments[0].details[0].value #=> String
7469
+ # resp.cluster.attachments_status #=> String
7470
+ #
7471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster AWS API Documentation
7472
+ #
7473
+ # @overload update_cluster(params = {})
7474
+ # @param [Hash] params ({})
7475
+ def update_cluster(params = {}, options = {})
7476
+ req = build_request(:update_cluster, params)
7477
+ req.send_request(options)
7478
+ end
7479
+
7270
7480
  # Modifies the settings to use for a cluster.
7271
7481
  #
7272
7482
  # @option params [required, String] :cluster
@@ -7298,6 +7508,13 @@ module Aws::ECS
7298
7508
  #
7299
7509
  # resp.cluster.cluster_arn #=> String
7300
7510
  # resp.cluster.cluster_name #=> String
7511
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
7512
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
7513
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
7514
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
7515
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
7516
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
7517
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
7301
7518
  # resp.cluster.status #=> String
7302
7519
  # resp.cluster.registered_container_instances_count #=> Integer
7303
7520
  # resp.cluster.running_tasks_count #=> Integer
@@ -7807,6 +8024,13 @@ module Aws::ECS
7807
8024
  # prevent the ECS service scheduler from marking tasks as unhealthy and
7808
8025
  # stopping them before they have time to come up.
7809
8026
  #
8027
+ # @option params [Boolean] :enable_execute_command
8028
+ # If `true`, this enables execute command functionality on all task
8029
+ # containers.
8030
+ #
8031
+ # If you do not want to override the value that was set when the service
8032
+ # was created, you can set this to `null` when performing this action.
8033
+ #
7810
8034
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7811
8035
  #
7812
8036
  # * {Types::UpdateServiceResponse#service #service} => Types::Service
@@ -7882,6 +8106,7 @@ module Aws::ECS
7882
8106
  # platform_version: "String",
7883
8107
  # force_new_deployment: false,
7884
8108
  # health_check_grace_period_seconds: 1,
8109
+ # enable_execute_command: false,
7885
8110
  # })
7886
8111
  #
7887
8112
  # @example Response structure
@@ -8005,6 +8230,7 @@ module Aws::ECS
8005
8230
  # resp.service.created_by #=> String
8006
8231
  # resp.service.enable_ecs_managed_tags #=> Boolean
8007
8232
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
8233
+ # resp.service.enable_execute_command #=> Boolean
8008
8234
  #
8009
8235
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation
8010
8236
  #
@@ -8210,7 +8436,7 @@ module Aws::ECS
8210
8436
  params: params,
8211
8437
  config: config)
8212
8438
  context[:gem_name] = 'aws-sdk-ecs'
8213
- context[:gem_version] = '1.75.0'
8439
+ context[:gem_version] = '1.76.0'
8214
8440
  Seahorse::Client::Request.new(handlers, context)
8215
8441
  end
8216
8442