aws-sdk-sns 1.31.0 → 1.35.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/lib/aws-sdk-sns.rb +1 -1
- data/lib/aws-sdk-sns/client.rb +94 -18
- data/lib/aws-sdk-sns/client_api.rb +3 -0
- data/lib/aws-sdk-sns/message_verifier.rb +22 -5
- data/lib/aws-sdk-sns/platform_endpoint.rb +27 -0
- data/lib/aws-sdk-sns/resource.rb +28 -1
- data/lib/aws-sdk-sns/topic.rb +76 -10
- data/lib/aws-sdk-sns/types.rb +131 -14
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 700050d1caca2f17f9bc2c6bce7fcd843a421567ea0544f69ded4baadf4f8f62
         | 
| 4 | 
            +
              data.tar.gz: c298ec3ac5cd53a80f243bf2230e38fc32d8a73d5791f78aa4c42759be1538e1
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8d157627d17d268d0f63252689a1daeff3f774dfe7f23f64f47f4c44ffc39299a6e64bd497ddad54eda66745b157bebd1c24cb6608cbcec6a89ef39e9d88276e
         | 
| 7 | 
            +
              data.tar.gz: 432750570c818e08f6d70e02821880ca44b71830959ecd98d7868534ca26602b772b5cfd4852efd339ce9bdef146c026ed27793e3a2c08e0f8b8bdfb3a8287b2
         | 
    
        data/lib/aws-sdk-sns.rb
    CHANGED
    
    
    
        data/lib/aws-sdk-sns/client.rb
    CHANGED
    
    | @@ -591,10 +591,11 @@ module Aws::SNS | |
| 591 591 | 
             
                end
         | 
| 592 592 |  | 
| 593 593 | 
             
                # Creates a topic to which notifications can be published. Users can
         | 
| 594 | 
            -
                # create at most 100,000 topics | 
| 595 | 
            -
                # [https://aws.amazon.com/sns][1]. This action | 
| 596 | 
            -
                # requester already owns a topic with the | 
| 597 | 
            -
                # ARN is returned without creating a new | 
| 594 | 
            +
                # create at most 100,000 standard topics (at most 1,000 FIFO topics).
         | 
| 595 | 
            +
                # For more information, see [https://aws.amazon.com/sns][1]. This action
         | 
| 596 | 
            +
                # is idempotent, so if the requester already owns a topic with the
         | 
| 597 | 
            +
                # specified name, that topic's ARN is returned without creating a new
         | 
| 598 | 
            +
                # topic.
         | 
| 598 599 | 
             
                #
         | 
| 599 600 | 
             
                #
         | 
| 600 601 | 
             
                #
         | 
| @@ -607,6 +608,9 @@ module Aws::SNS | |
| 607 608 | 
             
                #   lowercase ASCII letters, numbers, underscores, and hyphens, and must
         | 
| 608 609 | 
             
                #   be between 1 and 256 characters long.
         | 
| 609 610 | 
             
                #
         | 
| 611 | 
            +
                #   For a FIFO (first-in-first-out) topic, the name must end with the
         | 
| 612 | 
            +
                #   `.fifo` suffix.
         | 
| 613 | 
            +
                #
         | 
| 610 614 | 
             
                # @option params [Hash<String,String>] :attributes
         | 
| 611 615 | 
             
                #   A map of attributes with their corresponding values.
         | 
| 612 616 | 
             
                #
         | 
| @@ -619,23 +623,47 @@ module Aws::SNS | |
| 619 623 | 
             
                #   * `DisplayName` – The display name to use for a topic with SMS
         | 
| 620 624 | 
             
                #     subscriptions.
         | 
| 621 625 | 
             
                #
         | 
| 626 | 
            +
                #   * `FifoTopic` – Set to true to create a FIFO topic.
         | 
| 627 | 
            +
                #
         | 
| 622 628 | 
             
                #   * `Policy` – The policy that defines who can access your topic. By
         | 
| 623 629 | 
             
                #     default, only the topic owner can publish or subscribe to the topic.
         | 
| 624 630 | 
             
                #
         | 
| 625 631 | 
             
                #   The following attribute applies only to [server-side-encryption][1]\:
         | 
| 626 632 | 
             
                #
         | 
| 627 | 
            -
                #   * `KmsMasterKeyId`  | 
| 633 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 628 634 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
         | 
| 629 635 | 
             
                #     Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 630 636 | 
             
                #     Management Service API Reference*.
         | 
| 631 637 | 
             
                #
         | 
| 632 638 | 
             
                #   ^
         | 
| 633 639 | 
             
                #
         | 
| 640 | 
            +
                #   The following attributes apply only to [FIFO topics][4]\:
         | 
| 641 | 
            +
                #
         | 
| 642 | 
            +
                #   * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
         | 
| 643 | 
            +
                #
         | 
| 644 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 645 | 
            +
                #     for FIFO topics.
         | 
| 646 | 
            +
                #
         | 
| 647 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If you
         | 
| 648 | 
            +
                #       create a FIFO topic and this attribute is `false`, you must
         | 
| 649 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for the
         | 
| 650 | 
            +
                #       [Publish][5] action.
         | 
| 651 | 
            +
                #
         | 
| 652 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 653 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId` using
         | 
| 654 | 
            +
                #       the body of the message (but not the attributes of the message).
         | 
| 655 | 
            +
                #
         | 
| 656 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 657 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 658 | 
            +
                #       `Publish` action.
         | 
| 659 | 
            +
                #
         | 
| 634 660 | 
             
                #
         | 
| 635 661 | 
             
                #
         | 
| 636 662 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 637 663 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 638 664 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 665 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 666 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 639 667 | 
             
                #
         | 
| 640 668 | 
             
                # @option params [Array<Types::Tag>] :tags
         | 
| 641 669 | 
             
                #   The list of tags to add to a new topic.
         | 
| @@ -1403,9 +1431,37 @@ module Aws::SNS | |
| 1403 1431 | 
             
                # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
         | 
| 1404 1432 | 
             
                #   Message attributes for Publish action.
         | 
| 1405 1433 | 
             
                #
         | 
| 1434 | 
            +
                # @option params [String] :message_deduplication_id
         | 
| 1435 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 1436 | 
            +
                #   `MessageDeduplicationId` can contain up to 128 alphanumeric characters
         | 
| 1437 | 
            +
                #   (a-z, A-Z, 0-9) and punctuation ``
         | 
| 1438 | 
            +
                #   (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 1439 | 
            +
                #
         | 
| 1440 | 
            +
                #   Every message must have a unique `MessageDeduplicationId`, which is a
         | 
| 1441 | 
            +
                #   token used for deduplication of sent messages. If a message with a
         | 
| 1442 | 
            +
                #   particular `MessageDeduplicationId` is sent successfully, any message
         | 
| 1443 | 
            +
                #   sent with the same `MessageDeduplicationId` during the 5-minute
         | 
| 1444 | 
            +
                #   deduplication interval is treated as a duplicate.
         | 
| 1445 | 
            +
                #
         | 
| 1446 | 
            +
                #   If the topic has `ContentBasedDeduplication` set, the system generates
         | 
| 1447 | 
            +
                #   a `MessageDeduplicationId` based on the contents of the message. Your
         | 
| 1448 | 
            +
                #   `MessageDeduplicationId` overrides the generated one.
         | 
| 1449 | 
            +
                #
         | 
| 1450 | 
            +
                # @option params [String] :message_group_id
         | 
| 1451 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 1452 | 
            +
                #   `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
         | 
| 1453 | 
            +
                #   A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 1454 | 
            +
                #
         | 
| 1455 | 
            +
                #   The `MessageGroupId` is a tag that specifies that a message belongs to
         | 
| 1456 | 
            +
                #   a specific message group. Messages that belong to the same message
         | 
| 1457 | 
            +
                #   group are processed in a FIFO manner (however, messages in different
         | 
| 1458 | 
            +
                #   message groups might be processed out of order). Every message must
         | 
| 1459 | 
            +
                #   include a `MessageGroupId`.
         | 
| 1460 | 
            +
                #
         | 
| 1406 1461 | 
             
                # @return [Types::PublishResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         | 
| 1407 1462 | 
             
                #
         | 
| 1408 1463 | 
             
                #   * {Types::PublishResponse#message_id #message_id} => String
         | 
| 1464 | 
            +
                #   * {Types::PublishResponse#sequence_number #sequence_number} => String
         | 
| 1409 1465 | 
             
                #
         | 
| 1410 1466 | 
             
                # @example Request syntax with placeholder values
         | 
| 1411 1467 | 
             
                #
         | 
| @@ -1423,11 +1479,14 @@ module Aws::SNS | |
| 1423 1479 | 
             
                #         binary_value: "data",
         | 
| 1424 1480 | 
             
                #       },
         | 
| 1425 1481 | 
             
                #     },
         | 
| 1482 | 
            +
                #     message_deduplication_id: "String",
         | 
| 1483 | 
            +
                #     message_group_id: "String",
         | 
| 1426 1484 | 
             
                #   })
         | 
| 1427 1485 | 
             
                #
         | 
| 1428 1486 | 
             
                # @example Response structure
         | 
| 1429 1487 | 
             
                #
         | 
| 1430 1488 | 
             
                #   resp.message_id #=> String
         | 
| 1489 | 
            +
                #   resp.sequence_number #=> String
         | 
| 1431 1490 | 
             
                #
         | 
| 1432 1491 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Publish AWS API Documentation
         | 
| 1433 1492 | 
             
                #
         | 
| @@ -1591,8 +1650,8 @@ module Aws::SNS | |
| 1591 1650 | 
             
                #
         | 
| 1592 1651 | 
             
                # You can override some of these settings for a single message when you
         | 
| 1593 1652 | 
             
                # use the `Publish` action with the `MessageAttributes.entry.N`
         | 
| 1594 | 
            -
                # parameter. For more information, see [ | 
| 1595 | 
            -
                # the *Amazon SNS Developer Guide*.
         | 
| 1653 | 
            +
                # parameter. For more information, see [Publishing to a mobile phone][1]
         | 
| 1654 | 
            +
                # in the *Amazon SNS Developer Guide*.
         | 
| 1596 1655 | 
             
                #
         | 
| 1597 1656 | 
             
                #
         | 
| 1598 1657 | 
             
                #
         | 
| @@ -1776,18 +1835,38 @@ module Aws::SNS | |
| 1776 1835 | 
             
                #
         | 
| 1777 1836 | 
             
                #   The following attribute applies only to [server-side-encryption][1]\:
         | 
| 1778 1837 | 
             
                #
         | 
| 1779 | 
            -
                #   * `KmsMasterKeyId`  | 
| 1838 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 1780 1839 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
         | 
| 1781 1840 | 
             
                #     Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 1782 1841 | 
             
                #     Management Service API Reference*.
         | 
| 1783 1842 | 
             
                #
         | 
| 1784 1843 | 
             
                #   ^
         | 
| 1785 1844 | 
             
                #
         | 
| 1845 | 
            +
                #   The following attribute applies only to [FIFO topics][4]\:
         | 
| 1846 | 
            +
                #
         | 
| 1847 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 1848 | 
            +
                #     for FIFO topics.
         | 
| 1849 | 
            +
                #
         | 
| 1850 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If you
         | 
| 1851 | 
            +
                #       create a FIFO topic and this attribute is `false`, you must
         | 
| 1852 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for the
         | 
| 1853 | 
            +
                #       [Publish][5] action.
         | 
| 1854 | 
            +
                #
         | 
| 1855 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 1856 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId` using
         | 
| 1857 | 
            +
                #       the body of the message (but not the attributes of the message).
         | 
| 1858 | 
            +
                #
         | 
| 1859 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 1860 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 1861 | 
            +
                #       `Publish` action.
         | 
| 1862 | 
            +
                #
         | 
| 1786 1863 | 
             
                #
         | 
| 1787 1864 | 
             
                #
         | 
| 1788 1865 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 1789 1866 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 1790 1867 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 1868 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 1869 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 1791 1870 | 
             
                #
         | 
| 1792 1871 | 
             
                # @option params [String] :attribute_value
         | 
| 1793 1872 | 
             
                #   The new value for the attribute.
         | 
| @@ -1900,15 +1979,12 @@ module Aws::SNS | |
| 1900 1979 | 
             
                #   Sets whether the response from the `Subscribe` request includes the
         | 
| 1901 1980 | 
             
                #   subscription ARN, even if the subscription is not yet confirmed.
         | 
| 1902 1981 | 
             
                #
         | 
| 1903 | 
            -
                #    | 
| 1904 | 
            -
                # | 
| 1905 | 
            -
                # | 
| 1906 | 
            -
                # | 
| 1907 | 
            -
                # | 
| 1908 | 
            -
                # | 
| 1909 | 
            -
                #     confirmation token.
         | 
| 1910 | 
            -
                #
         | 
| 1911 | 
            -
                #   ^
         | 
| 1982 | 
            +
                #   If you set this parameter to `true`, the response includes the ARN in
         | 
| 1983 | 
            +
                #   all cases, even if the subscription is not yet confirmed. In addition
         | 
| 1984 | 
            +
                #   to the ARN for confirmed subscriptions, the response also includes the
         | 
| 1985 | 
            +
                #   `pending subscription` ARN value for subscriptions that aren't yet
         | 
| 1986 | 
            +
                #   confirmed. A subscription becomes confirmed when the subscriber calls
         | 
| 1987 | 
            +
                #   the `ConfirmSubscription` action with a confirmation token.
         | 
| 1912 1988 | 
             
                #
         | 
| 1913 1989 | 
             
                #
         | 
| 1914 1990 | 
             
                #
         | 
| @@ -2071,7 +2147,7 @@ module Aws::SNS | |
| 2071 2147 | 
             
                    params: params,
         | 
| 2072 2148 | 
             
                    config: config)
         | 
| 2073 2149 | 
             
                  context[:gem_name] = 'aws-sdk-sns'
         | 
| 2074 | 
            -
                  context[:gem_version] = '1. | 
| 2150 | 
            +
                  context[:gem_version] = '1.35.0'
         | 
| 2075 2151 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 2076 2152 | 
             
                end
         | 
| 2077 2153 |  | 
| @@ -364,9 +364,12 @@ module Aws::SNS | |
| 364 364 | 
             
                PublishInput.add_member(:subject, Shapes::ShapeRef.new(shape: subject, location_name: "Subject"))
         | 
| 365 365 | 
             
                PublishInput.add_member(:message_structure, Shapes::ShapeRef.new(shape: messageStructure, location_name: "MessageStructure"))
         | 
| 366 366 | 
             
                PublishInput.add_member(:message_attributes, Shapes::ShapeRef.new(shape: MessageAttributeMap, location_name: "MessageAttributes"))
         | 
| 367 | 
            +
                PublishInput.add_member(:message_deduplication_id, Shapes::ShapeRef.new(shape: String, location_name: "MessageDeduplicationId"))
         | 
| 368 | 
            +
                PublishInput.add_member(:message_group_id, Shapes::ShapeRef.new(shape: String, location_name: "MessageGroupId"))
         | 
| 367 369 | 
             
                PublishInput.struct_class = Types::PublishInput
         | 
| 368 370 |  | 
| 369 371 | 
             
                PublishResponse.add_member(:message_id, Shapes::ShapeRef.new(shape: messageId, location_name: "MessageId"))
         | 
| 372 | 
            +
                PublishResponse.add_member(:sequence_number, Shapes::ShapeRef.new(shape: String, location_name: "SequenceNumber"))
         | 
| 370 373 | 
             
                PublishResponse.struct_class = Types::PublishResponse
         | 
| 371 374 |  | 
| 372 375 | 
             
                RemovePermissionInput.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, required: true, location_name: "TopicArn"))
         | 
| @@ -6,7 +6,6 @@ require 'base64' | |
| 6 6 |  | 
| 7 7 | 
             
            module Aws
         | 
| 8 8 | 
             
              module SNS
         | 
| 9 | 
            -
             | 
| 10 9 | 
             
                # A utility class that can be used to verify the authenticity of messages
         | 
| 11 10 | 
             
                # sent by Amazon SNS.
         | 
| 12 11 | 
             
                #
         | 
| @@ -33,16 +32,20 @@ module Aws | |
| 33 32 | 
             
                    'Timestamp',
         | 
| 34 33 | 
             
                    'Token',
         | 
| 35 34 | 
             
                    'TopicArn',
         | 
| 36 | 
            -
                    'Type' | 
| 35 | 
            +
                    'Type'
         | 
| 37 36 | 
             
                  ].freeze
         | 
| 38 37 |  | 
| 39 38 | 
             
                  # @api private
         | 
| 40 39 | 
             
                  AWS_HOSTNAMES = [
         | 
| 41 40 | 
             
                    /^sns\.[a-zA-Z0-9\-]{3,}\.amazonaws\.com(\.cn)?$/
         | 
| 42 | 
            -
                  ]
         | 
| 41 | 
            +
                  ].freeze
         | 
| 43 42 |  | 
| 44 | 
            -
                   | 
| 43 | 
            +
                  # @param [Hash] http_options Supported options to be passed to Net::HTTP.
         | 
| 44 | 
            +
                  # @option http_options [String] :http_proxy A proxy to send
         | 
| 45 | 
            +
                  #   requests through.  Formatted like 'http://proxy.com:123'.
         | 
| 46 | 
            +
                  def initialize(http_options = {})
         | 
| 45 47 | 
             
                    @cached_pems = {}
         | 
| 48 | 
            +
                    @http_proxy = http_options[:http_proxy]
         | 
| 46 49 | 
             
                  end
         | 
| 47 50 |  | 
| 48 51 | 
             
                  # @param [String<JSON>] message_body
         | 
| @@ -151,7 +154,11 @@ module Aws | |
| 151 154 | 
             
                  end
         | 
| 152 155 |  | 
| 153 156 | 
             
                  def https_get(uri, failed_attempts = 0)
         | 
| 154 | 
            -
                     | 
| 157 | 
            +
                    args = []
         | 
| 158 | 
            +
                    args << uri.host
         | 
| 159 | 
            +
                    args << uri.port
         | 
| 160 | 
            +
                    args += http_proxy_parts
         | 
| 161 | 
            +
                    http = Net::HTTP.new(*args.compact)
         | 
| 155 162 | 
             
                    http.use_ssl = true
         | 
| 156 163 | 
             
                    http.verify_mode = OpenSSL::SSL::VERIFY_PEER
         | 
| 157 164 | 
             
                    http.start
         | 
| @@ -168,6 +175,16 @@ module Aws | |
| 168 175 | 
             
                    raise VerificationError, error.message
         | 
| 169 176 | 
             
                  end
         | 
| 170 177 |  | 
| 178 | 
            +
                  def http_proxy_parts
         | 
| 179 | 
            +
                    # empty string if not configured, URI parts return nil
         | 
| 180 | 
            +
                    http_proxy = URI.parse(@http_proxy.to_s)
         | 
| 181 | 
            +
                    [
         | 
| 182 | 
            +
                      http_proxy.host,
         | 
| 183 | 
            +
                      http_proxy.port,
         | 
| 184 | 
            +
                      (http_proxy.user && CGI.unescape(http_proxy.user)),
         | 
| 185 | 
            +
                      (http_proxy.password && CGI.unescape(http_proxy.password))
         | 
| 186 | 
            +
                    ]
         | 
| 187 | 
            +
                  end
         | 
| 171 188 | 
             
                end
         | 
| 172 189 | 
             
              end
         | 
| 173 190 | 
             
            end
         | 
| @@ -121,6 +121,8 @@ module Aws::SNS | |
| 121 121 | 
             
                #         binary_value: "data",
         | 
| 122 122 | 
             
                #       },
         | 
| 123 123 | 
             
                #     },
         | 
| 124 | 
            +
                #     message_deduplication_id: "String",
         | 
| 125 | 
            +
                #     message_group_id: "String",
         | 
| 124 126 | 
             
                #   })
         | 
| 125 127 | 
             
                # @param [Hash] options ({})
         | 
| 126 128 | 
             
                # @option options [String] :topic_arn
         | 
| @@ -215,6 +217,31 @@ module Aws::SNS | |
| 215 217 | 
             
                #   Valid value: `json`
         | 
| 216 218 | 
             
                # @option options [Hash<String,Types::MessageAttributeValue>] :message_attributes
         | 
| 217 219 | 
             
                #   Message attributes for Publish action.
         | 
| 220 | 
            +
                # @option options [String] :message_deduplication_id
         | 
| 221 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 222 | 
            +
                #   `MessageDeduplicationId` can contain up to 128 alphanumeric characters
         | 
| 223 | 
            +
                #   (a-z, A-Z, 0-9) and punctuation ``
         | 
| 224 | 
            +
                #   (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 225 | 
            +
                #
         | 
| 226 | 
            +
                #   Every message must have a unique `MessageDeduplicationId`, which is a
         | 
| 227 | 
            +
                #   token used for deduplication of sent messages. If a message with a
         | 
| 228 | 
            +
                #   particular `MessageDeduplicationId` is sent successfully, any message
         | 
| 229 | 
            +
                #   sent with the same `MessageDeduplicationId` during the 5-minute
         | 
| 230 | 
            +
                #   deduplication interval is treated as a duplicate.
         | 
| 231 | 
            +
                #
         | 
| 232 | 
            +
                #   If the topic has `ContentBasedDeduplication` set, the system generates
         | 
| 233 | 
            +
                #   a `MessageDeduplicationId` based on the contents of the message. Your
         | 
| 234 | 
            +
                #   `MessageDeduplicationId` overrides the generated one.
         | 
| 235 | 
            +
                # @option options [String] :message_group_id
         | 
| 236 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 237 | 
            +
                #   `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
         | 
| 238 | 
            +
                #   A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 239 | 
            +
                #
         | 
| 240 | 
            +
                #   The `MessageGroupId` is a tag that specifies that a message belongs to
         | 
| 241 | 
            +
                #   a specific message group. Messages that belong to the same message
         | 
| 242 | 
            +
                #   group are processed in a FIFO manner (however, messages in different
         | 
| 243 | 
            +
                #   message groups might be processed out of order). Every message must
         | 
| 244 | 
            +
                #   include a `MessageGroupId`.
         | 
| 218 245 | 
             
                # @return [Types::PublishResponse]
         | 
| 219 246 | 
             
                def publish(options = {})
         | 
| 220 247 | 
             
                  options = options.merge(target_arn: @arn)
         | 
    
        data/lib/aws-sdk-sns/resource.rb
    CHANGED
    
    | @@ -89,6 +89,9 @@ module Aws::SNS | |
| 89 89 | 
             
                #   Constraints: Topic names must be made up of only uppercase and
         | 
| 90 90 | 
             
                #   lowercase ASCII letters, numbers, underscores, and hyphens, and must
         | 
| 91 91 | 
             
                #   be between 1 and 256 characters long.
         | 
| 92 | 
            +
                #
         | 
| 93 | 
            +
                #   For a FIFO (first-in-first-out) topic, the name must end with the
         | 
| 94 | 
            +
                #   `.fifo` suffix.
         | 
| 92 95 | 
             
                # @option options [Hash<String,String>] :attributes
         | 
| 93 96 | 
             
                #   A map of attributes with their corresponding values.
         | 
| 94 97 | 
             
                #
         | 
| @@ -101,23 +104,47 @@ module Aws::SNS | |
| 101 104 | 
             
                #   * `DisplayName` – The display name to use for a topic with SMS
         | 
| 102 105 | 
             
                #     subscriptions.
         | 
| 103 106 | 
             
                #
         | 
| 107 | 
            +
                #   * `FifoTopic` – Set to true to create a FIFO topic.
         | 
| 108 | 
            +
                #
         | 
| 104 109 | 
             
                #   * `Policy` – The policy that defines who can access your topic. By
         | 
| 105 110 | 
             
                #     default, only the topic owner can publish or subscribe to the topic.
         | 
| 106 111 | 
             
                #
         | 
| 107 112 | 
             
                #   The following attribute applies only to [server-side-encryption][1]\:
         | 
| 108 113 | 
             
                #
         | 
| 109 | 
            -
                #   * `KmsMasterKeyId`  | 
| 114 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 110 115 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
         | 
| 111 116 | 
             
                #     Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 112 117 | 
             
                #     Management Service API Reference*.
         | 
| 113 118 | 
             
                #
         | 
| 114 119 | 
             
                #   ^
         | 
| 115 120 | 
             
                #
         | 
| 121 | 
            +
                #   The following attributes apply only to [FIFO topics][4]\:
         | 
| 122 | 
            +
                #
         | 
| 123 | 
            +
                #   * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
         | 
| 124 | 
            +
                #
         | 
| 125 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 126 | 
            +
                #     for FIFO topics.
         | 
| 127 | 
            +
                #
         | 
| 128 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If you
         | 
| 129 | 
            +
                #       create a FIFO topic and this attribute is `false`, you must
         | 
| 130 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for the
         | 
| 131 | 
            +
                #       [Publish][5] action.
         | 
| 132 | 
            +
                #
         | 
| 133 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 134 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId` using
         | 
| 135 | 
            +
                #       the body of the message (but not the attributes of the message).
         | 
| 136 | 
            +
                #
         | 
| 137 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 138 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 139 | 
            +
                #       `Publish` action.
         | 
| 140 | 
            +
                #
         | 
| 116 141 | 
             
                #
         | 
| 117 142 | 
             
                #
         | 
| 118 143 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 119 144 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 120 145 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 146 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 147 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 121 148 | 
             
                # @option options [Array<Types::Tag>] :tags
         | 
| 122 149 | 
             
                #   The list of tags to add to a new topic.
         | 
| 123 150 | 
             
                #
         | 
    
        data/lib/aws-sdk-sns/topic.rb
    CHANGED
    
    | @@ -71,11 +71,33 @@ module Aws::SNS | |
| 71 71 | 
             
                #
         | 
| 72 72 | 
             
                # ^
         | 
| 73 73 | 
             
                #
         | 
| 74 | 
            +
                # The following attributes apply only to [FIFO topics][4]\:
         | 
| 75 | 
            +
                #
         | 
| 76 | 
            +
                # * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
         | 
| 77 | 
            +
                #
         | 
| 78 | 
            +
                # * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 79 | 
            +
                #   for FIFO topics.
         | 
| 80 | 
            +
                #
         | 
| 81 | 
            +
                #   * By default, `ContentBasedDeduplication` is set to `false`. If you
         | 
| 82 | 
            +
                #     create a FIFO topic and this attribute is `false`, you must
         | 
| 83 | 
            +
                #     specify a value for the `MessageDeduplicationId` parameter for the
         | 
| 84 | 
            +
                #     [Publish][5] action.
         | 
| 85 | 
            +
                #
         | 
| 86 | 
            +
                #   * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 87 | 
            +
                #     uses a SHA-256 hash to generate the `MessageDeduplicationId` using
         | 
| 88 | 
            +
                #     the body of the message (but not the attributes of the message).
         | 
| 89 | 
            +
                #
         | 
| 90 | 
            +
                #     (Optional) To override the generated value, you can specify a
         | 
| 91 | 
            +
                #     value for the the `MessageDeduplicationId` parameter for the
         | 
| 92 | 
            +
                #     `Publish` action.
         | 
| 93 | 
            +
                #
         | 
| 74 94 | 
             
                #
         | 
| 75 95 | 
             
                #
         | 
| 76 96 | 
             
                # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 77 97 | 
             
                # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 78 98 | 
             
                # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 99 | 
            +
                # [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 100 | 
            +
                # [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 79 101 | 
             
                # @return [Hash<String,String>]
         | 
| 80 102 | 
             
                def attributes
         | 
| 81 103 | 
             
                  data[:attributes]
         | 
| @@ -194,6 +216,8 @@ module Aws::SNS | |
| 194 216 | 
             
                #         binary_value: "data",
         | 
| 195 217 | 
             
                #       },
         | 
| 196 218 | 
             
                #     },
         | 
| 219 | 
            +
                #     message_deduplication_id: "String",
         | 
| 220 | 
            +
                #     message_group_id: "String",
         | 
| 197 221 | 
             
                #   })
         | 
| 198 222 | 
             
                # @param [Hash] options ({})
         | 
| 199 223 | 
             
                # @option options [String] :target_arn
         | 
| @@ -286,6 +310,31 @@ module Aws::SNS | |
| 286 310 | 
             
                #   Valid value: `json`
         | 
| 287 311 | 
             
                # @option options [Hash<String,Types::MessageAttributeValue>] :message_attributes
         | 
| 288 312 | 
             
                #   Message attributes for Publish action.
         | 
| 313 | 
            +
                # @option options [String] :message_deduplication_id
         | 
| 314 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 315 | 
            +
                #   `MessageDeduplicationId` can contain up to 128 alphanumeric characters
         | 
| 316 | 
            +
                #   (a-z, A-Z, 0-9) and punctuation ``
         | 
| 317 | 
            +
                #   (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 318 | 
            +
                #
         | 
| 319 | 
            +
                #   Every message must have a unique `MessageDeduplicationId`, which is a
         | 
| 320 | 
            +
                #   token used for deduplication of sent messages. If a message with a
         | 
| 321 | 
            +
                #   particular `MessageDeduplicationId` is sent successfully, any message
         | 
| 322 | 
            +
                #   sent with the same `MessageDeduplicationId` during the 5-minute
         | 
| 323 | 
            +
                #   deduplication interval is treated as a duplicate.
         | 
| 324 | 
            +
                #
         | 
| 325 | 
            +
                #   If the topic has `ContentBasedDeduplication` set, the system generates
         | 
| 326 | 
            +
                #   a `MessageDeduplicationId` based on the contents of the message. Your
         | 
| 327 | 
            +
                #   `MessageDeduplicationId` overrides the generated one.
         | 
| 328 | 
            +
                # @option options [String] :message_group_id
         | 
| 329 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 330 | 
            +
                #   `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
         | 
| 331 | 
            +
                #   A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 332 | 
            +
                #
         | 
| 333 | 
            +
                #   The `MessageGroupId` is a tag that specifies that a message belongs to
         | 
| 334 | 
            +
                #   a specific message group. Messages that belong to the same message
         | 
| 335 | 
            +
                #   group are processed in a FIFO manner (however, messages in different
         | 
| 336 | 
            +
                #   message groups might be processed out of order). Every message must
         | 
| 337 | 
            +
                #   include a `MessageGroupId`.
         | 
| 289 338 | 
             
                # @return [Types::PublishResponse]
         | 
| 290 339 | 
             
                def publish(options = {})
         | 
| 291 340 | 
             
                  options = options.merge(topic_arn: @arn)
         | 
| @@ -332,18 +381,38 @@ module Aws::SNS | |
| 332 381 | 
             
                #
         | 
| 333 382 | 
             
                #   The following attribute applies only to [server-side-encryption][1]\:
         | 
| 334 383 | 
             
                #
         | 
| 335 | 
            -
                #   * `KmsMasterKeyId`  | 
| 384 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 336 385 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
         | 
| 337 386 | 
             
                #     Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 338 387 | 
             
                #     Management Service API Reference*.
         | 
| 339 388 | 
             
                #
         | 
| 340 389 | 
             
                #   ^
         | 
| 341 390 | 
             
                #
         | 
| 391 | 
            +
                #   The following attribute applies only to [FIFO topics][4]\:
         | 
| 392 | 
            +
                #
         | 
| 393 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 394 | 
            +
                #     for FIFO topics.
         | 
| 395 | 
            +
                #
         | 
| 396 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If you
         | 
| 397 | 
            +
                #       create a FIFO topic and this attribute is `false`, you must
         | 
| 398 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for the
         | 
| 399 | 
            +
                #       [Publish][5] action.
         | 
| 400 | 
            +
                #
         | 
| 401 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 402 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId` using
         | 
| 403 | 
            +
                #       the body of the message (but not the attributes of the message).
         | 
| 404 | 
            +
                #
         | 
| 405 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 406 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 407 | 
            +
                #       `Publish` action.
         | 
| 408 | 
            +
                #
         | 
| 342 409 | 
             
                #
         | 
| 343 410 | 
             
                #
         | 
| 344 411 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 345 412 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 346 413 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 414 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 415 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 347 416 | 
             
                # @option options [String] :attribute_value
         | 
| 348 417 | 
             
                #   The new value for the attribute.
         | 
| 349 418 | 
             
                # @return [EmptyStructure]
         | 
| @@ -437,15 +506,12 @@ module Aws::SNS | |
| 437 506 | 
             
                #   Sets whether the response from the `Subscribe` request includes the
         | 
| 438 507 | 
             
                #   subscription ARN, even if the subscription is not yet confirmed.
         | 
| 439 508 | 
             
                #
         | 
| 440 | 
            -
                #    | 
| 441 | 
            -
                # | 
| 442 | 
            -
                # | 
| 443 | 
            -
                # | 
| 444 | 
            -
                # | 
| 445 | 
            -
                # | 
| 446 | 
            -
                #     confirmation token.
         | 
| 447 | 
            -
                #
         | 
| 448 | 
            -
                #   ^
         | 
| 509 | 
            +
                #   If you set this parameter to `true`, the response includes the ARN in
         | 
| 510 | 
            +
                #   all cases, even if the subscription is not yet confirmed. In addition
         | 
| 511 | 
            +
                #   to the ARN for confirmed subscriptions, the response also includes the
         | 
| 512 | 
            +
                #   `pending subscription` ARN value for subscriptions that aren't yet
         | 
| 513 | 
            +
                #   confirmed. A subscription becomes confirmed when the subscriber calls
         | 
| 514 | 
            +
                #   the `ConfirmSubscription` action with a confirmation token.
         | 
| 449 515 | 
             
                #
         | 
| 450 516 | 
             
                #
         | 
| 451 517 | 
             
                #
         | 
    
        data/lib/aws-sdk-sns/types.rb
    CHANGED
    
    | @@ -319,6 +319,9 @@ module Aws::SNS | |
| 319 319 | 
             
                #   Constraints: Topic names must be made up of only uppercase and
         | 
| 320 320 | 
             
                #   lowercase ASCII letters, numbers, underscores, and hyphens, and must
         | 
| 321 321 | 
             
                #   be between 1 and 256 characters long.
         | 
| 322 | 
            +
                #
         | 
| 323 | 
            +
                #   For a FIFO (first-in-first-out) topic, the name must end with the
         | 
| 324 | 
            +
                #   `.fifo` suffix.
         | 
| 322 325 | 
             
                #   @return [String]
         | 
| 323 326 | 
             
                #
         | 
| 324 327 | 
             
                # @!attribute [rw] attributes
         | 
| @@ -333,6 +336,8 @@ module Aws::SNS | |
| 333 336 | 
             
                #   * `DisplayName` – The display name to use for a topic with SMS
         | 
| 334 337 | 
             
                #     subscriptions.
         | 
| 335 338 | 
             
                #
         | 
| 339 | 
            +
                #   * `FifoTopic` – Set to true to create a FIFO topic.
         | 
| 340 | 
            +
                #
         | 
| 336 341 | 
             
                #   * `Policy` – The policy that defines who can access your topic. By
         | 
| 337 342 | 
             
                #     default, only the topic owner can publish or subscribe to the
         | 
| 338 343 | 
             
                #     topic.
         | 
| @@ -340,18 +345,41 @@ module Aws::SNS | |
| 340 345 | 
             
                #   The following attribute applies only to
         | 
| 341 346 | 
             
                #   [server-side-encryption][1]\:
         | 
| 342 347 | 
             
                #
         | 
| 343 | 
            -
                #   * `KmsMasterKeyId`  | 
| 348 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 344 349 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see
         | 
| 345 350 | 
             
                #     [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 346 351 | 
             
                #     Management Service API Reference*.
         | 
| 347 352 | 
             
                #
         | 
| 348 353 | 
             
                #   ^
         | 
| 349 354 | 
             
                #
         | 
| 355 | 
            +
                #   The following attributes apply only to [FIFO topics][4]\:
         | 
| 356 | 
            +
                #
         | 
| 357 | 
            +
                #   * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
         | 
| 358 | 
            +
                #
         | 
| 359 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 360 | 
            +
                #     for FIFO topics.
         | 
| 361 | 
            +
                #
         | 
| 362 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If
         | 
| 363 | 
            +
                #       you create a FIFO topic and this attribute is `false`, you must
         | 
| 364 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for
         | 
| 365 | 
            +
                #       the [Publish][5] action.
         | 
| 366 | 
            +
                #
         | 
| 367 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 368 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId`
         | 
| 369 | 
            +
                #       using the body of the message (but not the attributes of the
         | 
| 370 | 
            +
                #       message).
         | 
| 371 | 
            +
                #
         | 
| 372 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 373 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 374 | 
            +
                #       `Publish` action.
         | 
| 375 | 
            +
                #
         | 
| 350 376 | 
             
                #
         | 
| 351 377 | 
             
                #
         | 
| 352 378 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 353 379 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 354 380 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 381 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 382 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 355 383 | 
             
                #   @return [Hash<String,String>]
         | 
| 356 384 | 
             
                #
         | 
| 357 385 | 
             
                # @!attribute [rw] tags
         | 
| @@ -781,11 +809,34 @@ module Aws::SNS | |
| 781 809 | 
             
                #
         | 
| 782 810 | 
             
                #   ^
         | 
| 783 811 | 
             
                #
         | 
| 812 | 
            +
                #   The following attributes apply only to [FIFO topics][4]\:
         | 
| 813 | 
            +
                #
         | 
| 814 | 
            +
                #   * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
         | 
| 815 | 
            +
                #
         | 
| 816 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 817 | 
            +
                #     for FIFO topics.
         | 
| 818 | 
            +
                #
         | 
| 819 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If
         | 
| 820 | 
            +
                #       you create a FIFO topic and this attribute is `false`, you must
         | 
| 821 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for
         | 
| 822 | 
            +
                #       the [Publish][5] action.
         | 
| 823 | 
            +
                #
         | 
| 824 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 825 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId`
         | 
| 826 | 
            +
                #       using the body of the message (but not the attributes of the
         | 
| 827 | 
            +
                #       message).
         | 
| 828 | 
            +
                #
         | 
| 829 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 830 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 831 | 
            +
                #       `Publish` action.
         | 
| 832 | 
            +
                #
         | 
| 784 833 | 
             
                #
         | 
| 785 834 | 
             
                #
         | 
| 786 835 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 787 836 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 788 837 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 838 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 839 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 789 840 | 
             
                #   @return [Hash<String,String>]
         | 
| 790 841 | 
             
                #
         | 
| 791 842 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributesResponse AWS API Documentation
         | 
| @@ -1255,12 +1306,14 @@ module Aws::SNS | |
| 1255 1306 | 
             
                # message body should not be empty or null. All parts of the message
         | 
| 1256 1307 | 
             
                # attribute, including name, type, and value, are included in the
         | 
| 1257 1308 | 
             
                # message size restriction, which is currently 256 KB (262,144 bytes).
         | 
| 1258 | 
            -
                # For more information, see [ | 
| 1309 | 
            +
                # For more information, see [Amazon SNS message attributes][2] and
         | 
| 1310 | 
            +
                # [Publishing to a mobile phone][3] in the *Amazon SNS Developer Guide.*
         | 
| 1259 1311 | 
             
                #
         | 
| 1260 1312 | 
             
                #
         | 
| 1261 1313 | 
             
                #
         | 
| 1262 1314 | 
             
                # [1]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 1263 1315 | 
             
                # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html
         | 
| 1316 | 
            +
                # [3]: https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
         | 
| 1264 1317 | 
             
                #
         | 
| 1265 1318 | 
             
                # @note When making an API call, you may pass MessageAttributeValue
         | 
| 1266 1319 | 
             
                #   data as a hash:
         | 
| @@ -1397,6 +1450,8 @@ module Aws::SNS | |
| 1397 1450 | 
             
                #             binary_value: "data",
         | 
| 1398 1451 | 
             
                #           },
         | 
| 1399 1452 | 
             
                #         },
         | 
| 1453 | 
            +
                #         message_deduplication_id: "String",
         | 
| 1454 | 
            +
                #         message_group_id: "String",
         | 
| 1400 1455 | 
             
                #       }
         | 
| 1401 1456 | 
             
                #
         | 
| 1402 1457 | 
             
                # @!attribute [rw] topic_arn
         | 
| @@ -1511,6 +1566,36 @@ module Aws::SNS | |
| 1511 1566 | 
             
                #   Message attributes for Publish action.
         | 
| 1512 1567 | 
             
                #   @return [Hash<String,Types::MessageAttributeValue>]
         | 
| 1513 1568 | 
             
                #
         | 
| 1569 | 
            +
                # @!attribute [rw] message_deduplication_id
         | 
| 1570 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 1571 | 
            +
                #   `MessageDeduplicationId` can contain up to 128 alphanumeric
         | 
| 1572 | 
            +
                #   characters (a-z, A-Z, 0-9) and punctuation ``
         | 
| 1573 | 
            +
                #   (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 1574 | 
            +
                #
         | 
| 1575 | 
            +
                #   Every message must have a unique `MessageDeduplicationId`, which is
         | 
| 1576 | 
            +
                #   a token used for deduplication of sent messages. If a message with a
         | 
| 1577 | 
            +
                #   particular `MessageDeduplicationId` is sent successfully, any
         | 
| 1578 | 
            +
                #   message sent with the same `MessageDeduplicationId` during the
         | 
| 1579 | 
            +
                #   5-minute deduplication interval is treated as a duplicate.
         | 
| 1580 | 
            +
                #
         | 
| 1581 | 
            +
                #   If the topic has `ContentBasedDeduplication` set, the system
         | 
| 1582 | 
            +
                #   generates a `MessageDeduplicationId` based on the contents of the
         | 
| 1583 | 
            +
                #   message. Your `MessageDeduplicationId` overrides the generated one.
         | 
| 1584 | 
            +
                #   @return [String]
         | 
| 1585 | 
            +
                #
         | 
| 1586 | 
            +
                # @!attribute [rw] message_group_id
         | 
| 1587 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 1588 | 
            +
                #   `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
         | 
| 1589 | 
            +
                #   A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
         | 
| 1590 | 
            +
                #   ``.
         | 
| 1591 | 
            +
                #
         | 
| 1592 | 
            +
                #   The `MessageGroupId` is a tag that specifies that a message belongs
         | 
| 1593 | 
            +
                #   to a specific message group. Messages that belong to the same
         | 
| 1594 | 
            +
                #   message group are processed in a FIFO manner (however, messages in
         | 
| 1595 | 
            +
                #   different message groups might be processed out of order). Every
         | 
| 1596 | 
            +
                #   message must include a `MessageGroupId`.
         | 
| 1597 | 
            +
                #   @return [String]
         | 
| 1598 | 
            +
                #
         | 
| 1514 1599 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishInput AWS API Documentation
         | 
| 1515 1600 | 
             
                #
         | 
| 1516 1601 | 
             
                class PublishInput < Struct.new(
         | 
| @@ -1520,7 +1605,9 @@ module Aws::SNS | |
| 1520 1605 | 
             
                  :message,
         | 
| 1521 1606 | 
             
                  :subject,
         | 
| 1522 1607 | 
             
                  :message_structure,
         | 
| 1523 | 
            -
                  :message_attributes | 
| 1608 | 
            +
                  :message_attributes,
         | 
| 1609 | 
            +
                  :message_deduplication_id,
         | 
| 1610 | 
            +
                  :message_group_id)
         | 
| 1524 1611 | 
             
                  SENSITIVE = []
         | 
| 1525 1612 | 
             
                  include Aws::Structure
         | 
| 1526 1613 | 
             
                end
         | 
| @@ -1533,10 +1620,21 @@ module Aws::SNS | |
| 1533 1620 | 
             
                #   Length Constraint: Maximum 100 characters
         | 
| 1534 1621 | 
             
                #   @return [String]
         | 
| 1535 1622 | 
             
                #
         | 
| 1623 | 
            +
                # @!attribute [rw] sequence_number
         | 
| 1624 | 
            +
                #   This response element applies only to FIFO (first-in-first-out)
         | 
| 1625 | 
            +
                #   topics.
         | 
| 1626 | 
            +
                #
         | 
| 1627 | 
            +
                #   The sequence number is a large, non-consecutive number that Amazon
         | 
| 1628 | 
            +
                #   SNS assigns to each message. The length of `SequenceNumber` is 128
         | 
| 1629 | 
            +
                #   bits. `SequenceNumber` continues to increase for each
         | 
| 1630 | 
            +
                #   `MessageGroupId`.
         | 
| 1631 | 
            +
                #   @return [String]
         | 
| 1632 | 
            +
                #
         | 
| 1536 1633 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishResponse AWS API Documentation
         | 
| 1537 1634 | 
             
                #
         | 
| 1538 1635 | 
             
                class PublishResponse < Struct.new(
         | 
| 1539 | 
            -
                  :message_id | 
| 1636 | 
            +
                  :message_id,
         | 
| 1637 | 
            +
                  :sequence_number)
         | 
| 1540 1638 | 
             
                  SENSITIVE = []
         | 
| 1541 1639 | 
             
                  include Aws::Structure
         | 
| 1542 1640 | 
             
                end
         | 
| @@ -1891,18 +1989,39 @@ module Aws::SNS | |
| 1891 1989 | 
             
                #   The following attribute applies only to
         | 
| 1892 1990 | 
             
                #   [server-side-encryption][1]\:
         | 
| 1893 1991 | 
             
                #
         | 
| 1894 | 
            -
                #   * `KmsMasterKeyId`  | 
| 1992 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 1895 1993 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see
         | 
| 1896 1994 | 
             
                #     [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 1897 1995 | 
             
                #     Management Service API Reference*.
         | 
| 1898 1996 | 
             
                #
         | 
| 1899 1997 | 
             
                #   ^
         | 
| 1900 1998 | 
             
                #
         | 
| 1999 | 
            +
                #   The following attribute applies only to [FIFO topics][4]\:
         | 
| 2000 | 
            +
                #
         | 
| 2001 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 2002 | 
            +
                #     for FIFO topics.
         | 
| 2003 | 
            +
                #
         | 
| 2004 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If
         | 
| 2005 | 
            +
                #       you create a FIFO topic and this attribute is `false`, you must
         | 
| 2006 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for
         | 
| 2007 | 
            +
                #       the [Publish][5] action.
         | 
| 2008 | 
            +
                #
         | 
| 2009 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 2010 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId`
         | 
| 2011 | 
            +
                #       using the body of the message (but not the attributes of the
         | 
| 2012 | 
            +
                #       message).
         | 
| 2013 | 
            +
                #
         | 
| 2014 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 2015 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 2016 | 
            +
                #       `Publish` action.
         | 
| 2017 | 
            +
                #
         | 
| 1901 2018 | 
             
                #
         | 
| 1902 2019 | 
             
                #
         | 
| 1903 2020 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 1904 2021 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 1905 2022 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 2023 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 2024 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 1906 2025 | 
             
                #   @return [String]
         | 
| 1907 2026 | 
             
                #
         | 
| 1908 2027 | 
             
                # @!attribute [rw] attribute_value
         | 
| @@ -2033,15 +2152,13 @@ module Aws::SNS | |
| 2033 2152 | 
             
                #   Sets whether the response from the `Subscribe` request includes the
         | 
| 2034 2153 | 
             
                #   subscription ARN, even if the subscription is not yet confirmed.
         | 
| 2035 2154 | 
             
                #
         | 
| 2036 | 
            -
                #    | 
| 2037 | 
            -
                # | 
| 2038 | 
            -
                # | 
| 2039 | 
            -
                # | 
| 2040 | 
            -
                # | 
| 2041 | 
            -
                # | 
| 2042 | 
            -
                # | 
| 2043 | 
            -
                #
         | 
| 2044 | 
            -
                #   ^
         | 
| 2155 | 
            +
                #   If you set this parameter to `true`, the response includes the ARN
         | 
| 2156 | 
            +
                #   in all cases, even if the subscription is not yet confirmed. In
         | 
| 2157 | 
            +
                #   addition to the ARN for confirmed subscriptions, the response also
         | 
| 2158 | 
            +
                #   includes the `pending subscription` ARN value for subscriptions that
         | 
| 2159 | 
            +
                #   aren't yet confirmed. A subscription becomes confirmed when the
         | 
| 2160 | 
            +
                #   subscriber calls the `ConfirmSubscription` action with a
         | 
| 2161 | 
            +
                #   confirmation token.
         | 
| 2045 2162 | 
             
                #
         | 
| 2046 2163 | 
             
                #
         | 
| 2047 2164 | 
             
                #
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: aws-sdk-sns
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.35.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: 2020- | 
| 11 | 
            +
            date: 2020-10-30 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. | 
| 22 | 
            +
                    version: 3.109.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. | 
| 32 | 
            +
                    version: 3.109.0
         | 
| 33 33 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 34 34 | 
             
              name: aws-sigv4
         | 
| 35 35 | 
             
              requirement: !ruby/object:Gem::Requirement
         |