aws-sdk-core 2.0.0.rc8 → 2.0.0.rc9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/apis/DynamoDB-2012-08-10.json +1 -0
  3. data/apis/EC2-2014-05-01.json +15232 -0
  4. data/apis/ElasticBeanstalk-2010-12-01.json +17 -0
  5. data/apis/OpsWorks-2013-02-18.json +215 -0
  6. data/apis/Redshift-2012-12-01.json +72 -0
  7. data/apis/S3-2006-03-01.json +271 -15
  8. data/apis/SNS-2010-03-31.json +27 -0
  9. data/apis/source/ec2-2014-05-01.json +20662 -0
  10. data/apis/source/ec2-2014-05-01.paginators.json +112 -0
  11. data/apis/source/ec2-2014-05-01.waiters.json +146 -0
  12. data/apis/source/elasticbeanstalk-2010-12-01.json +26 -0
  13. data/apis/source/opsworks-2013-02-18.json +383 -8
  14. data/apis/source/redshift-2012-12-01.json +187 -60
  15. data/apis/source/s3-2006-03-01.json +372 -21
  16. data/apis/source/sns-2010-03-31.json +83 -36
  17. data/features/s3/objects.feature +10 -0
  18. data/features/s3/step_definitions.rb +33 -1
  19. data/features/step_definitions.rb +2 -1
  20. data/lib/aws.rb +3 -0
  21. data/lib/aws/api/service_translators/ec2.rb +11 -0
  22. data/lib/aws/api/service_translators/s3.rb +1 -0
  23. data/lib/aws/credential_provider_chain.rb +1 -2
  24. data/lib/aws/error_handler.rb +2 -1
  25. data/lib/aws/plugins/ec2_copy_encrypted_snapshot.rb +86 -0
  26. data/lib/aws/plugins/s3_md5s.rb +11 -8
  27. data/lib/aws/plugins/s3_sse_cpk.rb +42 -0
  28. data/lib/aws/query/builder.rb +4 -0
  29. data/lib/aws/query/param.rb +1 -1
  30. data/lib/aws/signers/base.rb +2 -0
  31. data/lib/aws/signers/s3.rb +0 -1
  32. data/lib/aws/signers/v4.rb +73 -22
  33. data/lib/aws/version.rb +1 -1
  34. data/spec/aws/operations_spec.rb +19 -15
  35. data/spec/aws/plugins/s3_md5s_spec.rb +84 -0
  36. data/spec/aws/query/builder_spec.rb +40 -0
  37. data/spec/aws/query/param_spec.rb +5 -0
  38. data/spec/aws/s3_spec.rb +27 -0
  39. data/spec/aws/signers/v4_spec.rb +1 -1
  40. data/spec/fixtures/operations/s3/412_response_head.yml +10 -0
  41. data/spec/spec_helper.rb +7 -0
  42. data/vendor/seahorse/lib/seahorse/client/handler_list.rb +3 -2
  43. data/vendor/seahorse/lib/seahorse/client/http/headers.rb +4 -0
  44. data/vendor/seahorse/lib/seahorse/client/net_http/handler.rb +1 -0
  45. data/vendor/seahorse/lib/seahorse/client/plugins/operation_methods.rb +4 -2
  46. data/vendor/seahorse/spec/seahorse/client/handler_list_spec.rb +2 -13
  47. metadata +15 -2
@@ -35,7 +35,7 @@
35
35
  "type": "string",
36
36
  "documentation": null
37
37
  },
38
- "documentation": "\n <p>The AWS account IDs of the users (principals) who will be given access to the specified\n actions. The users must have AWS accounts, but do not need to be signed up \n for this service. <!--For information about locating the AWS\n account identification, see <a href=\"http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/index.html?AWSCredentials.html\">Your\n AWS Identifiers</aulink> in the &service; Developer Guide.--></p>\n ",
38
+ "documentation": "\n <p>The AWS account IDs of the users (principals) who will be given access to the specified\n actions. The users must have AWS accounts, but do not need to be signed up \n for this service. </p>\n ",
39
39
  "required": true
40
40
  },
41
41
  "ActionName": {
@@ -103,7 +103,7 @@
103
103
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
104
104
  }
105
105
  ],
106
- "documentation": "\n <p>The <code>AddPermission</code> action adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Test\n &ActionName.member.1=Publish\n &ActionName.member.2=GetTopicAttributes\n &Label=NewPermission\n &AWSAccountId.member.1=987654321000\n &AWSAccountId.member.2=876543210000\n &Action=AddPermission\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=k%2FAU%2FKp13pjndwJ7rr1sZszy6MZMlOhRBCHx1ZaZFiw%3D\n\n </queryrequest>\n <queryresponse>\n \n<AddPermissionResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>6a213e4e-33a8-11df-9540-99d0768312d3</RequestId>\n </ResponseMetadata>\n</AddPermissionResponse>\n \n </queryresponse>\n</examples>\n "
106
+ "documentation": "\n <p>Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Test\n &amp;ActionName.member.1=Publish\n &amp;ActionName.member.2=GetTopicAttributes\n &amp;Label=NewPermission\n &amp;AWSAccountId.member.1=987654321000\n &amp;AWSAccountId.member.2=876543210000\n &amp;Action=AddPermission\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=k%2FAU%2FKp13pjndwJ7rr1sZszy6MZMlOhRBCHx1ZaZFiw%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;AddPermissionResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;6a213e4e-33a8-11df-9540-99d0768312d3&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/AddPermissionResponse&gt;\n \n </queryresponse>\n</examples>\n "
107
107
  },
108
108
  "ConfirmSubscription": {
109
109
  "name": "ConfirmSubscription",
@@ -205,7 +205,7 @@
205
205
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
206
206
  }
207
207
  ],
208
- "documentation": "\n <p>The <code>ConfirmSubscription</code> action verifies an endpoint owner's intent to receive messages by validating\n the token sent to the endpoint by an earlier <code>Subscribe</code> action. If the\n token is valid, the action creates a new subscription and returns its\n Amazon Resource Name (ARN). This call requires an AWS signature only when the <code>AuthenticateOnUnsubscribe</code> flag is set to \"true\".</p>\n<examples>\n <queryrequest>\n\n https://sns.us-east-1.amazonaws.com/\n ?Action=ConfirmSubscription\n &TopicArn=arn:aws:sns:us-east-1:123456789012:My-Topic\n &Token=51b2ff3edb475b7d91550e0ab6edf0c1de2a34e6ebaf6\n c2262a001bcb7e051c43aa00022ceecce70bd2a67b2042da8d8\n eb47fef7a4e4e942d23e7fa56146b9ee35da040b4b8af564cc4\n 184a7391c834cb75d75c22981f776ad1ce8805e9bab29da2329\n 985337bb8095627907b46c8577c8440556b6f86582a95475802\n 6f41fc62041c4b3f67b0f5921232b5dae5aaca1\n\n </queryrequest>\n <queryresponse>\n \n<ConfirmSubscriptionResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ConfirmSubscriptionResult>\n <SubscriptionArn>arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca</SubscriptionArn>\n </ConfirmSubscriptionResult>\n <ResponseMetadata>\n <RequestId>7a50221f-3774-11df-a9b7-05d48da6f042</RequestId>\n </ResponseMetadata>\n</ConfirmSubscriptionResponse>\n \n </queryresponse>\n</examples>\n\n\n "
208
+ "documentation": "\n <p>Verifies an endpoint owner's intent to receive messages by validating\n the token sent to the endpoint by an earlier <code>Subscribe</code> action. If the\n token is valid, the action creates a new subscription and returns its\n Amazon Resource Name (ARN). This call requires an AWS signature only when the <code>AuthenticateOnUnsubscribe</code> flag is set to \"true\".</p>\n<examples>\n <queryrequest>\n\n https://sns.us-east-1.amazonaws.com/\n ?Action=ConfirmSubscription\n &amp;TopicArn=arn:aws:sns:us-east-1:123456789012:My-Topic\n &amp;Token=51b2ff3edb475b7d91550e0ab6edf0c1de2a34e6ebaf6\n c2262a001bcb7e051c43aa00022ceecce70bd2a67b2042da8d8\n eb47fef7a4e4e942d23e7fa56146b9ee35da040b4b8af564cc4\n 184a7391c834cb75d75c22981f776ad1ce8805e9bab29da2329\n 985337bb8095627907b46c8577c8440556b6f86582a95475802\n 6f41fc62041c4b3f67b0f5921232b5dae5aaca1\n\n </queryrequest>\n <queryresponse>\n \n&lt;ConfirmSubscriptionResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ConfirmSubscriptionResult&gt;\n &lt;SubscriptionArn&gt;arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca&lt;/SubscriptionArn&gt;\n &lt;/ConfirmSubscriptionResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;7a50221f-3774-11df-a9b7-05d48da6f042&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/ConfirmSubscriptionResponse&gt;\n \n </queryresponse>\n</examples>\n\n\n "
209
209
  },
210
210
  "CreatePlatformApplication": {
211
211
  "name": "CreatePlatformApplication",
@@ -294,7 +294,7 @@
294
294
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
295
295
  }
296
296
  ],
297
- "documentation": "\n \n <p>The <code>CreatePlatformApplication</code> action creates a platform application object for one of the supported push notification services, \n such as APNS and GCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using \n the <code>CreatePlatformApplication</code> action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". \n For GCM, PlatformPrincipal is not applicable. For ADM, <!-- , WNS and MPNS--> PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. \n For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For GCM, PlatformCredential is \"API key\". For ADM,<!-- , WNS and MPNS--> PlatformCredential is \"client secret\". \n The PlatformApplicationArn that is returned when using <code>CreatePlatformApplication</code> is then used as an attribute for the <code>CreatePlatformEndpoint</code> action.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>. \n </p>\n \n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAttributes.entry.2.key=PlatformPrincipal\n&SignatureMethod=HmacSHA256\n&Attributes.entry.1.value=AIzaSyClE2lcV2zEKTLYYo645zfk2jhQPFeyxDo\n&Attributes.entry.2.value=There+is+no+principal+for+GCM\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Signature=82sHzg1Wfbgisw3i%2BHA2OgBmRktsqUKFinknkq3u%2FQ4%3D\n&Timestamp=2013-07-01T15%3A49%3A50.354Z\n&Name=gcmpushapp\n&Attributes.entry.1.key=PlatformCredential\n&Action=CreatePlatformApplication\n&Version=2010-03-31\n&SignatureVersion=2\n&Platform=GCM\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<CreatePlatformApplicationResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <CreatePlatformApplicationResult>\n <PlatformApplicationArn>arn:aws:sns:us-west-2:123456789012:app/GCM/gcmpushapp</PlatformApplicationArn>\n </CreatePlatformApplicationResult>\n <ResponseMetadata>\n <RequestId>b6f0e78b-e9d4-5a0e-b973-adc04e8a4ff9</RequestId>\n </ResponseMetadata>\n</CreatePlatformApplicationResponse>\n\n </queryresponse>\n </examples> \n "
297
+ "documentation": "\n \n <p>Creates a platform application object for one of the supported push notification services, \n such as APNS and GCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using \n the <code>CreatePlatformApplication</code> action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". \n For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. \n For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". \n The PlatformApplicationArn that is returned when using <code>CreatePlatformApplication</code> is then used as an attribute for the <code>CreatePlatformEndpoint</code> action.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>. \n </p>\n \n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAttributes.entry.2.key=PlatformPrincipal\n&amp;SignatureMethod=HmacSHA256\n&amp;Attributes.entry.1.value=AIzaSyClE2lcV2zEKTLYYo645zfk2jhQPFeyxDo\n&amp;Attributes.entry.2.value=There+is+no+principal+for+GCM\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;Signature=82sHzg1Wfbgisw3i%2BHA2OgBmRktsqUKFinknkq3u%2FQ4%3D\n&amp;Timestamp=2013-07-01T15%3A49%3A50.354Z\n&amp;Name=gcmpushapp\n&amp;Attributes.entry.1.key=PlatformCredential\n&amp;Action=CreatePlatformApplication\n&amp;Version=2010-03-31\n&amp;SignatureVersion=2\n&amp;Platform=GCM\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;CreatePlatformApplicationResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;CreatePlatformApplicationResult&gt;\n &lt;PlatformApplicationArn&gt;arn:aws:sns:us-west-2:123456789012:app/GCM/gcmpushapp&lt;/PlatformApplicationArn&gt;\n &lt;/CreatePlatformApplicationResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;b6f0e78b-e9d4-5a0e-b973-adc04e8a4ff9&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/CreatePlatformApplicationResponse&gt;\n\n </queryresponse>\n </examples> \n "
298
298
  },
299
299
  "CreatePlatformEndpoint": {
300
300
  "name": "CreatePlatformEndpoint",
@@ -317,7 +317,7 @@
317
317
  "CustomUserData": {
318
318
  "shape_name": "String",
319
319
  "type": "string",
320
- "documentation": "\n <p>Arbitrary user data to associate with the endpoint. SNS does not use this data. The data must be in UTF-8 format and less than 2KB.</p> \n "
320
+ "documentation": "\n <p>Arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.</p> \n "
321
321
  },
322
322
  "Attributes": {
323
323
  "shape_name": "MapStringToString",
@@ -399,7 +399,7 @@
399
399
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
400
400
  }
401
401
  ],
402
- "documentation": "\n <p>The <code>CreatePlatformEndpoint</code> creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. \n <code>CreatePlatformEndpoint</code> requires the PlatformApplicationArn that is returned from <code>CreatePlatformApplication</code>. The EndpointArn that is\n returned when using <code>CreatePlatformEndpoint</code> can then be used by the <code>Publish</code> action to send a message to a mobile app or by the <code>Subscribe</code> \n action for subscription to a topic. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&Action=CreatePlatformEndpoint\n&SignatureMethod=HmacSHA256\n&CustomUserData=UserId%3D27576823\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&Token=APA91bGi7fFachkC1xjlqT66VYEucGHochmf1VQAr9k...jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HZrBEXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=Rg5vXBS6OfgPtWkt1u32p1w14uiGh%2BKOicvXNWTEz2w%3D\n&Timestamp=2013-07-01T15%3A49%3A50.598Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<CreatePlatformEndpointResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <CreatePlatformEndpointResult>\n <EndpointArn>arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3</EndpointArn>\n </CreatePlatformEndpointResult>\n <ResponseMetadata>\n <RequestId>6613341d-3e15-53f7-bf3c-7e56994ba278</RequestId>\n </ResponseMetadata>\n</CreatePlatformEndpointResponse>\n\n </queryresponse>\n </examples> \n "
402
+ "documentation": "\n <p>Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. \n <code>CreatePlatformEndpoint</code> requires the PlatformApplicationArn that is returned from <code>CreatePlatformApplication</code>. The EndpointArn that is\n returned when using <code>CreatePlatformEndpoint</code> can then be used by the <code>Publish</code> action to send a message to a mobile app or by the <code>Subscribe</code> \n action for subscription to a topic. The <code>CreatePlatformEndpoint</code> action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, \n that endpoint's ARN is returned without creating a new endpoint. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <p>When using <code>CreatePlatformEndpoint</code> with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html\">Creating an Amazon SNS Endpoint for Baidu</a>. \n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&amp;Action=CreatePlatformEndpoint\n&amp;SignatureMethod=HmacSHA256\n&amp;CustomUserData=UserId%3D27576823\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;Token=APA91bGi7fFachkC1xjlqT66VYEucGHochmf1VQAr9k...jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HZrBEXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=Rg5vXBS6OfgPtWkt1u32p1w14uiGh%2BKOicvXNWTEz2w%3D\n&amp;Timestamp=2013-07-01T15%3A49%3A50.598Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;CreatePlatformEndpointResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;CreatePlatformEndpointResult&gt;\n &lt;EndpointArn&gt;arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3&lt;/EndpointArn&gt;\n &lt;/CreatePlatformEndpointResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;6613341d-3e15-53f7-bf3c-7e56994ba278&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/CreatePlatformEndpointResponse&gt;\n\n </queryresponse>\n </examples> \n "
403
403
  },
404
404
  "CreateTopic": {
405
405
  "name": "CreateTopic",
@@ -478,7 +478,7 @@
478
478
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
479
479
  }
480
480
  ],
481
- "documentation": "\n <p>The <code>CreateTopic</code> action creates a topic to which notifications can be published. Users can create\n at most 100 topics. For more information, see <a href=\"http://aws.amazon.com/sns/\">http://aws.amazon.com/sns</a>. \n This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is \n returned without creating a new topic.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?Name=My-Topic\n &Action=CreateTopic\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=gfzIF53exFVdpSNb8AiwN3Lv%2FNYXh6S%2Br3yySK70oX4%3D\n\n </queryrequest>\n <queryresponse>\n \n <CreateTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <CreateTopicResult>\n <TopicArn>arn:aws:sns:us-east-1:123456789012:My-Topic</TopicArn>\n </CreateTopicResult>\n <ResponseMetadata>\n <RequestId>a8dec8b3-33a4-11df-8963-01868b7c937a</RequestId>\n </ResponseMetadata>\n </CreateTopicResponse>\n \n </queryresponse>\n</examples>\n "
481
+ "documentation": "\n <p>Creates a topic to which notifications can be published. Users can create\n at most 3000 topics. For more information, see <a href=\"http://aws.amazon.com/sns/\">http://aws.amazon.com/sns</a>. \n This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is \n returned without creating a new topic.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?Name=My-Topic\n &amp;Action=CreateTopic\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=gfzIF53exFVdpSNb8AiwN3Lv%2FNYXh6S%2Br3yySK70oX4%3D\n\n </queryrequest>\n <queryresponse>\n \n &lt;CreateTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;CreateTopicResult&gt;\n &lt;TopicArn&gt;arn:aws:sns:us-east-1:123456789012:My-Topic&lt;/TopicArn&gt;\n &lt;/CreateTopicResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;a8dec8b3-33a4-11df-8963-01868b7c937a&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n &lt;/CreateTopicResponse&gt;\n \n </queryresponse>\n</examples>\n "
482
482
  },
483
483
  "DeleteEndpoint": {
484
484
  "name": "DeleteEndpoint",
@@ -534,7 +534,7 @@
534
534
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
535
535
  }
536
536
  ],
537
- "documentation": "\n <p>The <code>DeleteEndpoint</code> action, which is idempotent, deletes the endpoint from SNS. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p> \n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=DeleteEndpoint\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&EndpointArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aendpoint%2FGCM%2Fgcmpushapp%2F5e3e9847-3183-3f18-a7e8-671c3a57d4b3\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=LIc6GI3JbNhmHBEDmSxzZp648XPe5CMeFny%2BTQFtomQ%3D\n&Timestamp=2013-07-01T23%3A00%3A12.456Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<DeleteEndpointResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>c1d2b191-353c-5a5f-8969-fbdd3900afa8</RequestId>\n </ResponseMetadata>\n</DeleteEndpointResponse>\n\n </queryresponse>\n </examples> \n "
537
+ "documentation": "\n <p>Deletes the endpoint from Amazon SNS. This action is idempotent. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p> \n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=DeleteEndpoint\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;EndpointArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aendpoint%2FGCM%2Fgcmpushapp%2F5e3e9847-3183-3f18-a7e8-671c3a57d4b3\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=LIc6GI3JbNhmHBEDmSxzZp648XPe5CMeFny%2BTQFtomQ%3D\n&amp;Timestamp=2013-07-01T23%3A00%3A12.456Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;DeleteEndpointResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;c1d2b191-353c-5a5f-8969-fbdd3900afa8&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/DeleteEndpointResponse&gt;\n\n </queryresponse>\n </examples> \n "
538
538
  },
539
539
  "DeletePlatformApplication": {
540
540
  "name": "DeletePlatformApplication",
@@ -590,7 +590,7 @@
590
590
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
591
591
  }
592
592
  ],
593
- "documentation": "\n <p>The <code>DeletePlatformApplication</code> action deletes a platform application object for one of the supported push notification services, \n such as APNS and GCM.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&Action=DeletePlatformApplication\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=Mh7X%2BQo%2BGpcm5B1IpkovBaRiJCJOqvFlIOYzL62SGrg%3D\n&Timestamp=2013-07-01T23%3A02%3A03.872Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<DeletePlatformApplicationResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>097dac18-7a77-5823-a8dd-e65476dcb037</RequestId>\n </ResponseMetadata>\n</DeletePlatformApplicationResponse>\n\n </queryresponse>\n </examples> \n "
593
+ "documentation": "\n <p>Deletes a platform application object for one of the supported push notification services, \n such as APNS and GCM.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&amp;Action=DeletePlatformApplication\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=Mh7X%2BQo%2BGpcm5B1IpkovBaRiJCJOqvFlIOYzL62SGrg%3D\n&amp;Timestamp=2013-07-01T23%3A02%3A03.872Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;DeletePlatformApplicationResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;097dac18-7a77-5823-a8dd-e65476dcb037&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/DeletePlatformApplicationResponse&gt;\n\n </queryresponse>\n </examples> \n "
594
594
  },
595
595
  "DeleteTopic": {
596
596
  "name": "DeleteTopic",
@@ -601,7 +601,7 @@
601
601
  "TopicArn": {
602
602
  "shape_name": "topicARN",
603
603
  "type": "string",
604
- "documentation": "\n <p>The ARN of the topic you want to delete.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &Action=DeleteTopic\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=DjHBa%2BbYCKQAzctOPnLP7MbHnrHT3%2FK3kFEZjwcf9%2FU%3D\n\n </queryrequest>\n <queryresponse>\n \n<DeleteTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>fba800b9-3765-11df-8cf3-c58c53254dfb</RequestId>\n </ResponseMetadata>\n</DeleteTopicResponse>\n \n </queryresponse>\n</examples>\n ",
604
+ "documentation": "\n <p>The ARN of the topic you want to delete.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;Action=DeleteTopic\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=DjHBa%2BbYCKQAzctOPnLP7MbHnrHT3%2FK3kFEZjwcf9%2FU%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;DeleteTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;fba800b9-3765-11df-8cf3-c58c53254dfb&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/DeleteTopicResponse&gt;\n \n </queryresponse>\n</examples>\n ",
605
605
  "required": true
606
606
  }
607
607
  },
@@ -658,7 +658,7 @@
658
658
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
659
659
  }
660
660
  ],
661
- "documentation": "\n <p>The <code>DeleteTopic</code> action deletes a topic and all its subscriptions. Deleting a topic might\n prevent some messages previously sent to the topic from being delivered to\n subscribers. This action is idempotent, so deleting a topic that does not\n exist does not result in an error.</p>\n<examples>\n<queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n &TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &Action=DeleteTopic\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key Id)\n &Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D\n\n</queryrequest>\n<queryresponse>\n\n<DeleteTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>f3aa9ac9-3c3d-11df-8235-9dab105e9c32</RequestId>\n </ResponseMetadata>\n</DeleteTopicResponse>\n\n</queryresponse>\n</examples>\n "
661
+ "documentation": "\n <p>Deletes a topic and all its subscriptions. Deleting a topic might\n prevent some messages previously sent to the topic from being delivered to\n subscribers. This action is idempotent, so deleting a topic that does not\n exist does not result in an error.</p>\n<examples>\n<queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;Action=DeleteTopic\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D\n\n</queryrequest>\n<queryresponse>\n\n&lt;DeleteTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;f3aa9ac9-3c3d-11df-8235-9dab105e9c32&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/DeleteTopicResponse&gt;\n\n</queryresponse>\n</examples>\n "
662
662
  },
663
663
  "GetEndpointAttributes": {
664
664
  "name": "GetEndpointAttributes",
@@ -692,7 +692,7 @@
692
692
  "type": "string",
693
693
  "documentation": null
694
694
  },
695
- "documentation": "\n <p>Attributes include the following:</p>\n <ul>\n <!-- Policy is not yet supported. Will remove comments once it is available -->\n <li>\n<code>CustomUserData</code> -- arbitrary user data to associate with the endpoint. SNS does not use this data. The data must be in UTF-8 format and less than 2KB.</li>\n <li>\n<code>Enabled</code> -- flag that enables/disables delivery to the endpoint. \n Message Processor will set this to false when a notification service indicates to SNS that the endpoint is invalid. \n Users can set it back to true, typically after updating Token.</li>\n <!-- <li><code>Policy</code> access policy controlling who can send messages to this endpoint .</li> -->\n <li>\n<code>Token</code> -- device token, also referred to as a registration id, for an app and mobile device. \n This is returned from the notification service when an app and mobile device are registered with the notification service.</li> \n </ul> \n "
695
+ "documentation": "\n <p>Attributes include the following:</p>\n <ul>\n \n <li>\n<code>CustomUserData</code> -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.</li>\n <li>\n<code>Enabled</code> -- flag that enables/disables delivery to the endpoint. \n Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. \n Users can set it back to true, typically after updating Token.</li>\n \n <li>\n<code>Token</code> -- device token, also referred to as a registration id, for an app and mobile device. \n This is returned from the notification service when an app and mobile device are registered with the notification service.</li> \n </ul> \n "
696
696
  }
697
697
  },
698
698
  "documentation": "\n <p>Response from GetEndpointAttributes of the EndpointArn.</p> \n "
@@ -747,7 +747,7 @@
747
747
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
748
748
  }
749
749
  ],
750
- "documentation": "\n <p>The <code>GetEndpointAttributes</code> retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=GetEndpointAttributes\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&EndpointArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aendpoint%2FGCM%2Fgcmpushapp%2F5e3e9847-3183-3f18-a7e8-671c3a57d4b3\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=%2B2egbEoT4npw3p5H3wiIdzZBoTn4KI3UWmMFyBsHH9c%3D\n&Timestamp=2013-07-01T22%3A44%3A56.515Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<GetEndpointAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <GetEndpointAttributesResult>\n <Attributes>\n <entry>\n <key>Enabled</key>\n <value>true</value>\n </entry>\n <entry>\n <key>CustomUserData</key>\n <value>UserId=01234567</value>\n </entry>\n <entry>\n <key>Token</key>\n <value>APA91bGi7fFachkC1xjlqT66VYEucGHochmf1VQAr9k...jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HZrBEXAMPLE</value>\n </entry>\n </Attributes>\n </GetEndpointAttributesResult>\n <ResponseMetadata>\n <RequestId>6c725a19-a142-5b77-94f9-1055a9ea04e7</RequestId>\n </ResponseMetadata>\n</GetEndpointAttributesResponse>\n\n </queryresponse>\n </examples> \n "
750
+ "documentation": "\n <p>Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=GetEndpointAttributes\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;EndpointArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aendpoint%2FGCM%2Fgcmpushapp%2F5e3e9847-3183-3f18-a7e8-671c3a57d4b3\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=%2B2egbEoT4npw3p5H3wiIdzZBoTn4KI3UWmMFyBsHH9c%3D\n&amp;Timestamp=2013-07-01T22%3A44%3A56.515Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;GetEndpointAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;GetEndpointAttributesResult&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;Enabled&lt;/key&gt;\n &lt;value&gt;true&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;CustomUserData&lt;/key&gt;\n &lt;value&gt;UserId=01234567&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;Token&lt;/key&gt;\n &lt;value&gt;APA91bGi7fFachkC1xjlqT66VYEucGHochmf1VQAr9k...jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HZrBEXAMPLE&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/GetEndpointAttributesResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;6c725a19-a142-5b77-94f9-1055a9ea04e7&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/GetEndpointAttributesResponse&gt;\n\n </queryresponse>\n </examples> \n "
751
751
  },
752
752
  "GetPlatformApplicationAttributes": {
753
753
  "name": "GetPlatformApplicationAttributes",
@@ -781,7 +781,7 @@
781
781
  "type": "string",
782
782
  "documentation": null
783
783
  },
784
- "documentation": "\n <p>Attributes include the following:</p>\n <ul> \n <!-- AllowEndpointPolicies, EventDeliveryAttemptFailure, and Policy are not yet supported. Will remove comments once it is available -->\n <!-- <li><code>AllowEndpointPolicies</code> true or false (default false) - If true, then policies on endpoints will be evaluated to determine if the topic or user has the rights to send messages to it. \n If false, the endpoint policy will be ignored and only the mobile app policy will be considered.</li> -->\n <li>\n<code>EventEndpointCreated</code> -- Topic ARN to which EndpointCreated event notifications should be sent.</li>\n <li>\n<code>EventEndpointDeleted</code> -- Topic ARN to which EndpointDeleted event notifications should be sent.</li>\n <li>\n<code>EventEndpointUpdated</code> -- Topic ARN to which EndpointUpdate event notifications should be sent.</li>\n <!-- <li><code>EventDeliveryAttemptFailure</code> Topic ARN to which DeliveryAttemptFailure event notifications should be sent upon Direct Publish delivery attempt failures to one of the application's endpoints.</li> -->\n <li>\n<code>EventDeliveryFailure</code> -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.</li>\n <!-- <li><code>Policy</code> Access policy controlling who can send messages to endpoints under this mobile app.</li> -->\n </ul>\n "
784
+ "documentation": "\n <p>Attributes include the following:</p>\n <ul> \n \n \n <li>\n<code>EventEndpointCreated</code> -- Topic ARN to which EndpointCreated event notifications should be sent.</li>\n <li>\n<code>EventEndpointDeleted</code> -- Topic ARN to which EndpointDeleted event notifications should be sent.</li>\n <li>\n<code>EventEndpointUpdated</code> -- Topic ARN to which EndpointUpdate event notifications should be sent.</li>\n \n <li>\n<code>EventDeliveryFailure</code> -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.</li>\n \n </ul>\n "
785
785
  }
786
786
  },
787
787
  "documentation": "\n <p>Response for GetPlatformApplicationAttributes action.</p> \n "
@@ -836,7 +836,7 @@
836
836
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
837
837
  }
838
838
  ],
839
- "documentation": "\n <p>The <code>GetPlatformApplicationAttributes</code> action retrieves the attributes of the platform application object for the supported push notification services, \n such as APNS and GCM.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&Action=GetPlatformApplicationAttributes\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=UGMaCq8CCJGSYXO9Ehr2VuHIBYSe6WbxkqgMKRslTK4%3D\n&Timestamp=2013-07-01T22%3A40%3A50.643Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<GetPlatformApplicationAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <GetPlatformApplicationAttributesResult>\n <Attributes>\n <entry>\n <key>AllowEndpointPolicies</key>\n <value>false</value>\n </entry>\n </Attributes>\n </GetPlatformApplicationAttributesResult>\n <ResponseMetadata>\n <RequestId>74848df2-87f6-55ed-890c-c7be80442462</RequestId>\n </ResponseMetadata>\n</GetPlatformApplicationAttributesResponse>\n\n </queryresponse>\n </examples> \n "
839
+ "documentation": "\n <p>Retrieves the attributes of the platform application object for the supported push notification services, \n such as APNS and GCM.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&amp;Action=GetPlatformApplicationAttributes\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=UGMaCq8CCJGSYXO9Ehr2VuHIBYSe6WbxkqgMKRslTK4%3D\n&amp;Timestamp=2013-07-01T22%3A40%3A50.643Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;GetPlatformApplicationAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;GetPlatformApplicationAttributesResult&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;AllowEndpointPolicies&lt;/key&gt;\n &lt;value&gt;false&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/GetPlatformApplicationAttributesResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;74848df2-87f6-55ed-890c-c7be80442462&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/GetPlatformApplicationAttributesResponse&gt;\n\n </queryresponse>\n </examples> \n "
840
840
  },
841
841
  "GetSubscriptionAttributes": {
842
842
  "name": "GetSubscriptionAttributes",
@@ -925,7 +925,7 @@
925
925
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
926
926
  }
927
927
  ],
928
- "documentation": "\n <p>The <code>GetSubscriptionAttribtues</code> action returns all of the properties of a subscription.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca\n &Action=GetSubscriptionAttributes\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key Id)\n &Signature=92lBGRVq0%2BxhaACaBGqtdemy%2Bi9isfgyTljCbJM80Yk%3D\n\n </queryrequest>\n <queryresponse>\n \n<GetSubscriptionAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <GetSubscriptionAttributesResult>\n <Attributes>\n <entry>\n <key>Owner</key>\n <value>123456789012</value>\n </entry>\n <entry>\n <key>DeliveryPolicy</key>\n <value>{&quot;healthyRetryPolicy&quot;:{&quot;numRetries&quot;:10}}</value>\n </entry>\n <entry>\n <key>SubscriptionArn</key>\n <value>arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca</value>\n </entry>\n </Attributes>\n </GetSubscriptionAttributesResult>\n <ResponseMetadata>\n <RequestId>057f074c-33a7-11df-9540-99d0768312d3</RequestId>\n </ResponseMetadata>\n</GetTopicAttributesResponse>\n \n </queryresponse>\n</examples>\n "
928
+ "documentation": "\n <p>Returns all of the properties of a subscription.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca\n &amp;Action=GetSubscriptionAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=92lBGRVq0%2BxhaACaBGqtdemy%2Bi9isfgyTljCbJM80Yk%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;GetSubscriptionAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;GetSubscriptionAttributesResult&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;Owner&lt;/key&gt;\n &lt;value&gt;123456789012&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;DeliveryPolicy&lt;/key&gt;\n &lt;value&gt;{&amp;quot;healthyRetryPolicy&amp;quot;:{&amp;quot;numRetries&amp;quot;:10}}&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;SubscriptionArn&lt;/key&gt;\n &lt;value&gt;arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/GetSubscriptionAttributesResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;057f074c-33a7-11df-9540-99d0768312d3&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/GetTopicAttributesResponse&gt;\n \n </queryresponse>\n</examples>\n "
929
929
  },
930
930
  "GetTopicAttributes": {
931
931
  "name": "GetTopicAttributes",
@@ -1014,7 +1014,7 @@
1014
1014
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1015
1015
  }
1016
1016
  ],
1017
- "documentation": "\n <p>The <code>GetTopicAttributes</code> action returns all of the properties of a topic. \n Topic properties returned might differ based on the authorization of the user. </p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &Action=GetTopicAttributes\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key Id)\n &Signature=92lBGRVq0%2BxhaACaBGqtdemy%2Bi9isfgyTljCbJM80Yk%3D\n\n </queryrequest>\n <queryresponse>\n \n<GetTopicAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <GetTopicAttributesResult>\n <Attributes>\n <entry>\n <key>Owner</key>\n <value>123456789012</value>\n </entry>\n <entry>\n <key>Policy</key>\n <value>{\n&quot;Version&quot;:&quot;2008-10-17&quot;,&quot;Id&quot;:&quot;us-east-1/698519295917/test__default_policy_ID&quot;,&quot;Statement&quot; : [{&quot;Effect&quot;:&quot;Allow&quot;,&quot;Sid&quot;:&quot;us-east-1/698519295917/test__default_statement_ID&quot;,&quot;Principal&quot; : {&quot;AWS&quot;: &quot;*&quot;},&quot;Action&quot;:[&quot;SNS:GetTopicAttributes&quot;,&quot;SNS:SetTopicAttributes&quot;,&quot;SNS:AddPermission&quot;,&quot;SNS:RemovePermission&quot;,&quot;SNS:DeleteTopic&quot;,&quot;SNS:Subscribe&quot;,&quot;SNS:ListSubscriptionsByTopic&quot;,&quot;SNS:Publish&quot;,&quot;SNS:Receive&quot;],&quot;Resource&quot;:&quot;arn:aws:sns:us-east-1:698519295917:test&quot;,&quot;Condition&quot; : {&quot;StringLike&quot; : {&quot;AWS:SourceArn&quot;: &quot;arn:aws:*:*:698519295917:*&quot;}}}]}</value>\n </entry>\n <entry>\n <key>TopicArn</key>\n <value>arn:aws:sns:us-east-1:123456789012:My-Topic</value>\n </entry>\n </Attributes>\n </GetTopicAttributesResult>\n <ResponseMetadata>\n <RequestId>057f074c-33a7-11df-9540-99d0768312d3</RequestId>\n </ResponseMetadata>\n</GetTopicAttributesResponse>\n \n </queryresponse>\n</examples>\n "
1017
+ "documentation": "\n <p>Returns all of the properties of a topic. \n Topic properties returned might differ based on the authorization of the user. </p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;Action=GetTopicAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=92lBGRVq0%2BxhaACaBGqtdemy%2Bi9isfgyTljCbJM80Yk%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;GetTopicAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;GetTopicAttributesResult&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;Owner&lt;/key&gt;\n &lt;value&gt;123456789012&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;Policy&lt;/key&gt;\n &lt;value&gt;{\n&amp;quot;Version&amp;quot;:&amp;quot;2008-10-17&amp;quot;,&amp;quot;Id&amp;quot;:&amp;quot;us-east-1/698519295917/test__default_policy_ID&amp;quot;,&amp;quot;Statement&amp;quot; : [{&amp;quot;Effect&amp;quot;:&amp;quot;Allow&amp;quot;,&amp;quot;Sid&amp;quot;:&amp;quot;us-east-1/698519295917/test__default_statement_ID&amp;quot;,&amp;quot;Principal&amp;quot; : {&amp;quot;AWS&amp;quot;: &amp;quot;*&amp;quot;},&amp;quot;Action&amp;quot;:[&amp;quot;SNS:GetTopicAttributes&amp;quot;,&amp;quot;SNS:SetTopicAttributes&amp;quot;,&amp;quot;SNS:AddPermission&amp;quot;,&amp;quot;SNS:RemovePermission&amp;quot;,&amp;quot;SNS:DeleteTopic&amp;quot;,&amp;quot;SNS:Subscribe&amp;quot;,&amp;quot;SNS:ListSubscriptionsByTopic&amp;quot;,&amp;quot;SNS:Publish&amp;quot;,&amp;quot;SNS:Receive&amp;quot;],&amp;quot;Resource&amp;quot;:&amp;quot;arn:aws:sns:us-east-1:698519295917:test&amp;quot;,&amp;quot;Condition&amp;quot; : {&amp;quot;StringLike&amp;quot; : {&amp;quot;AWS:SourceArn&amp;quot;: &amp;quot;arn:aws:*:*:698519295917:*&amp;quot;}}}]}&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;TopicArn&lt;/key&gt;\n &lt;value&gt;arn:aws:sns:us-east-1:123456789012:My-Topic&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/GetTopicAttributesResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;057f074c-33a7-11df-9540-99d0768312d3&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/GetTopicAttributesResponse&gt;\n \n </queryresponse>\n</examples>\n "
1018
1018
  },
1019
1019
  "ListEndpointsByPlatformApplication": {
1020
1020
  "name": "ListEndpointsByPlatformApplication",
@@ -1130,7 +1130,7 @@
1130
1130
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
1131
1131
  }
1132
1132
  ],
1133
- "documentation": "\n <p>The <code>ListEndpointsByPlatformApplication</code> action lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. \n The results for <code>ListEndpointsByPlatformApplication</code> are paginated and return a limited list of endpoints, up to 100.\n If additional records are available after the first page results, then a NextToken string will be returned. \n To receive the next page, you call <code>ListEndpointsByPlatformApplication</code> again using the NextToken string received from the previous call. \n When there are no more records to return, NextToken will be null.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&Action=ListEndpointsByPlatformApplication\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=e6H4sJSCRBBlh%2BaigB%2FtYgp4%2Bjl7dikAQ6WKf%2BMTwNM%3D\n&Timestamp=2013-07-01T23%3A00%3A52.515Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<ListEndpointsByPlatformApplicationResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ListEndpointsByPlatformApplicationResult>\n <Endpoints>\n <member>\n <EndpointArn>arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3</EndpointArn>\n <Attributes>\n <entry>\n <key>Enabled</key>\n <value>true</value>\n </entry>\n <entry>\n <key>CustomUserData</key>\n <value>UserId=27576823</value>\n </entry>\n <entry>\n <key>Token</key>\n <value>APA91bGi7fFachkC1xjlqT66VYEucGHochmf1VQAr9k...jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HZrBEXAMPLE</value>\n </entry>\n </Attributes>\n </member>\n </Endpoints>\n </ListEndpointsByPlatformApplicationResult>\n <ResponseMetadata>\n <RequestId>9a48768c-dac8-5a60-aec0-3cc27ea08d96</RequestId>\n </ResponseMetadata>\n</ListEndpointsByPlatformApplicationResponse>\n\n </queryresponse>\n </examples>\n \n "
1133
+ "documentation": "\n <p>Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. \n The results for <code>ListEndpointsByPlatformApplication</code> are paginated and return a limited list of endpoints, up to 100.\n If additional records are available after the first page results, then a NextToken string will be returned. \n To receive the next page, you call <code>ListEndpointsByPlatformApplication</code> again using the NextToken string received from the previous call. \n When there are no more records to return, NextToken will be null.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nPlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&amp;Action=ListEndpointsByPlatformApplication\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=e6H4sJSCRBBlh%2BaigB%2FtYgp4%2Bjl7dikAQ6WKf%2BMTwNM%3D\n&amp;Timestamp=2013-07-01T23%3A00%3A52.515Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;ListEndpointsByPlatformApplicationResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ListEndpointsByPlatformApplicationResult&gt;\n &lt;Endpoints&gt;\n &lt;member&gt;\n &lt;EndpointArn&gt;arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3&lt;/EndpointArn&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;Enabled&lt;/key&gt;\n &lt;value&gt;true&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;CustomUserData&lt;/key&gt;\n &lt;value&gt;UserId=27576823&lt;/value&gt;\n &lt;/entry&gt;\n &lt;entry&gt;\n &lt;key&gt;Token&lt;/key&gt;\n &lt;value&gt;APA91bGi7fFachkC1xjlqT66VYEucGHochmf1VQAr9k...jsM0PKPxKhddCzx6paEsyay9Zn3D4wNUJb8m6HZrBEXAMPLE&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/member&gt;\n &lt;/Endpoints&gt;\n &lt;/ListEndpointsByPlatformApplicationResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;9a48768c-dac8-5a60-aec0-3cc27ea08d96&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/ListEndpointsByPlatformApplicationResponse&gt;\n\n </queryresponse>\n </examples>\n \n "
1134
1134
  },
1135
1135
  "ListPlatformApplications": {
1136
1136
  "name": "ListPlatformApplications",
@@ -1228,7 +1228,7 @@
1228
1228
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1229
1229
  }
1230
1230
  ],
1231
- "documentation": "\n <p>The <code>ListPlatformApplications</code> action lists the platform application objects for the supported push notification services, \n such as APNS and GCM. The results for <code>ListPlatformApplications</code> are paginated and return a limited list of applications, up to 100.\n If additional records are available after the first page results, then a NextToken string will be returned. \n To receive the next page, you call <code>ListPlatformApplications</code> using the NextToken string received from the previous call. \n When there are no more records to return, NextToken will be null.\n \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=ListPlatformApplications\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=drVbTuyR5N9e88WJMNPzBOjNFNvawkCaMfZI0xa9kIQ%3D\n&Timestamp=2013-07-01T22%3A33%3A55.618Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<ListPlatformApplicationsResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ListPlatformApplicationsResult>\n <PlatformApplications>\n <member>\n <PlatformApplicationArn>arn:aws:sns:us-west-2:123456789012:app/APNS_SANDBOX/apnspushapp</PlatformApplicationArn>\n <Attributes>\n <entry>\n <key>AllowEndpointPolicies</key>\n <value>false</value>\n </entry>\n </Attributes>\n </member>\n <member>\n <PlatformApplicationArn>arn:aws:sns:us-west-2:123456789012:app/GCM/gcmpushapp</PlatformApplicationArn>\n <Attributes>\n <entry>\n <key>AllowEndpointPolicies</key>\n <value>false</value>\n </entry>\n </Attributes>\n </member>\n </PlatformApplications>\n </ListPlatformApplicationsResult>\n <ResponseMetadata>\n <RequestId>315a335e-85d8-52df-9349-791283cbb529</RequestId>\n </ResponseMetadata>\n</ListPlatformApplicationsResponse>\n\n </queryresponse>\n </examples> \n "
1231
+ "documentation": "\n <p>Lists the platform application objects for the supported push notification services, \n such as APNS and GCM. The results for <code>ListPlatformApplications</code> are paginated and return a limited list of applications, up to 100.\n If additional records are available after the first page results, then a NextToken string will be returned. \n To receive the next page, you call <code>ListPlatformApplications</code> using the NextToken string received from the previous call. \n When there are no more records to return, NextToken will be null.\n \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=ListPlatformApplications\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=drVbTuyR5N9e88WJMNPzBOjNFNvawkCaMfZI0xa9kIQ%3D\n&amp;Timestamp=2013-07-01T22%3A33%3A55.618Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;ListPlatformApplicationsResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ListPlatformApplicationsResult&gt;\n &lt;PlatformApplications&gt;\n &lt;member&gt;\n &lt;PlatformApplicationArn&gt;arn:aws:sns:us-west-2:123456789012:app/APNS_SANDBOX/apnspushapp&lt;/PlatformApplicationArn&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;AllowEndpointPolicies&lt;/key&gt;\n &lt;value&gt;false&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/member&gt;\n &lt;member&gt;\n &lt;PlatformApplicationArn&gt;arn:aws:sns:us-west-2:123456789012:app/GCM/gcmpushapp&lt;/PlatformApplicationArn&gt;\n &lt;Attributes&gt;\n &lt;entry&gt;\n &lt;key&gt;AllowEndpointPolicies&lt;/key&gt;\n &lt;value&gt;false&lt;/value&gt;\n &lt;/entry&gt;\n &lt;/Attributes&gt;\n &lt;/member&gt;\n &lt;/PlatformApplications&gt;\n &lt;/ListPlatformApplicationsResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;315a335e-85d8-52df-9349-791283cbb529&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/ListPlatformApplicationsResponse&gt;\n\n </queryresponse>\n </examples> \n "
1232
1232
  },
1233
1233
  "ListSubscriptions": {
1234
1234
  "name": "ListSubscriptions",
@@ -1281,7 +1281,7 @@
1281
1281
  "documentation": "\n <p>The ARN of the subscription's topic.</p>\n "
1282
1282
  }
1283
1283
  },
1284
- "documentation": "<p>A wrapper type for the attributes of an SNS subscription.</p>"
1284
+ "documentation": "<p>A wrapper type for the attributes of an Amazon SNS subscription.</p>"
1285
1285
  },
1286
1286
  "documentation": "\n <p>A list of subscriptions.</p>\n "
1287
1287
  },
@@ -1291,7 +1291,7 @@
1291
1291
  "documentation": "\n <p>Token to pass along to the next <code>ListSubscriptions</code> request. This element is returned if there are more subscriptions to retrieve.</p>\n "
1292
1292
  }
1293
1293
  },
1294
- "documentation": null
1294
+ "documentation": "\n <p>Response for ListSubscriptions action</p>\n "
1295
1295
  },
1296
1296
  "errors": [
1297
1297
  {
@@ -1331,7 +1331,7 @@
1331
1331
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1332
1332
  }
1333
1333
  ],
1334
- "documentation": "\n <p>The <code>ListSubscriptions</code> action returns a list of the requester's subscriptions. Each call returns a limited list\n of subscriptions, up to 100. If there are more subscriptions, a <code>NextToken</code> is also returned. Use the <code>NextToken</code> parameter in a \n new <code>ListSubscriptions</code> call to get further results.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n &Action=ListSubscriptions\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=SZmBxEPqfs9R7xxhSt6C1b7PnOEvg%2BSVyyMYJfLRFCA%3D\n\n </queryrequest>\n <queryresponse>\n \n<ListSubscriptionsResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ListSubscriptionsResult>\n <Subscriptions>\n <member>\n <TopicArn>arn:aws:sns:us-east-1:698519295917:My-Topic</TopicArn>\n <Protocol>email</Protocol>\n <SubscriptionArn>arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca</SubscriptionArn>\n <Owner>123456789012</Owner>\n <Endpoint>example@amazon.com</Endpoint>\n </member>\n </Subscriptions>\n </ListSubscriptionsResult>\n <ResponseMetadata>\n <RequestId>384ac68d-3775-11df-8963-01868b7c937a</RequestId>\n </ResponseMetadata>\n</ListSubscriptionsResponse>\n \n </queryresponse>\n</examples>\n "
1334
+ "documentation": "\n <p>Returns a list of the requester's subscriptions. Each call returns a limited list\n of subscriptions, up to 100. If there are more subscriptions, a <code>NextToken</code> is also returned. Use the <code>NextToken</code> parameter in a \n new <code>ListSubscriptions</code> call to get further results.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n &amp;Action=ListSubscriptions\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=SZmBxEPqfs9R7xxhSt6C1b7PnOEvg%2BSVyyMYJfLRFCA%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;ListSubscriptionsResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ListSubscriptionsResult&gt;\n &lt;Subscriptions&gt;\n &lt;member&gt;\n &lt;TopicArn&gt;arn:aws:sns:us-east-1:698519295917:My-Topic&lt;/TopicArn&gt;\n &lt;Protocol&gt;email&lt;/Protocol&gt;\n &lt;SubscriptionArn&gt;arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca&lt;/SubscriptionArn&gt;\n &lt;Owner&gt;123456789012&lt;/Owner&gt;\n &lt;Endpoint&gt;example@amazon.com&lt;/Endpoint&gt;\n &lt;/member&gt;\n &lt;/Subscriptions&gt;\n &lt;/ListSubscriptionsResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;384ac68d-3775-11df-8963-01868b7c937a&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/ListSubscriptionsResponse&gt;\n \n </queryresponse>\n</examples>\n "
1335
1335
  },
1336
1336
  "ListSubscriptionsByTopic": {
1337
1337
  "name": "ListSubscriptionsByTopic",
@@ -1390,7 +1390,7 @@
1390
1390
  "documentation": "\n <p>The ARN of the subscription's topic.</p>\n "
1391
1391
  }
1392
1392
  },
1393
- "documentation": "<p>A wrapper type for the attributes of an SNS subscription.</p>"
1393
+ "documentation": "<p>A wrapper type for the attributes of an Amazon SNS subscription.</p>"
1394
1394
  },
1395
1395
  "documentation": "\n <p>A list of subscriptions.</p>\n "
1396
1396
  },
@@ -1452,7 +1452,7 @@
1452
1452
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1453
1453
  }
1454
1454
  ],
1455
- "documentation": "\n <p>The <code>ListSubscriptionsByTopic</code> action returns a list of the subscriptions to a specific topic. Each call returns \n a limited list of subscriptions, up to 100. If there are more subscriptions, a <code>NextToken</code> is also returned. Use the <code>NextToken</code> \n parameter in a new <code>ListSubscriptionsByTopic</code> call to get further results.</p>\n <examples>\n <queryrequest>\n \n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &Action=ListSubscriptionsByTopic\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=SZmBxEPqfs9R7xxhSt6C1b7PnOEvg%2BSVyyMYJfLRFCA%3D\n\n </queryrequest>\n <queryresponse>\n \n<ListSubscriptionsByTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ListSubscriptionsByTopicResult>\n <Subscriptions>\n <member>\n <TopicArn>arn:aws:sns:us-east-1:123456789012:My-Topic</TopicArn>\n <Protocol>email</Protocol>\n <SubscriptionArn>arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca</SubscriptionArn>\n <Owner>123456789012</Owner>\n <Endpoint>example@amazon.com</Endpoint>\n </member>\n </Subscriptions>\n </ListSubscriptionsByTopicResult>\n <ResponseMetadata>\n <RequestId>b9275252-3774-11df-9540-99d0768312d3</RequestId>\n </ResponseMetadata>\n</ListSubscriptionsByTopicResponse>\n \n </queryresponse>\n </examples>\n "
1455
+ "documentation": "\n <p>Returns a list of the subscriptions to a specific topic. Each call returns \n a limited list of subscriptions, up to 100. If there are more subscriptions, a <code>NextToken</code> is also returned. Use the <code>NextToken</code> \n parameter in a new <code>ListSubscriptionsByTopic</code> call to get further results.</p>\n <examples>\n <queryrequest>\n \n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;Action=ListSubscriptionsByTopic\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=SZmBxEPqfs9R7xxhSt6C1b7PnOEvg%2BSVyyMYJfLRFCA%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;ListSubscriptionsByTopicResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ListSubscriptionsByTopicResult&gt;\n &lt;Subscriptions&gt;\n &lt;member&gt;\n &lt;TopicArn&gt;arn:aws:sns:us-east-1:123456789012:My-Topic&lt;/TopicArn&gt;\n &lt;Protocol&gt;email&lt;/Protocol&gt;\n &lt;SubscriptionArn&gt;arn:aws:sns:us-east-1:123456789012:My-Topic:80289ba6-0fd4-4079-afb4-ce8c8260f0ca&lt;/SubscriptionArn&gt;\n &lt;Owner&gt;123456789012&lt;/Owner&gt;\n &lt;Endpoint&gt;example@amazon.com&lt;/Endpoint&gt;\n &lt;/member&gt;\n &lt;/Subscriptions&gt;\n &lt;/ListSubscriptionsByTopicResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;b9275252-3774-11df-9540-99d0768312d3&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/ListSubscriptionsByTopicResponse&gt;\n \n </queryresponse>\n </examples>\n "
1456
1456
  },
1457
1457
  "ListTopics": {
1458
1458
  "name": "ListTopics",
@@ -1535,7 +1535,7 @@
1535
1535
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1536
1536
  }
1537
1537
  ],
1538
- "documentation": "\n <p>The <code>ListTopics</code> action returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If\n there are more topics, a <code>NextToken</code> is also returned. Use the <code>NextToken</code> parameter in a new <code>ListTopics</code> call to get \n further results.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?Action=ListTopics\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=tPg1qKNTNVPydnL3Yx5Fqm2O9GxCr9vh3EF5r9%2F5%2BJs%3D\n\n </queryrequest>\n <queryresponse>\n \n<ListTopicsResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ListTopicsResult>\n <Topics>\n <member>\n <TopicArn>arn:aws:sns:us-east-1:123456789012:My-Topic</TopicArn>\n </member>\n </Topics>\n </ListTopicsResult>\n <ResponseMetadata>\n <RequestId>3f1478c7-33a9-11df-9540-99d0768312d3</RequestId>\n </ResponseMetadata>\n</ListTopicsResponse>\n \n </queryresponse>\n</examples>\n "
1538
+ "documentation": "\n <p>Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If\n there are more topics, a <code>NextToken</code> is also returned. Use the <code>NextToken</code> parameter in a new <code>ListTopics</code> call to get \n further results.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?Action=ListTopics\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=tPg1qKNTNVPydnL3Yx5Fqm2O9GxCr9vh3EF5r9%2F5%2BJs%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;ListTopicsResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ListTopicsResult&gt;\n &lt;Topics&gt;\n &lt;member&gt;\n &lt;TopicArn&gt;arn:aws:sns:us-east-1:123456789012:My-Topic&lt;/TopicArn&gt;\n &lt;/member&gt;\n &lt;/Topics&gt;\n &lt;/ListTopicsResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;3f1478c7-33a9-11df-9540-99d0768312d3&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/ListTopicsResponse&gt;\n \n </queryresponse>\n</examples>\n "
1539
1539
  },
1540
1540
  "Publish": {
1541
1541
  "name": "Publish",
@@ -1568,6 +1568,41 @@
1568
1568
  "shape_name": "messageStructure",
1569
1569
  "type": "string",
1570
1570
  "documentation": "\n <p>Set <code>MessageStructure</code> to <code>json</code> if you want to send\n a different message for each protocol. For example, using one publish action,\n you can send a short message to your SMS subscribers and a longer message to\n your email subscribers.\n If you set <code>MessageStructure</code> to <code>json</code>, the value of \n the <code>Message</code> parameter must:\n </p>\n <ul>\n <li>be a syntactically valid JSON object; and</li>\n <li>contain at least a top-level JSON key of \"default\" with a value that is a string.</li>\n </ul>\n <p> You can define other top-level keys that define the message you want to send\n to a specific transport protocol (e.g., \"http\"). </p>\n <p>For information about sending different messages for each protocol using\n the AWS Management Console, go to <a href=\"http://docs.aws.amazon.com/sns/latest/gsg/Publish.html#sns-message-formatting-by-protocol\">Create \n Different Messages for Each Protocol</a> in the <i>Amazon Simple Notification Service\n Getting Started Guide</i>.\n </p>\n\n <p>Valid value: <code>json</code></p>\n "
1571
+ },
1572
+ "MessageAttributes": {
1573
+ "shape_name": "MessageAttributeMap",
1574
+ "type": "map",
1575
+ "keys": {
1576
+ "shape_name": "String",
1577
+ "type": "string",
1578
+ "documentation": null,
1579
+ "xmlname": "Name"
1580
+ },
1581
+ "members": {
1582
+ "shape_name": "MessageAttributeValue",
1583
+ "type": "structure",
1584
+ "members": {
1585
+ "DataType": {
1586
+ "shape_name": "String",
1587
+ "type": "string",
1588
+ "documentation": "\n <p>Amazon SNS supports the following logical data types: String, Number, and Binary. For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html#SNSMessageAttributes.DataTypes\">Message Attribute Data Types</a>.</p>\n ",
1589
+ "required": true
1590
+ },
1591
+ "StringValue": {
1592
+ "shape_name": "String",
1593
+ "type": "string",
1594
+ "documentation": "\n <p>Strings are Unicode with UTF8 binary encoding. \n For a list of code values, see <a href=\"http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters\">http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters</a>.</p>\n "
1595
+ },
1596
+ "BinaryValue": {
1597
+ "shape_name": "Binary",
1598
+ "type": "blob",
1599
+ "documentation": "\n <p>Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.</p>\n "
1600
+ }
1601
+ },
1602
+ "documentation": "\n <p>The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. \n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/api/API_Publish.html\">Publish</a>.</p> \n <p>Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. \n All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes).\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html\">Using Amazon SNS Message Attributes</a>.</p>\n ",
1603
+ "xmlname": "Value"
1604
+ },
1605
+ "documentation": "\n <p>Message attributes for Publish action.</p>\n "
1571
1606
  }
1572
1607
  },
1573
1608
  "documentation": "\n <p>Input for Publish action.</p>\n "
@@ -1597,6 +1632,18 @@
1597
1632
  },
1598
1633
  "documentation": "\n <p>Indicates that a request parameter does not comply with the associated constraints.</p>\n "
1599
1634
  },
1635
+ {
1636
+ "shape_name": "InvalidParameterValueException",
1637
+ "type": "structure",
1638
+ "members": {
1639
+ "message": {
1640
+ "shape_name": "string",
1641
+ "type": "string",
1642
+ "documentation": " \n "
1643
+ }
1644
+ },
1645
+ "documentation": "\n <p>Indicates that a request parameter does not comply with the associated constraints.</p>\n "
1646
+ },
1600
1647
  {
1601
1648
  "shape_name": "InternalErrorException",
1602
1649
  "type": "structure",
@@ -1658,7 +1705,7 @@
1658
1705
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1659
1706
  }
1660
1707
  ],
1661
- "documentation": "\n <p>The <code>Publish</code> action sends a message to all of a topic's subscribed endpoints. When a\n <code>messageId</code> is returned, the message has been saved and Amazon SNS will attempt to deliver it \n to the topic's subscribers shortly. The format of the outgoing message to each\n subscribed endpoint depends on the notification protocol selected.</p>\n <p>To use the <code>Publish</code> action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, \n you must specify the EndpointArn. The EndpointArn is returned when making a call with the <code>CreatePlatformEndpoint</code> action. \n The second example below shows a request and response for publishing to a mobile endpoint.\n </p>\n <examples>\n <queryrequest>\n \n The following example publishes the same message to all protocols:\n \n http://sns.us-east-1.amazonaws.com/\n ?Subject=My%20first%20message\n &TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A698519295917%3AMy-Topic\n &Message=Hello%20world%21\n &Action=Publish\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n &Signature=9GZysQ4Jpnz%2BHklqM7VFTvEcjR2LIUtn6jW47054xxE%3D\n \n Use the following JSON object format for the Message parameter to send different messages to each protocol (linebreaks added for readability):\n {\n \"default\" : \"some message\",\n \"email\" : \"some email message\",\n \"email-json\" : \"some email-json message\",\n \"http\" : \"some http message\",\n \"https\" : \"some https message\",\n \"sqs\" : \"some sqs message\"\n }\n \n\n </queryrequest>\n <queryresponse>\n \n<PublishResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <PublishResult>\n <MessageId>94f20ce6-13c5-43a0-9a9e-ca52d816e90b</MessageId>\n </PublishResult>\n <ResponseMetadata>\n <RequestId>f187a3c1-376f-11df-8963-01868b7c937a</RequestId>\n </ResponseMetadata>\n</PublishResponse>\n \n </queryresponse>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=Publish\n&Message=%7B%22default%22%3A%22This+is+the+default+Message%22%2C%22APNS_SANDBOX%22%3A%22%7B+%5C%22aps%5C%22+%3A+%7B+%5C%22alert%5C%22+%3A+%5C%22You+have+got+email.%5C%22%2C+%5C%22badge%5C%22+%3A+9%2C%5C%22sound%5C%22+%3A%5C%22default%5C%22%7D%7D%22%7D\n&TargetArn=arn%3Aaws%3Asns%3Aus-west-2%3A803981987763%3Aendpoint%2FAPNS_SANDBOX%2Fpushapp%2F98e9ced9-f136-3893-9d60-776547eafebb\n&SignatureMethod=HmacSHA256\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=vmqc4XRupKAxsDAdN4j4Ayw5LQljXMps3kss4bkDfCk%3D\n&Timestamp=2013-07-18T22%3A44%3A09.452Z\n&MessageStructure=json\n \n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<PublishResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <PublishResult>\n <MessageId>567910cd-659e-55d4-8ccb-5aaf14679dc0</MessageId>\n </PublishResult>\n <ResponseMetadata>\n <RequestId>d74b8436-ae13-5ab4-a9ff-ce54dfea72a0</RequestId>\n </ResponseMetadata>\n</PublishResponse>\n \n </queryresponse>\n </examples>\n "
1708
+ "documentation": "\n <p>Sends a message to all of a topic's subscribed endpoints. When a\n <code>messageId</code> is returned, the message has been saved and Amazon SNS will attempt to deliver it \n to the topic's subscribers shortly. The format of the outgoing message to each\n subscribed endpoint depends on the notification protocol selected.</p>\n <p>To use the <code>Publish</code> action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, \n you must specify the EndpointArn. The EndpointArn is returned when making a call with the <code>CreatePlatformEndpoint</code> action. \n The second example below shows a request and response for publishing to a mobile endpoint.\n </p>\n <examples>\n <queryrequest>\n \n The following example publishes the same message to all protocols:\n \n http://sns.us-east-1.amazonaws.com/\n ?Subject=My%20first%20message\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A698519295917%3AMy-Topic\n &amp;Message=Hello%20world%21\n &amp;Action=Publish\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n &amp;Signature=9GZysQ4Jpnz%2BHklqM7VFTvEcjR2LIUtn6jW47054xxE%3D\n \n Use the following JSON object format for the Message parameter to send different messages to each protocol (linebreaks added for readability):\n {\n \"default\" : \"some message\",\n \"email\" : \"some email message\",\n \"email-json\" : \"some email-json message\",\n \"http\" : \"some http message\",\n \"https\" : \"some https message\",\n \"sqs\" : \"some sqs message\"\n }\n \n\n </queryrequest>\n <queryresponse>\n \n&lt;PublishResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;PublishResult&gt;\n &lt;MessageId&gt;94f20ce6-13c5-43a0-9a9e-ca52d816e90b&lt;/MessageId&gt;\n &lt;/PublishResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;f187a3c1-376f-11df-8963-01868b7c937a&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/PublishResponse&gt;\n \n </queryresponse>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAction=Publish\n&amp;Message=%7B%22default%22%3A%22This+is+the+default+Message%22%2C%22APNS_SANDBOX%22%3A%22%7B+%5C%22aps%5C%22+%3A+%7B+%5C%22alert%5C%22+%3A+%5C%22You+have+got+email.%5C%22%2C+%5C%22badge%5C%22+%3A+9%2C%5C%22sound%5C%22+%3A%5C%22default%5C%22%7D%7D%22%7D\n&amp;TargetArn=arn%3Aaws%3Asns%3Aus-west-2%3A803981987763%3Aendpoint%2FAPNS_SANDBOX%2Fpushapp%2F98e9ced9-f136-3893-9d60-776547eafebb\n&amp;SignatureMethod=HmacSHA256\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=vmqc4XRupKAxsDAdN4j4Ayw5LQljXMps3kss4bkDfCk%3D\n&amp;Timestamp=2013-07-18T22%3A44%3A09.452Z\n&amp;MessageStructure=json\n \n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;PublishResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;PublishResult&gt;\n &lt;MessageId&gt;567910cd-659e-55d4-8ccb-5aaf14679dc0&lt;/MessageId&gt;\n &lt;/PublishResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;d74b8436-ae13-5ab4-a9ff-ce54dfea72a0&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/PublishResponse&gt;\n \n </queryresponse>\n </examples>\n "
1662
1709
  },
1663
1710
  "RemovePermission": {
1664
1711
  "name": "RemovePermission",
@@ -1732,7 +1779,7 @@
1732
1779
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
1733
1780
  }
1734
1781
  ],
1735
- "documentation": "\n <p>The <code>RemovePermission</code> action removes a statement from a topic's access control policy.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Test\n &Label=NewPermission\n &Action=RemovePermission\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=N1abwRY9i7zaSQmbAlm71pPf9EEFOqNbQL1alzw2yCg%3D\n\n </queryrequest>\n <queryresponse>\n \n<RemovePermissionResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>d170b150-33a8-11df-995a-2d6fbe836cc1</RequestId>\n </ResponseMetadata>\n</RemovePermissionResponse>\n \n </queryresponse>\n</examples>\n "
1782
+ "documentation": "\n <p>Removes a statement from a topic's access control policy.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Test\n &amp;Label=NewPermission\n &amp;Action=RemovePermission\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=N1abwRY9i7zaSQmbAlm71pPf9EEFOqNbQL1alzw2yCg%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;RemovePermissionResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;d170b150-33a8-11df-995a-2d6fbe836cc1&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/RemovePermissionResponse&gt;\n \n </queryresponse>\n</examples>\n "
1736
1783
  },
1737
1784
  "SetEndpointAttributes": {
1738
1785
  "name": "SetEndpointAttributes",
@@ -1759,7 +1806,7 @@
1759
1806
  "type": "string",
1760
1807
  "documentation": null
1761
1808
  },
1762
- "documentation": "\n <p>A map of the endpoint attributes. Attributes in this map include the following:</p>\n <ul>\n <!-- Policy is not yet supported. Will remove comments once it is available -->\n <li>\n<code>CustomUserData</code> -- arbitrary user data to associate with the endpoint. SNS does not use this data. The data must be in UTF-8 format and less than 2KB.</li>\n <li>\n<code>Enabled</code> -- flag that enables/disables delivery to the endpoint. \n Message Processor will set this to false when a notification service indicates to SNS that the endpoint is invalid. \n Users can set it back to true, typically after updating Token.</li>\n <!-- <li><code>Policy</code> access policy controlling who can send messages to this endpoint .</li> -->\n <li>\n<code>Token</code> -- device token, also referred to as a registration id, for an app and mobile device. \n This is returned from the notification service when an app and mobile device are registered with the notification service.</li> \n </ul> \n ",
1809
+ "documentation": "\n <p>A map of the endpoint attributes. Attributes in this map include the following:</p>\n <ul>\n \n <li>\n<code>CustomUserData</code> -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.</li>\n <li>\n<code>Enabled</code> -- flag that enables/disables delivery to the endpoint. \n Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. \n Users can set it back to true, typically after updating Token.</li>\n \n <li>\n<code>Token</code> -- device token, also referred to as a registration id, for an app and mobile device. \n This is returned from the notification service when an app and mobile device are registered with the notification service.</li> \n </ul> \n ",
1763
1810
  "required": true
1764
1811
  }
1765
1812
  },
@@ -1816,7 +1863,7 @@
1816
1863
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
1817
1864
  }
1818
1865
  ],
1819
- "documentation": "\n <p>The <code>SetEndpointAttributes</code> action sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAttributes.entry.1.key=CustomUserData\n&Action=SetEndpointAttributes\n&SignatureMethod=HmacSHA256\n&Attributes.entry.1.value=My+custom+userdata\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&EndpointArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aendpoint%2FGCM%2Fgcmpushapp%2F5e3e9847-3183-3f18-a7e8-671c3a57d4b3\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=CFTGfGOS5vgSU3%2FZgv2h%2FJdWgr2JQdDJSrUU9k38wSM%3D\n&Timestamp=2013-07-01T22%3A56%3A45.582Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<SetEndpointAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>2fe0bfc7-3e85-5ee5-a9e2-f58b35e85f6a</RequestId>\n </ResponseMetadata>\n</SetEndpointAttributesResponse>\n\n </queryresponse>\n </examples> \n "
1866
+ "documentation": "\n <p>Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAttributes.entry.1.key=CustomUserData\n&amp;Action=SetEndpointAttributes\n&amp;SignatureMethod=HmacSHA256\n&amp;Attributes.entry.1.value=My+custom+userdata\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;EndpointArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aendpoint%2FGCM%2Fgcmpushapp%2F5e3e9847-3183-3f18-a7e8-671c3a57d4b3\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=CFTGfGOS5vgSU3%2FZgv2h%2FJdWgr2JQdDJSrUU9k38wSM%3D\n&amp;Timestamp=2013-07-01T22%3A56%3A45.582Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;SetEndpointAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;2fe0bfc7-3e85-5ee5-a9e2-f58b35e85f6a&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/SetEndpointAttributesResponse&gt;\n\n </queryresponse>\n </examples> \n "
1820
1867
  },
1821
1868
  "SetPlatformApplicationAttributes": {
1822
1869
  "name": "SetPlatformApplicationAttributes",
@@ -1843,7 +1890,7 @@
1843
1890
  "type": "string",
1844
1891
  "documentation": null
1845
1892
  },
1846
- "documentation": "\n <p>A map of the platform application attributes. Attributes in this map include the following:</p>\n <ul>\n <!-- AllowEndpointPolicies, EventDeliveryAttemptFailure, and Policy are not yet supported. Will remove comments once it is available -->\n <li>\n<code>PlatformCredential</code> -- The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". \n For GCM, PlatformCredential is \"API key\". For ADM,<!-- , WNS and MPNS--> PlatformCredential is \"client secret\".</li>\n <li>\n<code>PlatformPrincipal</code> -- The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". \n For GCM, PlatformPrincipal is not applicable. For ADM,<!-- , WNS and MPNS--> PlatformPrincipal is \"client id\".</li>\n <!-- <li><code>AllowEndpointPolicies</code> true or false (default false) - If true, then policies on endpoints will be evaluated to determine if the topic or user has the rights to send messages to it. \n If false, the endpoint policy will be ignored and only the mobile app policy will be considered.</li> -->\n <li>\n<code>EventEndpointCreated</code> -- Topic ARN to which EndpointCreated event notifications should be sent.</li>\n <li>\n<code>EventEndpointDeleted</code> -- Topic ARN to which EndpointDeleted event notifications should be sent.</li>\n <li>\n<code>EventEndpointUpdated</code> -- Topic ARN to which EndpointUpdate event notifications should be sent.</li>\n <!-- <li><code>EventDeliveryAttemptFailure</code> Topic ARN to which DeliveryAttemptFailure event notifications should be sent upon Direct Publish delivery attempt failures to one of the application's endpoints.</li> -->\n <li>\n<code>EventDeliveryFailure</code> -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.</li>\n <!-- <li><code>Policy</code> Access policy controlling who can send messages to endpoints under this mobile app.</li> -->\n </ul> \n ",
1893
+ "documentation": "\n <p>A map of the platform application attributes. Attributes in this map include the following:</p>\n <ul>\n \n <li>\n<code>PlatformCredential</code> -- The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". \n For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\".</li>\n <li>\n<code>PlatformPrincipal</code> -- The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". \n For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\".</li>\n \n <li>\n<code>EventEndpointCreated</code> -- Topic ARN to which EndpointCreated event notifications should be sent.</li>\n <li>\n<code>EventEndpointDeleted</code> -- Topic ARN to which EndpointDeleted event notifications should be sent.</li>\n <li>\n<code>EventEndpointUpdated</code> -- Topic ARN to which EndpointUpdate event notifications should be sent.</li>\n \n <li>\n<code>EventDeliveryFailure</code> -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.</li>\n \n </ul> \n ",
1847
1894
  "required": true
1848
1895
  }
1849
1896
  },
@@ -1900,7 +1947,7 @@
1900
1947
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
1901
1948
  }
1902
1949
  ],
1903
- "documentation": "\n <p>The <code>SetPlatformApplicationAttributes</code> action sets the attributes of the platform application object for the supported push notification services, \n such as APNS and GCM.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAttributes.entry.1.key=EventEndpointCreated&PlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&Action=SetPlatformApplicationAttributes\n&SignatureMethod=HmacSHA256\n&Attributes.entry.1.value=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Atopicarn\n&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&SignatureVersion=2\n&Version=2010-03-31\n&Signature=06L2TsW3jiH%2FGKDYuT8w4NojSrTf4Ig2GKqGeJPhPT4%3D\n&Timestamp=2013-07-01T22%3A53%3A17.800Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n<SetPlatformApplicationAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>cf577bcc-b3dc-5463-88f1-3180b9412395</RequestId>\n </ResponseMetadata>\n</SetPlatformApplicationAttributesResponse>\n\n </queryresponse>\n </examples> \n "
1950
+ "documentation": "\n <p>Sets the attributes of the platform application object for the supported push notification services, \n such as APNS and GCM.\n For more information, see <a href=\"http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html\">Using Amazon SNS Mobile Push Notifications</a>.\n </p>\n <examples>\n <queryrequest>\n \nPOST http://sns.us-west-2.amazonaws.com/ HTTP/1.1\n...\nAttributes.entry.1.key=EventEndpointCreated&amp;PlatformApplicationArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Aapp%2FGCM%2Fgcmpushapp\n&amp;Action=SetPlatformApplicationAttributes\n&amp;SignatureMethod=HmacSHA256\n&amp;Attributes.entry.1.value=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3Atopicarn\n&amp;AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE\n&amp;SignatureVersion=2\n&amp;Version=2010-03-31\n&amp;Signature=06L2TsW3jiH%2FGKDYuT8w4NojSrTf4Ig2GKqGeJPhPT4%3D\n&amp;Timestamp=2013-07-01T22%3A53%3A17.800Z\n\n </queryrequest>\n <queryresponse>\n \nHTTP/1.1 200 OK\n...\n&lt;SetPlatformApplicationAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;cf577bcc-b3dc-5463-88f1-3180b9412395&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/SetPlatformApplicationAttributesResponse&gt;\n\n </queryresponse>\n </examples> \n "
1904
1951
  },
1905
1952
  "SetSubscriptionAttributes": {
1906
1953
  "name": "SetSubscriptionAttributes",
@@ -1917,7 +1964,7 @@
1917
1964
  "AttributeName": {
1918
1965
  "shape_name": "attributeName",
1919
1966
  "type": "string",
1920
- "documentation": "\n <p>The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.</p>\n <p>Valid values: <code>DeliveryPolicy</code></p>\n ",
1967
+ "documentation": "\n <p>The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.</p>\n <p>Valid values: <code>DeliveryPolicy</code> | <code>RawMessageDelivery</code></p> \n ",
1921
1968
  "required": true
1922
1969
  },
1923
1970
  "AttributeValue": {
@@ -1979,7 +2026,7 @@
1979
2026
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
1980
2027
  }
1981
2028
  ],
1982
- "documentation": "\n <p>The <code>SetSubscriptionAttributes</code> action allows a subscription owner to set an attribute of the topic to a new value.</p>\n<examples>\n <queryrequest>\n \nThe following example sets the delivery policy to 5 total retries\n \n http://sns.us-east-1.amazonaws.com/\n ?AttributeValue={\"healthyRetryPolicy\":{\"numRetries\":5}}\n &SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca\n &AttributeName=DeliveryPolicy\n &Action=SetSubscriptionAttributes\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key Id)\n &Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D\n \nThe JSON format for the DeliveryPolicy AttributeValue (linebreaks added for readability):\n{\n \"healthyRetryPolicy\": \n {\n \"minDelayTarget\": <int>,\n \"maxDelayTarget\": <int>,\n \"numRetries\": <int>,\n \"numMaxDelayRetries\": <int>,\n \"backoffFunction\": \"<linear|arithmetic|geometric|exponential>\"\n },\n \"throttlePolicy\":\n {\n \"maxReceivesPerSecond\": <int>\n }\n}\n </queryrequest>\n <queryresponse>\n \n<SetSubscriptionAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>a8763b99-33a7-11df-a9b7-05d48da6f042</RequestId>\n </ResponseMetadata>\n</SetSubscriptionAttributesResponse>\n \n </queryresponse>\n</examples>\n\n\n "
2029
+ "documentation": "\n <p>Allows a subscription owner to set an attribute of the topic to a new value.</p>\n<examples>\n <queryrequest>\n \nThe following example sets the delivery policy to 5 total retries\n \n http://sns.us-east-1.amazonaws.com/\n ?AttributeValue={\"healthyRetryPolicy\":{\"numRetries\":5}}\n &amp;SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca\n &amp;AttributeName=DeliveryPolicy\n &amp;Action=SetSubscriptionAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D\n \nThe JSON format for the DeliveryPolicy AttributeValue (linebreaks added for readability):\n{\n \"healthyRetryPolicy\": \n {\n \"minDelayTarget\": &lt;int&gt;,\n \"maxDelayTarget\": &lt;int&gt;,\n \"numRetries\": &lt;int&gt;,\n \"numMaxDelayRetries\": &lt;int&gt;,\n \"backoffFunction\": \"&lt;linear|arithmetic|geometric|exponential&gt;\"\n },\n \"throttlePolicy\":\n {\n \"maxReceivesPerSecond\": &lt;int&gt;\n }\n}\n </queryrequest>\n <queryresponse>\n \n&lt;SetSubscriptionAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;a8763b99-33a7-11df-a9b7-05d48da6f042&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/SetSubscriptionAttributesResponse&gt;\n \n </queryresponse>\n</examples>\n\n\n "
1983
2030
  },
1984
2031
  "SetTopicAttributes": {
1985
2032
  "name": "SetTopicAttributes",
@@ -2058,7 +2105,7 @@
2058
2105
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
2059
2106
  }
2060
2107
  ],
2061
- "documentation": "\n <p>The <code>SetTopicAttributes</code> action allows a topic owner to set an attribute of the topic to a new value.</p>\n<examples>\n <queryrequest>\nThe following example sets the DisplayName attribute to MyTopicName\n\n http://sns.us-east-1.amazonaws.com/\n ?AttributeValue=MyTopicName\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;AttributeName=DisplayName\n &amp;Action=SetTopicAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D\n \nThe following example sets the delivery policy to 5 total retries\n \n http://sns.us-east-1.amazonaws.com/\n ?AttributeValue={\"http\":{\"defaultHealthyRetryPolicy\":{\"numRetries\":5}}}\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;AttributeName=DeliveryPolicy\n &amp;Action=SetTopicAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D \n \nThe JSON format for the DeliveryPolicy AttributeValue (linebreaks added for readability):\n{\n \"http\": {\n \"defaultHealthyRetryPolicy\": \n {\n \"minDelayTarget\": &lt;int&gt;,\n \"maxDelayTarget\": &lt;int&gt;,\n \"numRetries\": &lt;int&gt;,\n \"numMaxDelayRetries\": &lt;int&gt;,\n \"backoffFunction\": \"&lt;linear|arithmetic|geometric|exponential&gt;\"\n },\n \"disableSubscriptionOverrides\": &lt;boolean&gt;,\n \"defaultThrottlePolicy\": \n {\n \"maxReceivesPerSecond\": &lt;int&gt;\n }\n }\n </queryrequest>\n <queryresponse>\n \n<SetTopicAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>a8763b99-33a7-11df-a9b7-05d48da6f042</RequestId>\n </ResponseMetadata>\n</SetTopicAttributesResponse>\n \n </queryresponse>\n</examples>\n\n\n "
2108
+ "documentation": "\n <p>Allows a topic owner to set an attribute of the topic to a new value.</p>\n<examples>\n <queryrequest>\nThe following example sets the DisplayName attribute to MyTopicName\n\n http://sns.us-east-1.amazonaws.com/\n ?AttributeValue=MyTopicName\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;AttributeName=DisplayName\n &amp;Action=SetTopicAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D\n \nThe following example sets the delivery policy to 5 total retries\n \n http://sns.us-east-1.amazonaws.com/\n ?AttributeValue={\"http\":{\"defaultHealthyRetryPolicy\":{\"numRetries\":5}}}\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &amp;AttributeName=DeliveryPolicy\n &amp;Action=SetTopicAttributes\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key Id)\n &amp;Signature=mQA3nJI%2BcmAIY7r8HCArGElSqPX5JG4UGzF4yo0RygE%3D \n \nThe JSON format for the DeliveryPolicy AttributeValue (linebreaks added for readability):\n{\n \"http\": {\n \"defaultHealthyRetryPolicy\": \n {\n \"minDelayTarget\": &lt;int&gt;,\n \"maxDelayTarget\": &lt;int&gt;,\n \"numRetries\": &lt;int&gt;,\n \"numMaxDelayRetries\": &lt;int&gt;,\n \"backoffFunction\": \"&lt;linear|arithmetic|geometric|exponential&gt;\"\n },\n \"disableSubscriptionOverrides\": &lt;boolean&gt;,\n \"defaultThrottlePolicy\": \n {\n \"maxReceivesPerSecond\": &lt;int&gt;\n }\n }\n </queryrequest>\n <queryresponse>\n \n&lt;SetTopicAttributesResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;a8763b99-33a7-11df-a9b7-05d48da6f042&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/SetTopicAttributesResponse&gt;\n \n </queryresponse>\n</examples>\n\n\n "
2062
2109
  },
2063
2110
  "Subscribe": {
2064
2111
  "name": "Subscribe",
@@ -2160,7 +2207,7 @@
2160
2207
  "documentation": "\n <p>Indicates that the user has been denied access to the requested resource.</p>\n "
2161
2208
  }
2162
2209
  ],
2163
- "documentation": "\n <p>The <code>Subscribe</code> action prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a\n subscription, the endpoint owner must call the <code>ConfirmSubscription</code>\n action with the token from the confirmation message. Confirmation tokens are\n valid for three days.</p>\n<examples>\n <queryrequest>\n\n http://sns.us-east-1.amazonaws.com/\n ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic\n &Endpoint=example%40amazon.com\n &Protocol=email\n &Action=Subscribe\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=1%2FeGaDphxXq%2Fa89x6HvKh%2Fc1yLGXzuhS7vS2MslToDM%3D\n\n </queryrequest>\n <queryresponse>\n \n<SubscribeResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <SubscribeResult>\n <SubscriptionArn>pending confirmation</SubscriptionArn>\n </SubscribeResult>\n <ResponseMetadata>\n <RequestId>a169c740-3766-11df-8963-01868b7c937a</RequestId>\n </ResponseMetadata>\n</SubscribeResponse>\n \n </queryresponse>\n</examples>\n "
2210
+ "documentation": "\n <p>Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a\n subscription, the endpoint owner must call the <code>ConfirmSubscription</code>\n action with the token from the confirmation message. Confirmation tokens are\n valid for three days.</p>\n<examples>\n <example>\n <description>The following example Query request subscribes an SQS queue to an SNS topic. \n For more information, see \n <a href=\"http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqssubscribe.html\">Subscribe Queue to Amazon SNS Topic</a>\n in the <i>Amazon SQS Developer Guide</i>. \n </description>\n <queryrequest>\n\n http://sns.us-west-2.amazonaws.com/\n &amp;Action=Subscribe\n &amp;Endpoint=arn%3Aaws%3Asqs%3Aus-west-2%3A123456789012%3AMyQueue\n &amp;Version=2010-03-31\n &amp;Protocol=sqs\n &amp;TopicArn=arn%3Aaws%3Asns%3Aus-west-2%3A123456789012%3AMyTopic \n\n </queryrequest>\n <queryresponse>\n \n&lt;SubscribeResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;SubscribeResult&gt;\n &lt;SubscriptionArn&gt;arn:aws:sns:us-west-2:123456789012:MyTopic:6b0e71bd-7e97-4d97-80ce-4a0994e55286&lt;/SubscriptionArn&gt;\n &lt;/SubscribeResult&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;c4407779-24a4-56fa-982c-3d927f93a775&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/SubscribeResponse&gt;\n \n </queryresponse>\n </example> \n \n</examples>\n "
2164
2211
  },
2165
2212
  "Unsubscribe": {
2166
2213
  "name": "Unsubscribe",
@@ -2228,7 +2275,7 @@
2228
2275
  "documentation": "\n <p>Indicates that the requested resource does not exist.</p>\n "
2229
2276
  }
2230
2277
  ],
2231
- "documentation": "\n <p>The <code>Unsubscribe</code> action deletes a subscription. If the subscription requires authentication for \n deletion, only the owner of the subscription or the topic's owner \n can unsubscribe, and an AWS signature is required. If the \n <code>Unsubscribe</code> call does not require authentication and the requester is not \n the subscription owner, a final cancellation message is delivered to the \n endpoint, so that the endpoint owner can easily resubscribe to the topic if \n the <code>Unsubscribe</code> request was unintended.</p>\n <examples>\n <queryrequest>\n \n http://sns.us-east-1.amazonaws.com/\n ?SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca\n &Action=Unsubscribe\n &SignatureVersion=2\n &SignatureMethod=HmacSHA256\n &Timestamp=2010-03-31T12%3A00%3A00.000Z\n &AWSAccessKeyId=(AWS Access Key ID)\n &Signature=e8IwhPzuWeMvPDVrN7jUVxasd3Wv2LuO8x6rE23VCv8%3D\n\n </queryrequest>\n <queryresponse>\n \n<UnsubscribeResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\">\n <ResponseMetadata>\n <RequestId>18e0ac39-3776-11df-84c0-b93cc1666b84</RequestId>\n </ResponseMetadata>\n</UnsubscribeResponse>\n \n </queryresponse>\n </examples>\n "
2278
+ "documentation": "\n <p>Deletes a subscription. If the subscription requires authentication for \n deletion, only the owner of the subscription or the topic's owner \n can unsubscribe, and an AWS signature is required. If the \n <code>Unsubscribe</code> call does not require authentication and the requester is not \n the subscription owner, a final cancellation message is delivered to the \n endpoint, so that the endpoint owner can easily resubscribe to the topic if \n the <code>Unsubscribe</code> request was unintended.</p>\n <examples>\n <queryrequest>\n \n http://sns.us-east-1.amazonaws.com/\n ?SubscriptionArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic%3A80289ba6-0fd4-4079-afb4-ce8c8260f0ca\n &amp;Action=Unsubscribe\n &amp;SignatureVersion=2\n &amp;SignatureMethod=HmacSHA256\n &amp;Timestamp=2010-03-31T12%3A00%3A00.000Z\n &amp;AWSAccessKeyId=(AWS Access Key ID)\n &amp;Signature=e8IwhPzuWeMvPDVrN7jUVxasd3Wv2LuO8x6rE23VCv8%3D\n\n </queryrequest>\n <queryresponse>\n \n&lt;UnsubscribeResponse xmlns=\"http://sns.amazonaws.com/doc/2010-03-31/\"&gt;\n &lt;ResponseMetadata&gt;\n &lt;RequestId&gt;18e0ac39-3776-11df-84c0-b93cc1666b84&lt;/RequestId&gt;\n &lt;/ResponseMetadata&gt;\n&lt;/UnsubscribeResponse&gt;\n \n </queryresponse>\n </examples>\n "
2232
2279
  }
2233
2280
  }
2234
2281
  }
@@ -17,6 +17,16 @@ Feature: S3 Objects
17
17
  When I put the test png to the key "img"
18
18
  Then the object with the key "img" should have a content length of 976
19
19
 
20
+ Scenario: Using server-side-encryption with customer-provided key
21
+ When I put "hello" to the key "test" with an aes key
22
+ Then I can download the key "test" with the aes key
23
+
24
+ Scenario: Reading an object from S3
25
+ Given I put "hello" to the key "test"
26
+ When I get the object with the key "test"
27
+ Then the body should be an IO object
28
+ And the body#read method should return "hello"
29
+
20
30
  @paging
21
31
  Scenario: Paging responses
22
32
  Given I put nothing to the key "photos/camping/cascades.jpg"
@@ -1,3 +1,5 @@
1
+ require 'openssl'
2
+
1
3
  Before("@s3") do
2
4
  @s3 = @client = Aws.s3
3
5
  @created_buckets = []
@@ -65,7 +67,7 @@ When(/^I delete the bucket$/) do
65
67
  end
66
68
 
67
69
  Then(/^the bucket should not exist$/) do
68
- eventually do
70
+ eventually(upto: 60) do
69
71
  begin
70
72
  @s3.get_bucket_location(bucket: @bucket_name)
71
73
  rescue => @error
@@ -131,3 +133,33 @@ Then(/^the bucket name should not be in the request host$/) do
131
133
  endpoint = @response.context.http_request.endpoint
132
134
  expect(endpoint.host).not_to include(@bucket_name)
133
135
  end
136
+
137
+ When(/^I put "(.*?)" to the key "(.*?)" with an aes key$/) do |body, key|
138
+ @aes_key = OpenSSL::Cipher.new('aes-256-cbc').random_key
139
+ @s3.put_object(
140
+ bucket: @bucket_name,
141
+ key: key,
142
+ body: body,
143
+ sse_customer_algorithm: 'AES256',
144
+ sse_customer_key: @aes_key)
145
+ end
146
+
147
+ Then(/^I can download the key "(.*?)" with the aes key$/) do |key|
148
+ @s3.get_object(
149
+ bucket: @bucket_name,
150
+ key: key,
151
+ sse_customer_algorithm: 'AES256',
152
+ sse_customer_key: @aes_key)
153
+ end
154
+
155
+ When(/^I get the object with the key "(.*?)"$/) do |key|
156
+ @response = @s3.get_object(bucket: @bucket_name, key: key)
157
+ end
158
+
159
+ Then(/^the body should be an IO object$/) do
160
+ expect(@response.body).to be_kind_of(StringIO)
161
+ end
162
+
163
+ Then(/^the body\#read method should return "(.*?)"$/) do |str|
164
+ expect(@response.body.read).to eq(str)
165
+ end
@@ -1,4 +1,5 @@
1
- def eventually(seconds = 15, &block)
1
+ def eventually(options = {}, &block)
2
+ seconds = options[:upto] || 15
2
3
  delays = [1]
3
4
  while delays.inject(0) { |sum, i| sum + i } < seconds
4
5
  delays << delays.last * 1.2
data/lib/aws.rb CHANGED
@@ -41,6 +41,7 @@ module Aws
41
41
  module ServiceTranslators
42
42
  autoload :CloudFront, "#{SRC}/api/service_translators/cloud_front"
43
43
  autoload :DynamoDB, "#{SRC}/api/service_translators/dynamo_db"
44
+ autoload :EC2, "#{SRC}/api/service_translators/ec2"
44
45
  autoload :Glacier, "#{SRC}/api/service_translators/glacier"
45
46
  autoload :ImportExport, "#{SRC}/api/service_translators/import_export"
46
47
  autoload :Route53, "#{SRC}/api/service_translators/route53"
@@ -62,6 +63,7 @@ module Aws
62
63
  module Plugins
63
64
  autoload :Credentials, "#{SRC}/plugins/credentials"
64
65
  autoload :DynamoDBExtendedRetries, "#{SRC}/plugins/dynamodb_extended_retries"
66
+ autoload :EC2CopyEncryptedSnapshot, "#{SRC}/plugins/ec2_copy_encrypted_snapshot"
65
67
  autoload :GlacierAccountId, "#{SRC}/plugins/glacier_account_id"
66
68
  autoload :GlacierApiVersion, "#{SRC}/plugins/glacier_api_version"
67
69
  autoload :GlacierChecksums, "#{SRC}/plugins/glacier_checksums"
@@ -78,6 +80,7 @@ module Aws
78
80
  autoload :S3Md5s, "#{SRC}/plugins/s3_md5s"
79
81
  autoload :S3Redirects, "#{SRC}/plugins/s3_redirects"
80
82
  autoload :S3Signer, "#{SRC}/plugins/s3_signer"
83
+ autoload :S3SseCpk, "#{SRC}/plugins/s3_sse_cpk"
81
84
  autoload :S3LocationConstraint, "#{SRC}/plugins/s3_location_constraint"
82
85
  autoload :SignatureV2, "#{SRC}/plugins/signature_v2"
83
86
  autoload :SignatureV3, "#{SRC}/plugins/signature_v3"