aws-sdk-route53recoverycluster 1.10.0 → 1.12.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: f056cc69373080730ec362738dadfae29b85b71725c5fb4a115dffe9a0d93a7b
4
- data.tar.gz: 41c963fcdad2d37d117b5d098ed9654b484a50838d13f8802f15c59ad458eec3
3
+ metadata.gz: '078b5f2dcc2d882688fd5453b177d23739f12564b10fcf77cd3b91eeb137b3c7'
4
+ data.tar.gz: fe5fd0e9b395cd0ddcb806444597d76e324c2782f7521d5f89359839ac0f8339
5
5
  SHA512:
6
- metadata.gz: fdcb8d7886a77419677e60b5691754f187344d6ad179e6d77bc74dae6224010009c50c37a9829e997883b471994170383b4ba689335c8ab9563ce6a427471709
7
- data.tar.gz: f6c72de1f9feb7b61c6cb53c84afca7f1df171d3e6abb1ff015850eb4f69fb7862b8a94ac1f81ebf2c634d35d845171b0e76f56f3e1114602167005466a27919
6
+ metadata.gz: 816065ff9ed19c273f8e64e3ee3eadee2aa86b13ddbfbe2ddff1ee957c75aef53b0e11e803db40b5d45bf864550dac1351d8f2de8693a0df9c34d96c5e4eac15
7
+ data.tar.gz: ce5b6fa82f51b75c998944ff9eb66090af8f869f80c805adf8d9e977acfb41cdcaec5f1960f40084652fb9359b301b926a45bd7bec7f56fa0014c12088ae77fe
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.12.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.11.0 (2022-03-31)
10
+ ------------------
11
+
12
+ * Feature - This release adds a new API "ListRoutingControls" to list routing control states using the highly reliable Route 53 ARC data plane endpoints.
13
+
4
14
  1.10.0 (2022-02-28)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.10.0
1
+ 1.12.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:route53recoverycluster)
@@ -79,8 +79,9 @@ module Aws::Route53RecoveryCluster
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::Route53RecoveryCluster::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::Route53RecoveryCluster
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::Route53RecoveryCluster
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::Route53RecoveryCluster::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Route53RecoveryCluster::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -362,20 +379,19 @@ module Aws::Route53RecoveryCluster
362
379
  # @!group API Operations
363
380
 
364
381
  # Get the state for a routing control. A routing control is a simple
365
- # on/off switch that you can use to route traffic to cells. When the
366
- # state is On, traffic flows to a cell. When it's Off, traffic does not
367
- # flow.
382
+ # on/off switch that you can use to route traffic to cells. When a
383
+ # routing control state is On, traffic flows to a cell. When the state
384
+ # is Off, traffic does not flow.
368
385
  #
369
386
  # Before you can create a routing control, you must first create a
370
- # cluster to host the control in a control panel. For more information,
371
- # see [ Create routing control structures][1] in the Amazon Route 53
372
- # Application Recovery Controller Developer Guide. Then you access one
373
- # of the endpoints for the cluster to get or update the routing control
374
- # state to redirect traffic.
387
+ # cluster, and then host the control in a control panel on the cluster.
388
+ # For more information, see [ Create routing control structures][1] in
389
+ # the Amazon Route 53 Application Recovery Controller Developer Guide.
390
+ # You access one of the endpoints for the cluster to get or update the
391
+ # routing control state to redirect traffic for your application.
375
392
  #
376
393
  # *You must specify Regional endpoints when you work with API cluster
377
- # operations to get or update routing control states in Application
378
- # Recovery Controller.*
394
+ # operations to get or update routing control states in Route 53 ARC.*
379
395
  #
380
396
  # To see a code example for getting a routing control state, including
381
397
  # accessing Regional cluster endpoints in sequence, see [API
@@ -388,7 +404,7 @@ module Aws::Route53RecoveryCluster
388
404
  #
389
405
  # * [ Viewing and updating routing control states][3]
390
406
  #
391
- # * [Working with routing controls overall][4]
407
+ # * [Working with routing controls in Route 53 ARC][4]
392
408
  #
393
409
  #
394
410
  #
@@ -398,13 +414,14 @@ module Aws::Route53RecoveryCluster
398
414
  # [4]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
399
415
  #
400
416
  # @option params [required, String] :routing_control_arn
401
- # The Amazon Resource Number (ARN) for the routing control that you want
417
+ # The Amazon Resource Name (ARN) for the routing control that you want
402
418
  # to get the state for.
403
419
  #
404
420
  # @return [Types::GetRoutingControlStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
405
421
  #
406
422
  # * {Types::GetRoutingControlStateResponse#routing_control_arn #routing_control_arn} => String
407
423
  # * {Types::GetRoutingControlStateResponse#routing_control_state #routing_control_state} => String
424
+ # * {Types::GetRoutingControlStateResponse#routing_control_name #routing_control_name} => String
408
425
  #
409
426
  # @example Request syntax with placeholder values
410
427
  #
@@ -416,6 +433,7 @@ module Aws::Route53RecoveryCluster
416
433
  #
417
434
  # resp.routing_control_arn #=> String
418
435
  # resp.routing_control_state #=> String, one of "On", "Off"
436
+ # resp.routing_control_name #=> String
419
437
  #
420
438
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/GetRoutingControlState AWS API Documentation
421
439
  #
@@ -426,21 +444,103 @@ module Aws::Route53RecoveryCluster
426
444
  req.send_request(options)
427
445
  end
428
446
 
447
+ # List routing control names and Amazon Resource Names (ARNs), as well
448
+ # as the routing control state for each routing control, along with the
449
+ # control panel name and control panel ARN for the routing controls. If
450
+ # you specify a control panel ARN, this call lists the routing controls
451
+ # in the control panel. Otherwise, it lists all the routing controls in
452
+ # the cluster.
453
+ #
454
+ # A routing control is a simple on/off switch in Route 53 ARC that you
455
+ # can use to route traffic to cells. When a routing control state is On,
456
+ # traffic flows to a cell. When the state is Off, traffic does not flow.
457
+ #
458
+ # Before you can create a routing control, you must first create a
459
+ # cluster, and then host the control in a control panel on the cluster.
460
+ # For more information, see [ Create routing control structures][1] in
461
+ # the Amazon Route 53 Application Recovery Controller Developer Guide.
462
+ # You access one of the endpoints for the cluster to get or update the
463
+ # routing control state to redirect traffic for your application.
464
+ #
465
+ # *You must specify Regional endpoints when you work with API cluster
466
+ # operations to use this API operation to list routing controls in Route
467
+ # 53 ARC.*
468
+ #
469
+ # Learn more about working with routing controls in the following topics
470
+ # in the Amazon Route 53 Application Recovery Controller Developer
471
+ # Guide:
472
+ #
473
+ # * [ Viewing and updating routing control states][2]
474
+ #
475
+ # * [Working with routing controls in Route 53 ARC][3]
476
+ #
477
+ #
478
+ #
479
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.create.html
480
+ # [2]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.update.html
481
+ # [3]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
482
+ #
483
+ # @option params [String] :control_panel_arn
484
+ # The Amazon Resource Name (ARN) of the control panel of the routing
485
+ # controls to list.
486
+ #
487
+ # @option params [String] :next_token
488
+ # The token for the next set of results. You receive this token from a
489
+ # previous call.
490
+ #
491
+ # @option params [Integer] :max_results
492
+ # The number of routing controls objects that you want to return with
493
+ # this call. The default value is 500.
494
+ #
495
+ # @return [Types::ListRoutingControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
496
+ #
497
+ # * {Types::ListRoutingControlsResponse#routing_controls #routing_controls} => Array<Types::RoutingControl>
498
+ # * {Types::ListRoutingControlsResponse#next_token #next_token} => String
499
+ #
500
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
501
+ #
502
+ # @example Request syntax with placeholder values
503
+ #
504
+ # resp = client.list_routing_controls({
505
+ # control_panel_arn: "Arn",
506
+ # next_token: "PageToken",
507
+ # max_results: 1,
508
+ # })
509
+ #
510
+ # @example Response structure
511
+ #
512
+ # resp.routing_controls #=> Array
513
+ # resp.routing_controls[0].control_panel_arn #=> String
514
+ # resp.routing_controls[0].control_panel_name #=> String
515
+ # resp.routing_controls[0].routing_control_arn #=> String
516
+ # resp.routing_controls[0].routing_control_name #=> String
517
+ # resp.routing_controls[0].routing_control_state #=> String, one of "On", "Off"
518
+ # resp.next_token #=> String
519
+ #
520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/ListRoutingControls AWS API Documentation
521
+ #
522
+ # @overload list_routing_controls(params = {})
523
+ # @param [Hash] params ({})
524
+ def list_routing_controls(params = {}, options = {})
525
+ req = build_request(:list_routing_controls, params)
526
+ req.send_request(options)
527
+ end
528
+
429
529
  # Set the state of the routing control to reroute traffic. You can set
430
530
  # the value to be On or Off. When the state is On, traffic flows to a
431
- # cell. When it's Off, traffic does not flow.
432
- #
433
- # With Application Recovery Controller, you can add safety rules for
434
- # routing controls, which are safeguards for routing control state
435
- # updates that help prevent unexpected outcomes, like fail open traffic
436
- # routing. However, there are scenarios when you might want to bypass
437
- # the routing control safeguards that are enforced with safety rules
438
- # that you've configured. For example, you might want to fail over
439
- # quickly for disaster recovery, and one or more safety rules might be
440
- # unexpectedly preventing you from updating a routing control state to
441
- # reroute traffic. In a "break glass" scenario like this, you can
442
- # override one or more safety rules to change a routing control state
443
- # and fail over your application.
531
+ # cell. When the state is Off, traffic does not flow.
532
+ #
533
+ # With Route 53 ARC, you can add safety rules for routing controls,
534
+ # which are safeguards for routing control state updates that help
535
+ # prevent unexpected outcomes, like fail open traffic routing. However,
536
+ # there are scenarios when you might want to bypass the routing control
537
+ # safeguards that are enforced with safety rules that you've
538
+ # configured. For example, you might want to fail over quickly for
539
+ # disaster recovery, and one or more safety rules might be unexpectedly
540
+ # preventing you from updating a routing control state to reroute
541
+ # traffic. In a "break glass" scenario like this, you can override one
542
+ # or more safety rules to change a routing control state and fail over
543
+ # your application.
444
544
  #
445
545
  # The `SafetyRulesToOverride` property enables you override one or more
446
546
  # safety rules and update routing control states. For more information,
@@ -448,8 +548,7 @@ module Aws::Route53RecoveryCluster
448
548
  # 53 Application Recovery Controller Developer Guide.
449
549
  #
450
550
  # *You must specify Regional endpoints when you work with API cluster
451
- # operations to get or update routing control states in Application
452
- # Recovery Controller.*
551
+ # operations to get or update routing control states in Route 53 ARC.*
453
552
  #
454
553
  # To see a code example for getting a routing control state, including
455
554
  # accessing Regional cluster endpoints in sequence, see [API
@@ -468,7 +567,7 @@ module Aws::Route53RecoveryCluster
468
567
  # [4]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
469
568
  #
470
569
  # @option params [required, String] :routing_control_arn
471
- # The Amazon Resource Number (ARN) for the routing control that you want
570
+ # The Amazon Resource Name (ARN) for the routing control that you want
472
571
  # to update the state for.
473
572
  #
474
573
  # @option params [required, String] :routing_control_state
@@ -476,10 +575,10 @@ module Aws::Route53RecoveryCluster
476
575
  # Off.
477
576
  #
478
577
  # @option params [Array<String>] :safety_rules_to_override
479
- # The Amazon Resource Numbers (ARNs) for the safety rules that you want
480
- # to override when you're updating the state of a routing control. You
481
- # can override one safety rule or multiple safety rules by including one
482
- # or more ARNs, separated by commas.
578
+ # The Amazon Resource Names (ARNs) for the safety rules that you want to
579
+ # override when you're updating the state of a routing control. You can
580
+ # override one safety rule or multiple safety rules by including one or
581
+ # more ARNs, separated by commas.
483
582
  #
484
583
  # For more information, see [ Override safety rules to reroute
485
584
  # traffic][1] in the Amazon Route 53 Application Recovery Controller
@@ -512,17 +611,17 @@ module Aws::Route53RecoveryCluster
512
611
  # state to be On or Off. When the state is On, traffic flows to a cell.
513
612
  # When it's Off, traffic does not flow.
514
613
  #
515
- # With Application Recovery Controller, you can add safety rules for
516
- # routing controls, which are safeguards for routing control state
517
- # updates that help prevent unexpected outcomes, like fail open traffic
518
- # routing. However, there are scenarios when you might want to bypass
519
- # the routing control safeguards that are enforced with safety rules
520
- # that you've configured. For example, you might want to fail over
521
- # quickly for disaster recovery, and one or more safety rules might be
522
- # unexpectedly preventing you from updating a routing control state to
523
- # reroute traffic. In a "break glass" scenario like this, you can
524
- # override one or more safety rules to change a routing control state
525
- # and fail over your application.
614
+ # With Route 53 ARC, you can add safety rules for routing controls,
615
+ # which are safeguards for routing control state updates that help
616
+ # prevent unexpected outcomes, like fail open traffic routing. However,
617
+ # there are scenarios when you might want to bypass the routing control
618
+ # safeguards that are enforced with safety rules that you've
619
+ # configured. For example, you might want to fail over quickly for
620
+ # disaster recovery, and one or more safety rules might be unexpectedly
621
+ # preventing you from updating a routing control state to reroute
622
+ # traffic. In a "break glass" scenario like this, you can override one
623
+ # or more safety rules to change a routing control state and fail over
624
+ # your application.
526
625
  #
527
626
  # The `SafetyRulesToOverride` property enables you override one or more
528
627
  # safety rules and update routing control states. For more information,
@@ -530,8 +629,7 @@ module Aws::Route53RecoveryCluster
530
629
  # 53 Application Recovery Controller Developer Guide.
531
630
  #
532
631
  # *You must specify Regional endpoints when you work with API cluster
533
- # operations to get or update routing control states in Application
534
- # Recovery Controller.*
632
+ # operations to get or update routing control states in Route 53 ARC.*
535
633
  #
536
634
  # To see a code example for getting a routing control state, including
537
635
  # accessing Regional cluster endpoints in sequence, see [API
@@ -553,8 +651,8 @@ module Aws::Route53RecoveryCluster
553
651
  # A set of routing control entries that you want to update.
554
652
  #
555
653
  # @option params [Array<String>] :safety_rules_to_override
556
- # The Amazon Resource Numbers (ARNs) for the safety rules that you want
557
- # to override when you're updating routing control states. You can
654
+ # The Amazon Resource Names (ARNs) for the safety rules that you want to
655
+ # override when you're updating routing control states. You can
558
656
  # override one safety rule or multiple safety rules by including one or
559
657
  # more ARNs, separated by commas.
560
658
  #
@@ -602,7 +700,7 @@ module Aws::Route53RecoveryCluster
602
700
  params: params,
603
701
  config: config)
604
702
  context[:gem_name] = 'aws-sdk-route53recoverycluster'
605
- context[:gem_version] = '1.10.0'
703
+ context[:gem_version] = '1.12.0'
606
704
  Seahorse::Client::Request.new(handlers, context)
607
705
  end
608
706
 
@@ -17,13 +17,22 @@ module Aws::Route53RecoveryCluster
17
17
  Arn = Shapes::StringShape.new(name: 'Arn')
18
18
  Arns = Shapes::ListShape.new(name: 'Arns')
19
19
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
20
+ ControlPanelName = Shapes::StringShape.new(name: 'ControlPanelName')
20
21
  EndpointTemporarilyUnavailableException = Shapes::StructureShape.new(name: 'EndpointTemporarilyUnavailableException')
21
22
  GetRoutingControlStateRequest = Shapes::StructureShape.new(name: 'GetRoutingControlStateRequest')
22
23
  GetRoutingControlStateResponse = Shapes::StructureShape.new(name: 'GetRoutingControlStateResponse')
23
24
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
25
+ ListRoutingControlsRequest = Shapes::StructureShape.new(name: 'ListRoutingControlsRequest')
26
+ ListRoutingControlsResponse = Shapes::StructureShape.new(name: 'ListRoutingControlsResponse')
27
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
28
+ PageToken = Shapes::StringShape.new(name: 'PageToken')
24
29
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
25
30
  RetryAfterSeconds = Shapes::IntegerShape.new(name: 'RetryAfterSeconds')
31
+ RoutingControl = Shapes::StructureShape.new(name: 'RoutingControl')
32
+ RoutingControlName = Shapes::StringShape.new(name: 'RoutingControlName')
26
33
  RoutingControlState = Shapes::StringShape.new(name: 'RoutingControlState')
34
+ RoutingControls = Shapes::ListShape.new(name: 'RoutingControls')
35
+ ServiceLimitExceededException = Shapes::StructureShape.new(name: 'ServiceLimitExceededException')
27
36
  String = Shapes::StringShape.new(name: 'String')
28
37
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
29
38
  UpdateRoutingControlStateEntries = Shapes::ListShape.new(name: 'UpdateRoutingControlStateEntries')
@@ -55,17 +64,43 @@ module Aws::Route53RecoveryCluster
55
64
 
56
65
  GetRoutingControlStateResponse.add_member(:routing_control_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "RoutingControlArn"))
57
66
  GetRoutingControlStateResponse.add_member(:routing_control_state, Shapes::ShapeRef.new(shape: RoutingControlState, required: true, location_name: "RoutingControlState"))
67
+ GetRoutingControlStateResponse.add_member(:routing_control_name, Shapes::ShapeRef.new(shape: RoutingControlName, location_name: "RoutingControlName"))
58
68
  GetRoutingControlStateResponse.struct_class = Types::GetRoutingControlStateResponse
59
69
 
60
70
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
61
71
  InternalServerException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location_name: "retryAfterSeconds"))
62
72
  InternalServerException.struct_class = Types::InternalServerException
63
73
 
74
+ ListRoutingControlsRequest.add_member(:control_panel_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ControlPanelArn"))
75
+ ListRoutingControlsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "NextToken"))
76
+ ListRoutingControlsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults", metadata: {"box"=>true}))
77
+ ListRoutingControlsRequest.struct_class = Types::ListRoutingControlsRequest
78
+
79
+ ListRoutingControlsResponse.add_member(:routing_controls, Shapes::ShapeRef.new(shape: RoutingControls, required: true, location_name: "RoutingControls"))
80
+ ListRoutingControlsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "NextToken"))
81
+ ListRoutingControlsResponse.struct_class = Types::ListRoutingControlsResponse
82
+
64
83
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
65
84
  ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
66
85
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
67
86
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
68
87
 
88
+ RoutingControl.add_member(:control_panel_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ControlPanelArn"))
89
+ RoutingControl.add_member(:control_panel_name, Shapes::ShapeRef.new(shape: ControlPanelName, location_name: "ControlPanelName"))
90
+ RoutingControl.add_member(:routing_control_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "RoutingControlArn"))
91
+ RoutingControl.add_member(:routing_control_name, Shapes::ShapeRef.new(shape: RoutingControlName, location_name: "RoutingControlName"))
92
+ RoutingControl.add_member(:routing_control_state, Shapes::ShapeRef.new(shape: RoutingControlState, location_name: "RoutingControlState"))
93
+ RoutingControl.struct_class = Types::RoutingControl
94
+
95
+ RoutingControls.member = Shapes::ShapeRef.new(shape: RoutingControl)
96
+
97
+ ServiceLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
98
+ ServiceLimitExceededException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, location_name: "resourceId"))
99
+ ServiceLimitExceededException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
100
+ ServiceLimitExceededException.add_member(:limit_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "limitCode"))
101
+ ServiceLimitExceededException.add_member(:service_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceCode"))
102
+ ServiceLimitExceededException.struct_class = Types::ServiceLimitExceededException
103
+
69
104
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
70
105
  ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location_name: "retryAfterSeconds"))
71
106
  ThrottlingException.struct_class = Types::ThrottlingException
@@ -133,6 +168,26 @@ module Aws::Route53RecoveryCluster
133
168
  o.errors << Shapes::ShapeRef.new(shape: EndpointTemporarilyUnavailableException)
134
169
  end)
135
170
 
171
+ api.add_operation(:list_routing_controls, Seahorse::Model::Operation.new.tap do |o|
172
+ o.name = "ListRoutingControls"
173
+ o.http_method = "POST"
174
+ o.http_request_uri = "/"
175
+ o.input = Shapes::ShapeRef.new(shape: ListRoutingControlsRequest)
176
+ o.output = Shapes::ShapeRef.new(shape: ListRoutingControlsResponse)
177
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
178
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
179
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
180
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
181
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
182
+ o.errors << Shapes::ShapeRef.new(shape: EndpointTemporarilyUnavailableException)
183
+ o[:pager] = Aws::Pager.new(
184
+ limit_key: "max_results",
185
+ tokens: {
186
+ "next_token" => "next_token"
187
+ }
188
+ )
189
+ end)
190
+
136
191
  api.add_operation(:update_routing_control_state, Seahorse::Model::Operation.new.tap do |o|
137
192
  o.name = "UpdateRoutingControlState"
138
193
  o.http_method = "POST"
@@ -161,6 +216,7 @@ module Aws::Route53RecoveryCluster
161
216
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
162
217
  o.errors << Shapes::ShapeRef.new(shape: EndpointTemporarilyUnavailableException)
163
218
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
219
+ o.errors << Shapes::ShapeRef.new(shape: ServiceLimitExceededException)
164
220
  end)
165
221
  end
166
222
 
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Route53RecoveryCluster
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Route53RecoveryCluster
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
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL3JvdXRlNTMtcmVjb3ZlcnktY2x1c3Rlci1m
77
+ aXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3Vm
78
+ Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
79
+ bmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFu
80
+ ZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBk
81
+ b2VzIG5vdCBzdXBwb3J0IG9uZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1d
82
+ fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
83
+ Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1
84
+ bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
85
+ cmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBh
86
+ cnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0
87
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
88
+ cmwiOiJodHRwczovL3JvdXRlNTMtcmVjb3ZlcnktY2x1c3Rlci1maXBzLntS
89
+ ZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRp
90
+ ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
91
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRo
92
+ aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJl
93
+ cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
94
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBl
95
+ IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
96
+ YW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3Yi
97
+ Olt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFj
98
+ ayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
99
+ W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcm91dGU1My1yZWNvdmVy
100
+ eS1jbHVzdGVyLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
101
+ RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
102
+ cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
103
+ dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
104
+ b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
105
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcm91dGU1
106
+ My1yZWNvdmVyeS1jbHVzdGVyLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
107
+ ZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
108
+ cGUiOiJlbmRwb2ludCJ9XX1dfQ==
109
+
110
+ JSON
111
+ end
112
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::Route53RecoveryCluster
12
+ module Endpoints
13
+
14
+ class GetRoutingControlState
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::Route53RecoveryCluster::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class ListRoutingControls
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::Route53RecoveryCluster::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class UpdateRoutingControlState
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::Route53RecoveryCluster::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class UpdateRoutingControlStates
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::Route53RecoveryCluster::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ end
71
+ end
@@ -32,6 +32,7 @@ module Aws::Route53RecoveryCluster
32
32
  # * {EndpointTemporarilyUnavailableException}
33
33
  # * {InternalServerException}
34
34
  # * {ResourceNotFoundException}
35
+ # * {ServiceLimitExceededException}
35
36
  # * {ThrottlingException}
36
37
  # * {ValidationException}
37
38
  #
@@ -141,6 +142,41 @@ module Aws::Route53RecoveryCluster
141
142
  end
142
143
  end
143
144
 
145
+ class ServiceLimitExceededException < ServiceError
146
+
147
+ # @param [Seahorse::Client::RequestContext] context
148
+ # @param [String] message
149
+ # @param [Aws::Route53RecoveryCluster::Types::ServiceLimitExceededException] data
150
+ def initialize(context, message, data = Aws::EmptyStructure.new)
151
+ super(context, message, data)
152
+ end
153
+
154
+ # @return [String]
155
+ def message
156
+ @message || @data[:message]
157
+ end
158
+
159
+ # @return [String]
160
+ def resource_id
161
+ @data[:resource_id]
162
+ end
163
+
164
+ # @return [String]
165
+ def resource_type
166
+ @data[:resource_type]
167
+ end
168
+
169
+ # @return [String]
170
+ def limit_code
171
+ @data[:limit_code]
172
+ end
173
+
174
+ # @return [String]
175
+ def service_code
176
+ @data[:service_code]
177
+ end
178
+ end
179
+
144
180
  class ThrottlingException < ServiceError
145
181
 
146
182
  # @param [Seahorse::Client::RequestContext] context
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::Route53RecoveryCluster
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::Route53RecoveryCluster::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::Route53RecoveryCluster::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::Route53RecoveryCluster::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :get_routing_control_state
60
+ Aws::Route53RecoveryCluster::Endpoints::GetRoutingControlState.build(context)
61
+ when :list_routing_controls
62
+ Aws::Route53RecoveryCluster::Endpoints::ListRoutingControls.build(context)
63
+ when :update_routing_control_state
64
+ Aws::Route53RecoveryCluster::Endpoints::UpdateRoutingControlState.build(context)
65
+ when :update_routing_control_states
66
+ Aws::Route53RecoveryCluster::Endpoints::UpdateRoutingControlStates.build(context)
67
+ end
68
+ end
69
+ end
70
+
71
+ def add_handlers(handlers, _config)
72
+ handlers.add(Handler, step: :build, priority: 75)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -10,8 +10,7 @@
10
10
  module Aws::Route53RecoveryCluster
11
11
  module Types
12
12
 
13
- # You don't have sufficient permissions to query the routing control
14
- # state.
13
+ # You don't have sufficient permissions to perform this action.
15
14
  #
16
15
  # @!attribute [rw] message
17
16
  # @return [String]
@@ -69,8 +68,8 @@ module Aws::Route53RecoveryCluster
69
68
  # }
70
69
  #
71
70
  # @!attribute [rw] routing_control_arn
72
- # The Amazon Resource Number (ARN) for the routing control that you
73
- # want to get the state for.
71
+ # The Amazon Resource Name (ARN) for the routing control that you want
72
+ # to get the state for.
74
73
  # @return [String]
75
74
  #
76
75
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/GetRoutingControlStateRequest AWS API Documentation
@@ -82,18 +81,23 @@ module Aws::Route53RecoveryCluster
82
81
  end
83
82
 
84
83
  # @!attribute [rw] routing_control_arn
85
- # The Amazon Resource Number (ARN) of the response.
84
+ # The Amazon Resource Name (ARN) of the response.
86
85
  # @return [String]
87
86
  #
88
87
  # @!attribute [rw] routing_control_state
89
88
  # The state of the routing control.
90
89
  # @return [String]
91
90
  #
91
+ # @!attribute [rw] routing_control_name
92
+ # The routing control name.
93
+ # @return [String]
94
+ #
92
95
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/GetRoutingControlStateResponse AWS API Documentation
93
96
  #
94
97
  class GetRoutingControlStateResponse < Struct.new(
95
98
  :routing_control_arn,
96
- :routing_control_state)
99
+ :routing_control_state,
100
+ :routing_control_name)
97
101
  SENSITIVE = []
98
102
  include Aws::Structure
99
103
  end
@@ -116,7 +120,60 @@ module Aws::Route53RecoveryCluster
116
120
  include Aws::Structure
117
121
  end
118
122
 
119
- # The request references a routing control that was not found.
123
+ # @note When making an API call, you may pass ListRoutingControlsRequest
124
+ # data as a hash:
125
+ #
126
+ # {
127
+ # control_panel_arn: "Arn",
128
+ # next_token: "PageToken",
129
+ # max_results: 1,
130
+ # }
131
+ #
132
+ # @!attribute [rw] control_panel_arn
133
+ # The Amazon Resource Name (ARN) of the control panel of the routing
134
+ # controls to list.
135
+ # @return [String]
136
+ #
137
+ # @!attribute [rw] next_token
138
+ # The token for the next set of results. You receive this token from a
139
+ # previous call.
140
+ # @return [String]
141
+ #
142
+ # @!attribute [rw] max_results
143
+ # The number of routing controls objects that you want to return with
144
+ # this call. The default value is 500.
145
+ # @return [Integer]
146
+ #
147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/ListRoutingControlsRequest AWS API Documentation
148
+ #
149
+ class ListRoutingControlsRequest < Struct.new(
150
+ :control_panel_arn,
151
+ :next_token,
152
+ :max_results)
153
+ SENSITIVE = []
154
+ include Aws::Structure
155
+ end
156
+
157
+ # @!attribute [rw] routing_controls
158
+ # The list of routing controls.
159
+ # @return [Array<Types::RoutingControl>]
160
+ #
161
+ # @!attribute [rw] next_token
162
+ # The token for the next set of results. You receive this token from a
163
+ # previous call.
164
+ # @return [String]
165
+ #
166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/ListRoutingControlsResponse AWS API Documentation
167
+ #
168
+ class ListRoutingControlsResponse < Struct.new(
169
+ :routing_controls,
170
+ :next_token)
171
+ SENSITIVE = []
172
+ include Aws::Structure
173
+ end
174
+
175
+ # The request references a routing control or control panel that was not
176
+ # found.
120
177
  #
121
178
  # @!attribute [rw] message
122
179
  # @return [String]
@@ -139,6 +196,79 @@ module Aws::Route53RecoveryCluster
139
196
  include Aws::Structure
140
197
  end
141
198
 
199
+ # A routing control, which is a simple on/off switch that you can use to
200
+ # route traffic to cells. When a routing control state is On, traffic
201
+ # flows to a cell. When the state is Off, traffic does not flow.
202
+ #
203
+ # @!attribute [rw] control_panel_arn
204
+ # The Amazon Resource Name (ARN) of the control panel where the
205
+ # routing control is located.
206
+ # @return [String]
207
+ #
208
+ # @!attribute [rw] control_panel_name
209
+ # The name of the control panel where the routing control is located.
210
+ # @return [String]
211
+ #
212
+ # @!attribute [rw] routing_control_arn
213
+ # The Amazon Resource Name (ARN) of the routing control.
214
+ # @return [String]
215
+ #
216
+ # @!attribute [rw] routing_control_name
217
+ # The name of the routing control.
218
+ # @return [String]
219
+ #
220
+ # @!attribute [rw] routing_control_state
221
+ # The current state of the routing control. When a routing control
222
+ # state is On, traffic flows to a cell. When the state is Off, traffic
223
+ # does not flow.
224
+ # @return [String]
225
+ #
226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/RoutingControl AWS API Documentation
227
+ #
228
+ class RoutingControl < Struct.new(
229
+ :control_panel_arn,
230
+ :control_panel_name,
231
+ :routing_control_arn,
232
+ :routing_control_name,
233
+ :routing_control_state)
234
+ SENSITIVE = []
235
+ include Aws::Structure
236
+ end
237
+
238
+ # The request can't update that many routing control states at the same
239
+ # time. Try again with fewer routing control states.
240
+ #
241
+ # @!attribute [rw] message
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] resource_id
245
+ # The resource identifier of the limit that was exceeded.
246
+ # @return [String]
247
+ #
248
+ # @!attribute [rw] resource_type
249
+ # The resource type of the limit that was exceeded.
250
+ # @return [String]
251
+ #
252
+ # @!attribute [rw] limit_code
253
+ # The code of the limit that was exceeded.
254
+ # @return [String]
255
+ #
256
+ # @!attribute [rw] service_code
257
+ # The service code of the limit that was exceeded.
258
+ # @return [String]
259
+ #
260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/ServiceLimitExceededException AWS API Documentation
261
+ #
262
+ class ServiceLimitExceededException < Struct.new(
263
+ :message,
264
+ :resource_id,
265
+ :resource_type,
266
+ :limit_code,
267
+ :service_code)
268
+ SENSITIVE = []
269
+ include Aws::Structure
270
+ end
271
+
142
272
  # The request was denied because of request throttling.
143
273
  #
144
274
  # @!attribute [rw] message
@@ -168,7 +298,7 @@ module Aws::Route53RecoveryCluster
168
298
  # }
169
299
  #
170
300
  # @!attribute [rw] routing_control_arn
171
- # The Amazon Resource Number (ARN) for a routing control state entry.
301
+ # The Amazon Resource Name (ARN) for a routing control state entry.
172
302
  # @return [String]
173
303
  #
174
304
  # @!attribute [rw] routing_control_state
@@ -194,8 +324,8 @@ module Aws::Route53RecoveryCluster
194
324
  # }
195
325
  #
196
326
  # @!attribute [rw] routing_control_arn
197
- # The Amazon Resource Number (ARN) for the routing control that you
198
- # want to update the state for.
327
+ # The Amazon Resource Name (ARN) for the routing control that you want
328
+ # to update the state for.
199
329
  # @return [String]
200
330
  #
201
331
  # @!attribute [rw] routing_control_state
@@ -204,10 +334,10 @@ module Aws::Route53RecoveryCluster
204
334
  # @return [String]
205
335
  #
206
336
  # @!attribute [rw] safety_rules_to_override
207
- # The Amazon Resource Numbers (ARNs) for the safety rules that you
208
- # want to override when you're updating the state of a routing
209
- # control. You can override one safety rule or multiple safety rules
210
- # by including one or more ARNs, separated by commas.
337
+ # The Amazon Resource Names (ARNs) for the safety rules that you want
338
+ # to override when you're updating the state of a routing control.
339
+ # You can override one safety rule or multiple safety rules by
340
+ # including one or more ARNs, separated by commas.
211
341
  #
212
342
  # For more information, see [ Override safety rules to reroute
213
343
  # traffic][1] in the Amazon Route 53 Application Recovery Controller
@@ -250,10 +380,10 @@ module Aws::Route53RecoveryCluster
250
380
  # @return [Array<Types::UpdateRoutingControlStateEntry>]
251
381
  #
252
382
  # @!attribute [rw] safety_rules_to_override
253
- # The Amazon Resource Numbers (ARNs) for the safety rules that you
254
- # want to override when you're updating routing control states. You
255
- # can override one safety rule or multiple safety rules by including
256
- # one or more ARNs, separated by commas.
383
+ # The Amazon Resource Names (ARNs) for the safety rules that you want
384
+ # to override when you're updating routing control states. You can
385
+ # override one safety rule or multiple safety rules by including one
386
+ # or more ARNs, separated by commas.
257
387
  #
258
388
  # For more information, see [ Override safety rules to reroute
259
389
  # traffic][1] in the Amazon Route 53 Application Recovery Controller
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-route53recoverycluster/types'
15
15
  require_relative 'aws-sdk-route53recoverycluster/client_api'
16
+ require_relative 'aws-sdk-route53recoverycluster/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-route53recoverycluster/client'
17
18
  require_relative 'aws-sdk-route53recoverycluster/errors'
18
19
  require_relative 'aws-sdk-route53recoverycluster/resource'
20
+ require_relative 'aws-sdk-route53recoverycluster/endpoint_parameters'
21
+ require_relative 'aws-sdk-route53recoverycluster/endpoint_provider'
22
+ require_relative 'aws-sdk-route53recoverycluster/endpoints'
19
23
  require_relative 'aws-sdk-route53recoverycluster/customizations'
20
24
 
21
25
  # This module provides support for Route53 Recovery Cluster. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-route53recoverycluster/customizations'
48
52
  # @!group service
49
53
  module Aws::Route53RecoveryCluster
50
54
 
51
- GEM_VERSION = '1.10.0'
55
+ GEM_VERSION = '1.12.0'
52
56
 
53
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-route53recoverycluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.12.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-02-28 00:00:00.000000000 Z
11
+ date: 2022-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.127.0
22
+ version: 3.165.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.127.0
32
+ version: 3.165.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,11 @@ files:
59
59
  - lib/aws-sdk-route53recoverycluster/client.rb
60
60
  - lib/aws-sdk-route53recoverycluster/client_api.rb
61
61
  - lib/aws-sdk-route53recoverycluster/customizations.rb
62
+ - lib/aws-sdk-route53recoverycluster/endpoint_parameters.rb
63
+ - lib/aws-sdk-route53recoverycluster/endpoint_provider.rb
64
+ - lib/aws-sdk-route53recoverycluster/endpoints.rb
62
65
  - lib/aws-sdk-route53recoverycluster/errors.rb
66
+ - lib/aws-sdk-route53recoverycluster/plugins/endpoints.rb
63
67
  - lib/aws-sdk-route53recoverycluster/resource.rb
64
68
  - lib/aws-sdk-route53recoverycluster/types.rb
65
69
  homepage: https://github.com/aws/aws-sdk-ruby