aws-sdk-ecs 1.107.0 → 1.110.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: bd656115569cd3894a60003c588d2781e3d2ad34c527f9d603beebe1c2012000
4
- data.tar.gz: e6174cd7d6a3c7dc33f5187354220e6139883990f69d0c7185a71ecde59b3567
3
+ metadata.gz: '099a61e6b90333ac05b74ade4af404d2af9ddfeafdeb4c61920dd3bbc776a553'
4
+ data.tar.gz: 6d587065c7c63a201f17be4323cfaaa41c94b4c8a4cf45ed8cf8c56ba28881e6
5
5
  SHA512:
6
- metadata.gz: 711348c5ef910937f8c832fd2a1eb357cadff82bca8ffbbf265b2c581967e4a46b885949c983908863d024afd1aef32bfad23bf808a03ec6505b143d6ddf5bb4
7
- data.tar.gz: b8dca5e60ce61186106ea732889a8c6272098e97e025fecbfc61725da872264405709c3e9652f8e11b1e5b2de319ab547e1fc8d8bc1f504549fe60b18420a3a8
6
+ metadata.gz: c783fd58a23fdccd6da398dbf30af9a78c8302784a3bf15af363ec7c26e380d375fe8c6fe33eae582a047ad7789aee118d21b6ff80c9537fee7f2e1ea66712fe
7
+ data.tar.gz: 785c6a884f7984b50eb7cb9d876e29f6c47d4ea3669b1d16ee62eb7022828a25067c8083f512c0b6a922f5d0f93b405c2adcd81758428397d690403d6866f500
data/CHANGELOG.md CHANGED
@@ -1,6 +1,23 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.110.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.109.0 (2022-12-19)
12
+ ------------------
13
+
14
+ * Feature - This release adds support for alarm-based rollbacks in ECS, a new feature that allows customers to add automated safeguards for Amazon ECS service rolling updates.
15
+
16
+ 1.108.0 (2022-12-15)
17
+ ------------------
18
+
19
+ * Feature - This release adds support for container port ranges in ECS, a new capability that allows customers to provide container port ranges to simplify use cases where multiple ports are in use in a container. This release updates TaskDefinition mutation APIs and the Task description APIs.
20
+
4
21
  1.107.0 (2022-12-02)
5
22
  ------------------
6
23
 
@@ -617,4 +634,4 @@ Unreleased Changes
617
634
  1.0.0.rc1 (2016-12-05)
618
635
  ------------------
619
636
 
620
- * Feature - Initial preview release of the `aws-sdk-ecs` gem.
637
+ * Feature - Initial preview release of the `aws-sdk-ecs` gem.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.107.0
1
+ 1.110.0
@@ -1324,6 +1324,11 @@ module Aws::ECS
1324
1324
  # },
1325
1325
  # maximum_percent: 1,
1326
1326
  # minimum_healthy_percent: 1,
1327
+ # alarms: {
1328
+ # alarm_names: ["String"], # required
1329
+ # enable: false, # required
1330
+ # rollback: false, # required
1331
+ # },
1327
1332
  # },
1328
1333
  # placement_constraints: [
1329
1334
  # {
@@ -1420,6 +1425,10 @@ module Aws::ECS
1420
1425
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
1421
1426
  # resp.service.deployment_configuration.maximum_percent #=> Integer
1422
1427
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
1428
+ # resp.service.deployment_configuration.alarms.alarm_names #=> Array
1429
+ # resp.service.deployment_configuration.alarms.alarm_names[0] #=> String
1430
+ # resp.service.deployment_configuration.alarms.enable #=> Boolean
1431
+ # resp.service.deployment_configuration.alarms.rollback #=> Boolean
1423
1432
  # resp.service.task_sets #=> Array
1424
1433
  # resp.service.task_sets[0].id #=> String
1425
1434
  # resp.service.task_sets[0].task_set_arn #=> String
@@ -2162,6 +2171,10 @@ module Aws::ECS
2162
2171
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
2163
2172
  # resp.service.deployment_configuration.maximum_percent #=> Integer
2164
2173
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
2174
+ # resp.service.deployment_configuration.alarms.alarm_names #=> Array
2175
+ # resp.service.deployment_configuration.alarms.alarm_names[0] #=> String
2176
+ # resp.service.deployment_configuration.alarms.enable #=> Boolean
2177
+ # resp.service.deployment_configuration.alarms.rollback #=> Boolean
2165
2178
  # resp.service.task_sets #=> Array
2166
2179
  # resp.service.task_sets[0].id #=> String
2167
2180
  # resp.service.task_sets[0].task_set_arn #=> String
@@ -2570,6 +2583,7 @@ module Aws::ECS
2570
2583
  # resp.task_definition.container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
2571
2584
  # resp.task_definition.container_definitions[0].port_mappings[0].name #=> String
2572
2585
  # resp.task_definition.container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
2586
+ # resp.task_definition.container_definitions[0].port_mappings[0].container_port_range #=> String
2573
2587
  # resp.task_definition.container_definitions[0].essential #=> Boolean
2574
2588
  # resp.task_definition.container_definitions[0].entry_point #=> Array
2575
2589
  # resp.task_definition.container_definitions[0].entry_point[0] #=> String
@@ -3236,6 +3250,10 @@ module Aws::ECS
3236
3250
  # resp.services[0].deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
3237
3251
  # resp.services[0].deployment_configuration.maximum_percent #=> Integer
3238
3252
  # resp.services[0].deployment_configuration.minimum_healthy_percent #=> Integer
3253
+ # resp.services[0].deployment_configuration.alarms.alarm_names #=> Array
3254
+ # resp.services[0].deployment_configuration.alarms.alarm_names[0] #=> String
3255
+ # resp.services[0].deployment_configuration.alarms.enable #=> Boolean
3256
+ # resp.services[0].deployment_configuration.alarms.rollback #=> Boolean
3239
3257
  # resp.services[0].task_sets #=> Array
3240
3258
  # resp.services[0].task_sets[0].id #=> String
3241
3259
  # resp.services[0].task_sets[0].task_set_arn #=> String
@@ -3481,6 +3499,7 @@ module Aws::ECS
3481
3499
  # resp.task_definition.container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
3482
3500
  # resp.task_definition.container_definitions[0].port_mappings[0].name #=> String
3483
3501
  # resp.task_definition.container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
3502
+ # resp.task_definition.container_definitions[0].port_mappings[0].container_port_range #=> String
3484
3503
  # resp.task_definition.container_definitions[0].essential #=> Boolean
3485
3504
  # resp.task_definition.container_definitions[0].entry_point #=> Array
3486
3505
  # resp.task_definition.container_definitions[0].entry_point[0] #=> String
@@ -3855,6 +3874,8 @@ module Aws::ECS
3855
3874
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
3856
3875
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
3857
3876
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
3877
+ # resp.tasks[0].containers[0].network_bindings[0].container_port_range #=> String
3878
+ # resp.tasks[0].containers[0].network_bindings[0].host_port_range #=> String
3858
3879
  # resp.tasks[0].containers[0].network_interfaces #=> Array
3859
3880
  # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
3860
3881
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -4000,6 +4021,14 @@ module Aws::ECS
4000
4021
  # mismatch between the condition key value and the corresponding
4001
4022
  # parameter value.
4002
4023
  #
4024
+ # For information about required permissions and considerations, see
4025
+ # [Using Amazon ECS Exec for debugging][1] in the *Amazon ECS Developer
4026
+ # Guide*.
4027
+ #
4028
+ #
4029
+ #
4030
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.htm
4031
+ #
4003
4032
  # @option params [String] :cluster
4004
4033
  # The Amazon Resource Name (ARN) or short name of the cluster the task
4005
4034
  # is running in. If you do not specify a cluster, the default cluster is
@@ -6147,6 +6176,7 @@ module Aws::ECS
6147
6176
  # protocol: "tcp", # accepts tcp, udp
6148
6177
  # name: "String",
6149
6178
  # app_protocol: "http", # accepts http, http2, grpc
6179
+ # container_port_range: "String",
6150
6180
  # },
6151
6181
  # ],
6152
6182
  # essential: false,
@@ -6378,6 +6408,7 @@ module Aws::ECS
6378
6408
  # resp.task_definition.container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
6379
6409
  # resp.task_definition.container_definitions[0].port_mappings[0].name #=> String
6380
6410
  # resp.task_definition.container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
6411
+ # resp.task_definition.container_definitions[0].port_mappings[0].container_port_range #=> String
6381
6412
  # resp.task_definition.container_definitions[0].essential #=> Boolean
6382
6413
  # resp.task_definition.container_definitions[0].entry_point #=> Array
6383
6414
  # resp.task_definition.container_definitions[0].entry_point[0] #=> String
@@ -6950,6 +6981,8 @@ module Aws::ECS
6950
6981
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
6951
6982
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
6952
6983
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
6984
+ # resp.tasks[0].containers[0].network_bindings[0].container_port_range #=> String
6985
+ # resp.tasks[0].containers[0].network_bindings[0].host_port_range #=> String
6953
6986
  # resp.tasks[0].containers[0].network_interfaces #=> Array
6954
6987
  # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
6955
6988
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -7258,6 +7291,8 @@ module Aws::ECS
7258
7291
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
7259
7292
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
7260
7293
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
7294
+ # resp.tasks[0].containers[0].network_bindings[0].container_port_range #=> String
7295
+ # resp.tasks[0].containers[0].network_bindings[0].host_port_range #=> String
7261
7296
  # resp.tasks[0].containers[0].network_interfaces #=> Array
7262
7297
  # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
7263
7298
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -7424,6 +7459,8 @@ module Aws::ECS
7424
7459
  # resp.task.containers[0].network_bindings[0].container_port #=> Integer
7425
7460
  # resp.task.containers[0].network_bindings[0].host_port #=> Integer
7426
7461
  # resp.task.containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
7462
+ # resp.task.containers[0].network_bindings[0].container_port_range #=> String
7463
+ # resp.task.containers[0].network_bindings[0].host_port_range #=> String
7427
7464
  # resp.task.containers[0].network_interfaces #=> Array
7428
7465
  # resp.task.containers[0].network_interfaces[0].attachment_id #=> String
7429
7466
  # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -7598,6 +7635,8 @@ module Aws::ECS
7598
7635
  # container_port: 1,
7599
7636
  # host_port: 1,
7600
7637
  # protocol: "tcp", # accepts tcp, udp
7638
+ # container_port_range: "String",
7639
+ # host_port_range: "String",
7601
7640
  # },
7602
7641
  # ],
7603
7642
  # })
@@ -7677,6 +7716,8 @@ module Aws::ECS
7677
7716
  # container_port: 1,
7678
7717
  # host_port: 1,
7679
7718
  # protocol: "tcp", # accepts tcp, udp
7719
+ # container_port_range: "String",
7720
+ # host_port_range: "String",
7680
7721
  # },
7681
7722
  # ],
7682
7723
  # reason: "String",
@@ -8754,6 +8795,11 @@ module Aws::ECS
8754
8795
  # },
8755
8796
  # maximum_percent: 1,
8756
8797
  # minimum_healthy_percent: 1,
8798
+ # alarms: {
8799
+ # alarm_names: ["String"], # required
8800
+ # enable: false, # required
8801
+ # rollback: false, # required
8802
+ # },
8757
8803
  # },
8758
8804
  # network_configuration: {
8759
8805
  # awsvpc_configuration: {
@@ -8858,6 +8904,10 @@ module Aws::ECS
8858
8904
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
8859
8905
  # resp.service.deployment_configuration.maximum_percent #=> Integer
8860
8906
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
8907
+ # resp.service.deployment_configuration.alarms.alarm_names #=> Array
8908
+ # resp.service.deployment_configuration.alarms.alarm_names[0] #=> String
8909
+ # resp.service.deployment_configuration.alarms.enable #=> Boolean
8910
+ # resp.service.deployment_configuration.alarms.rollback #=> Boolean
8861
8911
  # resp.service.task_sets #=> Array
8862
8912
  # resp.service.task_sets[0].id #=> String
8863
8913
  # resp.service.task_sets[0].task_set_arn #=> String
@@ -9349,7 +9399,7 @@ module Aws::ECS
9349
9399
  params: params,
9350
9400
  config: config)
9351
9401
  context[:gem_name] = 'aws-sdk-ecs'
9352
- context[:gem_version] = '1.107.0'
9402
+ context[:gem_version] = '1.110.0'
9353
9403
  Seahorse::Client::Request.new(handlers, context)
9354
9404
  end
9355
9405
 
@@ -99,6 +99,7 @@ module Aws::ECS
99
99
  DeleteTaskSetRequest = Shapes::StructureShape.new(name: 'DeleteTaskSetRequest')
100
100
  DeleteTaskSetResponse = Shapes::StructureShape.new(name: 'DeleteTaskSetResponse')
101
101
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
102
+ DeploymentAlarms = Shapes::StructureShape.new(name: 'DeploymentAlarms')
102
103
  DeploymentCircuitBreaker = Shapes::StructureShape.new(name: 'DeploymentCircuitBreaker')
103
104
  DeploymentConfiguration = Shapes::StructureShape.new(name: 'DeploymentConfiguration')
104
105
  DeploymentController = Shapes::StructureShape.new(name: 'DeploymentController')
@@ -747,6 +748,11 @@ module Aws::ECS
747
748
  Deployment.add_member(:service_connect_resources, Shapes::ShapeRef.new(shape: ServiceConnectServiceResourceList, location_name: "serviceConnectResources"))
748
749
  Deployment.struct_class = Types::Deployment
749
750
 
751
+ DeploymentAlarms.add_member(:alarm_names, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "alarmNames"))
752
+ DeploymentAlarms.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
753
+ DeploymentAlarms.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
754
+ DeploymentAlarms.struct_class = Types::DeploymentAlarms
755
+
750
756
  DeploymentCircuitBreaker.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
751
757
  DeploymentCircuitBreaker.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
752
758
  DeploymentCircuitBreaker.struct_class = Types::DeploymentCircuitBreaker
@@ -754,6 +760,7 @@ module Aws::ECS
754
760
  DeploymentConfiguration.add_member(:deployment_circuit_breaker, Shapes::ShapeRef.new(shape: DeploymentCircuitBreaker, location_name: "deploymentCircuitBreaker"))
755
761
  DeploymentConfiguration.add_member(:maximum_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maximumPercent"))
756
762
  DeploymentConfiguration.add_member(:minimum_healthy_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "minimumHealthyPercent"))
763
+ DeploymentConfiguration.add_member(:alarms, Shapes::ShapeRef.new(shape: DeploymentAlarms, location_name: "alarms"))
757
764
  DeploymentConfiguration.struct_class = Types::DeploymentConfiguration
758
765
 
759
766
  DeploymentController.add_member(:type, Shapes::ShapeRef.new(shape: DeploymentControllerType, required: true, location_name: "type"))
@@ -1165,6 +1172,8 @@ module Aws::ECS
1165
1172
  NetworkBinding.add_member(:container_port, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "containerPort"))
1166
1173
  NetworkBinding.add_member(:host_port, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "hostPort"))
1167
1174
  NetworkBinding.add_member(:protocol, Shapes::ShapeRef.new(shape: TransportProtocol, location_name: "protocol"))
1175
+ NetworkBinding.add_member(:container_port_range, Shapes::ShapeRef.new(shape: String, location_name: "containerPortRange"))
1176
+ NetworkBinding.add_member(:host_port_range, Shapes::ShapeRef.new(shape: String, location_name: "hostPortRange"))
1168
1177
  NetworkBinding.struct_class = Types::NetworkBinding
1169
1178
 
1170
1179
  NetworkBindings.member = Shapes::ShapeRef.new(shape: NetworkBinding)
@@ -1208,6 +1217,7 @@ module Aws::ECS
1208
1217
  PortMapping.add_member(:protocol, Shapes::ShapeRef.new(shape: TransportProtocol, location_name: "protocol"))
1209
1218
  PortMapping.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
1210
1219
  PortMapping.add_member(:app_protocol, Shapes::ShapeRef.new(shape: ApplicationProtocol, location_name: "appProtocol"))
1220
+ PortMapping.add_member(:container_port_range, Shapes::ShapeRef.new(shape: String, location_name: "containerPortRange"))
1211
1221
  PortMapping.struct_class = Types::PortMapping
1212
1222
 
1213
1223
  PortMappingList.member = Shapes::ShapeRef.new(shape: PortMapping)
@@ -9,103 +9,43 @@
9
9
 
10
10
  module Aws::ECS
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
46
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
47
+ raise ArgumentError, 'No endpoint could be resolved'
24
48
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
49
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
- YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
- ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
- aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
- ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
- IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
- bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
- aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
- IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
- IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
- aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
- Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
- cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
- bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
- YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
- bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
- ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
- IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
- b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
- ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
- dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
- c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfSx7ImZuIjoicGFy
54
- c2VVUkwiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XSwiYXNzaWduIjoi
55
- dXJsIn1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
56
- eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBT
57
- In0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZpZ3VyYXRpb246IEZJ
58
- UFMgYW5kIGN1c3RvbSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5
59
- cGUiOiJlcnJvciJ9LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwi
60
- cnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
61
- ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sImVycm9y
62
- IjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBEdWFsc3RhY2sgYW5kIGN1c3Rv
63
- bSBlbmRwb2ludCBhcmUgbm90IHN1cHBvcnRlZCIsInR5cGUiOiJlcnJvciJ9
64
- LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6eyJyZWYiOiJF
65
- bmRwb2ludCJ9LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
66
- IjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
67
- YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsi
68
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0
69
- YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
70
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
71
- biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
72
- fSwic3VwcG9ydHNGSVBTIl19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
73
- cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
74
- cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlw
75
- ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50
76
- Ijp7InVybCI6Imh0dHBzOi8vZWNzLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlv
77
- blJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30s
78
- ImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlv
79
- bnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5hYmxl
80
- ZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25lIG9y
81
- IGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4i
82
- OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRy
83
- dWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7
84
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRB
85
- dHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBv
86
- cnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
87
- aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
88
- OltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2Vjcy1maXBzLntSZWdp
89
- b259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMi
90
- Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfSx7ImNv
91
- bmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxlZCBidXQgdGhp
92
- cyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwidHlwZSI6ImVy
93
- cm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIs
94
- ImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sInR5cGUi
95
- OiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
96
- bkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6
97
- W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRHVhbFN0YWNr
98
- Il19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
99
- XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9lY3Mue1JlZ2lvbn0ue1Bh
100
- cnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGll
101
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNv
102
- bmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1
103
- dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIs
104
- InR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQi
105
- OnsidXJsIjoiaHR0cHM6Ly9lY3Mue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3Vs
106
- dCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
107
- dHlwZSI6ImVuZHBvaW50In1dfV19
108
-
109
- JSON
110
50
  end
111
51
  end
@@ -3453,6 +3453,51 @@ module Aws::ECS
3453
3453
  include Aws::Structure
3454
3454
  end
3455
3455
 
3456
+ # One of the methods which provide a way for you to quickly identify
3457
+ # when a deployment has failed, and then to optionally roll back the
3458
+ # failure to the last working deployment.
3459
+ #
3460
+ # When the alarms are generated, Amazon ECS sets the service deployment
3461
+ # to failed. Set the rollback parameter to have Amazon ECS to roll back
3462
+ # your service to the last completed deployment after a failure.
3463
+ #
3464
+ # You can only use the `DeploymentAlarms` method to detect failures when
3465
+ # the `DeploymentController` is set to `ECS` (rolling update).
3466
+ #
3467
+ # For more information, see [Rolling update][1] in the <i> <i>Amazon
3468
+ # Elastic Container Service Developer Guide</i> </i>.
3469
+ #
3470
+ #
3471
+ #
3472
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html
3473
+ #
3474
+ # @!attribute [rw] alarm_names
3475
+ # One or more CloudWatch alarm names. Use a "," to separate the
3476
+ # alarms.
3477
+ # @return [Array<String>]
3478
+ #
3479
+ # @!attribute [rw] enable
3480
+ # Determines whether to use the CloudWatch alarm option in the service
3481
+ # deployment process.
3482
+ # @return [Boolean]
3483
+ #
3484
+ # @!attribute [rw] rollback
3485
+ # Determines whether to configure Amazon ECS to roll back the service
3486
+ # if a service deployment fails. If rollback is used, when a service
3487
+ # deployment fails, the service is rolled back to the last deployment
3488
+ # that completed successfully.
3489
+ # @return [Boolean]
3490
+ #
3491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentAlarms AWS API Documentation
3492
+ #
3493
+ class DeploymentAlarms < Struct.new(
3494
+ :alarm_names,
3495
+ :enable,
3496
+ :rollback)
3497
+ SENSITIVE = []
3498
+ include Aws::Structure
3499
+ end
3500
+
3456
3501
  # <note markdown="1"> The deployment circuit breaker can only be used for services using the
3457
3502
  # rolling update (`ECS`) deployment type that aren't behind a Classic
3458
3503
  # Load Balancer.
@@ -3478,9 +3523,9 @@ module Aws::ECS
3478
3523
  #
3479
3524
  # @!attribute [rw] rollback
3480
3525
  # Determines whether to configure Amazon ECS to roll back the service
3481
- # if a service deployment fails. If rollback is enabled, when a
3482
- # service deployment fails, the service is rolled back to the last
3483
- # deployment that completed successfully.
3526
+ # if a service deployment fails. If rollback is on, when a service
3527
+ # deployment fails, the service is rolled back to the last deployment
3528
+ # that completed successfully.
3484
3529
  # @return [Boolean]
3485
3530
  #
3486
3531
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentCircuitBreaker AWS API Documentation
@@ -3590,12 +3635,17 @@ module Aws::ECS
3590
3635
  # when describing your service.
3591
3636
  # @return [Integer]
3592
3637
  #
3638
+ # @!attribute [rw] alarms
3639
+ # Information about the CloudWatch alarms.
3640
+ # @return [Types::DeploymentAlarms]
3641
+ #
3593
3642
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration AWS API Documentation
3594
3643
  #
3595
3644
  class DeploymentConfiguration < Struct.new(
3596
3645
  :deployment_circuit_breaker,
3597
3646
  :maximum_percent,
3598
- :minimum_healthy_percent)
3647
+ :minimum_healthy_percent,
3648
+ :alarms)
3599
3649
  SENSITIVE = []
3600
3650
  include Aws::Structure
3601
3651
  end
@@ -6462,13 +6512,83 @@ module Aws::ECS
6462
6512
  # The protocol used for the network binding.
6463
6513
  # @return [String]
6464
6514
  #
6515
+ # @!attribute [rw] container_port_range
6516
+ # The port number range on the container that's bound to the
6517
+ # dynamically mapped host port range.
6518
+ #
6519
+ # The following rules apply when you specify a `containerPortRange`\:
6520
+ #
6521
+ # * You must use either the `bridge` network mode or the `awsvpc`
6522
+ # network mode.
6523
+ #
6524
+ # * This parameter is available for both the EC2 and Fargate launch
6525
+ # types.
6526
+ #
6527
+ # * This parameter is available for both the Linux and Windows
6528
+ # operating systems.
6529
+ #
6530
+ # * The container instance must have at least version 1.67.0 of the
6531
+ # container agent and at least version 1.67.0-1 of the `ecs-init`
6532
+ # package
6533
+ #
6534
+ # * You can specify a maximum of 100 port ranges per container.
6535
+ #
6536
+ # * You do not specify a `hostPortRange`. The value of the
6537
+ # `hostPortRange` is set as follows:
6538
+ #
6539
+ # * For containers in a task with the `awsvpc` network mode, the
6540
+ # `hostPort` is set to the same value as the `containerPort`. This
6541
+ # is a static mapping strategy.
6542
+ #
6543
+ # * For containers in a task with the `bridge` network mode, the
6544
+ # Amazon ECS agent finds open host ports from the default
6545
+ # ephemeral range and passes it to docker to bind them to the
6546
+ # container ports.
6547
+ #
6548
+ # * The `containerPortRange` valid values are between 1 and 65535.
6549
+ #
6550
+ # * A port can only be included in one port mapping per container.
6551
+ #
6552
+ # * You cannot specify overlapping port ranges.
6553
+ #
6554
+ # * The first port in the range must be less than last port in the
6555
+ # range.
6556
+ #
6557
+ # * Docker recommends that you turn off the docker-proxy in the Docker
6558
+ # daemon config file when you have a large number of ports.
6559
+ #
6560
+ # For more information, see [ Issue #11185][1] on the Github
6561
+ # website.
6562
+ #
6563
+ # For information about how to turn off the docker-proxy in the
6564
+ # Docker daemon config file, see [Docker daemon][2] in the *Amazon
6565
+ # ECS Developer Guide*.
6566
+ #
6567
+ # You can call [ `DescribeTasks` ][3] to view the `hostPortRange`
6568
+ # which are the host ports that are bound to the container ports.
6569
+ #
6570
+ #
6571
+ #
6572
+ # [1]: https://github.com/moby/moby/issues/11185
6573
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon
6574
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html
6575
+ # @return [String]
6576
+ #
6577
+ # @!attribute [rw] host_port_range
6578
+ # The port number range on the host that's used with the network
6579
+ # binding. This is assigned is assigned by Docker and delivered by the
6580
+ # Amazon ECS agent.
6581
+ # @return [String]
6582
+ #
6465
6583
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NetworkBinding AWS API Documentation
6466
6584
  #
6467
6585
  class NetworkBinding < Struct.new(
6468
6586
  :bind_ip,
6469
6587
  :container_port,
6470
6588
  :host_port,
6471
- :protocol)
6589
+ :protocol,
6590
+ :container_port_range,
6591
+ :host_port_range)
6472
6592
  SENSITIVE = []
6473
6593
  include Aws::Structure
6474
6594
  end
@@ -6678,6 +6798,18 @@ module Aws::ECS
6678
6798
  # The port number on the container instance to reserve for your
6679
6799
  # container.
6680
6800
  #
6801
+ # If you specify a `containerPortRange`, leave this field empty and
6802
+ # the value of the `hostPort` is set as follows:
6803
+ #
6804
+ # * For containers in a task with the `awsvpc` network mode, the
6805
+ # `hostPort` is set to the same value as the `containerPort`. This
6806
+ # is a static mapping strategy.
6807
+ #
6808
+ # * For containers in a task with the `bridge` network mode, the
6809
+ # Amazon ECS agent finds open ports on the host and automaticaly
6810
+ # binds them to the container ports. This is a dynamic mapping
6811
+ # strategy.
6812
+ #
6681
6813
  # If you use containers in a task with the `awsvpc` or `host` network
6682
6814
  # mode, the `hostPort` can either be left blank or set to the same
6683
6815
  # value as the `containerPort`.
@@ -6757,6 +6889,68 @@ module Aws::ECS
6757
6889
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
6758
6890
  # @return [String]
6759
6891
  #
6892
+ # @!attribute [rw] container_port_range
6893
+ # The port number range on the container that's bound to the
6894
+ # dynamically mapped host port range.
6895
+ #
6896
+ # The following rules apply when you specify a `containerPortRange`\:
6897
+ #
6898
+ # * You must use either the `bridge` network mode or the `awsvpc`
6899
+ # network mode.
6900
+ #
6901
+ # * This parameter is available for both the EC2 and Fargate launch
6902
+ # types.
6903
+ #
6904
+ # * This parameter is available for both the Linux and Windows
6905
+ # operating systems.
6906
+ #
6907
+ # * The container instance must have at least version 1.67.0 of the
6908
+ # container agent and at least version 1.67.0-1 of the `ecs-init`
6909
+ # package
6910
+ #
6911
+ # * You can specify a maximum of 100 port ranges per container.
6912
+ #
6913
+ # * You do not specify a `hostPortRange`. The value of the
6914
+ # `hostPortRange` is set as follows:
6915
+ #
6916
+ # * For containers in a task with the `awsvpc` network mode, the
6917
+ # `hostPort` is set to the same value as the `containerPort`. This
6918
+ # is a static mapping strategy.
6919
+ #
6920
+ # * For containers in a task with the `bridge` network mode, the
6921
+ # Amazon ECS agent finds open host ports from the default
6922
+ # ephemeral range and passes it to docker to bind them to the
6923
+ # container ports.
6924
+ #
6925
+ # * The `containerPortRange` valid values are between 1 and 65535.
6926
+ #
6927
+ # * A port can only be included in one port mapping per container.
6928
+ #
6929
+ # * You cannot specify overlapping port ranges.
6930
+ #
6931
+ # * The first port in the range must be less than last port in the
6932
+ # range.
6933
+ #
6934
+ # * Docker recommends that you turn off the docker-proxy in the Docker
6935
+ # daemon config file when you have a large number of ports.
6936
+ #
6937
+ # For more information, see [ Issue #11185][1] on the Github
6938
+ # website.
6939
+ #
6940
+ # For information about how to turn off the docker-proxy in the
6941
+ # Docker daemon config file, see [Docker daemon][2] in the *Amazon
6942
+ # ECS Developer Guide*.
6943
+ #
6944
+ # You can call [ `DescribeTasks` ][3] to view the `hostPortRange`
6945
+ # which are the host ports that are bound to the container ports.
6946
+ #
6947
+ #
6948
+ #
6949
+ # [1]: https://github.com/moby/moby/issues/11185
6950
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon
6951
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html
6952
+ # @return [String]
6953
+ #
6760
6954
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PortMapping AWS API Documentation
6761
6955
  #
6762
6956
  class PortMapping < Struct.new(
@@ -6764,7 +6958,8 @@ module Aws::ECS
6764
6958
  :host_port,
6765
6959
  :protocol,
6766
6960
  :name,
6767
- :app_protocol)
6961
+ :app_protocol,
6962
+ :container_port_range)
6768
6963
  SENSITIVE = []
6769
6964
  include Aws::Structure
6770
6965
  end
data/lib/aws-sdk-ecs.rb CHANGED
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-ecs/customizations'
53
53
  # @!group service
54
54
  module Aws::ECS
55
55
 
56
- GEM_VERSION = '1.107.0'
56
+ GEM_VERSION = '1.110.0'
57
57
 
58
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ecs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.107.0
4
+ version: 1.110.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-02 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core