aws-sdk-sns 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c12e3ecd4f1cc97d2a4b66c166a9d0628dc02fb
4
- data.tar.gz: 8eb764bf6a1f925c807b377b148fd43fa5548ef8
3
+ metadata.gz: bd6a9e2da2f44f69f1eeb824507f58a1c396c2ff
4
+ data.tar.gz: '09e2f9b6171a7b858b99aed1907f80e157aed5c6'
5
5
  SHA512:
6
- metadata.gz: 351fc4c998cb6f621de76749b945b8b0d9b5eec521c0a5fc0bccf35a088e788d36768daeec1b463d3de8141efb3964d829a1effdc7a05bd9c91e8ada4cbeadf8
7
- data.tar.gz: d34fd0b3855faf3fab792d1e016870e44cbe6e94b61e5084c7b33617cdef199012f0e185e88e729c869547f7acf89d593b0d11090e4176f4ae170e2ba996ebe4
6
+ metadata.gz: b427dad3bd827f42b291129cb215e331a350de1a8ab6b00e485a11c105fc4adafddb07344213c2379c7127b755613ec19cd5ecebfe74e19a9ae8eb24b0498bd1
7
+ data.tar.gz: 68bd12562c0057479ca41e72ef081aef65cbc04542db067b4b1ba8a2021d7a00319d97a6a22461e9d96f03d9d6f08188b71c07094419927276319f3e0ccb1ec3
@@ -46,6 +46,6 @@ require_relative 'aws-sdk-sns/customizations'
46
46
  # @service
47
47
  module Aws::SNS
48
48
 
49
- GEM_VERSION = '1.7.0'
49
+ GEM_VERSION = '1.8.0'
50
50
 
51
51
  end
@@ -15,6 +15,7 @@ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
15
  require 'aws-sdk-core/plugins/retry_errors.rb'
16
16
  require 'aws-sdk-core/plugins/global_configuration.rb'
17
17
  require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
18
19
  require 'aws-sdk-core/plugins/response_paging.rb'
19
20
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
21
  require 'aws-sdk-core/plugins/idempotency_token.rb'
@@ -45,6 +46,7 @@ module Aws::SNS
45
46
  add_plugin(Aws::Plugins::RetryErrors)
46
47
  add_plugin(Aws::Plugins::GlobalConfiguration)
47
48
  add_plugin(Aws::Plugins::RegionalEndpoint)
49
+ add_plugin(Aws::Plugins::EndpointDiscovery)
48
50
  add_plugin(Aws::Plugins::ResponsePaging)
49
51
  add_plugin(Aws::Plugins::StubResponses)
50
52
  add_plugin(Aws::Plugins::IdempotencyToken)
@@ -98,6 +100,10 @@ module Aws::SNS
98
100
  #
99
101
  # @option options [String] :access_key_id
100
102
  #
103
+ # @option options [Boolean] :active_endpoint_cache (false)
104
+ # When set to `true`, a thread polling for endpoints will be running in
105
+ # the background every 60 secs (default). Defaults to `false`.
106
+ #
101
107
  # @option options [Boolean] :client_side_monitoring (false)
102
108
  # When `true`, client-side metrics will be collected for all API requests from
103
109
  # this client.
@@ -123,6 +129,21 @@ module Aws::SNS
123
129
  # option. You should only configure an `:endpoint` when connecting
124
130
  # to test endpoints. This should be avalid HTTP(S) URI.
125
131
  #
132
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
133
+ # Used for the maximum size limit of the LRU cache storing endpoints data
134
+ # for endpoint discovery enabled operations. Defaults to 1000.
135
+ #
136
+ # @option options [Integer] :endpoint_cache_max_threads (10)
137
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
138
+ #
139
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
140
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
141
+ # Use this option to config the time interval in seconds for making
142
+ # requests fetching endpoints information. Defaults to 60 sec.
143
+ #
144
+ # @option options [Boolean] :endpoint_discovery (false)
145
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
146
+ #
126
147
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
127
148
  # The log formatter.
128
149
  #
@@ -467,6 +488,21 @@ module Aws::SNS
467
488
  # lowercase ASCII letters, numbers, underscores, and hyphens, and must
468
489
  # be between 1 and 256 characters long.
469
490
  #
491
+ # @option params [Hash<String,String>] :attributes
492
+ # A map of attributes with their corresponding values.
493
+ #
494
+ # The following lists the names, descriptions, and values of the special
495
+ # request parameters that the `CreateTopic` action uses:
496
+ #
497
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
498
+ # failed deliveries to HTTP/S endpoints.
499
+ #
500
+ # * `DisplayName` – The display name to use for a topic with SMS
501
+ # subscriptions.
502
+ #
503
+ # * `Policy` – The policy that defines who can access your topic. By
504
+ # default, only the topic owner can publish or subscribe to the topic.
505
+ #
470
506
  # @return [Types::CreateTopicResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
471
507
  #
472
508
  # * {Types::CreateTopicResponse#topic_arn #topic_arn} => String
@@ -475,6 +511,9 @@ module Aws::SNS
475
511
  #
476
512
  # resp = client.create_topic({
477
513
  # name: "topicName", # required
514
+ # attributes: {
515
+ # "attributeName" => "attributeValue",
516
+ # },
478
517
  # })
479
518
  #
480
519
  # @example Response structure
@@ -1082,6 +1121,10 @@ module Aws::SNS
1082
1121
  # @option params [required, String] :message
1083
1122
  # The message you want to send.
1084
1123
  #
1124
+ # The `Message` parameter is always a string. If you set
1125
+ # `MessageStructure` to `json`, you must string-encode the `Message`
1126
+ # parameter.
1127
+ #
1085
1128
  # If you are publishing to a topic and you want to send the same message
1086
1129
  # to all transport protocols, include the text of the message as a
1087
1130
  # String value. If you want to send different messages for each
@@ -1093,16 +1136,20 @@ module Aws::SNS
1093
1136
  # Constraints:
1094
1137
  #
1095
1138
  # * With the exception of SMS, messages must be UTF-8 encoded strings
1096
- # and at most 256 KB in size (262144 bytes, not 262144 characters).
1139
+ # and at most 256 KB in size (262,144 bytes, not 262,144 characters).
1140
+ #
1141
+ # * For SMS, each message can contain up to 140 characters. This
1142
+ # character limit depends on the encoding schema. For example, an SMS
1143
+ # message can contain 160 GSM characters, 140 ASCII characters, or 70
1144
+ # UCS-2 characters.
1097
1145
  #
1098
- # * For SMS, each message can contain up to 140 bytes, and the character
1099
- # limit depends on the encoding scheme. For example, an SMS message
1100
- # can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2
1101
- # characters. If you publish a message that exceeds the size limit,
1102
- # Amazon SNS sends it as multiple messages, each fitting within the
1103
- # size limit. Messages are not cut off in the middle of a word but on
1104
- # whole-word boundaries. The total size limit for a single SMS publish
1105
- # action is 1600 bytes.
1146
+ # If you publish a message that exceeds this size limit, Amazon SNS
1147
+ # sends the message as multiple messages, each fitting within the size
1148
+ # limit. Messages aren't truncated mid-word but are cut off at
1149
+ # whole-word boundaries.
1150
+ #
1151
+ # The total size limit for a single SMS `Publish` action is 1,600
1152
+ # characters.
1106
1153
  #
1107
1154
  # JSON-specific constraints:
1108
1155
  #
@@ -1245,16 +1292,16 @@ module Aws::SNS
1245
1292
  # A map of the endpoint attributes. Attributes in this map include the
1246
1293
  # following:
1247
1294
  #
1248
- # * `CustomUserData` -- arbitrary user data to associate with the
1295
+ # * `CustomUserData` arbitrary user data to associate with the
1249
1296
  # endpoint. Amazon SNS does not use this data. The data must be in
1250
1297
  # UTF-8 format and less than 2KB.
1251
1298
  #
1252
- # * `Enabled` -- flag that enables/disables delivery to the endpoint.
1299
+ # * `Enabled` flag that enables/disables delivery to the endpoint.
1253
1300
  # Amazon SNS will set this to false when a notification service
1254
1301
  # indicates to Amazon SNS that the endpoint is invalid. Users can set
1255
1302
  # it back to true, typically after updating Token.
1256
1303
  #
1257
- # * `Token` -- device token, also referred to as a registration id, for
1304
+ # * `Token` device token, also referred to as a registration id, for
1258
1305
  # an app and mobile device. This is returned from the notification
1259
1306
  # service when an app and mobile device are registered with the
1260
1307
  # notification service.
@@ -1298,36 +1345,36 @@ module Aws::SNS
1298
1345
  # A map of the platform application attributes. Attributes in this map
1299
1346
  # include the following:
1300
1347
  #
1301
- # * `PlatformCredential` -- The credential received from the
1302
- # notification service. For APNS/APNS\_SANDBOX, PlatformCredential is
1303
- # private key. For GCM, PlatformCredential is "API key". For ADM,
1348
+ # * `PlatformCredential` The credential received from the notification
1349
+ # service. For APNS/APNS\_SANDBOX, PlatformCredential is private key.
1350
+ # For GCM, PlatformCredential is "API key". For ADM,
1304
1351
  # PlatformCredential is "client secret".
1305
1352
  #
1306
- # * `PlatformPrincipal` -- The principal received from the notification
1353
+ # * `PlatformPrincipal` The principal received from the notification
1307
1354
  # service. For APNS/APNS\_SANDBOX, PlatformPrincipal is SSL
1308
1355
  # certificate. For GCM, PlatformPrincipal is not applicable. For ADM,
1309
1356
  # PlatformPrincipal is "client id".
1310
1357
  #
1311
- # * `EventEndpointCreated` -- Topic ARN to which EndpointCreated event
1358
+ # * `EventEndpointCreated` Topic ARN to which EndpointCreated event
1312
1359
  # notifications should be sent.
1313
1360
  #
1314
- # * `EventEndpointDeleted` -- Topic ARN to which EndpointDeleted event
1361
+ # * `EventEndpointDeleted` Topic ARN to which EndpointDeleted event
1315
1362
  # notifications should be sent.
1316
1363
  #
1317
- # * `EventEndpointUpdated` -- Topic ARN to which EndpointUpdate event
1364
+ # * `EventEndpointUpdated` Topic ARN to which EndpointUpdate event
1318
1365
  # notifications should be sent.
1319
1366
  #
1320
- # * `EventDeliveryFailure` -- Topic ARN to which DeliveryFailure event
1367
+ # * `EventDeliveryFailure` Topic ARN to which DeliveryFailure event
1321
1368
  # notifications should be sent upon Direct Publish delivery failure
1322
1369
  # (permanent) to one of the application's endpoints.
1323
1370
  #
1324
- # * `SuccessFeedbackRoleArn` -- IAM role ARN used to give Amazon SNS
1371
+ # * `SuccessFeedbackRoleArn` IAM role ARN used to give Amazon SNS
1325
1372
  # write access to use CloudWatch Logs on your behalf.
1326
1373
  #
1327
- # * `FailureFeedbackRoleArn` -- IAM role ARN used to give Amazon SNS
1374
+ # * `FailureFeedbackRoleArn` IAM role ARN used to give Amazon SNS
1328
1375
  # write access to use CloudWatch Logs on your behalf.
1329
1376
  #
1330
- # * `SuccessFeedbackSampleRate` -- Sample rate percentage (0-100) of
1377
+ # * `SuccessFeedbackSampleRate` Sample rate percentage (0-100) of
1331
1378
  # successfully delivered messages.
1332
1379
  #
1333
1380
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -1472,11 +1519,22 @@ module Aws::SNS
1472
1519
  # The ARN of the subscription to modify.
1473
1520
  #
1474
1521
  # @option params [required, String] :attribute_name
1475
- # The name of the attribute you want to set. Only a subset of the
1476
- # subscriptions attributes are mutable.
1522
+ # A map of attributes with their corresponding values.
1523
+ #
1524
+ # The following lists the names, descriptions, and values of the special
1525
+ # request parameters that the `SetTopicAttributes` action uses:
1477
1526
  #
1478
- # Valid values: `DeliveryPolicy` \| `FilterPolicy` \|
1479
- # `RawMessageDelivery`
1527
+ # * `DeliveryPolicy` The policy that defines how Amazon SNS retries
1528
+ # failed deliveries to HTTP/S endpoints.
1529
+ #
1530
+ # * `FilterPolicy` – The simple JSON object that lets your subscriber
1531
+ # receive only a subset of messages, rather than receiving every
1532
+ # message published to the topic.
1533
+ #
1534
+ # * `RawMessageDelivery` – When set to `true`, enables raw message
1535
+ # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
1536
+ # for the endpoints to process JSON formatting, which is otherwise
1537
+ # created for Amazon SNS metadata.
1480
1538
  #
1481
1539
  # @option params [String] :attribute_value
1482
1540
  # The new value for the attribute in JSON format.
@@ -1506,10 +1564,19 @@ module Aws::SNS
1506
1564
  # The ARN of the topic to modify.
1507
1565
  #
1508
1566
  # @option params [required, String] :attribute_name
1509
- # The name of the attribute you want to set. Only a subset of the
1510
- # topic's attributes are mutable.
1567
+ # A map of attributes with their corresponding values.
1568
+ #
1569
+ # The following lists the names, descriptions, and values of the special
1570
+ # request parameters that the `SetTopicAttributes` action uses:
1511
1571
  #
1512
- # Valid values: `Policy` \| `DisplayName` \| `DeliveryPolicy`
1572
+ # * `DeliveryPolicy` The policy that defines how Amazon SNS retries
1573
+ # failed deliveries to HTTP/S endpoints.
1574
+ #
1575
+ # * `DisplayName` – The display name to use for a topic with SMS
1576
+ # subscriptions.
1577
+ #
1578
+ # * `Policy` – The policy that defines who can access your topic. By
1579
+ # default, only the topic owner can publish or subscribe to the topic.
1513
1580
  #
1514
1581
  # @option params [String] :attribute_value
1515
1582
  # The new value for the attribute.
@@ -1547,22 +1614,22 @@ module Aws::SNS
1547
1614
  # @option params [required, String] :protocol
1548
1615
  # The protocol you want to use. Supported protocols include:
1549
1616
  #
1550
- # * `http` -- delivery of JSON-encoded message via HTTP POST
1617
+ # * `http` delivery of JSON-encoded message via HTTP POST
1551
1618
  #
1552
- # * `https` -- delivery of JSON-encoded message via HTTPS POST
1619
+ # * `https` delivery of JSON-encoded message via HTTPS POST
1553
1620
  #
1554
- # * `email` -- delivery of message via SMTP
1621
+ # * `email` delivery of message via SMTP
1555
1622
  #
1556
- # * `email-json` -- delivery of JSON-encoded message via SMTP
1623
+ # * `email-json` delivery of JSON-encoded message via SMTP
1557
1624
  #
1558
- # * `sms` -- delivery of message via SMS
1625
+ # * `sms` delivery of message via SMS
1559
1626
  #
1560
- # * `sqs` -- delivery of JSON-encoded message to an Amazon SQS queue
1627
+ # * `sqs` delivery of JSON-encoded message to an Amazon SQS queue
1561
1628
  #
1562
- # * `application` -- delivery of JSON-encoded message to an EndpointArn
1629
+ # * `application` delivery of JSON-encoded message to an EndpointArn
1563
1630
  # for a mobile app and device.
1564
1631
  #
1565
- # * `lambda` -- delivery of JSON-encoded message to an AWS Lambda
1632
+ # * `lambda` delivery of JSON-encoded message to an AWS Lambda
1566
1633
  # function.
1567
1634
  #
1568
1635
  # @option params [String] :endpoint
@@ -1592,9 +1659,22 @@ module Aws::SNS
1592
1659
  # function.
1593
1660
  #
1594
1661
  # @option params [Hash<String,String>] :attributes
1595
- # Assigns attributes to the subscription as a map of key-value pairs.
1596
- # You can assign any attribute that is supported by the
1597
- # `SetSubscriptionAttributes` action.
1662
+ # A map of attributes with their corresponding values.
1663
+ #
1664
+ # The following lists the names, descriptions, and values of the special
1665
+ # request parameters that the `SetTopicAttributes` action uses:
1666
+ #
1667
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
1668
+ # failed deliveries to HTTP/S endpoints.
1669
+ #
1670
+ # * `FilterPolicy` – The simple JSON object that lets your subscriber
1671
+ # receive only a subset of messages, rather than receiving every
1672
+ # message published to the topic.
1673
+ #
1674
+ # * `RawMessageDelivery` – When set to `true`, enables raw message
1675
+ # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
1676
+ # for the endpoints to process JSON formatting, which is otherwise
1677
+ # created for Amazon SNS metadata.
1598
1678
  #
1599
1679
  # @option params [Boolean] :return_subscription_arn
1600
1680
  # Sets whether the response from the `Subscribe` request includes the
@@ -1683,7 +1763,7 @@ module Aws::SNS
1683
1763
  params: params,
1684
1764
  config: config)
1685
1765
  context[:gem_name] = 'aws-sdk-sns'
1686
- context[:gem_version] = '1.7.0'
1766
+ context[:gem_version] = '1.8.0'
1687
1767
  Seahorse::Client::Request.new(handlers, context)
1688
1768
  end
1689
1769
 
@@ -45,6 +45,13 @@ module Aws::SNS
45
45
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
46
46
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
47
47
  InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
48
+ InvalidSecurityException = Shapes::StructureShape.new(name: 'InvalidSecurityException')
49
+ KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException')
50
+ KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException')
51
+ KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException')
52
+ KMSNotFoundException = Shapes::StructureShape.new(name: 'KMSNotFoundException')
53
+ KMSOptInRequired = Shapes::StructureShape.new(name: 'KMSOptInRequired')
54
+ KMSThrottlingException = Shapes::StructureShape.new(name: 'KMSThrottlingException')
48
55
  ListEndpointsByPlatformApplicationInput = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationInput')
49
56
  ListEndpointsByPlatformApplicationResponse = Shapes::StructureShape.new(name: 'ListEndpointsByPlatformApplicationResponse')
50
57
  ListOfEndpoints = Shapes::ListShape.new(name: 'ListOfEndpoints')
@@ -153,6 +160,7 @@ module Aws::SNS
153
160
  CreatePlatformEndpointInput.struct_class = Types::CreatePlatformEndpointInput
154
161
 
155
162
  CreateTopicInput.add_member(:name, Shapes::ShapeRef.new(shape: topicName, required: true, location_name: "Name"))
163
+ CreateTopicInput.add_member(:attributes, Shapes::ShapeRef.new(shape: TopicAttributesMap, location_name: "Attributes"))
156
164
  CreateTopicInput.struct_class = Types::CreateTopicInput
157
165
 
158
166
  CreateTopicResponse.add_member(:topic_arn, Shapes::ShapeRef.new(shape: topicARN, location_name: "TopicArn"))
@@ -435,6 +443,7 @@ module Aws::SNS
435
443
  o.errors << Shapes::ShapeRef.new(shape: TopicLimitExceededException)
436
444
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
437
445
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
446
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
438
447
  end)
439
448
 
440
449
  api.add_operation(:delete_endpoint, Seahorse::Model::Operation.new.tap do |o|
@@ -529,6 +538,7 @@ module Aws::SNS
529
538
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
530
539
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
531
540
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
541
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
532
542
  end)
533
543
 
534
544
  api.add_operation(:list_endpoints_by_platform_application, Seahorse::Model::Operation.new.tap do |o|
@@ -650,6 +660,13 @@ module Aws::SNS
650
660
  o.errors << Shapes::ShapeRef.new(shape: EndpointDisabledException)
651
661
  o.errors << Shapes::ShapeRef.new(shape: PlatformApplicationDisabledException)
652
662
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
663
+ o.errors << Shapes::ShapeRef.new(shape: KMSDisabledException)
664
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
665
+ o.errors << Shapes::ShapeRef.new(shape: KMSNotFoundException)
666
+ o.errors << Shapes::ShapeRef.new(shape: KMSOptInRequired)
667
+ o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
668
+ o.errors << Shapes::ShapeRef.new(shape: KMSAccessDeniedException)
669
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
653
670
  end)
654
671
 
655
672
  api.add_operation(:remove_permission, Seahorse::Model::Operation.new.tap do |o|
@@ -723,6 +740,7 @@ module Aws::SNS
723
740
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
724
741
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
725
742
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
743
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
726
744
  end)
727
745
 
728
746
  api.add_operation(:subscribe, Seahorse::Model::Operation.new.tap do |o|
@@ -737,6 +755,7 @@ module Aws::SNS
737
755
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
738
756
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
739
757
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
758
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
740
759
  end)
741
760
 
742
761
  api.add_operation(:unsubscribe, Seahorse::Model::Operation.new.tap do |o|
@@ -749,6 +768,7 @@ module Aws::SNS
749
768
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
750
769
  o.errors << Shapes::ShapeRef.new(shape: AuthorizationErrorException)
751
770
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
771
+ o.errors << Shapes::ShapeRef.new(shape: InvalidSecurityException)
752
772
  end)
753
773
  end
754
774
 
@@ -32,16 +32,16 @@ module Aws::SNS
32
32
 
33
33
  # Attributes include the following:
34
34
  #
35
- # * `EventEndpointCreated` -- Topic ARN to which EndpointCreated event
35
+ # * `EventEndpointCreated` Topic ARN to which EndpointCreated event
36
36
  # notifications should be sent.
37
37
  #
38
- # * `EventEndpointDeleted` -- Topic ARN to which EndpointDeleted event
38
+ # * `EventEndpointDeleted` Topic ARN to which EndpointDeleted event
39
39
  # notifications should be sent.
40
40
  #
41
- # * `EventEndpointUpdated` -- Topic ARN to which EndpointUpdate event
41
+ # * `EventEndpointUpdated` Topic ARN to which EndpointUpdate event
42
42
  # notifications should be sent.
43
43
  #
44
- # * `EventDeliveryFailure` -- Topic ARN to which DeliveryFailure event
44
+ # * `EventDeliveryFailure` Topic ARN to which DeliveryFailure event
45
45
  # notifications should be sent upon Direct Publish delivery failure
46
46
  # (permanent) to one of the application's endpoints.
47
47
  # @return [Hash<String,String>]
@@ -145,36 +145,36 @@ module Aws::SNS
145
145
  # A map of the platform application attributes. Attributes in this map
146
146
  # include the following:
147
147
  #
148
- # * `PlatformCredential` -- The credential received from the
149
- # notification service. For APNS/APNS\_SANDBOX, PlatformCredential is
150
- # private key. For GCM, PlatformCredential is "API key". For ADM,
148
+ # * `PlatformCredential` The credential received from the notification
149
+ # service. For APNS/APNS\_SANDBOX, PlatformCredential is private key.
150
+ # For GCM, PlatformCredential is "API key". For ADM,
151
151
  # PlatformCredential is "client secret".
152
152
  #
153
- # * `PlatformPrincipal` -- The principal received from the notification
153
+ # * `PlatformPrincipal` The principal received from the notification
154
154
  # service. For APNS/APNS\_SANDBOX, PlatformPrincipal is SSL
155
155
  # certificate. For GCM, PlatformPrincipal is not applicable. For ADM,
156
156
  # PlatformPrincipal is "client id".
157
157
  #
158
- # * `EventEndpointCreated` -- Topic ARN to which EndpointCreated event
158
+ # * `EventEndpointCreated` Topic ARN to which EndpointCreated event
159
159
  # notifications should be sent.
160
160
  #
161
- # * `EventEndpointDeleted` -- Topic ARN to which EndpointDeleted event
161
+ # * `EventEndpointDeleted` Topic ARN to which EndpointDeleted event
162
162
  # notifications should be sent.
163
163
  #
164
- # * `EventEndpointUpdated` -- Topic ARN to which EndpointUpdate event
164
+ # * `EventEndpointUpdated` Topic ARN to which EndpointUpdate event
165
165
  # notifications should be sent.
166
166
  #
167
- # * `EventDeliveryFailure` -- Topic ARN to which DeliveryFailure event
167
+ # * `EventDeliveryFailure` Topic ARN to which DeliveryFailure event
168
168
  # notifications should be sent upon Direct Publish delivery failure
169
169
  # (permanent) to one of the application's endpoints.
170
170
  #
171
- # * `SuccessFeedbackRoleArn` -- IAM role ARN used to give Amazon SNS
171
+ # * `SuccessFeedbackRoleArn` IAM role ARN used to give Amazon SNS
172
172
  # write access to use CloudWatch Logs on your behalf.
173
173
  #
174
- # * `FailureFeedbackRoleArn` -- IAM role ARN used to give Amazon SNS
174
+ # * `FailureFeedbackRoleArn` IAM role ARN used to give Amazon SNS
175
175
  # write access to use CloudWatch Logs on your behalf.
176
176
  #
177
- # * `SuccessFeedbackSampleRate` -- Sample rate percentage (0-100) of
177
+ # * `SuccessFeedbackSampleRate` Sample rate percentage (0-100) of
178
178
  # successfully delivered messages.
179
179
  # @return [EmptyStructure]
180
180
  def set_attributes(options = {})
@@ -32,16 +32,16 @@ module Aws::SNS
32
32
 
33
33
  # Attributes include the following:
34
34
  #
35
- # * `CustomUserData` -- arbitrary user data to associate with the
35
+ # * `CustomUserData` arbitrary user data to associate with the
36
36
  # endpoint. Amazon SNS does not use this data. The data must be in
37
37
  # UTF-8 format and less than 2KB.
38
38
  #
39
- # * `Enabled` -- flag that enables/disables delivery to the endpoint.
39
+ # * `Enabled` flag that enables/disables delivery to the endpoint.
40
40
  # Amazon SNS will set this to false when a notification service
41
41
  # indicates to Amazon SNS that the endpoint is invalid. Users can set
42
42
  # it back to true, typically after updating Token.
43
43
  #
44
- # * `Token` -- device token, also referred to as a registration id, for
44
+ # * `Token` device token, also referred to as a registration id, for
45
45
  # an app and mobile device. This is returned from the notification
46
46
  # service when an app and mobile device are registered with the
47
47
  # notification service.
@@ -129,6 +129,10 @@ module Aws::SNS
129
129
  # @option options [required, String] :message
130
130
  # The message you want to send.
131
131
  #
132
+ # The `Message` parameter is always a string. If you set
133
+ # `MessageStructure` to `json`, you must string-encode the `Message`
134
+ # parameter.
135
+ #
132
136
  # If you are publishing to a topic and you want to send the same message
133
137
  # to all transport protocols, include the text of the message as a
134
138
  # String value. If you want to send different messages for each
@@ -140,16 +144,20 @@ module Aws::SNS
140
144
  # Constraints:
141
145
  #
142
146
  # * With the exception of SMS, messages must be UTF-8 encoded strings
143
- # and at most 256 KB in size (262144 bytes, not 262144 characters).
147
+ # and at most 256 KB in size (262,144 bytes, not 262,144 characters).
148
+ #
149
+ # * For SMS, each message can contain up to 140 characters. This
150
+ # character limit depends on the encoding schema. For example, an SMS
151
+ # message can contain 160 GSM characters, 140 ASCII characters, or 70
152
+ # UCS-2 characters.
153
+ #
154
+ # If you publish a message that exceeds this size limit, Amazon SNS
155
+ # sends the message as multiple messages, each fitting within the size
156
+ # limit. Messages aren't truncated mid-word but are cut off at
157
+ # whole-word boundaries.
144
158
  #
145
- # * For SMS, each message can contain up to 140 bytes, and the character
146
- # limit depends on the encoding scheme. For example, an SMS message
147
- # can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2
148
- # characters. If you publish a message that exceeds the size limit,
149
- # Amazon SNS sends it as multiple messages, each fitting within the
150
- # size limit. Messages are not cut off in the middle of a word but on
151
- # whole-word boundaries. The total size limit for a single SMS publish
152
- # action is 1600 bytes.
159
+ # The total size limit for a single SMS `Publish` action is 1,600
160
+ # characters.
153
161
  #
154
162
  # JSON-specific constraints:
155
163
  #
@@ -231,16 +239,16 @@ module Aws::SNS
231
239
  # A map of the endpoint attributes. Attributes in this map include the
232
240
  # following:
233
241
  #
234
- # * `CustomUserData` -- arbitrary user data to associate with the
242
+ # * `CustomUserData` arbitrary user data to associate with the
235
243
  # endpoint. Amazon SNS does not use this data. The data must be in
236
244
  # UTF-8 format and less than 2KB.
237
245
  #
238
- # * `Enabled` -- flag that enables/disables delivery to the endpoint.
246
+ # * `Enabled` flag that enables/disables delivery to the endpoint.
239
247
  # Amazon SNS will set this to false when a notification service
240
248
  # indicates to Amazon SNS that the endpoint is invalid. Users can set
241
249
  # it back to true, typically after updating Token.
242
250
  #
243
- # * `Token` -- device token, also referred to as a registration id, for
251
+ # * `Token` device token, also referred to as a registration id, for
244
252
  # an app and mobile device. This is returned from the notification
245
253
  # service when an app and mobile device are registered with the
246
254
  # notification service.
@@ -58,6 +58,9 @@ module Aws::SNS
58
58
  #
59
59
  # topic = sns.create_topic({
60
60
  # name: "topicName", # required
61
+ # attributes: {
62
+ # "attributeName" => "attributeValue",
63
+ # },
61
64
  # })
62
65
  # @param [Hash] options ({})
63
66
  # @option options [required, String] :name
@@ -66,6 +69,20 @@ module Aws::SNS
66
69
  # Constraints: Topic names must be made up of only uppercase and
67
70
  # lowercase ASCII letters, numbers, underscores, and hyphens, and must
68
71
  # be between 1 and 256 characters long.
72
+ # @option options [Hash<String,String>] :attributes
73
+ # A map of attributes with their corresponding values.
74
+ #
75
+ # The following lists the names, descriptions, and values of the special
76
+ # request parameters that the `CreateTopic` action uses:
77
+ #
78
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
79
+ # failed deliveries to HTTP/S endpoints.
80
+ #
81
+ # * `DisplayName` – The display name to use for a topic with SMS
82
+ # subscriptions.
83
+ #
84
+ # * `Policy` – The policy that defines who can access your topic. By
85
+ # default, only the topic owner can publish or subscribe to the topic.
69
86
  # @return [Topic]
70
87
  def create_topic(options = {})
71
88
  resp = @client.create_topic(options)
@@ -33,33 +33,32 @@ module Aws::SNS
33
33
  # A map of the subscription's attributes. Attributes in this map
34
34
  # include the following:
35
35
  #
36
- # * `ConfirmationWasAuthenticated` -- `true` if the subscription
36
+ # * `ConfirmationWasAuthenticated` `true` if the subscription
37
37
  # confirmation request was authenticated.
38
38
  #
39
- # * `DeliveryPolicy` -- The JSON serialization of the subscription's
39
+ # * `DeliveryPolicy` The JSON serialization of the subscription's
40
40
  # delivery policy.
41
41
  #
42
- # * `EffectiveDeliveryPolicy` -- The JSON serialization of the effective
42
+ # * `EffectiveDeliveryPolicy` The JSON serialization of the effective
43
43
  # delivery policy that takes into account the topic delivery policy
44
44
  # and account system defaults.
45
45
  #
46
- # * `FilterPolicy` -- The filter policy JSON that is assigned to the
46
+ # * `FilterPolicy` The filter policy JSON that is assigned to the
47
47
  # subscription.
48
48
  #
49
- # * `Owner` -- The AWS account ID of the subscription's owner.
49
+ # * `Owner` The AWS account ID of the subscription's owner.
50
50
  #
51
- # * `PendingConfirmation` -- `true` if the subscription hasn't been
51
+ # * `PendingConfirmation` `true` if the subscription hasn't been
52
52
  # confirmed. To confirm a pending subscription, call the
53
53
  # `ConfirmSubscription` action with a confirmation token.
54
54
  #
55
- # * `RawMessageDelivery` -- `true` if raw message delivery is enabled
56
- # for the subscription. Raw messages are free of JSON formatting and
57
- # can be sent to HTTP/S and Amazon SQS endpoints.
55
+ # * `RawMessageDelivery` `true` if raw message delivery is enabled for
56
+ # the subscription. Raw messages are free of JSON formatting and can
57
+ # be sent to HTTP/S and Amazon SQS endpoints.
58
58
  #
59
- # * `SubscriptionArn` -- The subscription's ARN.
59
+ # * `SubscriptionArn` The subscription's ARN.
60
60
  #
61
- # * `TopicArn` -- The topic ARN that the subscription is associated
62
- # with.
61
+ # * `TopicArn` The topic ARN that the subscription is associated with.
63
62
  # @return [Hash<String,String>]
64
63
  def attributes
65
64
  data[:attributes]
@@ -121,11 +120,22 @@ module Aws::SNS
121
120
  # })
122
121
  # @param [Hash] options ({})
123
122
  # @option options [required, String] :attribute_name
124
- # The name of the attribute you want to set. Only a subset of the
125
- # subscriptions attributes are mutable.
123
+ # A map of attributes with their corresponding values.
126
124
  #
127
- # Valid values: `DeliveryPolicy` \| `FilterPolicy` \|
128
- # `RawMessageDelivery`
125
+ # The following lists the names, descriptions, and values of the special
126
+ # request parameters that the `SetTopicAttributes` action uses:
127
+ #
128
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
129
+ # failed deliveries to HTTP/S endpoints.
130
+ #
131
+ # * `FilterPolicy` – The simple JSON object that lets your subscriber
132
+ # receive only a subset of messages, rather than receiving every
133
+ # message published to the topic.
134
+ #
135
+ # * `RawMessageDelivery` – When set to `true`, enables raw message
136
+ # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
137
+ # for the endpoints to process JSON formatting, which is otherwise
138
+ # created for Amazon SNS metadata.
129
139
  # @option options [String] :attribute_value
130
140
  # The new value for the attribute in JSON format.
131
141
  # @return [EmptyStructure]
@@ -33,29 +33,29 @@ module Aws::SNS
33
33
  # A map of the topic's attributes. Attributes in this map include the
34
34
  # following:
35
35
  #
36
- # * `TopicArn` -- the topic's ARN
36
+ # * `TopicArn` the topic's ARN
37
37
  #
38
- # * `Owner` -- the AWS account ID of the topic's owner
38
+ # * `Owner` the AWS account ID of the topic's owner
39
39
  #
40
- # * `Policy` -- the JSON serialization of the topic's access control
40
+ # * `Policy` the JSON serialization of the topic's access control
41
41
  # policy
42
42
  #
43
- # * `DisplayName` -- the human-readable name used in the "From" field
43
+ # * `DisplayName` the human-readable name used in the "From" field
44
44
  # for notifications to email and email-json endpoints
45
45
  #
46
- # * `SubscriptionsPending` -- the number of subscriptions pending
46
+ # * `SubscriptionsPending` the number of subscriptions pending
47
47
  # confirmation on this topic
48
48
  #
49
- # * `SubscriptionsConfirmed` -- the number of confirmed subscriptions on
49
+ # * `SubscriptionsConfirmed` the number of confirmed subscriptions on
50
50
  # this topic
51
51
  #
52
- # * `SubscriptionsDeleted` -- the number of deleted subscriptions on
53
- # this topic
52
+ # * `SubscriptionsDeleted` the number of deleted subscriptions on this
53
+ # topic
54
54
  #
55
- # * `DeliveryPolicy` -- the JSON serialization of the topic's delivery
55
+ # * `DeliveryPolicy` the JSON serialization of the topic's delivery
56
56
  # policy
57
57
  #
58
- # * `EffectiveDeliveryPolicy` -- the JSON serialization of the effective
58
+ # * `EffectiveDeliveryPolicy` the JSON serialization of the effective
59
59
  # delivery policy that takes into account system defaults
60
60
  # @return [Hash<String,String>]
61
61
  def attributes
@@ -191,6 +191,10 @@ module Aws::SNS
191
191
  # @option options [required, String] :message
192
192
  # The message you want to send.
193
193
  #
194
+ # The `Message` parameter is always a string. If you set
195
+ # `MessageStructure` to `json`, you must string-encode the `Message`
196
+ # parameter.
197
+ #
194
198
  # If you are publishing to a topic and you want to send the same message
195
199
  # to all transport protocols, include the text of the message as a
196
200
  # String value. If you want to send different messages for each
@@ -202,16 +206,20 @@ module Aws::SNS
202
206
  # Constraints:
203
207
  #
204
208
  # * With the exception of SMS, messages must be UTF-8 encoded strings
205
- # and at most 256 KB in size (262144 bytes, not 262144 characters).
209
+ # and at most 256 KB in size (262,144 bytes, not 262,144 characters).
210
+ #
211
+ # * For SMS, each message can contain up to 140 characters. This
212
+ # character limit depends on the encoding schema. For example, an SMS
213
+ # message can contain 160 GSM characters, 140 ASCII characters, or 70
214
+ # UCS-2 characters.
206
215
  #
207
- # * For SMS, each message can contain up to 140 bytes, and the character
208
- # limit depends on the encoding scheme. For example, an SMS message
209
- # can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2
210
- # characters. If you publish a message that exceeds the size limit,
211
- # Amazon SNS sends it as multiple messages, each fitting within the
212
- # size limit. Messages are not cut off in the middle of a word but on
213
- # whole-word boundaries. The total size limit for a single SMS publish
214
- # action is 1600 bytes.
216
+ # If you publish a message that exceeds this size limit, Amazon SNS
217
+ # sends the message as multiple messages, each fitting within the size
218
+ # limit. Messages aren't truncated mid-word but are cut off at
219
+ # whole-word boundaries.
220
+ #
221
+ # The total size limit for a single SMS `Publish` action is 1,600
222
+ # characters.
215
223
  #
216
224
  # JSON-specific constraints:
217
225
  #
@@ -304,10 +312,19 @@ module Aws::SNS
304
312
  # })
305
313
  # @param [Hash] options ({})
306
314
  # @option options [required, String] :attribute_name
307
- # The name of the attribute you want to set. Only a subset of the
308
- # topic's attributes are mutable.
315
+ # A map of attributes with their corresponding values.
316
+ #
317
+ # The following lists the names, descriptions, and values of the special
318
+ # request parameters that the `SetTopicAttributes` action uses:
319
+ #
320
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
321
+ # failed deliveries to HTTP/S endpoints.
309
322
  #
310
- # Valid values: `Policy` \| `DisplayName` \| `DeliveryPolicy`
323
+ # * `DisplayName` The display name to use for a topic with SMS
324
+ # subscriptions.
325
+ #
326
+ # * `Policy` – The policy that defines who can access your topic. By
327
+ # default, only the topic owner can publish or subscribe to the topic.
311
328
  # @option options [String] :attribute_value
312
329
  # The new value for the attribute.
313
330
  # @return [EmptyStructure]
@@ -331,22 +348,22 @@ module Aws::SNS
331
348
  # @option options [required, String] :protocol
332
349
  # The protocol you want to use. Supported protocols include:
333
350
  #
334
- # * `http` -- delivery of JSON-encoded message via HTTP POST
351
+ # * `http` delivery of JSON-encoded message via HTTP POST
335
352
  #
336
- # * `https` -- delivery of JSON-encoded message via HTTPS POST
353
+ # * `https` delivery of JSON-encoded message via HTTPS POST
337
354
  #
338
- # * `email` -- delivery of message via SMTP
355
+ # * `email` delivery of message via SMTP
339
356
  #
340
- # * `email-json` -- delivery of JSON-encoded message via SMTP
357
+ # * `email-json` delivery of JSON-encoded message via SMTP
341
358
  #
342
- # * `sms` -- delivery of message via SMS
359
+ # * `sms` delivery of message via SMS
343
360
  #
344
- # * `sqs` -- delivery of JSON-encoded message to an Amazon SQS queue
361
+ # * `sqs` delivery of JSON-encoded message to an Amazon SQS queue
345
362
  #
346
- # * `application` -- delivery of JSON-encoded message to an EndpointArn
363
+ # * `application` delivery of JSON-encoded message to an EndpointArn
347
364
  # for a mobile app and device.
348
365
  #
349
- # * `lambda` -- delivery of JSON-encoded message to an AWS Lambda
366
+ # * `lambda` delivery of JSON-encoded message to an AWS Lambda
350
367
  # function.
351
368
  # @option options [String] :endpoint
352
369
  # The endpoint that you want to receive notifications. Endpoints vary by
@@ -374,9 +391,22 @@ module Aws::SNS
374
391
  # * For the `lambda` protocol, the endpoint is the ARN of an AWS Lambda
375
392
  # function.
376
393
  # @option options [Hash<String,String>] :attributes
377
- # Assigns attributes to the subscription as a map of key-value pairs.
378
- # You can assign any attribute that is supported by the
379
- # `SetSubscriptionAttributes` action.
394
+ # A map of attributes with their corresponding values.
395
+ #
396
+ # The following lists the names, descriptions, and values of the special
397
+ # request parameters that the `SetTopicAttributes` action uses:
398
+ #
399
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
400
+ # failed deliveries to HTTP/S endpoints.
401
+ #
402
+ # * `FilterPolicy` – The simple JSON object that lets your subscriber
403
+ # receive only a subset of messages, rather than receiving every
404
+ # message published to the topic.
405
+ #
406
+ # * `RawMessageDelivery` – When set to `true`, enables raw message
407
+ # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need
408
+ # for the endpoints to process JSON formatting, which is otherwise
409
+ # created for Amazon SNS metadata.
380
410
  # @option options [Boolean] :return_subscription_arn
381
411
  # Sets whether the response from the `Subscribe` request includes the
382
412
  # subscription ARN, even if the subscription is not yet confirmed.
@@ -263,6 +263,9 @@ module Aws::SNS
263
263
  #
264
264
  # {
265
265
  # name: "topicName", # required
266
+ # attributes: {
267
+ # "attributeName" => "attributeValue",
268
+ # },
266
269
  # }
267
270
  #
268
271
  # @!attribute [rw] name
@@ -273,10 +276,28 @@ module Aws::SNS
273
276
  # be between 1 and 256 characters long.
274
277
  # @return [String]
275
278
  #
279
+ # @!attribute [rw] attributes
280
+ # A map of attributes with their corresponding values.
281
+ #
282
+ # The following lists the names, descriptions, and values of the
283
+ # special request parameters that the `CreateTopic` action uses:
284
+ #
285
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
286
+ # failed deliveries to HTTP/S endpoints.
287
+ #
288
+ # * `DisplayName` – The display name to use for a topic with SMS
289
+ # subscriptions.
290
+ #
291
+ # * `Policy` – The policy that defines who can access your topic. By
292
+ # default, only the topic owner can publish or subscribe to the
293
+ # topic.
294
+ # @return [Hash<String,String>]
295
+ #
276
296
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopicInput AWS API Documentation
277
297
  #
278
298
  class CreateTopicInput < Struct.new(
279
- :name)
299
+ :name,
300
+ :attributes)
280
301
  include Aws::Structure
281
302
  end
282
303
 
@@ -394,19 +415,19 @@ module Aws::SNS
394
415
  # @!attribute [rw] attributes
395
416
  # Attributes include the following:
396
417
  #
397
- # * `CustomUserData` -- arbitrary user data to associate with the
418
+ # * `CustomUserData` arbitrary user data to associate with the
398
419
  # endpoint. Amazon SNS does not use this data. The data must be in
399
420
  # UTF-8 format and less than 2KB.
400
421
  #
401
- # * `Enabled` -- flag that enables/disables delivery to the endpoint.
422
+ # * `Enabled` flag that enables/disables delivery to the endpoint.
402
423
  # Amazon SNS will set this to false when a notification service
403
424
  # indicates to Amazon SNS that the endpoint is invalid. Users can
404
425
  # set it back to true, typically after updating Token.
405
426
  #
406
- # * `Token` -- device token, also referred to as a registration id,
407
- # for an app and mobile device. This is returned from the
408
- # notification service when an app and mobile device are registered
409
- # with the notification service.
427
+ # * `Token` device token, also referred to as a registration id, for
428
+ # an app and mobile device. This is returned from the notification
429
+ # service when an app and mobile device are registered with the
430
+ # notification service.
410
431
  # @return [Hash<String,String>]
411
432
  #
412
433
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetEndpointAttributesResponse AWS API Documentation
@@ -441,16 +462,16 @@ module Aws::SNS
441
462
  # @!attribute [rw] attributes
442
463
  # Attributes include the following:
443
464
  #
444
- # * `EventEndpointCreated` -- Topic ARN to which EndpointCreated event
465
+ # * `EventEndpointCreated` Topic ARN to which EndpointCreated event
445
466
  # notifications should be sent.
446
467
  #
447
- # * `EventEndpointDeleted` -- Topic ARN to which EndpointDeleted event
468
+ # * `EventEndpointDeleted` Topic ARN to which EndpointDeleted event
448
469
  # notifications should be sent.
449
470
  #
450
- # * `EventEndpointUpdated` -- Topic ARN to which EndpointUpdate event
471
+ # * `EventEndpointUpdated` Topic ARN to which EndpointUpdate event
451
472
  # notifications should be sent.
452
473
  #
453
- # * `EventDeliveryFailure` -- Topic ARN to which DeliveryFailure event
474
+ # * `EventDeliveryFailure` Topic ARN to which DeliveryFailure event
454
475
  # notifications should be sent upon Direct Publish delivery failure
455
476
  # (permanent) to one of the application's endpoints.
456
477
  # @return [Hash<String,String>]
@@ -531,32 +552,32 @@ module Aws::SNS
531
552
  # A map of the subscription's attributes. Attributes in this map
532
553
  # include the following:
533
554
  #
534
- # * `ConfirmationWasAuthenticated` -- `true` if the subscription
555
+ # * `ConfirmationWasAuthenticated` `true` if the subscription
535
556
  # confirmation request was authenticated.
536
557
  #
537
- # * `DeliveryPolicy` -- The JSON serialization of the subscription's
558
+ # * `DeliveryPolicy` The JSON serialization of the subscription's
538
559
  # delivery policy.
539
560
  #
540
- # * `EffectiveDeliveryPolicy` -- The JSON serialization of the
561
+ # * `EffectiveDeliveryPolicy` The JSON serialization of the
541
562
  # effective delivery policy that takes into account the topic
542
563
  # delivery policy and account system defaults.
543
564
  #
544
- # * `FilterPolicy` -- The filter policy JSON that is assigned to the
565
+ # * `FilterPolicy` The filter policy JSON that is assigned to the
545
566
  # subscription.
546
567
  #
547
- # * `Owner` -- The AWS account ID of the subscription's owner.
568
+ # * `Owner` The AWS account ID of the subscription's owner.
548
569
  #
549
- # * `PendingConfirmation` -- `true` if the subscription hasn't been
570
+ # * `PendingConfirmation` `true` if the subscription hasn't been
550
571
  # confirmed. To confirm a pending subscription, call the
551
572
  # `ConfirmSubscription` action with a confirmation token.
552
573
  #
553
- # * `RawMessageDelivery` -- `true` if raw message delivery is enabled
574
+ # * `RawMessageDelivery` `true` if raw message delivery is enabled
554
575
  # for the subscription. Raw messages are free of JSON formatting and
555
576
  # can be sent to HTTP/S and Amazon SQS endpoints.
556
577
  #
557
- # * `SubscriptionArn` -- The subscription's ARN.
578
+ # * `SubscriptionArn` The subscription's ARN.
558
579
  #
559
- # * `TopicArn` -- The topic ARN that the subscription is associated
580
+ # * `TopicArn` The topic ARN that the subscription is associated
560
581
  # with.
561
582
  # @return [Hash<String,String>]
562
583
  #
@@ -593,29 +614,29 @@ module Aws::SNS
593
614
  # A map of the topic's attributes. Attributes in this map include the
594
615
  # following:
595
616
  #
596
- # * `TopicArn` -- the topic's ARN
617
+ # * `TopicArn` the topic's ARN
597
618
  #
598
- # * `Owner` -- the AWS account ID of the topic's owner
619
+ # * `Owner` the AWS account ID of the topic's owner
599
620
  #
600
- # * `Policy` -- the JSON serialization of the topic's access control
621
+ # * `Policy` the JSON serialization of the topic's access control
601
622
  # policy
602
623
  #
603
- # * `DisplayName` -- the human-readable name used in the "From"
604
- # field for notifications to email and email-json endpoints
624
+ # * `DisplayName` the human-readable name used in the "From" field
625
+ # for notifications to email and email-json endpoints
605
626
  #
606
- # * `SubscriptionsPending` -- the number of subscriptions pending
627
+ # * `SubscriptionsPending` the number of subscriptions pending
607
628
  # confirmation on this topic
608
629
  #
609
- # * `SubscriptionsConfirmed` -- the number of confirmed subscriptions
630
+ # * `SubscriptionsConfirmed` the number of confirmed subscriptions
610
631
  # on this topic
611
632
  #
612
- # * `SubscriptionsDeleted` -- the number of deleted subscriptions on
633
+ # * `SubscriptionsDeleted` the number of deleted subscriptions on
613
634
  # this topic
614
635
  #
615
- # * `DeliveryPolicy` -- the JSON serialization of the topic's
616
- # delivery policy
636
+ # * `DeliveryPolicy` the JSON serialization of the topic's delivery
637
+ # policy
617
638
  #
618
- # * `EffectiveDeliveryPolicy` -- the JSON serialization of the
639
+ # * `EffectiveDeliveryPolicy` the JSON serialization of the
619
640
  # effective delivery policy that takes into account system defaults
620
641
  # @return [Hash<String,String>]
621
642
  #
@@ -1032,6 +1053,10 @@ module Aws::SNS
1032
1053
  # @!attribute [rw] message
1033
1054
  # The message you want to send.
1034
1055
  #
1056
+ # The `Message` parameter is always a string. If you set
1057
+ # `MessageStructure` to `json`, you must string-encode the `Message`
1058
+ # parameter.
1059
+ #
1035
1060
  # If you are publishing to a topic and you want to send the same
1036
1061
  # message to all transport protocols, include the text of the message
1037
1062
  # as a String value. If you want to send different messages for each
@@ -1044,16 +1069,21 @@ module Aws::SNS
1044
1069
  # Constraints:
1045
1070
  #
1046
1071
  # * With the exception of SMS, messages must be UTF-8 encoded strings
1047
- # and at most 256 KB in size (262144 bytes, not 262144 characters).
1072
+ # and at most 256 KB in size (262,144 bytes, not 262,144
1073
+ # characters).
1048
1074
  #
1049
- # * For SMS, each message can contain up to 140 bytes, and the
1050
- # character limit depends on the encoding scheme. For example, an
1075
+ # * For SMS, each message can contain up to 140 characters. This
1076
+ # character limit depends on the encoding schema. For example, an
1051
1077
  # SMS message can contain 160 GSM characters, 140 ASCII characters,
1052
- # or 70 UCS-2 characters. If you publish a message that exceeds the
1053
- # size limit, Amazon SNS sends it as multiple messages, each fitting
1054
- # within the size limit. Messages are not cut off in the middle of a
1055
- # word but on whole-word boundaries. The total size limit for a
1056
- # single SMS publish action is 1600 bytes.
1078
+ # or 70 UCS-2 characters.
1079
+ #
1080
+ # If you publish a message that exceeds this size limit, Amazon SNS
1081
+ # sends the message as multiple messages, each fitting within the
1082
+ # size limit. Messages aren't truncated mid-word but are cut off at
1083
+ # whole-word boundaries.
1084
+ #
1085
+ # The total size limit for a single SMS `Publish` action is 1,600
1086
+ # characters.
1057
1087
  #
1058
1088
  # JSON-specific constraints:
1059
1089
  #
@@ -1199,19 +1229,19 @@ module Aws::SNS
1199
1229
  # A map of the endpoint attributes. Attributes in this map include the
1200
1230
  # following:
1201
1231
  #
1202
- # * `CustomUserData` -- arbitrary user data to associate with the
1232
+ # * `CustomUserData` arbitrary user data to associate with the
1203
1233
  # endpoint. Amazon SNS does not use this data. The data must be in
1204
1234
  # UTF-8 format and less than 2KB.
1205
1235
  #
1206
- # * `Enabled` -- flag that enables/disables delivery to the endpoint.
1236
+ # * `Enabled` flag that enables/disables delivery to the endpoint.
1207
1237
  # Amazon SNS will set this to false when a notification service
1208
1238
  # indicates to Amazon SNS that the endpoint is invalid. Users can
1209
1239
  # set it back to true, typically after updating Token.
1210
1240
  #
1211
- # * `Token` -- device token, also referred to as a registration id,
1212
- # for an app and mobile device. This is returned from the
1213
- # notification service when an app and mobile device are registered
1214
- # with the notification service.
1241
+ # * `Token` device token, also referred to as a registration id, for
1242
+ # an app and mobile device. This is returned from the notification
1243
+ # service when an app and mobile device are registered with the
1244
+ # notification service.
1215
1245
  # @return [Hash<String,String>]
1216
1246
  #
1217
1247
  # @see http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetEndpointAttributesInput AWS API Documentation
@@ -1242,36 +1272,36 @@ module Aws::SNS
1242
1272
  # A map of the platform application attributes. Attributes in this map
1243
1273
  # include the following:
1244
1274
  #
1245
- # * `PlatformCredential` -- The credential received from the
1275
+ # * `PlatformCredential` The credential received from the
1246
1276
  # notification service. For APNS/APNS\_SANDBOX, PlatformCredential
1247
1277
  # is private key. For GCM, PlatformCredential is "API key". For
1248
1278
  # ADM, PlatformCredential is "client secret".
1249
1279
  #
1250
- # * `PlatformPrincipal` -- The principal received from the
1251
- # notification service. For APNS/APNS\_SANDBOX, PlatformPrincipal is
1252
- # SSL certificate. For GCM, PlatformPrincipal is not applicable. For
1280
+ # * `PlatformPrincipal` The principal received from the notification
1281
+ # service. For APNS/APNS\_SANDBOX, PlatformPrincipal is SSL
1282
+ # certificate. For GCM, PlatformPrincipal is not applicable. For
1253
1283
  # ADM, PlatformPrincipal is "client id".
1254
1284
  #
1255
- # * `EventEndpointCreated` -- Topic ARN to which EndpointCreated event
1285
+ # * `EventEndpointCreated` Topic ARN to which EndpointCreated event
1256
1286
  # notifications should be sent.
1257
1287
  #
1258
- # * `EventEndpointDeleted` -- Topic ARN to which EndpointDeleted event
1288
+ # * `EventEndpointDeleted` Topic ARN to which EndpointDeleted event
1259
1289
  # notifications should be sent.
1260
1290
  #
1261
- # * `EventEndpointUpdated` -- Topic ARN to which EndpointUpdate event
1291
+ # * `EventEndpointUpdated` Topic ARN to which EndpointUpdate event
1262
1292
  # notifications should be sent.
1263
1293
  #
1264
- # * `EventDeliveryFailure` -- Topic ARN to which DeliveryFailure event
1294
+ # * `EventDeliveryFailure` Topic ARN to which DeliveryFailure event
1265
1295
  # notifications should be sent upon Direct Publish delivery failure
1266
1296
  # (permanent) to one of the application's endpoints.
1267
1297
  #
1268
- # * `SuccessFeedbackRoleArn` -- IAM role ARN used to give Amazon SNS
1298
+ # * `SuccessFeedbackRoleArn` IAM role ARN used to give Amazon SNS
1269
1299
  # write access to use CloudWatch Logs on your behalf.
1270
1300
  #
1271
- # * `FailureFeedbackRoleArn` -- IAM role ARN used to give Amazon SNS
1301
+ # * `FailureFeedbackRoleArn` IAM role ARN used to give Amazon SNS
1272
1302
  # write access to use CloudWatch Logs on your behalf.
1273
1303
  #
1274
- # * `SuccessFeedbackSampleRate` -- Sample rate percentage (0-100) of
1304
+ # * `SuccessFeedbackSampleRate` Sample rate percentage (0-100) of
1275
1305
  # successfully delivered messages.
1276
1306
  # @return [Hash<String,String>]
1277
1307
  #
@@ -1408,11 +1438,23 @@ module Aws::SNS
1408
1438
  # @return [String]
1409
1439
  #
1410
1440
  # @!attribute [rw] attribute_name
1411
- # The name of the attribute you want to set. Only a subset of the
1412
- # subscriptions attributes are mutable.
1441
+ # A map of attributes with their corresponding values.
1442
+ #
1443
+ # The following lists the names, descriptions, and values of the
1444
+ # special request parameters that the `SetTopicAttributes` action
1445
+ # uses:
1413
1446
  #
1414
- # Valid values: `DeliveryPolicy` \| `FilterPolicy` \|
1415
- # `RawMessageDelivery`
1447
+ # * `DeliveryPolicy` The policy that defines how Amazon SNS retries
1448
+ # failed deliveries to HTTP/S endpoints.
1449
+ #
1450
+ # * `FilterPolicy` – The simple JSON object that lets your subscriber
1451
+ # receive only a subset of messages, rather than receiving every
1452
+ # message published to the topic.
1453
+ #
1454
+ # * `RawMessageDelivery` – When set to `true`, enables raw message
1455
+ # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the
1456
+ # need for the endpoints to process JSON formatting, which is
1457
+ # otherwise created for Amazon SNS metadata.
1416
1458
  # @return [String]
1417
1459
  #
1418
1460
  # @!attribute [rw] attribute_value
@@ -1444,10 +1486,21 @@ module Aws::SNS
1444
1486
  # @return [String]
1445
1487
  #
1446
1488
  # @!attribute [rw] attribute_name
1447
- # The name of the attribute you want to set. Only a subset of the
1448
- # topic's attributes are mutable.
1489
+ # A map of attributes with their corresponding values.
1490
+ #
1491
+ # The following lists the names, descriptions, and values of the
1492
+ # special request parameters that the `SetTopicAttributes` action
1493
+ # uses:
1449
1494
  #
1450
- # Valid values: `Policy` \| `DisplayName` \| `DeliveryPolicy`
1495
+ # * `DeliveryPolicy` The policy that defines how Amazon SNS retries
1496
+ # failed deliveries to HTTP/S endpoints.
1497
+ #
1498
+ # * `DisplayName` – The display name to use for a topic with SMS
1499
+ # subscriptions.
1500
+ #
1501
+ # * `Policy` – The policy that defines who can access your topic. By
1502
+ # default, only the topic owner can publish or subscribe to the
1503
+ # topic.
1451
1504
  # @return [String]
1452
1505
  #
1453
1506
  # @!attribute [rw] attribute_value
@@ -1485,22 +1538,22 @@ module Aws::SNS
1485
1538
  # @!attribute [rw] protocol
1486
1539
  # The protocol you want to use. Supported protocols include:
1487
1540
  #
1488
- # * `http` -- delivery of JSON-encoded message via HTTP POST
1541
+ # * `http` delivery of JSON-encoded message via HTTP POST
1489
1542
  #
1490
- # * `https` -- delivery of JSON-encoded message via HTTPS POST
1543
+ # * `https` delivery of JSON-encoded message via HTTPS POST
1491
1544
  #
1492
- # * `email` -- delivery of message via SMTP
1545
+ # * `email` delivery of message via SMTP
1493
1546
  #
1494
- # * `email-json` -- delivery of JSON-encoded message via SMTP
1547
+ # * `email-json` delivery of JSON-encoded message via SMTP
1495
1548
  #
1496
- # * `sms` -- delivery of message via SMS
1549
+ # * `sms` delivery of message via SMS
1497
1550
  #
1498
- # * `sqs` -- delivery of JSON-encoded message to an Amazon SQS queue
1551
+ # * `sqs` delivery of JSON-encoded message to an Amazon SQS queue
1499
1552
  #
1500
- # * `application` -- delivery of JSON-encoded message to an
1501
- # EndpointArn for a mobile app and device.
1553
+ # * `application` delivery of JSON-encoded message to an EndpointArn
1554
+ # for a mobile app and device.
1502
1555
  #
1503
- # * `lambda` -- delivery of JSON-encoded message to an AWS Lambda
1556
+ # * `lambda` delivery of JSON-encoded message to an AWS Lambda
1504
1557
  # function.
1505
1558
  # @return [String]
1506
1559
  #
@@ -1532,9 +1585,23 @@ module Aws::SNS
1532
1585
  # @return [String]
1533
1586
  #
1534
1587
  # @!attribute [rw] attributes
1535
- # Assigns attributes to the subscription as a map of key-value pairs.
1536
- # You can assign any attribute that is supported by the
1537
- # `SetSubscriptionAttributes` action.
1588
+ # A map of attributes with their corresponding values.
1589
+ #
1590
+ # The following lists the names, descriptions, and values of the
1591
+ # special request parameters that the `SetTopicAttributes` action
1592
+ # uses:
1593
+ #
1594
+ # * `DeliveryPolicy` – The policy that defines how Amazon SNS retries
1595
+ # failed deliveries to HTTP/S endpoints.
1596
+ #
1597
+ # * `FilterPolicy` – The simple JSON object that lets your subscriber
1598
+ # receive only a subset of messages, rather than receiving every
1599
+ # message published to the topic.
1600
+ #
1601
+ # * `RawMessageDelivery` – When set to `true`, enables raw message
1602
+ # delivery to Amazon SQS or HTTP/S endpoints. This eliminates the
1603
+ # need for the endpoints to process JSON formatting, which is
1604
+ # otherwise created for Amazon SNS metadata.
1538
1605
  # @return [Hash<String,String>]
1539
1606
  #
1540
1607
  # @!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.7.0
4
+ version: 1.8.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: 2018-10-24 00:00:00.000000000 Z
11
+ date: 2018-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core