aws-sdk-sns 1.33.0 → 1.38.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 +153 -24
- data/lib/aws-sdk-sns/client_api.rb +3 -0
- data/lib/aws-sdk-sns/platform_endpoint.rb +27 -0
- data/lib/aws-sdk-sns/resource.rb +28 -1
- data/lib/aws-sdk-sns/subscription.rb +36 -1
- data/lib/aws-sdk-sns/topic.rb +107 -13
- data/lib/aws-sdk-sns/types.rb +196 -18
- 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: fb4083c544c356daa44e6569fe2b5bc063969636bf38bd4e338934e1b4b04c4e
         | 
| 4 | 
            +
              data.tar.gz: 9757945b73520d1ea5aa121e7e9d184f5e191771d40fe3e0f53a7a97eeee6134
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: '086e902937fcd6927e216ff0553abfd684617548f68ab317ad6137d3bb47fac11e45276e632a2f08d3d8965954cd4c34ee53c979153a1b5ce1122fa568eac5f0'
         | 
| 7 | 
            +
              data.tar.gz: 965625e08f1c24aba6fa990121a37c72e3bcffbf49197295572d28347a5ff3c5e955deb4535538e0e33eb358c25982e4a8844b3cb9b0fa2b38c64f2699304c72
         | 
    
        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,14 @@ 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*.
         | 
| 1655 | 
            +
                #
         | 
| 1656 | 
            +
                # <note markdown="1"> To use this operation, you must grant the Amazon SNS service principal
         | 
| 1657 | 
            +
                # (`sns.amazonaws.com`) permission to perform the `s3:ListBucket`
         | 
| 1658 | 
            +
                # action.
         | 
| 1659 | 
            +
                #
         | 
| 1660 | 
            +
                #  </note>
         | 
| 1596 1661 | 
             
                #
         | 
| 1597 1662 | 
             
                #
         | 
| 1598 1663 | 
             
                #
         | 
| @@ -1711,7 +1776,7 @@ module Aws::SNS | |
| 1711 1776 | 
             
                #   A map of attributes with their corresponding values.
         | 
| 1712 1777 | 
             
                #
         | 
| 1713 1778 | 
             
                #   The following lists the names, descriptions, and values of the special
         | 
| 1714 | 
            -
                #   request parameters that  | 
| 1779 | 
            +
                #   request parameters that this action uses:
         | 
| 1715 1780 | 
             
                #
         | 
| 1716 1781 | 
             
                #   * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
         | 
| 1717 1782 | 
             
                #     failed deliveries to HTTP/S endpoints.
         | 
| @@ -1732,6 +1797,25 @@ module Aws::SNS | |
| 1732 1797 | 
             
                #     service that powers the subscribed endpoint becomes unavailable) are
         | 
| 1733 1798 | 
             
                #     held in the dead-letter queue for further analysis or reprocessing.
         | 
| 1734 1799 | 
             
                #
         | 
| 1800 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 1801 | 
            +
                #   delivery stream subscriptions:
         | 
| 1802 | 
            +
                #
         | 
| 1803 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 1804 | 
            +
                #     following:
         | 
| 1805 | 
            +
                #
         | 
| 1806 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 1807 | 
            +
                #
         | 
| 1808 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 1809 | 
            +
                #
         | 
| 1810 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 1811 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 1812 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][1] in the
         | 
| 1813 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 1814 | 
            +
                #
         | 
| 1815 | 
            +
                #
         | 
| 1816 | 
            +
                #
         | 
| 1817 | 
            +
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 1818 | 
            +
                #
         | 
| 1735 1819 | 
             
                # @option params [String] :attribute_value
         | 
| 1736 1820 | 
             
                #   The new value for the attribute in JSON format.
         | 
| 1737 1821 | 
             
                #
         | 
| @@ -1776,18 +1860,38 @@ module Aws::SNS | |
| 1776 1860 | 
             
                #
         | 
| 1777 1861 | 
             
                #   The following attribute applies only to [server-side-encryption][1]\:
         | 
| 1778 1862 | 
             
                #
         | 
| 1779 | 
            -
                #   * `KmsMasterKeyId`  | 
| 1863 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 1780 1864 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see [Key
         | 
| 1781 1865 | 
             
                #     Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 1782 1866 | 
             
                #     Management Service API Reference*.
         | 
| 1783 1867 | 
             
                #
         | 
| 1784 1868 | 
             
                #   ^
         | 
| 1785 1869 | 
             
                #
         | 
| 1870 | 
            +
                #   The following attribute applies only to [FIFO topics][4]\:
         | 
| 1871 | 
            +
                #
         | 
| 1872 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 1873 | 
            +
                #     for FIFO topics.
         | 
| 1874 | 
            +
                #
         | 
| 1875 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If you
         | 
| 1876 | 
            +
                #       create a FIFO topic and this attribute is `false`, you must
         | 
| 1877 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for the
         | 
| 1878 | 
            +
                #       [Publish][5] action.
         | 
| 1879 | 
            +
                #
         | 
| 1880 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 1881 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId` using
         | 
| 1882 | 
            +
                #       the body of the message (but not the attributes of the message).
         | 
| 1883 | 
            +
                #
         | 
| 1884 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 1885 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 1886 | 
            +
                #       `Publish` action.
         | 
| 1887 | 
            +
                #
         | 
| 1786 1888 | 
             
                #
         | 
| 1787 1889 | 
             
                #
         | 
| 1788 1890 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 1789 1891 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 1790 1892 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 1893 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 1894 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 1791 1895 | 
             
                #
         | 
| 1792 1896 | 
             
                # @option params [String] :attribute_value
         | 
| 1793 1897 | 
             
                #   The new value for the attribute.
         | 
| @@ -1813,8 +1917,8 @@ module Aws::SNS | |
| 1813 1917 |  | 
| 1814 1918 | 
             
                # Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is
         | 
| 1815 1919 | 
             
                # HTTP/S or email, or if the endpoint and the topic are not in the same
         | 
| 1816 | 
            -
                # AWS account, the endpoint owner must the `ConfirmSubscription` | 
| 1817 | 
            -
                # to confirm the subscription.
         | 
| 1920 | 
            +
                # AWS account, the endpoint owner must run the `ConfirmSubscription`
         | 
| 1921 | 
            +
                # action to confirm the subscription.
         | 
| 1818 1922 | 
             
                #
         | 
| 1819 1923 | 
             
                # You call the `ConfirmSubscription` action with the token from the
         | 
| 1820 1924 | 
             
                # subscription response. Confirmation tokens are valid for three days.
         | 
| @@ -1825,7 +1929,7 @@ module Aws::SNS | |
| 1825 1929 | 
             
                #   The ARN of the topic you want to subscribe to.
         | 
| 1826 1930 | 
             
                #
         | 
| 1827 1931 | 
             
                # @option params [required, String] :protocol
         | 
| 1828 | 
            -
                #   The protocol you want to use. Supported protocols include:
         | 
| 1932 | 
            +
                #   The protocol that you want to use. Supported protocols include:
         | 
| 1829 1933 | 
             
                #
         | 
| 1830 1934 | 
             
                #   * `http` – delivery of JSON-encoded message via HTTP POST
         | 
| 1831 1935 | 
             
                #
         | 
| @@ -1840,36 +1944,42 @@ module Aws::SNS | |
| 1840 1944 | 
             
                #   * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
         | 
| 1841 1945 | 
             
                #
         | 
| 1842 1946 | 
             
                #   * `application` – delivery of JSON-encoded message to an EndpointArn
         | 
| 1843 | 
            -
                #     for a mobile app and device | 
| 1947 | 
            +
                #     for a mobile app and device
         | 
| 1844 1948 | 
             
                #
         | 
| 1845 | 
            -
                #   * `lambda` – delivery of JSON-encoded message to an  | 
| 1846 | 
            -
                #     function | 
| 1949 | 
            +
                #   * `lambda` – delivery of JSON-encoded message to an AWS Lambda
         | 
| 1950 | 
            +
                #     function
         | 
| 1951 | 
            +
                #
         | 
| 1952 | 
            +
                #   * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
         | 
| 1953 | 
            +
                #     Data Firehose delivery stream.
         | 
| 1847 1954 | 
             
                #
         | 
| 1848 1955 | 
             
                # @option params [String] :endpoint
         | 
| 1849 1956 | 
             
                #   The endpoint that you want to receive notifications. Endpoints vary by
         | 
| 1850 1957 | 
             
                #   protocol:
         | 
| 1851 1958 | 
             
                #
         | 
| 1852 1959 | 
             
                #   * For the `http` protocol, the (public) endpoint is a URL beginning
         | 
| 1853 | 
            -
                #     with `http | 
| 1960 | 
            +
                #     with `http://`.
         | 
| 1854 1961 | 
             
                #
         | 
| 1855 1962 | 
             
                #   * For the `https` protocol, the (public) endpoint is a URL beginning
         | 
| 1856 | 
            -
                #     with `https | 
| 1963 | 
            +
                #     with `https://`.
         | 
| 1857 1964 | 
             
                #
         | 
| 1858 | 
            -
                #   * For the `email` protocol, the endpoint is an email address
         | 
| 1965 | 
            +
                #   * For the `email` protocol, the endpoint is an email address.
         | 
| 1859 1966 | 
             
                #
         | 
| 1860 | 
            -
                #   * For the `email-json` protocol, the endpoint is an email address
         | 
| 1967 | 
            +
                #   * For the `email-json` protocol, the endpoint is an email address.
         | 
| 1861 1968 | 
             
                #
         | 
| 1862 1969 | 
             
                #   * For the `sms` protocol, the endpoint is a phone number of an
         | 
| 1863 | 
            -
                #     SMS-enabled device
         | 
| 1970 | 
            +
                #     SMS-enabled device.
         | 
| 1864 1971 | 
             
                #
         | 
| 1865 1972 | 
             
                #   * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
         | 
| 1866 | 
            -
                #     queue
         | 
| 1973 | 
            +
                #     queue.
         | 
| 1867 1974 | 
             
                #
         | 
| 1868 1975 | 
             
                #   * For the `application` protocol, the endpoint is the EndpointArn of a
         | 
| 1869 1976 | 
             
                #     mobile app and device.
         | 
| 1870 1977 | 
             
                #
         | 
| 1871 | 
            -
                #   * For the `lambda` protocol, the endpoint is the ARN of an  | 
| 1872 | 
            -
                #      | 
| 1978 | 
            +
                #   * For the `lambda` protocol, the endpoint is the ARN of an AWS Lambda
         | 
| 1979 | 
            +
                #     function.
         | 
| 1980 | 
            +
                #
         | 
| 1981 | 
            +
                #   * For the `firehose` protocol, the endpoint is the ARN of an Amazon
         | 
| 1982 | 
            +
                #     Kinesis Data Firehose delivery stream.
         | 
| 1873 1983 | 
             
                #
         | 
| 1874 1984 | 
             
                # @option params [Hash<String,String>] :attributes
         | 
| 1875 1985 | 
             
                #   A map of attributes with their corresponding values.
         | 
| @@ -1896,6 +2006,25 @@ module Aws::SNS | |
| 1896 2006 | 
             
                #     service that powers the subscribed endpoint becomes unavailable) are
         | 
| 1897 2007 | 
             
                #     held in the dead-letter queue for further analysis or reprocessing.
         | 
| 1898 2008 | 
             
                #
         | 
| 2009 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 2010 | 
            +
                #   delivery stream subscriptions:
         | 
| 2011 | 
            +
                #
         | 
| 2012 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 2013 | 
            +
                #     following:
         | 
| 2014 | 
            +
                #
         | 
| 2015 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 2016 | 
            +
                #
         | 
| 2017 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 2018 | 
            +
                #
         | 
| 2019 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 2020 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 2021 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][1] in the
         | 
| 2022 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 2023 | 
            +
                #
         | 
| 2024 | 
            +
                #
         | 
| 2025 | 
            +
                #
         | 
| 2026 | 
            +
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 2027 | 
            +
                #
         | 
| 1899 2028 | 
             
                # @option params [Boolean] :return_subscription_arn
         | 
| 1900 2029 | 
             
                #   Sets whether the response from the `Subscribe` request includes the
         | 
| 1901 2030 | 
             
                #   subscription ARN, even if the subscription is not yet confirmed.
         | 
| @@ -2068,7 +2197,7 @@ module Aws::SNS | |
| 2068 2197 | 
             
                    params: params,
         | 
| 2069 2198 | 
             
                    config: config)
         | 
| 2070 2199 | 
             
                  context[:gem_name] = 'aws-sdk-sns'
         | 
| 2071 | 
            -
                  context[:gem_version] = '1. | 
| 2200 | 
            +
                  context[:gem_version] = '1.38.0'
         | 
| 2072 2201 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 2073 2202 | 
             
                end
         | 
| 2074 2203 |  | 
| @@ -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"))
         | 
| @@ -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 | 
             
                #
         | 
| @@ -72,9 +72,25 @@ module Aws::SNS | |
| 72 72 | 
             
                #
         | 
| 73 73 | 
             
                # * `TopicArn` – The topic ARN that the subscription is associated with.
         | 
| 74 74 | 
             
                #
         | 
| 75 | 
            +
                # The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 76 | 
            +
                # delivery stream subscriptions:
         | 
| 77 | 
            +
                #
         | 
| 78 | 
            +
                # * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 79 | 
            +
                #   following:
         | 
| 80 | 
            +
                #
         | 
| 81 | 
            +
                #   * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 82 | 
            +
                #
         | 
| 83 | 
            +
                #   * Amazon SNS listed as a trusted entity
         | 
| 84 | 
            +
                #
         | 
| 85 | 
            +
                #   Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 86 | 
            +
                #   Data Firehose delivery stream subscriptions. For more information,
         | 
| 87 | 
            +
                #   see [Fanout to Kinesis Data Firehose delivery streams][2] in the
         | 
| 88 | 
            +
                #   *Amazon SNS Developer Guide*.
         | 
| 89 | 
            +
                #
         | 
| 75 90 | 
             
                #
         | 
| 76 91 | 
             
                #
         | 
| 77 92 | 
             
                # [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
         | 
| 93 | 
            +
                # [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 78 94 | 
             
                # @return [Hash<String,String>]
         | 
| 79 95 | 
             
                def attributes
         | 
| 80 96 | 
             
                  data[:attributes]
         | 
| @@ -139,7 +155,7 @@ module Aws::SNS | |
| 139 155 | 
             
                #   A map of attributes with their corresponding values.
         | 
| 140 156 | 
             
                #
         | 
| 141 157 | 
             
                #   The following lists the names, descriptions, and values of the special
         | 
| 142 | 
            -
                #   request parameters that  | 
| 158 | 
            +
                #   request parameters that this action uses:
         | 
| 143 159 | 
             
                #
         | 
| 144 160 | 
             
                #   * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
         | 
| 145 161 | 
             
                #     failed deliveries to HTTP/S endpoints.
         | 
| @@ -159,6 +175,25 @@ module Aws::SNS | |
| 159 175 | 
             
                #     endpoint is unreachable) or server errors (for example, when the
         | 
| 160 176 | 
             
                #     service that powers the subscribed endpoint becomes unavailable) are
         | 
| 161 177 | 
             
                #     held in the dead-letter queue for further analysis or reprocessing.
         | 
| 178 | 
            +
                #
         | 
| 179 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 180 | 
            +
                #   delivery stream subscriptions:
         | 
| 181 | 
            +
                #
         | 
| 182 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 183 | 
            +
                #     following:
         | 
| 184 | 
            +
                #
         | 
| 185 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 186 | 
            +
                #
         | 
| 187 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 188 | 
            +
                #
         | 
| 189 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 190 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 191 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][1] in the
         | 
| 192 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 193 | 
            +
                #
         | 
| 194 | 
            +
                #
         | 
| 195 | 
            +
                #
         | 
| 196 | 
            +
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 162 197 | 
             
                # @option options [String] :attribute_value
         | 
| 163 198 | 
             
                #   The new value for the attribute in JSON format.
         | 
| 164 199 | 
             
                # @return [EmptyStructure]
         | 
    
        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]
         | 
| @@ -365,7 +434,7 @@ module Aws::SNS | |
| 365 434 | 
             
                #   })
         | 
| 366 435 | 
             
                # @param [Hash] options ({})
         | 
| 367 436 | 
             
                # @option options [required, String] :protocol
         | 
| 368 | 
            -
                #   The protocol you want to use. Supported protocols include:
         | 
| 437 | 
            +
                #   The protocol that you want to use. Supported protocols include:
         | 
| 369 438 | 
             
                #
         | 
| 370 439 | 
             
                #   * `http` – delivery of JSON-encoded message via HTTP POST
         | 
| 371 440 | 
             
                #
         | 
| @@ -380,35 +449,41 @@ module Aws::SNS | |
| 380 449 | 
             
                #   * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
         | 
| 381 450 | 
             
                #
         | 
| 382 451 | 
             
                #   * `application` – delivery of JSON-encoded message to an EndpointArn
         | 
| 383 | 
            -
                #     for a mobile app and device | 
| 452 | 
            +
                #     for a mobile app and device
         | 
| 384 453 | 
             
                #
         | 
| 385 | 
            -
                #   * `lambda` – delivery of JSON-encoded message to an  | 
| 386 | 
            -
                #     function | 
| 454 | 
            +
                #   * `lambda` – delivery of JSON-encoded message to an AWS Lambda
         | 
| 455 | 
            +
                #     function
         | 
| 456 | 
            +
                #
         | 
| 457 | 
            +
                #   * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
         | 
| 458 | 
            +
                #     Data Firehose delivery stream.
         | 
| 387 459 | 
             
                # @option options [String] :endpoint
         | 
| 388 460 | 
             
                #   The endpoint that you want to receive notifications. Endpoints vary by
         | 
| 389 461 | 
             
                #   protocol:
         | 
| 390 462 | 
             
                #
         | 
| 391 463 | 
             
                #   * For the `http` protocol, the (public) endpoint is a URL beginning
         | 
| 392 | 
            -
                #     with `http | 
| 464 | 
            +
                #     with `http://`.
         | 
| 393 465 | 
             
                #
         | 
| 394 466 | 
             
                #   * For the `https` protocol, the (public) endpoint is a URL beginning
         | 
| 395 | 
            -
                #     with `https | 
| 467 | 
            +
                #     with `https://`.
         | 
| 396 468 | 
             
                #
         | 
| 397 | 
            -
                #   * For the `email` protocol, the endpoint is an email address
         | 
| 469 | 
            +
                #   * For the `email` protocol, the endpoint is an email address.
         | 
| 398 470 | 
             
                #
         | 
| 399 | 
            -
                #   * For the `email-json` protocol, the endpoint is an email address
         | 
| 471 | 
            +
                #   * For the `email-json` protocol, the endpoint is an email address.
         | 
| 400 472 | 
             
                #
         | 
| 401 473 | 
             
                #   * For the `sms` protocol, the endpoint is a phone number of an
         | 
| 402 | 
            -
                #     SMS-enabled device
         | 
| 474 | 
            +
                #     SMS-enabled device.
         | 
| 403 475 | 
             
                #
         | 
| 404 476 | 
             
                #   * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
         | 
| 405 | 
            -
                #     queue
         | 
| 477 | 
            +
                #     queue.
         | 
| 406 478 | 
             
                #
         | 
| 407 479 | 
             
                #   * For the `application` protocol, the endpoint is the EndpointArn of a
         | 
| 408 480 | 
             
                #     mobile app and device.
         | 
| 409 481 | 
             
                #
         | 
| 410 | 
            -
                #   * For the `lambda` protocol, the endpoint is the ARN of an  | 
| 411 | 
            -
                #      | 
| 482 | 
            +
                #   * For the `lambda` protocol, the endpoint is the ARN of an AWS Lambda
         | 
| 483 | 
            +
                #     function.
         | 
| 484 | 
            +
                #
         | 
| 485 | 
            +
                #   * For the `firehose` protocol, the endpoint is the ARN of an Amazon
         | 
| 486 | 
            +
                #     Kinesis Data Firehose delivery stream.
         | 
| 412 487 | 
             
                # @option options [Hash<String,String>] :attributes
         | 
| 413 488 | 
             
                #   A map of attributes with their corresponding values.
         | 
| 414 489 | 
             
                #
         | 
| @@ -433,6 +508,25 @@ module Aws::SNS | |
| 433 508 | 
             
                #     endpoint is unreachable) or server errors (for example, when the
         | 
| 434 509 | 
             
                #     service that powers the subscribed endpoint becomes unavailable) are
         | 
| 435 510 | 
             
                #     held in the dead-letter queue for further analysis or reprocessing.
         | 
| 511 | 
            +
                #
         | 
| 512 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 513 | 
            +
                #   delivery stream subscriptions:
         | 
| 514 | 
            +
                #
         | 
| 515 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 516 | 
            +
                #     following:
         | 
| 517 | 
            +
                #
         | 
| 518 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 519 | 
            +
                #
         | 
| 520 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 521 | 
            +
                #
         | 
| 522 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 523 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 524 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][1] in the
         | 
| 525 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 526 | 
            +
                #
         | 
| 527 | 
            +
                #
         | 
| 528 | 
            +
                #
         | 
| 529 | 
            +
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 436 530 | 
             
                # @option options [Boolean] :return_subscription_arn
         | 
| 437 531 | 
             
                #   Sets whether the response from the `Subscribe` request includes the
         | 
| 438 532 | 
             
                #   subscription ARN, even if the subscription is not yet confirmed.
         | 
    
        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
         | 
| @@ -706,9 +734,25 @@ module Aws::SNS | |
| 706 734 | 
             
                #   * `TopicArn` – The topic ARN that the subscription is associated
         | 
| 707 735 | 
             
                #     with.
         | 
| 708 736 | 
             
                #
         | 
| 737 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 738 | 
            +
                #   delivery stream subscriptions:
         | 
| 739 | 
            +
                #
         | 
| 740 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 741 | 
            +
                #     following:
         | 
| 742 | 
            +
                #
         | 
| 743 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 744 | 
            +
                #
         | 
| 745 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 746 | 
            +
                #
         | 
| 747 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 748 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 749 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][2] in the
         | 
| 750 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 751 | 
            +
                #
         | 
| 709 752 | 
             
                #
         | 
| 710 753 | 
             
                #
         | 
| 711 754 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html
         | 
| 755 | 
            +
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 712 756 | 
             
                #   @return [Hash<String,String>]
         | 
| 713 757 | 
             
                #
         | 
| 714 758 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributesResponse AWS API Documentation
         | 
| @@ -781,11 +825,34 @@ module Aws::SNS | |
| 781 825 | 
             
                #
         | 
| 782 826 | 
             
                #   ^
         | 
| 783 827 | 
             
                #
         | 
| 828 | 
            +
                #   The following attributes apply only to [FIFO topics][4]\:
         | 
| 829 | 
            +
                #
         | 
| 830 | 
            +
                #   * `FifoTopic` – When this is set to `true`, a FIFO topic is created.
         | 
| 831 | 
            +
                #
         | 
| 832 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 833 | 
            +
                #     for FIFO topics.
         | 
| 834 | 
            +
                #
         | 
| 835 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If
         | 
| 836 | 
            +
                #       you create a FIFO topic and this attribute is `false`, you must
         | 
| 837 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for
         | 
| 838 | 
            +
                #       the [Publish][5] action.
         | 
| 839 | 
            +
                #
         | 
| 840 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 841 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId`
         | 
| 842 | 
            +
                #       using the body of the message (but not the attributes of the
         | 
| 843 | 
            +
                #       message).
         | 
| 844 | 
            +
                #
         | 
| 845 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 846 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 847 | 
            +
                #       `Publish` action.
         | 
| 848 | 
            +
                #
         | 
| 784 849 | 
             
                #
         | 
| 785 850 | 
             
                #
         | 
| 786 851 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 787 852 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 788 853 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 854 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 855 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 789 856 | 
             
                #   @return [Hash<String,String>]
         | 
| 790 857 | 
             
                #
         | 
| 791 858 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributesResponse AWS API Documentation
         | 
| @@ -1255,12 +1322,14 @@ module Aws::SNS | |
| 1255 1322 | 
             
                # message body should not be empty or null. All parts of the message
         | 
| 1256 1323 | 
             
                # attribute, including name, type, and value, are included in the
         | 
| 1257 1324 | 
             
                # message size restriction, which is currently 256 KB (262,144 bytes).
         | 
| 1258 | 
            -
                # For more information, see [ | 
| 1325 | 
            +
                # For more information, see [Amazon SNS message attributes][2] and
         | 
| 1326 | 
            +
                # [Publishing to a mobile phone][3] in the *Amazon SNS Developer Guide.*
         | 
| 1259 1327 | 
             
                #
         | 
| 1260 1328 | 
             
                #
         | 
| 1261 1329 | 
             
                #
         | 
| 1262 1330 | 
             
                # [1]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 1263 1331 | 
             
                # [2]: https://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html
         | 
| 1332 | 
            +
                # [3]: https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html
         | 
| 1264 1333 | 
             
                #
         | 
| 1265 1334 | 
             
                # @note When making an API call, you may pass MessageAttributeValue
         | 
| 1266 1335 | 
             
                #   data as a hash:
         | 
| @@ -1397,6 +1466,8 @@ module Aws::SNS | |
| 1397 1466 | 
             
                #             binary_value: "data",
         | 
| 1398 1467 | 
             
                #           },
         | 
| 1399 1468 | 
             
                #         },
         | 
| 1469 | 
            +
                #         message_deduplication_id: "String",
         | 
| 1470 | 
            +
                #         message_group_id: "String",
         | 
| 1400 1471 | 
             
                #       }
         | 
| 1401 1472 | 
             
                #
         | 
| 1402 1473 | 
             
                # @!attribute [rw] topic_arn
         | 
| @@ -1511,6 +1582,36 @@ module Aws::SNS | |
| 1511 1582 | 
             
                #   Message attributes for Publish action.
         | 
| 1512 1583 | 
             
                #   @return [Hash<String,Types::MessageAttributeValue>]
         | 
| 1513 1584 | 
             
                #
         | 
| 1585 | 
            +
                # @!attribute [rw] message_deduplication_id
         | 
| 1586 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 1587 | 
            +
                #   `MessageDeduplicationId` can contain up to 128 alphanumeric
         | 
| 1588 | 
            +
                #   characters (a-z, A-Z, 0-9) and punctuation ``
         | 
| 1589 | 
            +
                #   (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
         | 
| 1590 | 
            +
                #
         | 
| 1591 | 
            +
                #   Every message must have a unique `MessageDeduplicationId`, which is
         | 
| 1592 | 
            +
                #   a token used for deduplication of sent messages. If a message with a
         | 
| 1593 | 
            +
                #   particular `MessageDeduplicationId` is sent successfully, any
         | 
| 1594 | 
            +
                #   message sent with the same `MessageDeduplicationId` during the
         | 
| 1595 | 
            +
                #   5-minute deduplication interval is treated as a duplicate.
         | 
| 1596 | 
            +
                #
         | 
| 1597 | 
            +
                #   If the topic has `ContentBasedDeduplication` set, the system
         | 
| 1598 | 
            +
                #   generates a `MessageDeduplicationId` based on the contents of the
         | 
| 1599 | 
            +
                #   message. Your `MessageDeduplicationId` overrides the generated one.
         | 
| 1600 | 
            +
                #   @return [String]
         | 
| 1601 | 
            +
                #
         | 
| 1602 | 
            +
                # @!attribute [rw] message_group_id
         | 
| 1603 | 
            +
                #   This parameter applies only to FIFO (first-in-first-out) topics. The
         | 
| 1604 | 
            +
                #   `MessageGroupId` can contain up to 128 alphanumeric characters (a-z,
         | 
| 1605 | 
            +
                #   A-Z, 0-9) and punctuation `` (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~)
         | 
| 1606 | 
            +
                #   ``.
         | 
| 1607 | 
            +
                #
         | 
| 1608 | 
            +
                #   The `MessageGroupId` is a tag that specifies that a message belongs
         | 
| 1609 | 
            +
                #   to a specific message group. Messages that belong to the same
         | 
| 1610 | 
            +
                #   message group are processed in a FIFO manner (however, messages in
         | 
| 1611 | 
            +
                #   different message groups might be processed out of order). Every
         | 
| 1612 | 
            +
                #   message must include a `MessageGroupId`.
         | 
| 1613 | 
            +
                #   @return [String]
         | 
| 1614 | 
            +
                #
         | 
| 1514 1615 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishInput AWS API Documentation
         | 
| 1515 1616 | 
             
                #
         | 
| 1516 1617 | 
             
                class PublishInput < Struct.new(
         | 
| @@ -1520,7 +1621,9 @@ module Aws::SNS | |
| 1520 1621 | 
             
                  :message,
         | 
| 1521 1622 | 
             
                  :subject,
         | 
| 1522 1623 | 
             
                  :message_structure,
         | 
| 1523 | 
            -
                  :message_attributes | 
| 1624 | 
            +
                  :message_attributes,
         | 
| 1625 | 
            +
                  :message_deduplication_id,
         | 
| 1626 | 
            +
                  :message_group_id)
         | 
| 1524 1627 | 
             
                  SENSITIVE = []
         | 
| 1525 1628 | 
             
                  include Aws::Structure
         | 
| 1526 1629 | 
             
                end
         | 
| @@ -1533,10 +1636,21 @@ module Aws::SNS | |
| 1533 1636 | 
             
                #   Length Constraint: Maximum 100 characters
         | 
| 1534 1637 | 
             
                #   @return [String]
         | 
| 1535 1638 | 
             
                #
         | 
| 1639 | 
            +
                # @!attribute [rw] sequence_number
         | 
| 1640 | 
            +
                #   This response element applies only to FIFO (first-in-first-out)
         | 
| 1641 | 
            +
                #   topics.
         | 
| 1642 | 
            +
                #
         | 
| 1643 | 
            +
                #   The sequence number is a large, non-consecutive number that Amazon
         | 
| 1644 | 
            +
                #   SNS assigns to each message. The length of `SequenceNumber` is 128
         | 
| 1645 | 
            +
                #   bits. `SequenceNumber` continues to increase for each
         | 
| 1646 | 
            +
                #   `MessageGroupId`.
         | 
| 1647 | 
            +
                #   @return [String]
         | 
| 1648 | 
            +
                #
         | 
| 1536 1649 | 
             
                # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishResponse AWS API Documentation
         | 
| 1537 1650 | 
             
                #
         | 
| 1538 1651 | 
             
                class PublishResponse < Struct.new(
         | 
| 1539 | 
            -
                  :message_id | 
| 1652 | 
            +
                  :message_id,
         | 
| 1653 | 
            +
                  :sequence_number)
         | 
| 1540 1654 | 
             
                  SENSITIVE = []
         | 
| 1541 1655 | 
             
                  include Aws::Structure
         | 
| 1542 1656 | 
             
                end
         | 
| @@ -1818,8 +1932,7 @@ module Aws::SNS | |
| 1818 1932 | 
             
                #   A map of attributes with their corresponding values.
         | 
| 1819 1933 | 
             
                #
         | 
| 1820 1934 | 
             
                #   The following lists the names, descriptions, and values of the
         | 
| 1821 | 
            -
                #   special request parameters that  | 
| 1822 | 
            -
                #   uses:
         | 
| 1935 | 
            +
                #   special request parameters that this action uses:
         | 
| 1823 1936 | 
             
                #
         | 
| 1824 1937 | 
             
                #   * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
         | 
| 1825 1938 | 
             
                #     failed deliveries to HTTP/S endpoints.
         | 
| @@ -1840,6 +1953,25 @@ module Aws::SNS | |
| 1840 1953 | 
             
                #     when the service that powers the subscribed endpoint becomes
         | 
| 1841 1954 | 
             
                #     unavailable) are held in the dead-letter queue for further
         | 
| 1842 1955 | 
             
                #     analysis or reprocessing.
         | 
| 1956 | 
            +
                #
         | 
| 1957 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 1958 | 
            +
                #   delivery stream subscriptions:
         | 
| 1959 | 
            +
                #
         | 
| 1960 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 1961 | 
            +
                #     following:
         | 
| 1962 | 
            +
                #
         | 
| 1963 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 1964 | 
            +
                #
         | 
| 1965 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 1966 | 
            +
                #
         | 
| 1967 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 1968 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 1969 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][1] in the
         | 
| 1970 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 1971 | 
            +
                #
         | 
| 1972 | 
            +
                #
         | 
| 1973 | 
            +
                #
         | 
| 1974 | 
            +
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 1843 1975 | 
             
                #   @return [String]
         | 
| 1844 1976 | 
             
                #
         | 
| 1845 1977 | 
             
                # @!attribute [rw] attribute_value
         | 
| @@ -1891,18 +2023,39 @@ module Aws::SNS | |
| 1891 2023 | 
             
                #   The following attribute applies only to
         | 
| 1892 2024 | 
             
                #   [server-side-encryption][1]\:
         | 
| 1893 2025 | 
             
                #
         | 
| 1894 | 
            -
                #   * `KmsMasterKeyId`  | 
| 2026 | 
            +
                #   * `KmsMasterKeyId` – The ID of an AWS-managed customer master key
         | 
| 1895 2027 | 
             
                #     (CMK) for Amazon SNS or a custom CMK. For more information, see
         | 
| 1896 2028 | 
             
                #     [Key Terms][2]. For more examples, see [KeyId][3] in the *AWS Key
         | 
| 1897 2029 | 
             
                #     Management Service API Reference*.
         | 
| 1898 2030 | 
             
                #
         | 
| 1899 2031 | 
             
                #   ^
         | 
| 1900 2032 | 
             
                #
         | 
| 2033 | 
            +
                #   The following attribute applies only to [FIFO topics][4]\:
         | 
| 2034 | 
            +
                #
         | 
| 2035 | 
            +
                #   * `ContentBasedDeduplication` – Enables content-based deduplication
         | 
| 2036 | 
            +
                #     for FIFO topics.
         | 
| 2037 | 
            +
                #
         | 
| 2038 | 
            +
                #     * By default, `ContentBasedDeduplication` is set to `false`. If
         | 
| 2039 | 
            +
                #       you create a FIFO topic and this attribute is `false`, you must
         | 
| 2040 | 
            +
                #       specify a value for the `MessageDeduplicationId` parameter for
         | 
| 2041 | 
            +
                #       the [Publish][5] action.
         | 
| 2042 | 
            +
                #
         | 
| 2043 | 
            +
                #     * When you set `ContentBasedDeduplication` to `true`, Amazon SNS
         | 
| 2044 | 
            +
                #       uses a SHA-256 hash to generate the `MessageDeduplicationId`
         | 
| 2045 | 
            +
                #       using the body of the message (but not the attributes of the
         | 
| 2046 | 
            +
                #       message).
         | 
| 2047 | 
            +
                #
         | 
| 2048 | 
            +
                #       (Optional) To override the generated value, you can specify a
         | 
| 2049 | 
            +
                #       value for the the `MessageDeduplicationId` parameter for the
         | 
| 2050 | 
            +
                #       `Publish` action.
         | 
| 2051 | 
            +
                #
         | 
| 1901 2052 | 
             
                #
         | 
| 1902 2053 | 
             
                #
         | 
| 1903 2054 | 
             
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html
         | 
| 1904 2055 | 
             
                #   [2]: https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms
         | 
| 1905 2056 | 
             
                #   [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters
         | 
| 2057 | 
            +
                #   [4]: https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html
         | 
| 2058 | 
            +
                #   [5]: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html
         | 
| 1906 2059 | 
             
                #   @return [String]
         | 
| 1907 2060 | 
             
                #
         | 
| 1908 2061 | 
             
                # @!attribute [rw] attribute_value
         | 
| @@ -1953,7 +2106,7 @@ module Aws::SNS | |
| 1953 2106 | 
             
                #   @return [String]
         | 
| 1954 2107 | 
             
                #
         | 
| 1955 2108 | 
             
                # @!attribute [rw] protocol
         | 
| 1956 | 
            -
                #   The protocol you want to use. Supported protocols include:
         | 
| 2109 | 
            +
                #   The protocol that you want to use. Supported protocols include:
         | 
| 1957 2110 | 
             
                #
         | 
| 1958 2111 | 
             
                #   * `http` – delivery of JSON-encoded message via HTTP POST
         | 
| 1959 2112 | 
             
                #
         | 
| @@ -1968,10 +2121,13 @@ module Aws::SNS | |
| 1968 2121 | 
             
                #   * `sqs` – delivery of JSON-encoded message to an Amazon SQS queue
         | 
| 1969 2122 | 
             
                #
         | 
| 1970 2123 | 
             
                #   * `application` – delivery of JSON-encoded message to an EndpointArn
         | 
| 1971 | 
            -
                #     for a mobile app and device | 
| 2124 | 
            +
                #     for a mobile app and device
         | 
| 1972 2125 | 
             
                #
         | 
| 1973 | 
            -
                #   * `lambda` – delivery of JSON-encoded message to an  | 
| 1974 | 
            -
                #     function | 
| 2126 | 
            +
                #   * `lambda` – delivery of JSON-encoded message to an AWS Lambda
         | 
| 2127 | 
            +
                #     function
         | 
| 2128 | 
            +
                #
         | 
| 2129 | 
            +
                #   * `firehose` – delivery of JSON-encoded message to an Amazon Kinesis
         | 
| 2130 | 
            +
                #     Data Firehose delivery stream.
         | 
| 1975 2131 | 
             
                #   @return [String]
         | 
| 1976 2132 | 
             
                #
         | 
| 1977 2133 | 
             
                # @!attribute [rw] endpoint
         | 
| @@ -1979,26 +2135,29 @@ module Aws::SNS | |
| 1979 2135 | 
             
                #   by protocol:
         | 
| 1980 2136 | 
             
                #
         | 
| 1981 2137 | 
             
                #   * For the `http` protocol, the (public) endpoint is a URL beginning
         | 
| 1982 | 
            -
                #     with `http | 
| 2138 | 
            +
                #     with `http://`.
         | 
| 1983 2139 | 
             
                #
         | 
| 1984 2140 | 
             
                #   * For the `https` protocol, the (public) endpoint is a URL beginning
         | 
| 1985 | 
            -
                #     with `https | 
| 2141 | 
            +
                #     with `https://`.
         | 
| 1986 2142 | 
             
                #
         | 
| 1987 | 
            -
                #   * For the `email` protocol, the endpoint is an email address
         | 
| 2143 | 
            +
                #   * For the `email` protocol, the endpoint is an email address.
         | 
| 1988 2144 | 
             
                #
         | 
| 1989 | 
            -
                #   * For the `email-json` protocol, the endpoint is an email address
         | 
| 2145 | 
            +
                #   * For the `email-json` protocol, the endpoint is an email address.
         | 
| 1990 2146 | 
             
                #
         | 
| 1991 2147 | 
             
                #   * For the `sms` protocol, the endpoint is a phone number of an
         | 
| 1992 | 
            -
                #     SMS-enabled device
         | 
| 2148 | 
            +
                #     SMS-enabled device.
         | 
| 1993 2149 | 
             
                #
         | 
| 1994 2150 | 
             
                #   * For the `sqs` protocol, the endpoint is the ARN of an Amazon SQS
         | 
| 1995 | 
            -
                #     queue
         | 
| 2151 | 
            +
                #     queue.
         | 
| 1996 2152 | 
             
                #
         | 
| 1997 2153 | 
             
                #   * For the `application` protocol, the endpoint is the EndpointArn of
         | 
| 1998 2154 | 
             
                #     a mobile app and device.
         | 
| 1999 2155 | 
             
                #
         | 
| 2000 | 
            -
                #   * For the `lambda` protocol, the endpoint is the ARN of an  | 
| 2156 | 
            +
                #   * For the `lambda` protocol, the endpoint is the ARN of an AWS
         | 
| 2001 2157 | 
             
                #     Lambda function.
         | 
| 2158 | 
            +
                #
         | 
| 2159 | 
            +
                #   * For the `firehose` protocol, the endpoint is the ARN of an Amazon
         | 
| 2160 | 
            +
                #     Kinesis Data Firehose delivery stream.
         | 
| 2002 2161 | 
             
                #   @return [String]
         | 
| 2003 2162 | 
             
                #
         | 
| 2004 2163 | 
             
                # @!attribute [rw] attributes
         | 
| @@ -2027,6 +2186,25 @@ module Aws::SNS | |
| 2027 2186 | 
             
                #     when the service that powers the subscribed endpoint becomes
         | 
| 2028 2187 | 
             
                #     unavailable) are held in the dead-letter queue for further
         | 
| 2029 2188 | 
             
                #     analysis or reprocessing.
         | 
| 2189 | 
            +
                #
         | 
| 2190 | 
            +
                #   The following attribute applies only to Amazon Kinesis Data Firehose
         | 
| 2191 | 
            +
                #   delivery stream subscriptions:
         | 
| 2192 | 
            +
                #
         | 
| 2193 | 
            +
                #   * `SubscriptionRoleArn` – The ARN of the IAM role that has the
         | 
| 2194 | 
            +
                #     following:
         | 
| 2195 | 
            +
                #
         | 
| 2196 | 
            +
                #     * Permission to write to the Kinesis Data Firehose delivery stream
         | 
| 2197 | 
            +
                #
         | 
| 2198 | 
            +
                #     * Amazon SNS listed as a trusted entity
         | 
| 2199 | 
            +
                #
         | 
| 2200 | 
            +
                #     Specifying a valid ARN for this attribute is required for Kinesis
         | 
| 2201 | 
            +
                #     Data Firehose delivery stream subscriptions. For more information,
         | 
| 2202 | 
            +
                #     see [Fanout to Kinesis Data Firehose delivery streams][1] in the
         | 
| 2203 | 
            +
                #     *Amazon SNS Developer Guide*.
         | 
| 2204 | 
            +
                #
         | 
| 2205 | 
            +
                #
         | 
| 2206 | 
            +
                #
         | 
| 2207 | 
            +
                #   [1]: https://docs.aws.amazon.com/sns/latest/dg/sns-kinesis-subscriber.html
         | 
| 2030 2208 | 
             
                #   @return [Hash<String,String>]
         | 
| 2031 2209 | 
             
                #
         | 
| 2032 2210 | 
             
                # @!attribute [rw] return_subscription_arn
         | 
    
        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.38.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:  | 
| 11 | 
            +
            date: 2021-02-02 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.112.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.112.0
         | 
| 33 33 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 34 34 | 
             
              name: aws-sigv4
         | 
| 35 35 | 
             
              requirement: !ruby/object:Gem::Requirement
         |