aws-sdk-ecs 1.237.0 → 1.239.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fa8f274d8ebb5e3f32853a8afcd1295d5eff74276d2cad9cb813e2d5a4289fa
4
- data.tar.gz: 229c5e928be336d438ffbf41ad32f6336651031cb7d3ab83a64e8ed3d0fd4b6f
3
+ metadata.gz: aae803f2c6b8d956b64b5b1b4155a1c78b4aa8c4e826575c618eb81b1921359c
4
+ data.tar.gz: 75af27be15564316af3d62a11fb8606d06551b8a0b88ea8f20c247c0e950b0b7
5
5
  SHA512:
6
- metadata.gz: bca215c6e29f93e71f6301e20db100d632d46600c19341f9c9ccdcf332c330bcbd7b83b8e6f0d03b9918894a322294fdbc99383182e5512afc8a12694b1c0dfe
7
- data.tar.gz: 04dab105f0f10aeaf980bc29c616ec044e01b0e50948e7e7b9b015ceef8182cd60c9016edbb0acaa337e23842926d2e5b286d446c5c668fa7e84422361ce9521
6
+ metadata.gz: e2452fda81f4cf9b148b10c72ed06be12e9314b9d1f0781fc64a58dc1a69a2e1b7cc773c3b4dd04a6e26bdee3677ffa8bf37be4fc49b39a30c17c4d29bc7936c
7
+ data.tar.gz: 945abfa550a5dc6a2721bf90eba53950563ed02f8e4f2070ab25f7c97b6a00ac8b8ef7bdfb59a9802d114202f8a0b616f6a2bf4f66b0de711d992feeb57e0c6a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.239.0 (2026-06-29)
5
+ ------------------
6
+
7
+ * Feature - Amazon ECS now supports customizable deployment circuit breaker configurations. Customers can now define the failure threshold or control the failure counting mechanism.
8
+
9
+ 1.238.0 (2026-06-18)
10
+ ------------------
11
+
12
+ * Feature - Amazon ECS services now support high resolution (20 second) CloudWatch metrics for CPUUtilization and MemoryUtilization. Use these metrics for faster service auto scaling.
13
+
4
14
  1.237.0 (2026-06-17)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.237.0
1
+ 1.239.0
@@ -2171,6 +2171,12 @@ module Aws::ECS
2171
2171
  # @option params [Array<Types::VpcLatticeConfiguration>] :vpc_lattice_configurations
2172
2172
  # The VPC Lattice configuration for the service being created.
2173
2173
  #
2174
+ # @option params [Types::MonitoringConfiguration] :monitoring
2175
+ # The optional monitoring configuration for the service, which defines
2176
+ # the resolution for the service-level `CPUUtilization` and
2177
+ # `MemoryUtilization` Amazon CloudWatch metrics. When not specified,
2178
+ # Amazon ECS uses the default resolution of `60` seconds.
2179
+ #
2174
2180
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2175
2181
  #
2176
2182
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -2368,6 +2374,47 @@ module Aws::ECS
2368
2374
  # },
2369
2375
  # }
2370
2376
  #
2377
+ # @example Example: To create a service with a monitoring configuration
2378
+ #
2379
+ # # This example creates a service with a monitoring configuration that sets 20-second resolution for CPUUtilization and
2380
+ # # MemoryUtilization CloudWatch metrics. The monitoring configuration is not returned in the CreateService response. Use
2381
+ # # DescribeServiceRevisions to view the monitoring configuration.
2382
+ #
2383
+ # resp = client.create_service({
2384
+ # desired_count: 2,
2385
+ # monitoring: {
2386
+ # metric_configurations: [
2387
+ # {
2388
+ # metric_names: [
2389
+ # "CPUUtilization",
2390
+ # "MemoryUtilization",
2391
+ # ],
2392
+ # resolution_seconds: 20,
2393
+ # },
2394
+ # ],
2395
+ # },
2396
+ # service_name: "ecs-monitored-service",
2397
+ # task_definition: "my-app:1",
2398
+ # })
2399
+ #
2400
+ # resp.to_h outputs the following:
2401
+ # {
2402
+ # service: {
2403
+ # cluster_arn: "arn:aws:ecs:us-east-1:012345678910:cluster/default",
2404
+ # deployment_configuration: {
2405
+ # maximum_percent: 200,
2406
+ # minimum_healthy_percent: 100,
2407
+ # },
2408
+ # desired_count: 2,
2409
+ # pending_count: 0,
2410
+ # running_count: 0,
2411
+ # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/default/ecs-monitored-service",
2412
+ # service_name: "ecs-monitored-service",
2413
+ # status: "ACTIVE",
2414
+ # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/my-app:1",
2415
+ # },
2416
+ # }
2417
+ #
2371
2418
  # @example Request syntax with placeholder values
2372
2419
  #
2373
2420
  # resp = client.create_service({
@@ -2413,6 +2460,11 @@ module Aws::ECS
2413
2460
  # deployment_circuit_breaker: {
2414
2461
  # enable: false, # required
2415
2462
  # rollback: false, # required
2463
+ # reset_on_healthy_task: false,
2464
+ # threshold_configuration: {
2465
+ # type: "COUNT", # required, accepts COUNT, BOUNDED_PERCENT, UNBOUNDED_PERCENT
2466
+ # value: 1, # required
2467
+ # },
2416
2468
  # },
2417
2469
  # maximum_percent: 1,
2418
2470
  # minimum_healthy_percent: 1,
@@ -2567,6 +2619,14 @@ module Aws::ECS
2567
2619
  # port_name: "String", # required
2568
2620
  # },
2569
2621
  # ],
2622
+ # monitoring: {
2623
+ # metric_configurations: [
2624
+ # {
2625
+ # metric_names: ["MetricName"], # required
2626
+ # resolution_seconds: 1, # required
2627
+ # },
2628
+ # ],
2629
+ # },
2570
2630
  # })
2571
2631
  #
2572
2632
  # @example Response structure
@@ -2602,6 +2662,9 @@ module Aws::ECS
2602
2662
  # resp.service.task_definition #=> String
2603
2663
  # resp.service.deployment_configuration.deployment_circuit_breaker.enable #=> Boolean
2604
2664
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
2665
+ # resp.service.deployment_configuration.deployment_circuit_breaker.reset_on_healthy_task #=> Boolean
2666
+ # resp.service.deployment_configuration.deployment_circuit_breaker.threshold_configuration.type #=> String, one of "COUNT", "BOUNDED_PERCENT", "UNBOUNDED_PERCENT"
2667
+ # resp.service.deployment_configuration.deployment_circuit_breaker.threshold_configuration.value #=> Integer
2605
2668
  # resp.service.deployment_configuration.maximum_percent #=> Integer
2606
2669
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
2607
2670
  # resp.service.deployment_configuration.alarms.alarm_names #=> Array
@@ -3841,6 +3904,9 @@ module Aws::ECS
3841
3904
  # resp.service.task_definition #=> String
3842
3905
  # resp.service.deployment_configuration.deployment_circuit_breaker.enable #=> Boolean
3843
3906
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
3907
+ # resp.service.deployment_configuration.deployment_circuit_breaker.reset_on_healthy_task #=> Boolean
3908
+ # resp.service.deployment_configuration.deployment_circuit_breaker.threshold_configuration.type #=> String, one of "COUNT", "BOUNDED_PERCENT", "UNBOUNDED_PERCENT"
3909
+ # resp.service.deployment_configuration.deployment_circuit_breaker.threshold_configuration.value #=> Integer
3844
3910
  # resp.service.deployment_configuration.maximum_percent #=> Integer
3845
3911
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
3846
3912
  # resp.service.deployment_configuration.alarms.alarm_names #=> Array
@@ -6057,8 +6123,13 @@ module Aws::ECS
6057
6123
  # cluster_arn: "arn:aws:ecs:us-west-2:123456789012:cluster/example",
6058
6124
  # deployment_configuration: {
6059
6125
  # deployment_circuit_breaker: {
6060
- # enable: false,
6061
- # rollback: false,
6126
+ # enable: true,
6127
+ # reset_on_healthy_task: true,
6128
+ # rollback: true,
6129
+ # threshold_configuration: {
6130
+ # type: "BOUNDED_PERCENT",
6131
+ # value: 50,
6132
+ # },
6062
6133
  # },
6063
6134
  # maximum_percent: 200,
6064
6135
  # minimum_healthy_percent: 100,
@@ -6098,8 +6169,13 @@ module Aws::ECS
6098
6169
  # cluster_arn: "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster",
6099
6170
  # deployment_configuration: {
6100
6171
  # deployment_circuit_breaker: {
6101
- # enable: false,
6102
- # rollback: false,
6172
+ # enable: true,
6173
+ # reset_on_healthy_task: true,
6174
+ # rollback: true,
6175
+ # threshold_configuration: {
6176
+ # type: "BOUNDED_PERCENT",
6177
+ # value: 50,
6178
+ # },
6103
6179
  # },
6104
6180
  # lifecycle_hooks: [
6105
6181
  # {
@@ -6183,6 +6259,9 @@ module Aws::ECS
6183
6259
  # resp.service_deployments[0].lifecycle_hook_details[0].timeout_action #=> String, one of "ROLLBACK", "CONTINUE"
6184
6260
  # resp.service_deployments[0].deployment_configuration.deployment_circuit_breaker.enable #=> Boolean
6185
6261
  # resp.service_deployments[0].deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
6262
+ # resp.service_deployments[0].deployment_configuration.deployment_circuit_breaker.reset_on_healthy_task #=> Boolean
6263
+ # resp.service_deployments[0].deployment_configuration.deployment_circuit_breaker.threshold_configuration.type #=> String, one of "COUNT", "BOUNDED_PERCENT", "UNBOUNDED_PERCENT"
6264
+ # resp.service_deployments[0].deployment_configuration.deployment_circuit_breaker.threshold_configuration.value #=> Integer
6186
6265
  # resp.service_deployments[0].deployment_configuration.maximum_percent #=> Integer
6187
6266
  # resp.service_deployments[0].deployment_configuration.minimum_healthy_percent #=> Integer
6188
6267
  # resp.service_deployments[0].deployment_configuration.alarms.alarm_names #=> Array
@@ -6299,6 +6378,46 @@ module Aws::ECS
6299
6378
  # ],
6300
6379
  # }
6301
6380
  #
6381
+ # @example Example: To describe a service revision with a monitoring configuration
6382
+ #
6383
+ # # This example describes a service revision that has a monitoring configuration with 20-second resolution for
6384
+ # # CPUUtilization and MemoryUtilization CloudWatch metrics.
6385
+ #
6386
+ # resp = client.describe_service_revisions({
6387
+ # service_revision_arns: [
6388
+ # "arn:aws:ecs:us-east-1:012345678910:service-revision/default/ecs-monitored-service/8675309012345678901",
6389
+ # ],
6390
+ # })
6391
+ #
6392
+ # resp.to_h outputs the following:
6393
+ # {
6394
+ # failures: [
6395
+ # ],
6396
+ # service_revisions: [
6397
+ # {
6398
+ # cluster_arn: "arn:aws:ecs:us-east-1:012345678910:cluster/default",
6399
+ # created_at: Time.parse("2026-06-10T12:00:00.00Z"),
6400
+ # launch_type: "FARGATE",
6401
+ # monitoring: {
6402
+ # metric_configurations: [
6403
+ # {
6404
+ # metric_names: [
6405
+ # "CPUUtilization",
6406
+ # "MemoryUtilization",
6407
+ # ],
6408
+ # resolution_seconds: 20,
6409
+ # },
6410
+ # ],
6411
+ # },
6412
+ # platform_family: "DockerLinux",
6413
+ # platform_version: "1.4.0",
6414
+ # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/default/ecs-monitored-service",
6415
+ # service_revision_arn: "arn:aws:ecs:us-east-1:012345678910:service-revision/default/ecs-monitored-service/8675309012345678901",
6416
+ # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/my-app:1",
6417
+ # },
6418
+ # ],
6419
+ # }
6420
+ #
6302
6421
  # @example Request syntax with placeholder values
6303
6422
  #
6304
6423
  # resp = client.describe_service_revisions({
@@ -6462,6 +6581,10 @@ module Aws::ECS
6462
6581
  # resp.service_revisions[0].ecs_managed_resources.log_groups[0].status_reason #=> String
6463
6582
  # resp.service_revisions[0].ecs_managed_resources.log_groups[0].updated_at #=> Time
6464
6583
  # resp.service_revisions[0].ecs_managed_resources.log_groups[0].log_group_name #=> String
6584
+ # resp.service_revisions[0].monitoring.metric_configurations #=> Array
6585
+ # resp.service_revisions[0].monitoring.metric_configurations[0].metric_names #=> Array
6586
+ # resp.service_revisions[0].monitoring.metric_configurations[0].metric_names[0] #=> String
6587
+ # resp.service_revisions[0].monitoring.metric_configurations[0].resolution_seconds #=> Integer
6465
6588
  # resp.failures #=> Array
6466
6589
  # resp.failures[0].arn #=> String
6467
6590
  # resp.failures[0].reason #=> String
@@ -6659,6 +6782,9 @@ module Aws::ECS
6659
6782
  # resp.services[0].task_definition #=> String
6660
6783
  # resp.services[0].deployment_configuration.deployment_circuit_breaker.enable #=> Boolean
6661
6784
  # resp.services[0].deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
6785
+ # resp.services[0].deployment_configuration.deployment_circuit_breaker.reset_on_healthy_task #=> Boolean
6786
+ # resp.services[0].deployment_configuration.deployment_circuit_breaker.threshold_configuration.type #=> String, one of "COUNT", "BOUNDED_PERCENT", "UNBOUNDED_PERCENT"
6787
+ # resp.services[0].deployment_configuration.deployment_circuit_breaker.threshold_configuration.value #=> Integer
6662
6788
  # resp.services[0].deployment_configuration.maximum_percent #=> Integer
6663
6789
  # resp.services[0].deployment_configuration.minimum_healthy_percent #=> Integer
6664
6790
  # resp.services[0].deployment_configuration.alarms.alarm_names #=> Array
@@ -14549,7 +14675,8 @@ module Aws::ECS
14549
14675
  # task definition must also have `FARGATE` compatibility.
14550
14676
  #
14551
14677
  # If you provide a task definition ARN, you cannot also specify
14552
- # `primaryContainer`, `taskRoleArn`, `cpu`, or `memory`.
14678
+ # `primaryContainer`, `executionRoleArn`, `taskRoleArn`, `cpu`, or
14679
+ # `memory`.
14553
14680
  #
14554
14681
  # @return [Types::UpdateExpressGatewayServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
14555
14682
  #
@@ -15116,6 +15243,12 @@ module Aws::ECS
15116
15243
  #
15117
15244
  # This parameter triggers a new service deployment.
15118
15245
  #
15246
+ # @option params [Types::MonitoringConfiguration] :monitoring
15247
+ # The optional monitoring configuration for the service, which defines
15248
+ # the resolution for the service-level `CPUUtilization` and
15249
+ # `MemoryUtilization` Amazon CloudWatch metrics. When not specified,
15250
+ # Amazon ECS uses the default resolution of `60` seconds.
15251
+ #
15119
15252
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
15120
15253
  #
15121
15254
  # * {Types::UpdateServiceResponse#service #service} => Types::Service
@@ -15176,6 +15309,31 @@ module Aws::ECS
15176
15309
  # {
15177
15310
  # }
15178
15311
  #
15312
+ # @example Example: To update a service with a monitoring configuration
15313
+ #
15314
+ # # This example updates a service to add a monitoring configuration that sets 20-second resolution for CPUUtilization and
15315
+ # # MemoryUtilization CloudWatch metrics. The monitoring configuration is not returned in the UpdateService response. Use
15316
+ # # DescribeServiceRevisions to view the monitoring configuration.
15317
+ #
15318
+ # resp = client.update_service({
15319
+ # monitoring: {
15320
+ # metric_configurations: [
15321
+ # {
15322
+ # metric_names: [
15323
+ # "CPUUtilization",
15324
+ # "MemoryUtilization",
15325
+ # ],
15326
+ # resolution_seconds: 20,
15327
+ # },
15328
+ # ],
15329
+ # },
15330
+ # service: "ecs-monitored-service",
15331
+ # })
15332
+ #
15333
+ # resp.to_h outputs the following:
15334
+ # {
15335
+ # }
15336
+ #
15179
15337
  # @example Request syntax with placeholder values
15180
15338
  #
15181
15339
  # resp = client.update_service({
@@ -15194,6 +15352,11 @@ module Aws::ECS
15194
15352
  # deployment_circuit_breaker: {
15195
15353
  # enable: false, # required
15196
15354
  # rollback: false, # required
15355
+ # reset_on_healthy_task: false,
15356
+ # threshold_configuration: {
15357
+ # type: "COUNT", # required, accepts COUNT, BOUNDED_PERCENT, UNBOUNDED_PERCENT
15358
+ # value: 1, # required
15359
+ # },
15197
15360
  # },
15198
15361
  # maximum_percent: 1,
15199
15362
  # minimum_healthy_percent: 1,
@@ -15366,6 +15529,14 @@ module Aws::ECS
15366
15529
  # port_name: "String", # required
15367
15530
  # },
15368
15531
  # ],
15532
+ # monitoring: {
15533
+ # metric_configurations: [
15534
+ # {
15535
+ # metric_names: ["MetricName"], # required
15536
+ # resolution_seconds: 1, # required
15537
+ # },
15538
+ # ],
15539
+ # },
15369
15540
  # })
15370
15541
  #
15371
15542
  # @example Response structure
@@ -15401,6 +15572,9 @@ module Aws::ECS
15401
15572
  # resp.service.task_definition #=> String
15402
15573
  # resp.service.deployment_configuration.deployment_circuit_breaker.enable #=> Boolean
15403
15574
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
15575
+ # resp.service.deployment_configuration.deployment_circuit_breaker.reset_on_healthy_task #=> Boolean
15576
+ # resp.service.deployment_configuration.deployment_circuit_breaker.threshold_configuration.type #=> String, one of "COUNT", "BOUNDED_PERCENT", "UNBOUNDED_PERCENT"
15577
+ # resp.service.deployment_configuration.deployment_circuit_breaker.threshold_configuration.value #=> Integer
15404
15578
  # resp.service.deployment_configuration.maximum_percent #=> Integer
15405
15579
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
15406
15580
  # resp.service.deployment_configuration.alarms.alarm_names #=> Array
@@ -16072,7 +16246,7 @@ module Aws::ECS
16072
16246
  tracer: tracer
16073
16247
  )
16074
16248
  context[:gem_name] = 'aws-sdk-ecs'
16075
- context[:gem_version] = '1.237.0'
16249
+ context[:gem_version] = '1.239.0'
16076
16250
  Seahorse::Client::Request.new(handlers, context)
16077
16251
  end
16078
16252
 
@@ -411,7 +411,13 @@ module Aws::ECS
411
411
  ManagedTerminationProtection = Shapes::StringShape.new(name: 'ManagedTerminationProtection')
412
412
  MemoryGiBPerVCpuRequest = Shapes::StructureShape.new(name: 'MemoryGiBPerVCpuRequest')
413
413
  MemoryMiBRequest = Shapes::StructureShape.new(name: 'MemoryMiBRequest')
414
+ MetricConfiguration = Shapes::StructureShape.new(name: 'MetricConfiguration')
415
+ MetricConfigurationList = Shapes::ListShape.new(name: 'MetricConfigurationList')
416
+ MetricName = Shapes::StringShape.new(name: 'MetricName')
417
+ MetricNamesList = Shapes::ListShape.new(name: 'MetricNamesList')
418
+ MetricResolutionSeconds = Shapes::IntegerShape.new(name: 'MetricResolutionSeconds')
414
419
  MissingVersionException = Shapes::StructureShape.new(name: 'MissingVersionException')
420
+ MonitoringConfiguration = Shapes::StructureShape.new(name: 'MonitoringConfiguration')
415
421
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
416
422
  MountPointList = Shapes::ListShape.new(name: 'MountPointList')
417
423
  NamespaceNotFoundException = Shapes::StructureShape.new(name: 'NamespaceNotFoundException')
@@ -597,6 +603,8 @@ module Aws::ECS
597
603
  TaskVolumeConfigurations = Shapes::ListShape.new(name: 'TaskVolumeConfigurations')
598
604
  TaskVolumeStorageGiB = Shapes::IntegerShape.new(name: 'TaskVolumeStorageGiB')
599
605
  Tasks = Shapes::ListShape.new(name: 'Tasks')
606
+ ThresholdConfiguration = Shapes::StructureShape.new(name: 'ThresholdConfiguration')
607
+ ThresholdType = Shapes::StringShape.new(name: 'ThresholdType')
600
608
  TimeoutConfiguration = Shapes::StructureShape.new(name: 'TimeoutConfiguration')
601
609
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
602
610
  Tmpfs = Shapes::StructureShape.new(name: 'Tmpfs')
@@ -1053,6 +1061,7 @@ module Aws::ECS
1053
1061
  CreateServiceRequest.add_member(:service_connect_configuration, Shapes::ShapeRef.new(shape: ServiceConnectConfiguration, location_name: "serviceConnectConfiguration"))
1054
1062
  CreateServiceRequest.add_member(:volume_configurations, Shapes::ShapeRef.new(shape: ServiceVolumeConfigurations, location_name: "volumeConfigurations"))
1055
1063
  CreateServiceRequest.add_member(:vpc_lattice_configurations, Shapes::ShapeRef.new(shape: VpcLatticeConfigurations, location_name: "vpcLatticeConfigurations"))
1064
+ CreateServiceRequest.add_member(:monitoring, Shapes::ShapeRef.new(shape: MonitoringConfiguration, location_name: "monitoring"))
1056
1065
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
1057
1066
 
1058
1067
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -1384,6 +1393,8 @@ module Aws::ECS
1384
1393
 
1385
1394
  DeploymentCircuitBreaker.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
1386
1395
  DeploymentCircuitBreaker.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
1396
+ DeploymentCircuitBreaker.add_member(:reset_on_healthy_task, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "resetOnHealthyTask"))
1397
+ DeploymentCircuitBreaker.add_member(:threshold_configuration, Shapes::ShapeRef.new(shape: ThresholdConfiguration, location_name: "thresholdConfiguration"))
1387
1398
  DeploymentCircuitBreaker.struct_class = Types::DeploymentCircuitBreaker
1388
1399
 
1389
1400
  DeploymentConfiguration.add_member(:deployment_circuit_breaker, Shapes::ShapeRef.new(shape: DeploymentCircuitBreaker, location_name: "deploymentCircuitBreaker"))
@@ -2191,9 +2202,20 @@ module Aws::ECS
2191
2202
  MemoryMiBRequest.add_member(:max, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "max"))
2192
2203
  MemoryMiBRequest.struct_class = Types::MemoryMiBRequest
2193
2204
 
2205
+ MetricConfiguration.add_member(:metric_names, Shapes::ShapeRef.new(shape: MetricNamesList, required: true, location_name: "metricNames"))
2206
+ MetricConfiguration.add_member(:resolution_seconds, Shapes::ShapeRef.new(shape: MetricResolutionSeconds, required: true, location_name: "resolutionSeconds"))
2207
+ MetricConfiguration.struct_class = Types::MetricConfiguration
2208
+
2209
+ MetricConfigurationList.member = Shapes::ShapeRef.new(shape: MetricConfiguration)
2210
+
2211
+ MetricNamesList.member = Shapes::ShapeRef.new(shape: MetricName)
2212
+
2194
2213
  MissingVersionException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
2195
2214
  MissingVersionException.struct_class = Types::MissingVersionException
2196
2215
 
2216
+ MonitoringConfiguration.add_member(:metric_configurations, Shapes::ShapeRef.new(shape: MetricConfigurationList, location_name: "metricConfigurations"))
2217
+ MonitoringConfiguration.struct_class = Types::MonitoringConfiguration
2218
+
2197
2219
  MountPoint.add_member(:source_volume, Shapes::ShapeRef.new(shape: String, location_name: "sourceVolume"))
2198
2220
  MountPoint.add_member(:container_path, Shapes::ShapeRef.new(shape: String, location_name: "containerPath"))
2199
2221
  MountPoint.add_member(:read_only, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "readOnly"))
@@ -2656,6 +2678,7 @@ module Aws::ECS
2656
2678
  ServiceRevision.add_member(:vpc_lattice_configurations, Shapes::ShapeRef.new(shape: VpcLatticeConfigurations, location_name: "vpcLatticeConfigurations"))
2657
2679
  ServiceRevision.add_member(:resolved_configuration, Shapes::ShapeRef.new(shape: ResolvedConfiguration, location_name: "resolvedConfiguration"))
2658
2680
  ServiceRevision.add_member(:ecs_managed_resources, Shapes::ShapeRef.new(shape: ECSManagedResources, location_name: "ecsManagedResources"))
2681
+ ServiceRevision.add_member(:monitoring, Shapes::ShapeRef.new(shape: MonitoringConfiguration, location_name: "monitoring"))
2659
2682
  ServiceRevision.struct_class = Types::ServiceRevision
2660
2683
 
2661
2684
  ServiceRevisionLoadBalancer.add_member(:target_group_arn, Shapes::ShapeRef.new(shape: String, location_name: "targetGroupArn"))
@@ -2950,6 +2973,10 @@ module Aws::ECS
2950
2973
 
2951
2974
  Tasks.member = Shapes::ShapeRef.new(shape: Task)
2952
2975
 
2976
+ ThresholdConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: ThresholdType, required: true, location_name: "type"))
2977
+ ThresholdConfiguration.add_member(:value, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "value"))
2978
+ ThresholdConfiguration.struct_class = Types::ThresholdConfiguration
2979
+
2953
2980
  TimeoutConfiguration.add_member(:idle_timeout_seconds, Shapes::ShapeRef.new(shape: Duration, location_name: "idleTimeoutSeconds"))
2954
2981
  TimeoutConfiguration.add_member(:per_request_timeout_seconds, Shapes::ShapeRef.new(shape: Duration, location_name: "perRequestTimeoutSeconds"))
2955
2982
  TimeoutConfiguration.struct_class = Types::TimeoutConfiguration
@@ -3093,6 +3120,7 @@ module Aws::ECS
3093
3120
  UpdateServiceRequest.add_member(:service_connect_configuration, Shapes::ShapeRef.new(shape: ServiceConnectConfiguration, location_name: "serviceConnectConfiguration"))
3094
3121
  UpdateServiceRequest.add_member(:volume_configurations, Shapes::ShapeRef.new(shape: ServiceVolumeConfigurations, location_name: "volumeConfigurations"))
3095
3122
  UpdateServiceRequest.add_member(:vpc_lattice_configurations, Shapes::ShapeRef.new(shape: VpcLatticeConfigurations, location_name: "vpcLatticeConfigurations"))
3123
+ UpdateServiceRequest.add_member(:monitoring, Shapes::ShapeRef.new(shape: MonitoringConfiguration, location_name: "monitoring"))
3096
3124
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
3097
3125
 
3098
3126
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -3829,6 +3829,13 @@ module Aws::ECS
3829
3829
  # The VPC Lattice configuration for the service being created.
3830
3830
  # @return [Array<Types::VpcLatticeConfiguration>]
3831
3831
  #
3832
+ # @!attribute [rw] monitoring
3833
+ # The optional monitoring configuration for the service, which defines
3834
+ # the resolution for the service-level `CPUUtilization` and
3835
+ # `MemoryUtilization` Amazon CloudWatch metrics. When not specified,
3836
+ # Amazon ECS uses the default resolution of `60` seconds.
3837
+ # @return [Types::MonitoringConfiguration]
3838
+ #
3832
3839
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
3833
3840
  #
3834
3841
  class CreateServiceRequest < Struct.new(
@@ -3857,7 +3864,8 @@ module Aws::ECS
3857
3864
  :enable_execute_command,
3858
3865
  :service_connect_configuration,
3859
3866
  :volume_configurations,
3860
- :vpc_lattice_configurations)
3867
+ :vpc_lattice_configurations,
3868
+ :monitoring)
3861
3869
  SENSITIVE = []
3862
3870
  include Aws::Structure
3863
3871
  end
@@ -5731,11 +5739,30 @@ module Aws::ECS
5731
5739
  # that completed successfully.
5732
5740
  # @return [Boolean]
5733
5741
  #
5742
+ # @!attribute [rw] reset_on_healthy_task
5743
+ # Determines whether the deployment circuit breaker resets its failure
5744
+ # count when a task reaches a healthy state. When set to `true`, a
5745
+ # healthy task resets the failure count to `0`; when `false`, it
5746
+ # doesn't.
5747
+ # @return [Boolean]
5748
+ #
5749
+ # @!attribute [rw] threshold_configuration
5750
+ # The threshold configuration that controls when the deployment
5751
+ # circuit breaker triggers. For more information, see
5752
+ # [ThresholdConfiguration][1].
5753
+ #
5754
+ #
5755
+ #
5756
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ThresholdConfiguration.html
5757
+ # @return [Types::ThresholdConfiguration]
5758
+ #
5734
5759
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentCircuitBreaker AWS API Documentation
5735
5760
  #
5736
5761
  class DeploymentCircuitBreaker < Struct.new(
5737
5762
  :enable,
5738
- :rollback)
5763
+ :rollback,
5764
+ :reset_on_healthy_task,
5765
+ :threshold_configuration)
5739
5766
  SENSITIVE = []
5740
5767
  include Aws::Structure
5741
5768
  end
@@ -11675,6 +11702,28 @@ module Aws::ECS
11675
11702
  include Aws::Structure
11676
11703
  end
11677
11704
 
11705
+ # The configuration for a specific set of metrics to collect for a
11706
+ # service.
11707
+ #
11708
+ # @!attribute [rw] metric_names
11709
+ # The list of metric names to configure. The supported metric names
11710
+ # are `CPUUtilization` and `MemoryUtilization`.
11711
+ # @return [Array<String>]
11712
+ #
11713
+ # @!attribute [rw] resolution_seconds
11714
+ # The resolution, in seconds, at which to collect the metrics. The
11715
+ # valid values are `20` and `60`.
11716
+ # @return [Integer]
11717
+ #
11718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/MetricConfiguration AWS API Documentation
11719
+ #
11720
+ class MetricConfiguration < Struct.new(
11721
+ :metric_names,
11722
+ :resolution_seconds)
11723
+ SENSITIVE = []
11724
+ include Aws::Structure
11725
+ end
11726
+
11678
11727
  # Amazon ECS can't determine the current version of the Amazon ECS
11679
11728
  # container agent on the container instance and doesn't have enough
11680
11729
  # information to proceed with an update. This could be because the agent
@@ -11693,6 +11742,23 @@ module Aws::ECS
11693
11742
  include Aws::Structure
11694
11743
  end
11695
11744
 
11745
+ # The optional monitoring configuration for a service, which defines the
11746
+ # resolution for the service-level `CPUUtilization` and
11747
+ # `MemoryUtilization` Amazon CloudWatch metrics. When not specified,
11748
+ # Amazon ECS uses the default resolution of `60` seconds.
11749
+ #
11750
+ # @!attribute [rw] metric_configurations
11751
+ # The list of metric configurations for the service monitoring.
11752
+ # @return [Array<Types::MetricConfiguration>]
11753
+ #
11754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/MonitoringConfiguration AWS API Documentation
11755
+ #
11756
+ class MonitoringConfiguration < Struct.new(
11757
+ :metric_configurations)
11758
+ SENSITIVE = []
11759
+ include Aws::Structure
11760
+ end
11761
+
11696
11762
  # The details for a volume mount point that's used in a container
11697
11763
  # definition.
11698
11764
  #
@@ -15853,6 +15919,13 @@ module Aws::ECS
15853
15919
  # Express service for Amazon ECS.
15854
15920
  # @return [Types::ECSManagedResources]
15855
15921
  #
15922
+ # @!attribute [rw] monitoring
15923
+ # The optional monitoring configuration for the service, which defines
15924
+ # the resolution for the service-level `CPUUtilization` and
15925
+ # `MemoryUtilization` Amazon CloudWatch metrics. When not specified,
15926
+ # Amazon ECS uses the default resolution of `60` seconds.
15927
+ # @return [Types::MonitoringConfiguration]
15928
+ #
15856
15929
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceRevision AWS API Documentation
15857
15930
  #
15858
15931
  class ServiceRevision < Struct.new(
@@ -15875,7 +15948,8 @@ module Aws::ECS
15875
15948
  :created_at,
15876
15949
  :vpc_lattice_configurations,
15877
15950
  :resolved_configuration,
15878
- :ecs_managed_resources)
15951
+ :ecs_managed_resources,
15952
+ :monitoring)
15879
15953
  SENSITIVE = []
15880
15954
  include Aws::Structure
15881
15955
  end
@@ -18119,6 +18193,39 @@ module Aws::ECS
18119
18193
  include Aws::Structure
18120
18194
  end
18121
18195
 
18196
+ # Defines the failure threshold that the deployment circuit breaker uses
18197
+ # to monitor a deployment. The `type` and `value` together determine the
18198
+ # number of task failures that are tolerated before the circuit breaker
18199
+ # triggers.
18200
+ #
18201
+ # By default, the threshold configuration uses a `type` of
18202
+ # `BOUNDED_PERCENT` with a `value` of `50`.
18203
+ #
18204
+ # @!attribute [rw] type
18205
+ # Determines how `value` is used to calculate the failure threshold.
18206
+ # For the percentage types (`BOUNDED_PERCENT` and
18207
+ # `UNBOUNDED_PERCENT`), `value` is multiplied by the latest service
18208
+ # desired count; for `COUNT`, `value` is used directly. The default is
18209
+ # `BOUNDED_PERCENT`.
18210
+ # @return [String]
18211
+ #
18212
+ # @!attribute [rw] value
18213
+ # The integer used to calculate the failure threshold. When `type` is
18214
+ # `COUNT`, this is the failure threshold itself. When `type` is a
18215
+ # percentage type, this is the percentage that Amazon ECS multiplies
18216
+ # by the latest service desired count to calculate the failure
18217
+ # threshold.
18218
+ # @return [Integer]
18219
+ #
18220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ThresholdConfiguration AWS API Documentation
18221
+ #
18222
+ class ThresholdConfiguration < Struct.new(
18223
+ :type,
18224
+ :value)
18225
+ SENSITIVE = []
18226
+ include Aws::Structure
18227
+ end
18228
+
18122
18229
  # An object that represents the timeout configurations for Service
18123
18230
  # Connect.
18124
18231
  #
@@ -18672,7 +18779,8 @@ module Aws::ECS
18672
18779
  # task definition must also have `FARGATE` compatibility.
18673
18780
  #
18674
18781
  # If you provide a task definition ARN, you cannot also specify
18675
- # `primaryContainer`, `taskRoleArn`, `cpu`, or `memory`.
18782
+ # `primaryContainer`, `executionRoleArn`, `taskRoleArn`, `cpu`, or
18783
+ # `memory`.
18676
18784
  # @return [String]
18677
18785
  #
18678
18786
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateExpressGatewayServiceRequest AWS API Documentation
@@ -19169,6 +19277,13 @@ module Aws::ECS
19169
19277
  # This parameter triggers a new service deployment.
19170
19278
  # @return [Array<Types::VpcLatticeConfiguration>]
19171
19279
  #
19280
+ # @!attribute [rw] monitoring
19281
+ # The optional monitoring configuration for the service, which defines
19282
+ # the resolution for the service-level `CPUUtilization` and
19283
+ # `MemoryUtilization` Amazon CloudWatch metrics. When not specified,
19284
+ # Amazon ECS uses the default resolution of `60` seconds.
19285
+ # @return [Types::MonitoringConfiguration]
19286
+ #
19172
19287
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
19173
19288
  #
19174
19289
  class UpdateServiceRequest < Struct.new(
@@ -19193,7 +19308,8 @@ module Aws::ECS
19193
19308
  :service_registries,
19194
19309
  :service_connect_configuration,
19195
19310
  :volume_configurations,
19196
- :vpc_lattice_configurations)
19311
+ :vpc_lattice_configurations,
19312
+ :monitoring)
19197
19313
  SENSITIVE = []
19198
19314
  include Aws::Structure
19199
19315
  end
data/lib/aws-sdk-ecs.rb CHANGED
@@ -55,7 +55,7 @@ module Aws::ECS
55
55
  autoload :EndpointProvider, 'aws-sdk-ecs/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-ecs/endpoints'
57
57
 
58
- GEM_VERSION = '1.237.0'
58
+ GEM_VERSION = '1.239.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -325,7 +325,15 @@ module Aws
325
325
  target_group_arn: ::String,
326
326
  port_name: ::String
327
327
  }
328
- ]
328
+ ],
329
+ ?monitoring: {
330
+ metric_configurations: Array[
331
+ {
332
+ metric_names: Array[::String],
333
+ resolution_seconds: ::Integer
334
+ }
335
+ ]?
336
+ }
329
337
  ) -> _CreateServiceResponseSuccess
330
338
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateServiceResponseSuccess
331
339
 
@@ -1878,7 +1886,15 @@ module Aws
1878
1886
  target_group_arn: ::String,
1879
1887
  port_name: ::String
1880
1888
  }
1881
- ]
1889
+ ],
1890
+ ?monitoring: {
1891
+ metric_configurations: Array[
1892
+ {
1893
+ metric_names: Array[::String],
1894
+ resolution_seconds: ::Integer
1895
+ }
1896
+ ]?
1897
+ }
1882
1898
  ) -> _UpdateServiceResponseSuccess
1883
1899
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateServiceResponseSuccess
1884
1900
 
data/sig/params.rbs CHANGED
@@ -129,11 +129,18 @@ module Aws
129
129
  }?
130
130
  }
131
131
 
132
+ type deployment_circuit_breaker = {
133
+ enable: bool,
134
+ rollback: bool,
135
+ reset_on_healthy_task: bool?,
136
+ threshold_configuration: {
137
+ type: ("COUNT" | "BOUNDED_PERCENT" | "UNBOUNDED_PERCENT"),
138
+ value: ::Integer
139
+ }?
140
+ }
141
+
132
142
  type deployment_configuration = {
133
- deployment_circuit_breaker: {
134
- enable: bool,
135
- rollback: bool
136
- }?,
143
+ deployment_circuit_breaker: Params::deployment_circuit_breaker?,
137
144
  maximum_percent: ::Integer?,
138
145
  minimum_healthy_percent: ::Integer?,
139
146
  alarms: {
data/sig/types.rbs CHANGED
@@ -470,6 +470,7 @@ module Aws::ECS
470
470
  attr_accessor service_connect_configuration: Types::ServiceConnectConfiguration
471
471
  attr_accessor volume_configurations: ::Array[Types::ServiceVolumeConfiguration]
472
472
  attr_accessor vpc_lattice_configurations: ::Array[Types::VpcLatticeConfiguration]
473
+ attr_accessor monitoring: Types::MonitoringConfiguration
473
474
  SENSITIVE: []
474
475
  end
475
476
 
@@ -873,6 +874,8 @@ module Aws::ECS
873
874
  class DeploymentCircuitBreaker
874
875
  attr_accessor enable: bool
875
876
  attr_accessor rollback: bool
877
+ attr_accessor reset_on_healthy_task: bool
878
+ attr_accessor threshold_configuration: Types::ThresholdConfiguration
876
879
  SENSITIVE: []
877
880
  end
878
881
 
@@ -1880,11 +1883,22 @@ module Aws::ECS
1880
1883
  SENSITIVE: []
1881
1884
  end
1882
1885
 
1886
+ class MetricConfiguration
1887
+ attr_accessor metric_names: ::Array[::String]
1888
+ attr_accessor resolution_seconds: ::Integer
1889
+ SENSITIVE: []
1890
+ end
1891
+
1883
1892
  class MissingVersionException
1884
1893
  attr_accessor message: ::String
1885
1894
  SENSITIVE: []
1886
1895
  end
1887
1896
 
1897
+ class MonitoringConfiguration
1898
+ attr_accessor metric_configurations: ::Array[Types::MetricConfiguration]
1899
+ SENSITIVE: []
1900
+ end
1901
+
1888
1902
  class MountPoint
1889
1903
  attr_accessor source_volume: ::String
1890
1904
  attr_accessor container_path: ::String
@@ -2430,6 +2444,7 @@ module Aws::ECS
2430
2444
  attr_accessor vpc_lattice_configurations: ::Array[Types::VpcLatticeConfiguration]
2431
2445
  attr_accessor resolved_configuration: Types::ResolvedConfiguration
2432
2446
  attr_accessor ecs_managed_resources: Types::ECSManagedResources
2447
+ attr_accessor monitoring: Types::MonitoringConfiguration
2433
2448
  SENSITIVE: []
2434
2449
  end
2435
2450
 
@@ -2749,6 +2764,12 @@ module Aws::ECS
2749
2764
  SENSITIVE: []
2750
2765
  end
2751
2766
 
2767
+ class ThresholdConfiguration
2768
+ attr_accessor type: ("COUNT" | "BOUNDED_PERCENT" | "UNBOUNDED_PERCENT")
2769
+ attr_accessor value: ::Integer
2770
+ SENSITIVE: []
2771
+ end
2772
+
2752
2773
  class TimeoutConfiguration
2753
2774
  attr_accessor idle_timeout_seconds: ::Integer
2754
2775
  attr_accessor per_request_timeout_seconds: ::Integer
@@ -2938,6 +2959,7 @@ module Aws::ECS
2938
2959
  attr_accessor service_connect_configuration: Types::ServiceConnectConfiguration
2939
2960
  attr_accessor volume_configurations: ::Array[Types::ServiceVolumeConfiguration]
2940
2961
  attr_accessor vpc_lattice_configurations: ::Array[Types::VpcLatticeConfiguration]
2962
+ attr_accessor monitoring: Types::MonitoringConfiguration
2941
2963
  SENSITIVE: []
2942
2964
  end
2943
2965
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ecs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.237.0
4
+ version: 1.239.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services