aws-sdk-route53recoverycluster 1.8.0 → 1.11.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: bbe03d56412f2885ba66bc86d38cc85896f7d4551d6a4ff461c3412df76349b8
4
- data.tar.gz: 712ba2bb7f051b350d0bda28eb19598bfebdd34918be9a5d84e44b8f1366ce24
3
+ metadata.gz: 2d918ee8cd6ea97c4f0f4b3c6423255a861bc7290a3e231f029b059ecd8ddfe3
4
+ data.tar.gz: dc9c7c02a85eb19394672d0c50b03b83c08ccc7788e418673c76e36a9bbb6f92
5
5
  SHA512:
6
- metadata.gz: d883b995fe1b1d20d509dccfbcd7f12ddc68f445634e93c39e6300d561fa5f90d1d29164380694d8ad1a46749b2924b9775952f20258b1bab2e9cb3fba671aa9
7
- data.tar.gz: 76327a730bec80cdac0b78e4f027378ba25f7e6563db53abdc52ef02c8a1e9720c6b1f44e08b2b5a28d12f0589871df9b9bbd430c852ed8faf878699dbca7819
6
+ metadata.gz: 003d48272edfe2e2c93d2c28c987a1469e7a6e18feedd679d816174062cd8984521491964b3435cb7f473801aa5ec63e62d175541128ccb0103aab8709f06945
7
+ data.tar.gz: 896ceed3341f260bd72fa483637ef2f54a4a21c971b9a7268d5514c03a20120652f289e9aec46e7de9375ab7e06bb984da1df445abc7b2801eda8e4f47141698
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.11.0 (2022-03-31)
5
+ ------------------
6
+
7
+ * Feature - This release adds a new API "ListRoutingControls" to list routing control states using the highly reliable Route 53 ARC data plane endpoints.
8
+
9
+ 1.10.0 (2022-02-28)
10
+ ------------------
11
+
12
+ * Feature - This release adds a new API option to enable overriding safety rules to allow routing control state updates.
13
+
14
+ 1.9.0 (2022-02-24)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
4
19
  1.8.0 (2022-02-03)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.0
1
+ 1.11.0
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
31
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
32
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
@@ -75,6 +76,7 @@ module Aws::Route53RecoveryCluster
75
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
76
77
  add_plugin(Aws::Plugins::TransferEncoding)
77
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
78
80
  add_plugin(Aws::Plugins::DefaultsMode)
79
81
  add_plugin(Aws::Plugins::RecursionDetection)
80
82
  add_plugin(Aws::Plugins::SignatureV4)
@@ -360,32 +362,49 @@ module Aws::Route53RecoveryCluster
360
362
  # @!group API Operations
361
363
 
362
364
  # Get the state for a routing control. A routing control is a simple
363
- # on/off switch that you can use to route traffic to cells. When the
364
- # state is On, traffic flows to a cell. When it's off, traffic does not
365
- # flow.
365
+ # on/off switch that you can use to route traffic to cells. When a
366
+ # routing control state is On, traffic flows to a cell. When the state
367
+ # is Off, traffic does not flow.
366
368
  #
367
- # Before you can create a routing control, you first must create a
368
- # cluster to host the control. For more information, see
369
- # [CreateCluster][1]. Access one of the endpoints for the cluster to get
370
- # or update the routing control state to redirect traffic.
369
+ # Before you can create a routing control, you must first create a
370
+ # cluster, and then host the control in a control panel on the cluster.
371
+ # For more information, see [ Create routing control structures][1] in
372
+ # the Amazon Route 53 Application Recovery Controller Developer Guide.
373
+ # You access one of the endpoints for the cluster to get or update the
374
+ # routing control state to redirect traffic for your application.
371
375
  #
372
- # For more information about working with routing controls, see [Routing
373
- # control][2] in the Route 53 Application Recovery Controller Developer
374
- # Guide.
376
+ # *You must specify Regional endpoints when you work with API cluster
377
+ # operations to get or update routing control states in Route 53 ARC.*
375
378
  #
379
+ # To see a code example for getting a routing control state, including
380
+ # accessing Regional cluster endpoints in sequence, see [API
381
+ # examples][2] in the Amazon Route 53 Application Recovery Controller
382
+ # Developer Guide.
376
383
  #
384
+ # Learn more about working with routing controls in the following topics
385
+ # in the Amazon Route 53 Application Recovery Controller Developer
386
+ # Guide:
377
387
  #
378
- # [1]: https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster.html
379
- # [2]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
388
+ # * [ Viewing and updating routing control states][3]
389
+ #
390
+ # * [Working with routing controls in Route 53 ARC][4]
391
+ #
392
+ #
393
+ #
394
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.create.html
395
+ # [2]: https://docs.aws.amazon.com/r53recovery/latest/dg/service_code_examples_actions.html
396
+ # [3]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.update.html
397
+ # [4]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
380
398
  #
381
399
  # @option params [required, String] :routing_control_arn
382
- # The Amazon Resource Number (ARN) for the routing control that you want
400
+ # The Amazon Resource Name (ARN) for the routing control that you want
383
401
  # to get the state for.
384
402
  #
385
403
  # @return [Types::GetRoutingControlStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
386
404
  #
387
405
  # * {Types::GetRoutingControlStateResponse#routing_control_arn #routing_control_arn} => String
388
406
  # * {Types::GetRoutingControlStateResponse#routing_control_state #routing_control_state} => String
407
+ # * {Types::GetRoutingControlStateResponse#routing_control_name #routing_control_name} => String
389
408
  #
390
409
  # @example Request syntax with placeholder values
391
410
  #
@@ -397,6 +416,7 @@ module Aws::Route53RecoveryCluster
397
416
  #
398
417
  # resp.routing_control_arn #=> String
399
418
  # resp.routing_control_state #=> String, one of "On", "Off"
419
+ # resp.routing_control_name #=> String
400
420
  #
401
421
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/GetRoutingControlState AWS API Documentation
402
422
  #
@@ -407,26 +427,150 @@ module Aws::Route53RecoveryCluster
407
427
  req.send_request(options)
408
428
  end
409
429
 
430
+ # List routing control names and Amazon Resource Names (ARNs), as well
431
+ # as the routing control state for each routing control, along with the
432
+ # control panel name and control panel ARN for the routing controls. If
433
+ # you specify a control panel ARN, this call lists the routing controls
434
+ # in the control panel. Otherwise, it lists all the routing controls in
435
+ # the cluster.
436
+ #
437
+ # A routing control is a simple on/off switch in Route 53 ARC that you
438
+ # can use to route traffic to cells. When a routing control state is On,
439
+ # traffic flows to a cell. When the state is Off, traffic does not flow.
440
+ #
441
+ # Before you can create a routing control, you must first create a
442
+ # cluster, and then host the control in a control panel on the cluster.
443
+ # For more information, see [ Create routing control structures][1] in
444
+ # the Amazon Route 53 Application Recovery Controller Developer Guide.
445
+ # You access one of the endpoints for the cluster to get or update the
446
+ # routing control state to redirect traffic for your application.
447
+ #
448
+ # *You must specify Regional endpoints when you work with API cluster
449
+ # operations to use this API operation to list routing controls in Route
450
+ # 53 ARC.*
451
+ #
452
+ # Learn more about working with routing controls in the following topics
453
+ # in the Amazon Route 53 Application Recovery Controller Developer
454
+ # Guide:
455
+ #
456
+ # * [ Viewing and updating routing control states][2]
457
+ #
458
+ # * [Working with routing controls in Route 53 ARC][3]
459
+ #
460
+ #
461
+ #
462
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.create.html
463
+ # [2]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.update.html
464
+ # [3]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
465
+ #
466
+ # @option params [String] :control_panel_arn
467
+ # The Amazon Resource Name (ARN) of the control panel of the routing
468
+ # controls to list.
469
+ #
470
+ # @option params [String] :next_token
471
+ # The token for the next set of results. You receive this token from a
472
+ # previous call.
473
+ #
474
+ # @option params [Integer] :max_results
475
+ # The number of routing controls objects that you want to return with
476
+ # this call. The default value is 500.
477
+ #
478
+ # @return [Types::ListRoutingControlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
479
+ #
480
+ # * {Types::ListRoutingControlsResponse#routing_controls #routing_controls} => Array<Types::RoutingControl>
481
+ # * {Types::ListRoutingControlsResponse#next_token #next_token} => String
482
+ #
483
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
484
+ #
485
+ # @example Request syntax with placeholder values
486
+ #
487
+ # resp = client.list_routing_controls({
488
+ # control_panel_arn: "Arn",
489
+ # next_token: "PageToken",
490
+ # max_results: 1,
491
+ # })
492
+ #
493
+ # @example Response structure
494
+ #
495
+ # resp.routing_controls #=> Array
496
+ # resp.routing_controls[0].control_panel_arn #=> String
497
+ # resp.routing_controls[0].control_panel_name #=> String
498
+ # resp.routing_controls[0].routing_control_arn #=> String
499
+ # resp.routing_controls[0].routing_control_name #=> String
500
+ # resp.routing_controls[0].routing_control_state #=> String, one of "On", "Off"
501
+ # resp.next_token #=> String
502
+ #
503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/ListRoutingControls AWS API Documentation
504
+ #
505
+ # @overload list_routing_controls(params = {})
506
+ # @param [Hash] params ({})
507
+ def list_routing_controls(params = {}, options = {})
508
+ req = build_request(:list_routing_controls, params)
509
+ req.send_request(options)
510
+ end
511
+
410
512
  # Set the state of the routing control to reroute traffic. You can set
411
513
  # the value to be On or Off. When the state is On, traffic flows to a
412
- # cell. When it's off, traffic does not flow.
514
+ # cell. When the state is Off, traffic does not flow.
515
+ #
516
+ # With Route 53 ARC, you can add safety rules for routing controls,
517
+ # which are safeguards for routing control state updates that help
518
+ # prevent unexpected outcomes, like fail open traffic routing. However,
519
+ # there are scenarios when you might want to bypass the routing control
520
+ # safeguards that are enforced with safety rules that you've
521
+ # configured. For example, you might want to fail over quickly for
522
+ # disaster recovery, and one or more safety rules might be unexpectedly
523
+ # preventing you from updating a routing control state to reroute
524
+ # traffic. In a "break glass" scenario like this, you can override one
525
+ # or more safety rules to change a routing control state and fail over
526
+ # your application.
413
527
  #
414
- # For more information about working with routing controls, see [Routing
415
- # control][1] in the Route 53 Application Recovery Controller Developer
416
- # Guide.
528
+ # The `SafetyRulesToOverride` property enables you override one or more
529
+ # safety rules and update routing control states. For more information,
530
+ # see [ Override safety rules to reroute traffic][1] in the Amazon Route
531
+ # 53 Application Recovery Controller Developer Guide.
417
532
  #
533
+ # *You must specify Regional endpoints when you work with API cluster
534
+ # operations to get or update routing control states in Route 53 ARC.*
418
535
  #
536
+ # To see a code example for getting a routing control state, including
537
+ # accessing Regional cluster endpoints in sequence, see [API
538
+ # examples][2] in the Amazon Route 53 Application Recovery Controller
539
+ # Developer Guide.
419
540
  #
420
- # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
541
+ # * [ Viewing and updating routing control states][3]
542
+ #
543
+ # * [Working with routing controls overall][4]
544
+ #
545
+ #
546
+ #
547
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.override-safety-rule.html
548
+ # [2]: https://docs.aws.amazon.com/r53recovery/latest/dg/service_code_examples_actions.html
549
+ # [3]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.update.html
550
+ # [4]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
421
551
  #
422
552
  # @option params [required, String] :routing_control_arn
423
- # The Amazon Resource Number (ARN) for the routing control that you want
553
+ # The Amazon Resource Name (ARN) for the routing control that you want
424
554
  # to update the state for.
425
555
  #
426
556
  # @option params [required, String] :routing_control_state
427
557
  # The state of the routing control. You can set the value to be On or
428
558
  # Off.
429
559
  #
560
+ # @option params [Array<String>] :safety_rules_to_override
561
+ # The Amazon Resource Names (ARNs) for the safety rules that you want to
562
+ # override when you're updating the state of a routing control. You can
563
+ # override one safety rule or multiple safety rules by including one or
564
+ # more ARNs, separated by commas.
565
+ #
566
+ # For more information, see [ Override safety rules to reroute
567
+ # traffic][1] in the Amazon Route 53 Application Recovery Controller
568
+ # Developer Guide.
569
+ #
570
+ #
571
+ #
572
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.override-safety-rule.html
573
+ #
430
574
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
431
575
  #
432
576
  # @example Request syntax with placeholder values
@@ -434,6 +578,7 @@ module Aws::Route53RecoveryCluster
434
578
  # resp = client.update_routing_control_state({
435
579
  # routing_control_arn: "Arn", # required
436
580
  # routing_control_state: "On", # required, accepts On, Off
581
+ # safety_rules_to_override: ["Arn"],
437
582
  # })
438
583
  #
439
584
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlState AWS API Documentation
@@ -447,19 +592,61 @@ module Aws::Route53RecoveryCluster
447
592
 
448
593
  # Set multiple routing control states. You can set the value for each
449
594
  # state to be On or Off. When the state is On, traffic flows to a cell.
450
- # When it's off, traffic does not flow.
595
+ # When it's Off, traffic does not flow.
596
+ #
597
+ # With Route 53 ARC, you can add safety rules for routing controls,
598
+ # which are safeguards for routing control state updates that help
599
+ # prevent unexpected outcomes, like fail open traffic routing. However,
600
+ # there are scenarios when you might want to bypass the routing control
601
+ # safeguards that are enforced with safety rules that you've
602
+ # configured. For example, you might want to fail over quickly for
603
+ # disaster recovery, and one or more safety rules might be unexpectedly
604
+ # preventing you from updating a routing control state to reroute
605
+ # traffic. In a "break glass" scenario like this, you can override one
606
+ # or more safety rules to change a routing control state and fail over
607
+ # your application.
608
+ #
609
+ # The `SafetyRulesToOverride` property enables you override one or more
610
+ # safety rules and update routing control states. For more information,
611
+ # see [ Override safety rules to reroute traffic][1] in the Amazon Route
612
+ # 53 Application Recovery Controller Developer Guide.
613
+ #
614
+ # *You must specify Regional endpoints when you work with API cluster
615
+ # operations to get or update routing control states in Route 53 ARC.*
616
+ #
617
+ # To see a code example for getting a routing control state, including
618
+ # accessing Regional cluster endpoints in sequence, see [API
619
+ # examples][2] in the Amazon Route 53 Application Recovery Controller
620
+ # Developer Guide.
451
621
  #
452
- # For more information about working with routing controls, see [Routing
453
- # control][1] in the Route 53 Application Recovery Controller Developer
454
- # Guide.
622
+ # * [ Viewing and updating routing control states][3]
455
623
  #
624
+ # * [Working with routing controls overall][4]
456
625
  #
457
626
  #
458
- # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
627
+ #
628
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.override-safety-rule.html
629
+ # [2]: https://docs.aws.amazon.com/r53recovery/latest/dg/service_code_examples_actions.html
630
+ # [3]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.update.html
631
+ # [4]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html
459
632
  #
460
633
  # @option params [required, Array<Types::UpdateRoutingControlStateEntry>] :update_routing_control_state_entries
461
634
  # A set of routing control entries that you want to update.
462
635
  #
636
+ # @option params [Array<String>] :safety_rules_to_override
637
+ # The Amazon Resource Names (ARNs) for the safety rules that you want to
638
+ # override when you're updating routing control states. You can
639
+ # override one safety rule or multiple safety rules by including one or
640
+ # more ARNs, separated by commas.
641
+ #
642
+ # For more information, see [ Override safety rules to reroute
643
+ # traffic][1] in the Amazon Route 53 Application Recovery Controller
644
+ # Developer Guide.
645
+ #
646
+ #
647
+ #
648
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.override-safety-rule.html
649
+ #
463
650
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
464
651
  #
465
652
  # @example Request syntax with placeholder values
@@ -471,6 +658,7 @@ module Aws::Route53RecoveryCluster
471
658
  # routing_control_state: "On", # required, accepts On, Off
472
659
  # },
473
660
  # ],
661
+ # safety_rules_to_override: ["Arn"],
474
662
  # })
475
663
  #
476
664
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlStates AWS API Documentation
@@ -495,7 +683,7 @@ module Aws::Route53RecoveryCluster
495
683
  params: params,
496
684
  config: config)
497
685
  context[:gem_name] = 'aws-sdk-route53recoverycluster'
498
- context[:gem_version] = '1.8.0'
686
+ context[:gem_version] = '1.11.0'
499
687
  Seahorse::Client::Request.new(handlers, context)
500
688
  end
501
689
 
@@ -15,14 +15,24 @@ module Aws::Route53RecoveryCluster
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  Arn = Shapes::StringShape.new(name: 'Arn')
18
+ Arns = Shapes::ListShape.new(name: 'Arns')
18
19
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
20
+ ControlPanelName = Shapes::StringShape.new(name: 'ControlPanelName')
19
21
  EndpointTemporarilyUnavailableException = Shapes::StructureShape.new(name: 'EndpointTemporarilyUnavailableException')
20
22
  GetRoutingControlStateRequest = Shapes::StructureShape.new(name: 'GetRoutingControlStateRequest')
21
23
  GetRoutingControlStateResponse = Shapes::StructureShape.new(name: 'GetRoutingControlStateResponse')
22
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')
23
29
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
24
30
  RetryAfterSeconds = Shapes::IntegerShape.new(name: 'RetryAfterSeconds')
31
+ RoutingControl = Shapes::StructureShape.new(name: 'RoutingControl')
32
+ RoutingControlName = Shapes::StringShape.new(name: 'RoutingControlName')
25
33
  RoutingControlState = Shapes::StringShape.new(name: 'RoutingControlState')
34
+ RoutingControls = Shapes::ListShape.new(name: 'RoutingControls')
35
+ ServiceLimitExceededException = Shapes::StructureShape.new(name: 'ServiceLimitExceededException')
26
36
  String = Shapes::StringShape.new(name: 'String')
27
37
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
28
38
  UpdateRoutingControlStateEntries = Shapes::ListShape.new(name: 'UpdateRoutingControlStateEntries')
@@ -39,6 +49,8 @@ module Aws::Route53RecoveryCluster
39
49
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
40
50
  AccessDeniedException.struct_class = Types::AccessDeniedException
41
51
 
52
+ Arns.member = Shapes::ShapeRef.new(shape: Arn)
53
+
42
54
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
43
55
  ConflictException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
44
56
  ConflictException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
@@ -52,17 +64,43 @@ module Aws::Route53RecoveryCluster
52
64
 
53
65
  GetRoutingControlStateResponse.add_member(:routing_control_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "RoutingControlArn"))
54
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"))
55
68
  GetRoutingControlStateResponse.struct_class = Types::GetRoutingControlStateResponse
56
69
 
57
70
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
58
71
  InternalServerException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location_name: "retryAfterSeconds"))
59
72
  InternalServerException.struct_class = Types::InternalServerException
60
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
+
61
83
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
62
84
  ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
63
85
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
64
86
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
65
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
+
66
104
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
67
105
  ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location_name: "retryAfterSeconds"))
68
106
  ThrottlingException.struct_class = Types::ThrottlingException
@@ -75,11 +113,13 @@ module Aws::Route53RecoveryCluster
75
113
 
76
114
  UpdateRoutingControlStateRequest.add_member(:routing_control_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "RoutingControlArn"))
77
115
  UpdateRoutingControlStateRequest.add_member(:routing_control_state, Shapes::ShapeRef.new(shape: RoutingControlState, required: true, location_name: "RoutingControlState"))
116
+ UpdateRoutingControlStateRequest.add_member(:safety_rules_to_override, Shapes::ShapeRef.new(shape: Arns, location_name: "SafetyRulesToOverride"))
78
117
  UpdateRoutingControlStateRequest.struct_class = Types::UpdateRoutingControlStateRequest
79
118
 
80
119
  UpdateRoutingControlStateResponse.struct_class = Types::UpdateRoutingControlStateResponse
81
120
 
82
121
  UpdateRoutingControlStatesRequest.add_member(:update_routing_control_state_entries, Shapes::ShapeRef.new(shape: UpdateRoutingControlStateEntries, required: true, location_name: "UpdateRoutingControlStateEntries"))
122
+ UpdateRoutingControlStatesRequest.add_member(:safety_rules_to_override, Shapes::ShapeRef.new(shape: Arns, location_name: "SafetyRulesToOverride"))
83
123
  UpdateRoutingControlStatesRequest.struct_class = Types::UpdateRoutingControlStatesRequest
84
124
 
85
125
  UpdateRoutingControlStatesResponse.struct_class = Types::UpdateRoutingControlStatesResponse
@@ -128,6 +168,26 @@ module Aws::Route53RecoveryCluster
128
168
  o.errors << Shapes::ShapeRef.new(shape: EndpointTemporarilyUnavailableException)
129
169
  end)
130
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
+
131
191
  api.add_operation(:update_routing_control_state, Seahorse::Model::Operation.new.tap do |o|
132
192
  o.name = "UpdateRoutingControlState"
133
193
  o.http_method = "POST"
@@ -156,6 +216,7 @@ module Aws::Route53RecoveryCluster
156
216
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
157
217
  o.errors << Shapes::ShapeRef.new(shape: EndpointTemporarilyUnavailableException)
158
218
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
219
+ o.errors << Shapes::ShapeRef.new(shape: ServiceLimitExceededException)
159
220
  end)
160
221
  end
161
222
 
@@ -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
@@ -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
@@ -157,7 +287,7 @@ module Aws::Route53RecoveryCluster
157
287
  include Aws::Structure
158
288
  end
159
289
 
160
- # A routing control state.
290
+ # A routing control state entry.
161
291
  #
162
292
  # @note When making an API call, you may pass UpdateRoutingControlStateEntry
163
293
  # data as a hash:
@@ -168,8 +298,7 @@ module Aws::Route53RecoveryCluster
168
298
  # }
169
299
  #
170
300
  # @!attribute [rw] routing_control_arn
171
- # The Amazon Resource Number (ARN) for the routing control state
172
- # entry.
301
+ # The Amazon Resource Name (ARN) for a routing control state entry.
173
302
  # @return [String]
174
303
  #
175
304
  # @!attribute [rw] routing_control_state
@@ -191,11 +320,12 @@ module Aws::Route53RecoveryCluster
191
320
  # {
192
321
  # routing_control_arn: "Arn", # required
193
322
  # routing_control_state: "On", # required, accepts On, Off
323
+ # safety_rules_to_override: ["Arn"],
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
@@ -203,11 +333,27 @@ module Aws::Route53RecoveryCluster
203
333
  # Off.
204
334
  # @return [String]
205
335
  #
336
+ # @!attribute [rw] safety_rules_to_override
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.
341
+ #
342
+ # For more information, see [ Override safety rules to reroute
343
+ # traffic][1] in the Amazon Route 53 Application Recovery Controller
344
+ # Developer Guide.
345
+ #
346
+ #
347
+ #
348
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.override-safety-rule.html
349
+ # @return [Array<String>]
350
+ #
206
351
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlStateRequest AWS API Documentation
207
352
  #
208
353
  class UpdateRoutingControlStateRequest < Struct.new(
209
354
  :routing_control_arn,
210
- :routing_control_state)
355
+ :routing_control_state,
356
+ :safety_rules_to_override)
211
357
  SENSITIVE = []
212
358
  include Aws::Structure
213
359
  end
@@ -226,16 +372,33 @@ module Aws::Route53RecoveryCluster
226
372
  # routing_control_state: "On", # required, accepts On, Off
227
373
  # },
228
374
  # ],
375
+ # safety_rules_to_override: ["Arn"],
229
376
  # }
230
377
  #
231
378
  # @!attribute [rw] update_routing_control_state_entries
232
379
  # A set of routing control entries that you want to update.
233
380
  # @return [Array<Types::UpdateRoutingControlStateEntry>]
234
381
  #
382
+ # @!attribute [rw] safety_rules_to_override
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.
387
+ #
388
+ # For more information, see [ Override safety rules to reroute
389
+ # traffic][1] in the Amazon Route 53 Application Recovery Controller
390
+ # Developer Guide.
391
+ #
392
+ #
393
+ #
394
+ # [1]: https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.override-safety-rule.html
395
+ # @return [Array<String>]
396
+ #
235
397
  # @see http://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlStatesRequest AWS API Documentation
236
398
  #
237
399
  class UpdateRoutingControlStatesRequest < Struct.new(
238
- :update_routing_control_state_entries)
400
+ :update_routing_control_state_entries,
401
+ :safety_rules_to_override)
239
402
  SENSITIVE = []
240
403
  include Aws::Structure
241
404
  end
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-route53recoverycluster/customizations'
48
48
  # @!group service
49
49
  module Aws::Route53RecoveryCluster
50
50
 
51
- GEM_VERSION = '1.8.0'
51
+ GEM_VERSION = '1.11.0'
52
52
 
53
53
  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.8.0
4
+ version: 1.11.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-03 00:00:00.000000000 Z
11
+ date: 2022-03-31 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.126.0
22
+ version: 3.127.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.126.0
32
+ version: 3.127.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement