aws-sdk-recyclebin 1.6.0 → 1.8.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 +4 -4
- data/CHANGELOG.md +12 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-recyclebin/client.rb +147 -8
- data/lib/aws-sdk-recyclebin/client_api.rb +87 -0
- data/lib/aws-sdk-recyclebin/endpoint_parameters.rb +3 -0
- data/lib/aws-sdk-recyclebin/endpoint_provider.rb +35 -95
- data/lib/aws-sdk-recyclebin/endpoints.rb +28 -0
- data/lib/aws-sdk-recyclebin/errors.rb +21 -0
- data/lib/aws-sdk-recyclebin/plugins/endpoints.rb +4 -0
- data/lib/aws-sdk-recyclebin/types.rb +351 -131
- data/lib/aws-sdk-recyclebin.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 864cb7b23ccd48bcd8c96f24783d6dce91a5f8322c90a8816ae828d40a057e3d
         | 
| 4 | 
            +
              data.tar.gz: 5bd03fc4f285d9d0f097c82932b135a34e1355daf6b8e5b5169ea33777b420c6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 73a3b870eeb662bc886e4716c0bec2c35dde9fc0eaeaad55b0c0a914caa40876bb4ed3ee0a2a8c0783fc3e5cc91f95dc48c13d2511bb0e5bb7084538dde1e81d
         | 
| 7 | 
            +
              data.tar.gz: 0656f0c93e0232f5b99248ab615c504f008efe876ee1ccbd4c59c3228c5c668ecf971bb9fc9ebd77867f68a5c027a098ad35e0307d1811c9c06c7086fc6a2b3a
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,18 @@ | |
| 1 1 | 
             
            Unreleased Changes
         | 
| 2 2 | 
             
            ------------------
         | 
| 3 3 |  | 
| 4 | 
            +
            1.8.0 (2023-01-18)
         | 
| 5 | 
            +
            ------------------
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * Issue - Replace runtime endpoint resolution approach with generated ruby code.
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            1.7.0 (2022-11-23)
         | 
| 12 | 
            +
            ------------------
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            * Feature - This release adds support for Rule Lock for Recycle Bin, which allows you to lock retention rules so that they can no longer be modified or deleted.
         | 
| 15 | 
            +
             | 
| 4 16 | 
             
            1.6.0 (2022-10-25)
         | 
| 5 17 | 
             
            ------------------
         | 
| 6 18 |  | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.8.0
         | 
| @@ -410,6 +410,9 @@ module Aws::RecycleBin | |
| 410 410 | 
             
                #   Region in which the rule is created, even if the resources are not
         | 
| 411 411 | 
             
                #   tagged.
         | 
| 412 412 | 
             
                #
         | 
| 413 | 
            +
                # @option params [Types::LockConfiguration] :lock_configuration
         | 
| 414 | 
            +
                #   Information about the retention rule lock configuration.
         | 
| 415 | 
            +
                #
         | 
| 413 416 | 
             
                # @return [Types::CreateRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 414 417 | 
             
                #
         | 
| 415 418 | 
             
                #   * {Types::CreateRuleResponse#identifier #identifier} => String
         | 
| @@ -419,6 +422,8 @@ module Aws::RecycleBin | |
| 419 422 | 
             
                #   * {Types::CreateRuleResponse#resource_type #resource_type} => String
         | 
| 420 423 | 
             
                #   * {Types::CreateRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
         | 
| 421 424 | 
             
                #   * {Types::CreateRuleResponse#status #status} => String
         | 
| 425 | 
            +
                #   * {Types::CreateRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
         | 
| 426 | 
            +
                #   * {Types::CreateRuleResponse#lock_state #lock_state} => String
         | 
| 422 427 | 
             
                #
         | 
| 423 428 | 
             
                # @example Request syntax with placeholder values
         | 
| 424 429 | 
             
                #
         | 
| @@ -441,6 +446,12 @@ module Aws::RecycleBin | |
| 441 446 | 
             
                #         resource_tag_value: "ResourceTagValue",
         | 
| 442 447 | 
             
                #       },
         | 
| 443 448 | 
             
                #     ],
         | 
| 449 | 
            +
                #     lock_configuration: {
         | 
| 450 | 
            +
                #       unlock_delay: { # required
         | 
| 451 | 
            +
                #         unlock_delay_value: 1, # required
         | 
| 452 | 
            +
                #         unlock_delay_unit: "DAYS", # required, accepts DAYS
         | 
| 453 | 
            +
                #       },
         | 
| 454 | 
            +
                #     },
         | 
| 444 455 | 
             
                #   })
         | 
| 445 456 | 
             
                #
         | 
| 446 457 | 
             
                # @example Response structure
         | 
| @@ -457,6 +468,9 @@ module Aws::RecycleBin | |
| 457 468 | 
             
                #   resp.resource_tags[0].resource_tag_key #=> String
         | 
| 458 469 | 
             
                #   resp.resource_tags[0].resource_tag_value #=> String
         | 
| 459 470 | 
             
                #   resp.status #=> String, one of "pending", "available"
         | 
| 471 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
         | 
| 472 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
         | 
| 473 | 
            +
                #   resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
         | 
| 460 474 | 
             
                #
         | 
| 461 475 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/CreateRule AWS API Documentation
         | 
| 462 476 | 
             
                #
         | 
| @@ -508,6 +522,9 @@ module Aws::RecycleBin | |
| 508 522 | 
             
                #   * {Types::GetRuleResponse#retention_period #retention_period} => Types::RetentionPeriod
         | 
| 509 523 | 
             
                #   * {Types::GetRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
         | 
| 510 524 | 
             
                #   * {Types::GetRuleResponse#status #status} => String
         | 
| 525 | 
            +
                #   * {Types::GetRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
         | 
| 526 | 
            +
                #   * {Types::GetRuleResponse#lock_state #lock_state} => String
         | 
| 527 | 
            +
                #   * {Types::GetRuleResponse#lock_end_time #lock_end_time} => Time
         | 
| 511 528 | 
             
                #
         | 
| 512 529 | 
             
                # @example Request syntax with placeholder values
         | 
| 513 530 | 
             
                #
         | 
| @@ -526,6 +543,10 @@ module Aws::RecycleBin | |
| 526 543 | 
             
                #   resp.resource_tags[0].resource_tag_key #=> String
         | 
| 527 544 | 
             
                #   resp.resource_tags[0].resource_tag_value #=> String
         | 
| 528 545 | 
             
                #   resp.status #=> String, one of "pending", "available"
         | 
| 546 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
         | 
| 547 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
         | 
| 548 | 
            +
                #   resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
         | 
| 549 | 
            +
                #   resp.lock_end_time #=> Time
         | 
| 529 550 | 
             
                #
         | 
| 530 551 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/GetRule AWS API Documentation
         | 
| 531 552 | 
             
                #
         | 
| @@ -557,6 +578,10 @@ module Aws::RecycleBin | |
| 557 578 | 
             
                #   Information about the resource tags used to identify resources that
         | 
| 558 579 | 
             
                #   are retained by the retention rule.
         | 
| 559 580 | 
             
                #
         | 
| 581 | 
            +
                # @option params [String] :lock_state
         | 
| 582 | 
            +
                #   The lock state of the retention rules to list. Only retention rules
         | 
| 583 | 
            +
                #   with the specified lock state are returned.
         | 
| 584 | 
            +
                #
         | 
| 560 585 | 
             
                # @return [Types::ListRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 561 586 | 
             
                #
         | 
| 562 587 | 
             
                #   * {Types::ListRulesResponse#rules #rules} => Array<Types::RuleSummary>
         | 
| @@ -576,6 +601,7 @@ module Aws::RecycleBin | |
| 576 601 | 
             
                #         resource_tag_value: "ResourceTagValue",
         | 
| 577 602 | 
             
                #       },
         | 
| 578 603 | 
             
                #     ],
         | 
| 604 | 
            +
                #     lock_state: "locked", # accepts locked, pending_unlock, unlocked
         | 
| 579 605 | 
             
                #   })
         | 
| 580 606 | 
             
                #
         | 
| 581 607 | 
             
                # @example Response structure
         | 
| @@ -585,6 +611,7 @@ module Aws::RecycleBin | |
| 585 611 | 
             
                #   resp.rules[0].description #=> String
         | 
| 586 612 | 
             
                #   resp.rules[0].retention_period.retention_period_value #=> Integer
         | 
| 587 613 | 
             
                #   resp.rules[0].retention_period.retention_period_unit #=> String, one of "DAYS"
         | 
| 614 | 
            +
                #   resp.rules[0].lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
         | 
| 588 615 | 
             
                #   resp.next_token #=> String
         | 
| 589 616 | 
             
                #
         | 
| 590 617 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/ListRules AWS API Documentation
         | 
| @@ -626,6 +653,62 @@ module Aws::RecycleBin | |
| 626 653 | 
             
                  req.send_request(options)
         | 
| 627 654 | 
             
                end
         | 
| 628 655 |  | 
| 656 | 
            +
                # Locks a retention rule. A locked retention rule can't be modified or
         | 
| 657 | 
            +
                # deleted.
         | 
| 658 | 
            +
                #
         | 
| 659 | 
            +
                # @option params [required, String] :identifier
         | 
| 660 | 
            +
                #   The unique ID of the retention rule.
         | 
| 661 | 
            +
                #
         | 
| 662 | 
            +
                # @option params [required, Types::LockConfiguration] :lock_configuration
         | 
| 663 | 
            +
                #   Information about the retention rule lock configuration.
         | 
| 664 | 
            +
                #
         | 
| 665 | 
            +
                # @return [Types::LockRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 666 | 
            +
                #
         | 
| 667 | 
            +
                #   * {Types::LockRuleResponse#identifier #identifier} => String
         | 
| 668 | 
            +
                #   * {Types::LockRuleResponse#description #description} => String
         | 
| 669 | 
            +
                #   * {Types::LockRuleResponse#resource_type #resource_type} => String
         | 
| 670 | 
            +
                #   * {Types::LockRuleResponse#retention_period #retention_period} => Types::RetentionPeriod
         | 
| 671 | 
            +
                #   * {Types::LockRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
         | 
| 672 | 
            +
                #   * {Types::LockRuleResponse#status #status} => String
         | 
| 673 | 
            +
                #   * {Types::LockRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
         | 
| 674 | 
            +
                #   * {Types::LockRuleResponse#lock_state #lock_state} => String
         | 
| 675 | 
            +
                #
         | 
| 676 | 
            +
                # @example Request syntax with placeholder values
         | 
| 677 | 
            +
                #
         | 
| 678 | 
            +
                #   resp = client.lock_rule({
         | 
| 679 | 
            +
                #     identifier: "RuleIdentifier", # required
         | 
| 680 | 
            +
                #     lock_configuration: { # required
         | 
| 681 | 
            +
                #       unlock_delay: { # required
         | 
| 682 | 
            +
                #         unlock_delay_value: 1, # required
         | 
| 683 | 
            +
                #         unlock_delay_unit: "DAYS", # required, accepts DAYS
         | 
| 684 | 
            +
                #       },
         | 
| 685 | 
            +
                #     },
         | 
| 686 | 
            +
                #   })
         | 
| 687 | 
            +
                #
         | 
| 688 | 
            +
                # @example Response structure
         | 
| 689 | 
            +
                #
         | 
| 690 | 
            +
                #   resp.identifier #=> String
         | 
| 691 | 
            +
                #   resp.description #=> String
         | 
| 692 | 
            +
                #   resp.resource_type #=> String, one of "EBS_SNAPSHOT", "EC2_IMAGE"
         | 
| 693 | 
            +
                #   resp.retention_period.retention_period_value #=> Integer
         | 
| 694 | 
            +
                #   resp.retention_period.retention_period_unit #=> String, one of "DAYS"
         | 
| 695 | 
            +
                #   resp.resource_tags #=> Array
         | 
| 696 | 
            +
                #   resp.resource_tags[0].resource_tag_key #=> String
         | 
| 697 | 
            +
                #   resp.resource_tags[0].resource_tag_value #=> String
         | 
| 698 | 
            +
                #   resp.status #=> String, one of "pending", "available"
         | 
| 699 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
         | 
| 700 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
         | 
| 701 | 
            +
                #   resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
         | 
| 702 | 
            +
                #
         | 
| 703 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/LockRule AWS API Documentation
         | 
| 704 | 
            +
                #
         | 
| 705 | 
            +
                # @overload lock_rule(params = {})
         | 
| 706 | 
            +
                # @param [Hash] params ({})
         | 
| 707 | 
            +
                def lock_rule(params = {}, options = {})
         | 
| 708 | 
            +
                  req = build_request(:lock_rule, params)
         | 
| 709 | 
            +
                  req.send_request(options)
         | 
| 710 | 
            +
                end
         | 
| 711 | 
            +
             | 
| 629 712 | 
             
                # Assigns tags to the specified retention rule.
         | 
| 630 713 | 
             
                #
         | 
| 631 714 | 
             
                # @option params [required, String] :resource_arn
         | 
| @@ -657,6 +740,55 @@ module Aws::RecycleBin | |
| 657 740 | 
             
                  req.send_request(options)
         | 
| 658 741 | 
             
                end
         | 
| 659 742 |  | 
| 743 | 
            +
                # Unlocks a retention rule. After a retention rule is unlocked, it can
         | 
| 744 | 
            +
                # be modified or deleted only after the unlock delay period expires.
         | 
| 745 | 
            +
                #
         | 
| 746 | 
            +
                # @option params [required, String] :identifier
         | 
| 747 | 
            +
                #   The unique ID of the retention rule.
         | 
| 748 | 
            +
                #
         | 
| 749 | 
            +
                # @return [Types::UnlockRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 750 | 
            +
                #
         | 
| 751 | 
            +
                #   * {Types::UnlockRuleResponse#identifier #identifier} => String
         | 
| 752 | 
            +
                #   * {Types::UnlockRuleResponse#description #description} => String
         | 
| 753 | 
            +
                #   * {Types::UnlockRuleResponse#resource_type #resource_type} => String
         | 
| 754 | 
            +
                #   * {Types::UnlockRuleResponse#retention_period #retention_period} => Types::RetentionPeriod
         | 
| 755 | 
            +
                #   * {Types::UnlockRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
         | 
| 756 | 
            +
                #   * {Types::UnlockRuleResponse#status #status} => String
         | 
| 757 | 
            +
                #   * {Types::UnlockRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
         | 
| 758 | 
            +
                #   * {Types::UnlockRuleResponse#lock_state #lock_state} => String
         | 
| 759 | 
            +
                #   * {Types::UnlockRuleResponse#lock_end_time #lock_end_time} => Time
         | 
| 760 | 
            +
                #
         | 
| 761 | 
            +
                # @example Request syntax with placeholder values
         | 
| 762 | 
            +
                #
         | 
| 763 | 
            +
                #   resp = client.unlock_rule({
         | 
| 764 | 
            +
                #     identifier: "RuleIdentifier", # required
         | 
| 765 | 
            +
                #   })
         | 
| 766 | 
            +
                #
         | 
| 767 | 
            +
                # @example Response structure
         | 
| 768 | 
            +
                #
         | 
| 769 | 
            +
                #   resp.identifier #=> String
         | 
| 770 | 
            +
                #   resp.description #=> String
         | 
| 771 | 
            +
                #   resp.resource_type #=> String, one of "EBS_SNAPSHOT", "EC2_IMAGE"
         | 
| 772 | 
            +
                #   resp.retention_period.retention_period_value #=> Integer
         | 
| 773 | 
            +
                #   resp.retention_period.retention_period_unit #=> String, one of "DAYS"
         | 
| 774 | 
            +
                #   resp.resource_tags #=> Array
         | 
| 775 | 
            +
                #   resp.resource_tags[0].resource_tag_key #=> String
         | 
| 776 | 
            +
                #   resp.resource_tags[0].resource_tag_value #=> String
         | 
| 777 | 
            +
                #   resp.status #=> String, one of "pending", "available"
         | 
| 778 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
         | 
| 779 | 
            +
                #   resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
         | 
| 780 | 
            +
                #   resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
         | 
| 781 | 
            +
                #   resp.lock_end_time #=> Time
         | 
| 782 | 
            +
                #
         | 
| 783 | 
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/UnlockRule AWS API Documentation
         | 
| 784 | 
            +
                #
         | 
| 785 | 
            +
                # @overload unlock_rule(params = {})
         | 
| 786 | 
            +
                # @param [Hash] params ({})
         | 
| 787 | 
            +
                def unlock_rule(params = {}, options = {})
         | 
| 788 | 
            +
                  req = build_request(:unlock_rule, params)
         | 
| 789 | 
            +
                  req.send_request(options)
         | 
| 790 | 
            +
                end
         | 
| 791 | 
            +
             | 
| 660 792 | 
             
                # Unassigns a tag from a retention rule.
         | 
| 661 793 | 
             
                #
         | 
| 662 794 | 
             
                # @option params [required, String] :resource_arn
         | 
| @@ -684,9 +816,12 @@ module Aws::RecycleBin | |
| 684 816 | 
             
                  req.send_request(options)
         | 
| 685 817 | 
             
                end
         | 
| 686 818 |  | 
| 687 | 
            -
                # Updates an existing Recycle Bin retention rule.  | 
| 688 | 
            -
                #  | 
| 689 | 
            -
                #  | 
| 819 | 
            +
                # Updates an existing Recycle Bin retention rule. You can update a
         | 
| 820 | 
            +
                # retention rule's description, resource tags, and retention period at
         | 
| 821 | 
            +
                # any time after creation. You can't update a retention rule's
         | 
| 822 | 
            +
                # resource type after creation. For more information, see [ Update
         | 
| 823 | 
            +
                # Recycle Bin retention rules][1] in the *Amazon Elastic Compute Cloud
         | 
| 824 | 
            +
                # User Guide*.
         | 
| 690 825 | 
             
                #
         | 
| 691 826 | 
             
                #
         | 
| 692 827 | 
             
                #
         | 
| @@ -703,10 +838,10 @@ module Aws::RecycleBin | |
| 703 838 | 
             
                #   The retention rule description.
         | 
| 704 839 | 
             
                #
         | 
| 705 840 | 
             
                # @option params [String] :resource_type
         | 
| 706 | 
            -
                #    | 
| 707 | 
            -
                #    | 
| 708 | 
            -
                # | 
| 709 | 
            -
                # | 
| 841 | 
            +
                #   <note markdown="1"> This parameter is currently not supported. You can't update a
         | 
| 842 | 
            +
                #   retention rule's resource type after creation.
         | 
| 843 | 
            +
                #
         | 
| 844 | 
            +
                #    </note>
         | 
| 710 845 | 
             
                #
         | 
| 711 846 | 
             
                # @option params [Array<Types::ResourceTag>] :resource_tags
         | 
| 712 847 | 
             
                #   Specifies the resource tags to use to identify resources that are to
         | 
| @@ -734,6 +869,8 @@ module Aws::RecycleBin | |
| 734 869 | 
             
                #   * {Types::UpdateRuleResponse#resource_type #resource_type} => String
         | 
| 735 870 | 
             
                #   * {Types::UpdateRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
         | 
| 736 871 | 
             
                #   * {Types::UpdateRuleResponse#status #status} => String
         | 
| 872 | 
            +
                #   * {Types::UpdateRuleResponse#lock_state #lock_state} => String
         | 
| 873 | 
            +
                #   * {Types::UpdateRuleResponse#lock_end_time #lock_end_time} => Time
         | 
| 737 874 | 
             
                #
         | 
| 738 875 | 
             
                # @example Request syntax with placeholder values
         | 
| 739 876 | 
             
                #
         | 
| @@ -764,6 +901,8 @@ module Aws::RecycleBin | |
| 764 901 | 
             
                #   resp.resource_tags[0].resource_tag_key #=> String
         | 
| 765 902 | 
             
                #   resp.resource_tags[0].resource_tag_value #=> String
         | 
| 766 903 | 
             
                #   resp.status #=> String, one of "pending", "available"
         | 
| 904 | 
            +
                #   resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
         | 
| 905 | 
            +
                #   resp.lock_end_time #=> Time
         | 
| 767 906 | 
             
                #
         | 
| 768 907 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/UpdateRule AWS API Documentation
         | 
| 769 908 | 
             
                #
         | 
| @@ -787,7 +926,7 @@ module Aws::RecycleBin | |
| 787 926 | 
             
                    params: params,
         | 
| 788 927 | 
             
                    config: config)
         | 
| 789 928 | 
             
                  context[:gem_name] = 'aws-sdk-recyclebin'
         | 
| 790 | 
            -
                  context[:gem_version] = '1. | 
| 929 | 
            +
                  context[:gem_version] = '1.8.0'
         | 
| 791 930 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 792 931 | 
             
                end
         | 
| 793 932 |  | 
| @@ -13,6 +13,8 @@ module Aws::RecycleBin | |
| 13 13 |  | 
| 14 14 | 
             
                include Seahorse::Model
         | 
| 15 15 |  | 
| 16 | 
            +
                ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
         | 
| 17 | 
            +
                ConflictExceptionReason = Shapes::StringShape.new(name: 'ConflictExceptionReason')
         | 
| 16 18 | 
             
                CreateRuleRequest = Shapes::StructureShape.new(name: 'CreateRuleRequest')
         | 
| 17 19 | 
             
                CreateRuleResponse = Shapes::StructureShape.new(name: 'CreateRuleResponse')
         | 
| 18 20 | 
             
                DeleteRuleRequest = Shapes::StructureShape.new(name: 'DeleteRuleRequest')
         | 
| @@ -26,6 +28,10 @@ module Aws::RecycleBin | |
| 26 28 | 
             
                ListRulesResponse = Shapes::StructureShape.new(name: 'ListRulesResponse')
         | 
| 27 29 | 
             
                ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
         | 
| 28 30 | 
             
                ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
         | 
| 31 | 
            +
                LockConfiguration = Shapes::StructureShape.new(name: 'LockConfiguration')
         | 
| 32 | 
            +
                LockRuleRequest = Shapes::StructureShape.new(name: 'LockRuleRequest')
         | 
| 33 | 
            +
                LockRuleResponse = Shapes::StructureShape.new(name: 'LockRuleResponse')
         | 
| 34 | 
            +
                LockState = Shapes::StringShape.new(name: 'LockState')
         | 
| 29 35 | 
             
                MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
         | 
| 30 36 | 
             
                NextToken = Shapes::StringShape.new(name: 'NextToken')
         | 
| 31 37 | 
             
                ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
         | 
| @@ -52,6 +58,12 @@ module Aws::RecycleBin | |
| 52 58 | 
             
                TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
         | 
| 53 59 | 
             
                TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
         | 
| 54 60 | 
             
                TagValue = Shapes::StringShape.new(name: 'TagValue')
         | 
| 61 | 
            +
                TimeStamp = Shapes::TimestampShape.new(name: 'TimeStamp')
         | 
| 62 | 
            +
                UnlockDelay = Shapes::StructureShape.new(name: 'UnlockDelay')
         | 
| 63 | 
            +
                UnlockDelayUnit = Shapes::StringShape.new(name: 'UnlockDelayUnit')
         | 
| 64 | 
            +
                UnlockDelayValue = Shapes::IntegerShape.new(name: 'UnlockDelayValue')
         | 
| 65 | 
            +
                UnlockRuleRequest = Shapes::StructureShape.new(name: 'UnlockRuleRequest')
         | 
| 66 | 
            +
                UnlockRuleResponse = Shapes::StructureShape.new(name: 'UnlockRuleResponse')
         | 
| 55 67 | 
             
                UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
         | 
| 56 68 | 
             
                UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
         | 
| 57 69 | 
             
                UpdateRuleRequest = Shapes::StructureShape.new(name: 'UpdateRuleRequest')
         | 
| @@ -59,11 +71,16 @@ module Aws::RecycleBin | |
| 59 71 | 
             
                ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
         | 
| 60 72 | 
             
                ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
         | 
| 61 73 |  | 
| 74 | 
            +
                ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         | 
| 75 | 
            +
                ConflictException.add_member(:reason, Shapes::ShapeRef.new(shape: ConflictExceptionReason, location_name: "Reason"))
         | 
| 76 | 
            +
                ConflictException.struct_class = Types::ConflictException
         | 
| 77 | 
            +
             | 
| 62 78 | 
             
                CreateRuleRequest.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, required: true, location_name: "RetentionPeriod"))
         | 
| 63 79 | 
             
                CreateRuleRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
         | 
| 64 80 | 
             
                CreateRuleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
         | 
| 65 81 | 
             
                CreateRuleRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
         | 
| 66 82 | 
             
                CreateRuleRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 83 | 
            +
                CreateRuleRequest.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
         | 
| 67 84 | 
             
                CreateRuleRequest.struct_class = Types::CreateRuleRequest
         | 
| 68 85 |  | 
| 69 86 | 
             
                CreateRuleResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
         | 
| @@ -73,6 +90,8 @@ module Aws::RecycleBin | |
| 73 90 | 
             
                CreateRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
         | 
| 74 91 | 
             
                CreateRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 75 92 | 
             
                CreateRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
         | 
| 93 | 
            +
                CreateRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
         | 
| 94 | 
            +
                CreateRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 76 95 | 
             
                CreateRuleResponse.struct_class = Types::CreateRuleResponse
         | 
| 77 96 |  | 
| 78 97 | 
             
                DeleteRuleRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, required: true, location: "uri", location_name: "identifier"))
         | 
| @@ -89,6 +108,9 @@ module Aws::RecycleBin | |
| 89 108 | 
             
                GetRuleResponse.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
         | 
| 90 109 | 
             
                GetRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 91 110 | 
             
                GetRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
         | 
| 111 | 
            +
                GetRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
         | 
| 112 | 
            +
                GetRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 113 | 
            +
                GetRuleResponse.add_member(:lock_end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LockEndTime"))
         | 
| 92 114 | 
             
                GetRuleResponse.struct_class = Types::GetRuleResponse
         | 
| 93 115 |  | 
| 94 116 | 
             
                InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         | 
| @@ -98,6 +120,7 @@ module Aws::RecycleBin | |
| 98 120 | 
             
                ListRulesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
         | 
| 99 121 | 
             
                ListRulesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
         | 
| 100 122 | 
             
                ListRulesRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 123 | 
            +
                ListRulesRequest.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 101 124 | 
             
                ListRulesRequest.struct_class = Types::ListRulesRequest
         | 
| 102 125 |  | 
| 103 126 | 
             
                ListRulesResponse.add_member(:rules, Shapes::ShapeRef.new(shape: RuleSummaryList, location_name: "Rules"))
         | 
| @@ -110,6 +133,23 @@ module Aws::RecycleBin | |
| 110 133 | 
             
                ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
         | 
| 111 134 | 
             
                ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
         | 
| 112 135 |  | 
| 136 | 
            +
                LockConfiguration.add_member(:unlock_delay, Shapes::ShapeRef.new(shape: UnlockDelay, required: true, location_name: "UnlockDelay"))
         | 
| 137 | 
            +
                LockConfiguration.struct_class = Types::LockConfiguration
         | 
| 138 | 
            +
             | 
| 139 | 
            +
                LockRuleRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, required: true, location: "uri", location_name: "identifier"))
         | 
| 140 | 
            +
                LockRuleRequest.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, required: true, location_name: "LockConfiguration"))
         | 
| 141 | 
            +
                LockRuleRequest.struct_class = Types::LockRuleRequest
         | 
| 142 | 
            +
             | 
| 143 | 
            +
                LockRuleResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
         | 
| 144 | 
            +
                LockRuleResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
         | 
| 145 | 
            +
                LockRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
         | 
| 146 | 
            +
                LockRuleResponse.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
         | 
| 147 | 
            +
                LockRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 148 | 
            +
                LockRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
         | 
| 149 | 
            +
                LockRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
         | 
| 150 | 
            +
                LockRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 151 | 
            +
                LockRuleResponse.struct_class = Types::LockRuleResponse
         | 
| 152 | 
            +
             | 
| 113 153 | 
             
                ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         | 
| 114 154 | 
             
                ResourceNotFoundException.add_member(:reason, Shapes::ShapeRef.new(shape: ResourceNotFoundExceptionReason, location_name: "Reason"))
         | 
| 115 155 | 
             
                ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
         | 
| @@ -127,6 +167,7 @@ module Aws::RecycleBin | |
| 127 167 | 
             
                RuleSummary.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
         | 
| 128 168 | 
             
                RuleSummary.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
         | 
| 129 169 | 
             
                RuleSummary.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
         | 
| 170 | 
            +
                RuleSummary.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 130 171 | 
             
                RuleSummary.struct_class = Types::RuleSummary
         | 
| 131 172 |  | 
| 132 173 | 
             
                RuleSummaryList.member = Shapes::ShapeRef.new(shape: RuleSummary)
         | 
| @@ -149,6 +190,24 @@ module Aws::RecycleBin | |
| 149 190 |  | 
| 150 191 | 
             
                TagResourceResponse.struct_class = Types::TagResourceResponse
         | 
| 151 192 |  | 
| 193 | 
            +
                UnlockDelay.add_member(:unlock_delay_value, Shapes::ShapeRef.new(shape: UnlockDelayValue, required: true, location_name: "UnlockDelayValue"))
         | 
| 194 | 
            +
                UnlockDelay.add_member(:unlock_delay_unit, Shapes::ShapeRef.new(shape: UnlockDelayUnit, required: true, location_name: "UnlockDelayUnit"))
         | 
| 195 | 
            +
                UnlockDelay.struct_class = Types::UnlockDelay
         | 
| 196 | 
            +
             | 
| 197 | 
            +
                UnlockRuleRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, required: true, location: "uri", location_name: "identifier"))
         | 
| 198 | 
            +
                UnlockRuleRequest.struct_class = Types::UnlockRuleRequest
         | 
| 199 | 
            +
             | 
| 200 | 
            +
                UnlockRuleResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
         | 
| 201 | 
            +
                UnlockRuleResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
         | 
| 202 | 
            +
                UnlockRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
         | 
| 203 | 
            +
                UnlockRuleResponse.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
         | 
| 204 | 
            +
                UnlockRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 205 | 
            +
                UnlockRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
         | 
| 206 | 
            +
                UnlockRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
         | 
| 207 | 
            +
                UnlockRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 208 | 
            +
                UnlockRuleResponse.add_member(:lock_end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LockEndTime"))
         | 
| 209 | 
            +
                UnlockRuleResponse.struct_class = Types::UnlockRuleResponse
         | 
| 210 | 
            +
             | 
| 152 211 | 
             
                UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: RuleArn, required: true, location: "uri", location_name: "resourceArn"))
         | 
| 153 212 | 
             
                UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
         | 
| 154 213 | 
             
                UntagResourceRequest.struct_class = Types::UntagResourceRequest
         | 
| @@ -168,6 +227,8 @@ module Aws::RecycleBin | |
| 168 227 | 
             
                UpdateRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
         | 
| 169 228 | 
             
                UpdateRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
         | 
| 170 229 | 
             
                UpdateRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
         | 
| 230 | 
            +
                UpdateRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
         | 
| 231 | 
            +
                UpdateRuleResponse.add_member(:lock_end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LockEndTime"))
         | 
| 171 232 | 
             
                UpdateRuleResponse.struct_class = Types::UpdateRuleResponse
         | 
| 172 233 |  | 
| 173 234 | 
             
                ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         | 
| @@ -212,6 +273,7 @@ module Aws::RecycleBin | |
| 212 273 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 213 274 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 214 275 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         | 
| 276 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
         | 
| 215 277 | 
             
                  end)
         | 
| 216 278 |  | 
| 217 279 | 
             
                  api.add_operation(:get_rule, Seahorse::Model::Operation.new.tap do |o|
         | 
| @@ -252,6 +314,18 @@ module Aws::RecycleBin | |
| 252 314 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 253 315 | 
             
                  end)
         | 
| 254 316 |  | 
| 317 | 
            +
                  api.add_operation(:lock_rule, Seahorse::Model::Operation.new.tap do |o|
         | 
| 318 | 
            +
                    o.name = "LockRule"
         | 
| 319 | 
            +
                    o.http_method = "PATCH"
         | 
| 320 | 
            +
                    o.http_request_uri = "/rules/{identifier}/lock"
         | 
| 321 | 
            +
                    o.input = Shapes::ShapeRef.new(shape: LockRuleRequest)
         | 
| 322 | 
            +
                    o.output = Shapes::ShapeRef.new(shape: LockRuleResponse)
         | 
| 323 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 324 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 325 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         | 
| 326 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
         | 
| 327 | 
            +
                  end)
         | 
| 328 | 
            +
             | 
| 255 329 | 
             
                  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
         | 
| 256 330 | 
             
                    o.name = "TagResource"
         | 
| 257 331 | 
             
                    o.http_method = "POST"
         | 
| @@ -264,6 +338,18 @@ module Aws::RecycleBin | |
| 264 338 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         | 
| 265 339 | 
             
                  end)
         | 
| 266 340 |  | 
| 341 | 
            +
                  api.add_operation(:unlock_rule, Seahorse::Model::Operation.new.tap do |o|
         | 
| 342 | 
            +
                    o.name = "UnlockRule"
         | 
| 343 | 
            +
                    o.http_method = "PATCH"
         | 
| 344 | 
            +
                    o.http_request_uri = "/rules/{identifier}/unlock"
         | 
| 345 | 
            +
                    o.input = Shapes::ShapeRef.new(shape: UnlockRuleRequest)
         | 
| 346 | 
            +
                    o.output = Shapes::ShapeRef.new(shape: UnlockRuleResponse)
         | 
| 347 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 348 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 349 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         | 
| 350 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
         | 
| 351 | 
            +
                  end)
         | 
| 352 | 
            +
             | 
| 267 353 | 
             
                  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
         | 
| 268 354 | 
             
                    o.name = "UntagResource"
         | 
| 269 355 | 
             
                    o.http_method = "DELETE"
         | 
| @@ -284,6 +370,7 @@ module Aws::RecycleBin | |
| 284 370 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         | 
| 285 371 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         | 
| 286 372 | 
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         | 
| 373 | 
            +
                    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
         | 
| 287 374 | 
             
                  end)
         | 
| 288 375 | 
             
                end
         | 
| 289 376 |  | 
| @@ -50,6 +50,9 @@ module Aws::RecycleBin | |
| 50 50 |  | 
| 51 51 | 
             
                def initialize(options = {})
         | 
| 52 52 | 
             
                  self[:region] = options[:region]
         | 
| 53 | 
            +
                  if self[:region].nil?
         | 
| 54 | 
            +
                    raise ArgumentError, "Missing required EndpointParameter: :region"
         | 
| 55 | 
            +
                  end
         | 
| 53 56 | 
             
                  self[:use_dual_stack] = options[:use_dual_stack]
         | 
| 54 57 | 
             
                  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
         | 
| 55 58 | 
             
                  if self[:use_dual_stack].nil?
         | 
| @@ -9,103 +9,43 @@ | |
| 9 9 |  | 
| 10 10 | 
             
            module Aws::RecycleBin
         | 
| 11 11 | 
             
              class EndpointProvider
         | 
| 12 | 
            -
                def  | 
| 13 | 
            -
                   | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
                       | 
| 20 | 
            -
             | 
| 12 | 
            +
                def resolve_endpoint(parameters)
         | 
| 13 | 
            +
                  region = parameters.region
         | 
| 14 | 
            +
                  use_dual_stack = parameters.use_dual_stack
         | 
| 15 | 
            +
                  use_fips = parameters.use_fips
         | 
| 16 | 
            +
                  endpoint = parameters.endpoint
         | 
| 17 | 
            +
                  if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
         | 
| 18 | 
            +
                    if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
         | 
| 19 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
         | 
| 20 | 
            +
                        raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
         | 
| 21 | 
            +
                      end
         | 
| 22 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         | 
| 23 | 
            +
                        raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
         | 
| 24 | 
            +
                      end
         | 
| 25 | 
            +
                      return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         | 
| 28 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
         | 
| 29 | 
            +
                        return Aws::Endpoints::Endpoint.new(url: "https://rbin-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         | 
| 30 | 
            +
                      end
         | 
| 31 | 
            +
                      raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
         | 
| 32 | 
            +
                    end
         | 
| 33 | 
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
         | 
| 34 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
         | 
| 35 | 
            +
                        return Aws::Endpoints::Endpoint.new(url: "https://rbin-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         | 
| 36 | 
            +
                      end
         | 
| 37 | 
            +
                      raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
         | 
| 38 | 
            +
                    end
         | 
| 39 | 
            +
                    if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
         | 
| 40 | 
            +
                      if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
         | 
| 41 | 
            +
                        return Aws::Endpoints::Endpoint.new(url: "https://rbin.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
         | 
| 42 | 
            +
                      end
         | 
| 43 | 
            +
                      raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
         | 
| 44 | 
            +
                    end
         | 
| 45 | 
            +
                    return Aws::Endpoints::Endpoint.new(url: "https://rbin.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
         | 
| 21 46 | 
             
                  end
         | 
| 22 | 
            -
                   | 
| 23 | 
            -
                end
         | 
| 47 | 
            +
                  raise ArgumentError, 'No endpoint could be resolved'
         | 
| 24 48 |  | 
| 25 | 
            -
                def resolve_endpoint(parameters)
         | 
| 26 | 
            -
                  @provider.resolve_endpoint(parameters)
         | 
| 27 49 | 
             
                end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                # @api private
         | 
| 30 | 
            -
                RULES = <<-JSON
         | 
| 31 | 
            -
            eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
         | 
| 32 | 
            -
            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 | 
            -
            dCI6eyJ1cmwiOiJodHRwczovL3JiaW4tZmlwcy57UmVnaW9ufS57UGFydGl0
         | 
| 77 | 
            -
            aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
         | 
| 78 | 
            -
            fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0
         | 
| 79 | 
            -
            aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBlbmFi
         | 
| 80 | 
            -
            bGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBvbmUg
         | 
| 81 | 
            -
            b3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJm
         | 
| 82 | 
            -
            biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0s
         | 
| 83 | 
            -
            dHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
         | 
| 84 | 
            -
            W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6Imdl
         | 
| 85 | 
            -
            dEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3Vw
         | 
| 86 | 
            -
            cG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
         | 
| 87 | 
            -
            aXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
         | 
| 88 | 
            -
            cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmJpbi1maXBzLntS
         | 
| 89 | 
            -
            ZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRp
         | 
| 90 | 
            -
            ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfSx7
         | 
| 91 | 
            -
            ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMgZW5hYmxlZCBidXQg
         | 
| 92 | 
            -
            dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBGSVBTIiwidHlwZSI6
         | 
| 93 | 
            -
            ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFs
         | 
| 94 | 
            -
            cyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9LHRydWVdfV0sInR5
         | 
| 95 | 
            -
            cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9v
         | 
| 96 | 
            -
            bGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJn
         | 
| 97 | 
            -
            diI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRHVhbFN0
         | 
| 98 | 
            -
            YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
         | 
| 99 | 
            -
            IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yYmluLntSZWdpb259
         | 
| 100 | 
            -
            LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3Bl
         | 
| 101 | 
            -
            cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0s
         | 
| 102 | 
            -
            eyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxl
         | 
| 103 | 
            -
            ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3Rh
         | 
| 104 | 
            -
            Y2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBv
         | 
| 105 | 
            -
            aW50Ijp7InVybCI6Imh0dHBzOi8vcmJpbi57UmVnaW9ufS57UGFydGl0aW9u
         | 
| 106 | 
            -
            UmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6
         | 
| 107 | 
            -
            e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
         | 
| 108 | 
            -
             | 
| 109 | 
            -
                JSON
         | 
| 110 50 | 
             
              end
         | 
| 111 51 | 
             
            end
         |