aws-sdk 1.4.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. data/.yardopts +0 -1
  2. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +772 -544
  3. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +284 -185
  4. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +458 -738
  5. data/lib/aws/api_config/EC2-2011-12-15.yml +3502 -2653
  6. data/lib/aws/api_config/ELB-2011-08-15.yml +484 -352
  7. data/lib/aws/api_config/IAM-2010-05-08.yml +899 -711
  8. data/lib/aws/api_config/SNS-2010-03-31.yml +235 -167
  9. data/lib/aws/api_config/SQS-2011-10-01.yml +290 -251
  10. data/lib/aws/api_config/STS-2011-06-15.yml +35 -41
  11. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +290 -263
  12. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +144 -130
  13. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +697 -1139
  14. data/lib/aws/auto_scaling/activity_collection.rb +1 -1
  15. data/lib/aws/auto_scaling/client.rb +724 -9
  16. data/lib/aws/auto_scaling/errors.rb +1 -5
  17. data/lib/aws/auto_scaling/group.rb +1 -1
  18. data/lib/aws/auto_scaling/group_collection.rb +1 -1
  19. data/lib/aws/auto_scaling/instance_collection.rb +1 -1
  20. data/lib/aws/auto_scaling/launch_configuration.rb +1 -1
  21. data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
  22. data/lib/aws/auto_scaling/notification_configuration_collection.rb +1 -1
  23. data/lib/aws/auto_scaling/request.rb +1 -2
  24. data/lib/aws/auto_scaling/scaling_policy_collection.rb +1 -1
  25. data/lib/aws/auto_scaling/scheduled_action_collection.rb +3 -3
  26. data/lib/aws/auto_scaling/tag_collection.rb +1 -1
  27. data/lib/aws/cloud_formation.rb +1 -18
  28. data/lib/aws/cloud_formation/client.rb +314 -8
  29. data/lib/aws/cloud_formation/errors.rb +1 -5
  30. data/lib/aws/cloud_formation/request.rb +1 -2
  31. data/lib/aws/cloud_formation/stack.rb +4 -3
  32. data/lib/aws/cloud_formation/stack_collection.rb +2 -2
  33. data/lib/aws/cloud_formation/stack_resource_collection.rb +1 -1
  34. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +2 -2
  35. data/lib/aws/cloud_formation/stack_summary_collection.rb +1 -1
  36. data/lib/aws/core.rb +29 -14
  37. data/lib/aws/core/async_handle.rb +11 -12
  38. data/lib/aws/core/client.rb +112 -102
  39. data/lib/aws/core/client/query_json.rb +110 -0
  40. data/lib/aws/core/client/query_xml.rb +122 -0
  41. data/lib/aws/core/data.rb +242 -0
  42. data/lib/aws/core/http/request.rb +7 -4
  43. data/lib/aws/core/lazy_error_classes.rb +60 -38
  44. data/lib/aws/core/option_grammar.rb +1 -0
  45. data/lib/aws/core/policy.rb +2 -1
  46. data/lib/aws/core/resource.rb +38 -33
  47. data/lib/aws/core/response.rb +109 -44
  48. data/lib/aws/core/signature/version_2.rb +42 -0
  49. data/lib/aws/core/signature/version_3.rb +73 -0
  50. data/lib/aws/core/signature/version_3_http.rb +72 -0
  51. data/lib/aws/core/signature/version_4.rb +138 -0
  52. data/lib/aws/core/uri_escape.rb +6 -9
  53. data/lib/aws/core/xml/frame.rb +242 -0
  54. data/lib/aws/core/xml/frame_stack.rb +85 -0
  55. data/lib/aws/core/xml/grammar.rb +299 -0
  56. data/lib/aws/core/xml/parser.rb +70 -0
  57. data/lib/aws/core/xml/root_frame.rb +65 -0
  58. data/lib/aws/core/{configured_xml_grammars.rb → xml/sax_handlers/libxml.rb} +22 -20
  59. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  60. data/lib/aws/core/{authorize_with_session_token.rb → xml/sax_handlers/ox.rb} +19 -7
  61. data/lib/aws/core/{configured_option_grammars.rb → xml/sax_handlers/rexml.rb} +22 -23
  62. data/lib/aws/core/xml/stub.rb +123 -0
  63. data/lib/aws/dynamo_db/batch_get.rb +1 -1
  64. data/lib/aws/dynamo_db/client.rb +796 -14
  65. data/lib/aws/dynamo_db/errors.rb +1 -38
  66. data/lib/aws/dynamo_db/item_collection.rb +29 -28
  67. data/lib/aws/dynamo_db/request.rb +3 -53
  68. data/lib/aws/dynamo_db/table.rb +6 -2
  69. data/lib/aws/ec2/attachment.rb +1 -1
  70. data/lib/aws/ec2/client.rb +3954 -9
  71. data/lib/aws/ec2/dhcp_options.rb +3 -3
  72. data/lib/aws/ec2/errors.rb +10 -4
  73. data/lib/aws/ec2/instance.rb +7 -6
  74. data/lib/aws/ec2/instance_collection.rb +2 -2
  75. data/lib/aws/ec2/key_pair_collection.rb +3 -3
  76. data/lib/aws/ec2/network_acl.rb +4 -2
  77. data/lib/aws/ec2/network_acl/entry.rb +10 -10
  78. data/lib/aws/ec2/network_interface.rb +2 -3
  79. data/lib/aws/ec2/network_interface/attachment.rb +8 -8
  80. data/lib/aws/ec2/permission_collection.rb +3 -3
  81. data/lib/aws/ec2/request.rb +1 -3
  82. data/lib/aws/ec2/resource_tag_collection.rb +4 -8
  83. data/lib/aws/ec2/route_table.rb +3 -2
  84. data/lib/aws/ec2/route_table/route.rb +7 -7
  85. data/lib/aws/ec2/security_group.rb +2 -2
  86. data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +16 -5
  87. data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +4 -3
  88. data/lib/aws/ec2/security_group/ip_permission.rb +1 -2
  89. data/lib/aws/ec2/snapshot_collection.rb +6 -3
  90. data/lib/aws/ec2/subnet.rb +1 -1
  91. data/lib/aws/ec2/volume.rb +1 -3
  92. data/lib/aws/ec2/volume_collection.rb +2 -0
  93. data/lib/aws/elb/availability_zone_collection.rb +2 -2
  94. data/lib/aws/elb/backend_server_policy_collection.rb +1 -1
  95. data/lib/aws/elb/client.rb +513 -9
  96. data/lib/aws/elb/errors.rb +2 -6
  97. data/lib/aws/elb/instance_collection.rb +2 -2
  98. data/lib/aws/elb/request.rb +1 -1
  99. data/lib/aws/errors.rb +61 -74
  100. data/lib/aws/iam.rb +2 -3
  101. data/lib/aws/iam/client.rb +1178 -10
  102. data/lib/aws/iam/collection.rb +2 -1
  103. data/lib/aws/iam/errors.rb +1 -6
  104. data/lib/aws/iam/group.rb +8 -9
  105. data/lib/aws/iam/request.rb +1 -1
  106. data/lib/aws/iam/server_certificate_collection.rb +8 -5
  107. data/lib/aws/iam/signing_certificate.rb +1 -1
  108. data/lib/aws/iam/user.rb +2 -2
  109. data/lib/aws/iam/user_policy.rb +3 -2
  110. data/lib/aws/rails.rb +1 -2
  111. data/lib/aws/record.rb +3 -3
  112. data/lib/aws/record/abstract_base.rb +0 -3
  113. data/lib/aws/record/attributes.rb +7 -7
  114. data/lib/aws/record/model.rb +19 -19
  115. data/lib/aws/record/model/finder_methods.rb +7 -7
  116. data/lib/aws/s3/bucket.rb +7 -2
  117. data/lib/aws/s3/client.rb +391 -398
  118. data/lib/aws/s3/client/xml.rb +44 -71
  119. data/lib/aws/s3/data_options.rb +3 -2
  120. data/lib/aws/s3/errors.rb +8 -11
  121. data/lib/aws/s3/multipart_upload_collection.rb +1 -3
  122. data/lib/aws/s3/object_collection.rb +2 -1
  123. data/lib/aws/s3/object_metadata.rb +2 -2
  124. data/lib/aws/s3/paginated_collection.rb +2 -2
  125. data/lib/aws/s3/prefix_and_delimiter_collection.rb +1 -1
  126. data/lib/aws/s3/presigned_post.rb +18 -17
  127. data/lib/aws/s3/request.rb +4 -3
  128. data/lib/aws/s3/s3_object.rb +8 -10
  129. data/lib/aws/simple_db/attribute.rb +2 -2
  130. data/lib/aws/simple_db/attribute_collection.rb +14 -4
  131. data/lib/aws/simple_db/client.rb +313 -14
  132. data/lib/aws/simple_db/domain.rb +1 -1
  133. data/lib/aws/simple_db/domain_collection.rb +4 -4
  134. data/lib/aws/simple_db/domain_metadata.rb +1 -1
  135. data/lib/aws/simple_db/errors.rb +14 -2
  136. data/lib/aws/simple_db/expect_condition_option.rb +1 -1
  137. data/lib/aws/simple_db/item.rb +1 -1
  138. data/lib/aws/simple_db/item_collection.rb +9 -9
  139. data/lib/aws/simple_db/item_data.rb +9 -6
  140. data/lib/aws/simple_db/request.rb +1 -1
  141. data/lib/aws/simple_email_service.rb +8 -7
  142. data/lib/aws/simple_email_service/client.rb +174 -9
  143. data/lib/aws/simple_email_service/email_address_collection.rb +0 -1
  144. data/lib/aws/simple_email_service/errors.rb +1 -5
  145. data/lib/aws/simple_email_service/quotas.rb +8 -6
  146. data/lib/aws/simple_email_service/request.rb +7 -1
  147. data/lib/aws/simple_workflow/client.rb +1383 -6
  148. data/lib/aws/simple_workflow/decision_task.rb +1 -3
  149. data/lib/aws/simple_workflow/errors.rb +1 -38
  150. data/lib/aws/simple_workflow/history_event_collection.rb +2 -2
  151. data/lib/aws/simple_workflow/request.rb +5 -49
  152. data/lib/aws/simple_workflow/type.rb +1 -1
  153. data/lib/aws/simple_workflow/type_collection.rb +4 -3
  154. data/lib/aws/simple_workflow/workflow_execution_collection.rb +2 -2
  155. data/lib/aws/sns/client.rb +345 -9
  156. data/lib/aws/sns/errors.rb +1 -5
  157. data/lib/aws/sns/request.rb +1 -2
  158. data/lib/aws/sns/subscription_collection.rb +2 -2
  159. data/lib/aws/sns/topic.rb +15 -14
  160. data/lib/aws/sns/topic_collection.rb +1 -1
  161. data/lib/aws/sqs/client.rb +334 -9
  162. data/lib/aws/sqs/errors.rb +1 -6
  163. data/lib/aws/sqs/queue.rb +20 -21
  164. data/lib/aws/sqs/queue_collection.rb +3 -3
  165. data/lib/aws/sqs/request.rb +2 -2
  166. data/lib/aws/sts.rb +8 -10
  167. data/lib/aws/sts/client.rb +67 -10
  168. data/lib/aws/sts/errors.rb +1 -5
  169. data/lib/aws/sts/request.rb +1 -1
  170. data/lib/user.rb +49 -0
  171. metadata +21 -28
  172. data/lib/aws/auto_scaling/client/xml.rb +0 -32
  173. data/lib/aws/cloud_formation/client/xml.rb +0 -32
  174. data/lib/aws/core/api_config.rb +0 -44
  175. data/lib/aws/core/authorize_v2.rb +0 -39
  176. data/lib/aws/core/authorize_v3.rb +0 -38
  177. data/lib/aws/core/authorize_v4.rb +0 -149
  178. data/lib/aws/core/configured_client_methods.rb +0 -76
  179. data/lib/aws/core/configured_grammars.rb +0 -63
  180. data/lib/aws/core/configured_json_client_methods.rb +0 -74
  181. data/lib/aws/core/ignore_result_element.rb +0 -34
  182. data/lib/aws/core/json_client.rb +0 -41
  183. data/lib/aws/core/xml_grammar.rb +0 -957
  184. data/lib/aws/ec2/client/xml.rb +0 -175
  185. data/lib/aws/elb/client/xml.rb +0 -33
  186. data/lib/aws/elb/listener_spec.rb +0 -14
  187. data/lib/aws/iam/client/xml.rb +0 -34
  188. data/lib/aws/simple_db/client/options.rb +0 -32
  189. data/lib/aws/simple_db/client/xml.rb +0 -63
  190. data/lib/aws/simple_email_service/client/xml.rb +0 -34
  191. data/lib/aws/sns/client/xml.rb +0 -34
  192. data/lib/aws/sqs/client/xml.rb +0 -33
  193. data/lib/aws/sts/client/xml.rb +0 -34
@@ -470,9 +470,7 @@ module AWS
470
470
  # execution and records a SignalExternalWorkflowExecutionRequested
471
471
  # event in the history.
472
472
  #
473
- # @param [String] workflow_id
474
- #
475
- # @param [String] run_id
473
+ # @param [WorkflowExecution,String] workflow_execution
476
474
  #
477
475
  # @param [String] signal_name
478
476
  #
@@ -13,45 +13,8 @@
13
13
 
14
14
  module AWS
15
15
  class SimpleWorkflow
16
-
17
- # @private
18
16
  module Errors
19
-
20
- module ModeledError
21
-
22
- def initialize(request = nil, response = nil)
23
- message = extract_message(response)
24
- include_error_type(response) if response
25
- super(request, response, message)
26
- end
27
-
28
- def extract_message(response)
29
- if response and
30
- response.body
31
- JSON.load(response.body)["message"] || code
32
- else
33
- code
34
- end
35
- end
36
-
37
- def include_error_type(response)
38
- if response.status >= 500
39
- extend Errors::ServerError
40
- else
41
- extend Errors::ClientError
42
- end
43
- end
44
-
45
- def code
46
- self.class.name =~ /(::)?([^:]+)$/
47
- $2
48
- end
49
-
50
- end
51
-
52
- include Core::LazyErrorClasses
53
-
17
+ extend Core::LazyErrorClasses
54
18
  end
55
-
56
19
  end
57
20
  end
@@ -24,8 +24,8 @@ module AWS
24
24
 
25
25
  include Core::Collection::Limitable
26
26
 
27
- # @param [WorkflowExecution] The execution this history event
28
- # belongs to.
27
+ # @param [WorkflowExecution] workflow_execution The execution this
28
+ # history event belongs to.
29
29
  #
30
30
  # @param [Hash] options
31
31
  #
@@ -11,62 +11,19 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- require 'openssl'
15
- require 'time'
16
-
17
14
  module AWS
18
15
  class SimpleWorkflow
19
16
 
17
+ # @private
20
18
  class Request < Core::Http::Request
21
19
 
22
- attr_accessor :body
23
-
24
- def add_authorization!(signer)
25
-
26
- self.access_key_id = signer.access_key_id
27
-
28
- headers["x-amz-date"] ||= (headers["date"] ||= Time.now.rfc822)
29
- headers["host"] ||= host
30
-
31
- #raise ArgumentError, "a security token is required" unless
32
- # signer.session_token
33
- #headers["x-amz-security-token"] = signer.session_token
34
-
35
- # compute the authorization
36
- request_hash = OpenSSL::Digest::SHA256.digest(string_to_sign)
37
- signature = signer.sign(request_hash)
38
- headers["x-amzn-authorization"] =
39
- "AWS3 "+
40
- "AWSAccessKeyId=#{signer.access_key_id},"+
41
- "Algorithm=HmacSHA256,"+
42
- "SignedHeaders=#{headers_to_sign.join(';')},"+
43
- "Signature=#{signature}"
44
- end
45
-
46
- def headers_to_sign
47
- headers.keys.select do |header|
48
- header == "host" ||
49
- header =~ /^x-amz/
50
- end
51
- end
52
-
53
- def canonical_headers
54
- headers_to_sign.map do |name|
55
- value = headers[name]
56
- "#{name.downcase.strip}:#{value.strip}\n"
57
- end.sort.join
58
- end
20
+ include Core::Signature::Version3
59
21
 
60
- def string_to_sign
61
- [http_method,
62
- "/",
63
- "",
64
- canonical_headers,
65
- body].join("\n")
66
- end
22
+ # @return [String,nil]
23
+ attr_accessor :body
67
24
 
68
25
  def read_timeout
69
- # these two operations have long polling
26
+ # increase read timeout for long polling
70
27
  if headers['x-amz-target'] =~ /PollFor(Decision|Activity)Task/
71
28
  90
72
29
  else
@@ -75,6 +32,5 @@ module AWS
75
32
  end
76
33
 
77
34
  end
78
-
79
35
  end
80
36
  end
@@ -17,7 +17,7 @@ module AWS
17
17
  # Base class for {WorkflowType} and {ActivityType} objects.
18
18
  class Type < Resource
19
19
 
20
- # @param [Domain] The domain this type is registered to.
20
+ # @param [Domain] domain The domain this type is registered to.
21
21
  # @param [String] name The name of this type.
22
22
  # @param [String] version The version of this type.
23
23
  def initialize domain, name, version, options = {}
@@ -21,7 +21,8 @@ module AWS
21
21
  include OptionFormatters
22
22
  include Core::Collection::Limitable
23
23
 
24
- # @param [Domain] The domain the (workflow or activity types belong to.
24
+ # @param [Domain] domain The domain the (workflow or activity types
25
+ # belong to.
25
26
  def initialize domain, options = {}
26
27
 
27
28
  @domain = domain
@@ -51,9 +52,9 @@ module AWS
51
52
  # domain.activity_types['name','version']
52
53
  # domain.activity_types.at('name','version')
53
54
  #
54
- # @param [String] Name of the type.
55
+ # @param [String] name Name of the type.
55
56
  #
56
- # @param [String] Version of the type.
57
+ # @param [String] version Version of the type.
57
58
  #
58
59
  # @return [ActivityType,WorkflowType]
59
60
  #
@@ -69,9 +69,9 @@ module AWS
69
69
  # domain.workflow_executions['workflow-id', 'run-id']
70
70
  # domain.workflow_executions.at('workflow-id', 'run-id')
71
71
  #
72
- # @param [String] The workflow execution id.
72
+ # @param [String] workflow_id The workflow execution id.
73
73
  #
74
- # @param [String] The workflow execution run id.
74
+ # @param [String] run_id The workflow execution run id.
75
75
  #
76
76
  # @return [WorkflowExecution
77
77
  #
@@ -14,21 +14,357 @@
14
14
  module AWS
15
15
  class SNS
16
16
 
17
- # @private
17
+ # Client class for Amazon Simple Notifications Service (SNS).
18
18
  class Client < Core::Client
19
19
 
20
- AWS.register_autoloads(self) do
21
- autoload :XML, 'xml'
22
- end
23
-
24
- include Core::ConfiguredClientMethods
25
-
26
20
  API_VERSION = '2010-03-31'
27
21
 
22
+ extend Core::Client::QueryXML
23
+
28
24
  # @private
29
- REQUEST_CLASS = SNS::Request
25
+ CACHEABLE_REQUESTS = Set[]
26
+
27
+ ## client methods ##
28
+
29
+ # Calls the AddPermission API operation.
30
+ # @method add_permission(options = {})
31
+ #
32
+ # === Options:
33
+ #
34
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic whose
35
+ # access control policy you wish to modify.
36
+ # * +:label+ - *required* - (String) A unique identifier for the new
37
+ # policy statement.
38
+ # * +:aws_account_id+ - *required* - (Array<String>) The AWS account IDs
39
+ # of the users (principals) who will be given access to the specified
40
+ # actions. The users must have AWS accounts, but do not need to be
41
+ # signed up for this service.
42
+ # * +:action_name+ - *required* - (Array<String>) The action you want to
43
+ # allow for the specified principal(s). Valid values: any Amazon SNS
44
+ # action name.
45
+ #
46
+ # === Response Structure:
47
+ #
48
+ # This method returns no response data.
49
+ #
50
+ # @return [Core::Response]
51
+ #
52
+ define_client_method :add_permission, 'AddPermission'
53
+
54
+ # Calls the ConfirmSubscription API operation.
55
+ # @method confirm_subscription(options = {})
56
+ #
57
+ # === Options:
58
+ #
59
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic for which
60
+ # you wish to confirm a subscription.
61
+ # * +:token+ - *required* - (String) Short-lived token sent to an
62
+ # endpoint during the Subscribe action.
63
+ # * +:authenticate_on_unsubscribe+ - (String) Disallows unauthenticated
64
+ # unsubscribes of the subscription. If the value of this parameter is
65
+ # +true+ and the request has an AWS signature, then only the topic
66
+ # owner and the subscription owner can unsubscribe the endpoint. The
67
+ # unsubscribe action will require AWS authentication.
68
+ #
69
+ # === Response Structure:
70
+ #
71
+ # * +:subscription_arn+ - (String)
72
+ #
73
+ # @return [Core::Response]
74
+ #
75
+ define_client_method :confirm_subscription, 'ConfirmSubscription'
76
+
77
+ # Calls the CreateTopic API operation.
78
+ # @method create_topic(options = {})
79
+ #
80
+ # === Options:
81
+ #
82
+ # * +:name+ - *required* - (String) The name of the topic you want to
83
+ # create. Constraints: Topic names must be made up of only uppercase
84
+ # and lowercase ASCII letters, numbers, and hyphens, and must be
85
+ # between 1 and 256 characters long.
86
+ #
87
+ # === Response Structure:
88
+ #
89
+ # * +:topic_arn+ - (String)
90
+ #
91
+ # @return [Core::Response]
92
+ #
93
+ define_client_method :create_topic, 'CreateTopic'
94
+
95
+ # Calls the DeleteTopic API operation.
96
+ # @method delete_topic(options = {})
97
+ #
98
+ # === Options:
99
+ #
100
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic you want to
101
+ # delete. http://sns.us-east-1.amazonaws.com/
102
+ # ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic
103
+ # &Action=DeleteTopic &SignatureVersion=2 &SignatureMethod=HmacSHA256
104
+ # &Timestamp=2010-03-31T12%3A00%3A00.000Z &AWSAccessKeyId=(AWS Access
105
+ # Key ID)
106
+ # &Signature=DjHBa%2BbYCKQAzctOPnLP7MbHnrHT3%2FK3kFEZjwcf9%2FU%3D
107
+ # <DeleteTopicResponse
108
+ # xmlns="http://sns.amazonaws.com/doc/2010-03-31/"> <ResponseMetadata>
109
+ # <RequestId>fba800b9-3765-11df-8cf3-c58c53254dfb</RequestId>
110
+ # </ResponseMetadata> </DeleteTopicResponse>
111
+ #
112
+ # === Response Structure:
113
+ #
114
+ # This method returns no response data.
115
+ #
116
+ # @return [Core::Response]
117
+ #
118
+ define_client_method :delete_topic, 'DeleteTopic'
119
+
120
+ # Calls the GetSubscriptionAttributes API operation.
121
+ # @method get_subscription_attributes(options = {})
122
+ #
123
+ # === Options:
124
+ #
125
+ # * +:subscription_arn+ - *required* - (String) The ARN of the
126
+ # subscription whose properties you want to get.
127
+ #
128
+ # === Response Structure:
129
+ #
130
+ # * +:attributes+ - (Hash<String,String>)
131
+ #
132
+ # @return [Core::Response]
133
+ #
134
+ define_client_method :get_subscription_attributes, 'GetSubscriptionAttributes'
135
+
136
+ # Calls the GetTopicAttributes API operation.
137
+ # @method get_topic_attributes(options = {})
138
+ #
139
+ # === Options:
140
+ #
141
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic whose
142
+ # properties you want to get.
143
+ #
144
+ # === Response Structure:
145
+ #
146
+ # * +:attributes+ - (Hash<String,String>)
147
+ #
148
+ # @return [Core::Response]
149
+ #
150
+ define_client_method :get_topic_attributes, 'GetTopicAttributes'
151
+
152
+ # Calls the ListSubscriptions API operation.
153
+ # @method list_subscriptions(options = {})
154
+ #
155
+ # === Options:
156
+ #
157
+ # * +:next_token+ - (String) Token returned by the previous
158
+ # ListSubscriptions request.
159
+ #
160
+ # === Response Structure:
161
+ #
162
+ # * +:subscriptions+ - (Array<Hash>)
163
+ # * +:subscription_arn+ - (String)
164
+ # * +:owner+ - (String)
165
+ # * +:protocol+ - (String)
166
+ # * +:endpoint+ - (String)
167
+ # * +:topic_arn+ - (String)
168
+ # * +:next_token+ - (String)
169
+ #
170
+ # @return [Core::Response]
171
+ #
172
+ define_client_method :list_subscriptions, 'ListSubscriptions'
173
+
174
+ # Calls the ListSubscriptionsByTopic API operation.
175
+ # @method list_subscriptions_by_topic(options = {})
176
+ #
177
+ # === Options:
178
+ #
179
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic for which
180
+ # you wish to find subscriptions.
181
+ # * +:next_token+ - (String) Token returned by the previous
182
+ # ListSubscriptionsByTopic request.
183
+ #
184
+ # === Response Structure:
185
+ #
186
+ # * +:subscriptions+ - (Array<Hash>)
187
+ # * +:subscription_arn+ - (String)
188
+ # * +:owner+ - (String)
189
+ # * +:protocol+ - (String)
190
+ # * +:endpoint+ - (String)
191
+ # * +:topic_arn+ - (String)
192
+ # * +:next_token+ - (String)
193
+ #
194
+ # @return [Core::Response]
195
+ #
196
+ define_client_method :list_subscriptions_by_topic, 'ListSubscriptionsByTopic'
197
+
198
+ # Calls the ListTopics API operation.
199
+ # @method list_topics(options = {})
200
+ #
201
+ # === Options:
202
+ #
203
+ # * +:next_token+ - (String) Token returned by the previous ListTopics
204
+ # request.
205
+ #
206
+ # === Response Structure:
207
+ #
208
+ # * +:topics+ - (Array<Hash>)
209
+ # * +:topic_arn+ - (String)
210
+ # * +:next_token+ - (String)
211
+ #
212
+ # @return [Core::Response]
213
+ #
214
+ define_client_method :list_topics, 'ListTopics'
215
+
216
+ # Calls the Publish API operation.
217
+ # @method publish(options = {})
218
+ #
219
+ # === Options:
220
+ #
221
+ # * +:topic_arn+ - *required* - (String) The topic you want to publish
222
+ # to.
223
+ # * +:message+ - *required* - (String) The message you want to send to
224
+ # the topic. Constraints: Messages must be UTF-8 encoded strings at
225
+ # most 8 KB in size (8192 bytes, not 8192 characters).
226
+ # * +:subject+ - (String) Optional parameter to be used as the "Subject"
227
+ # line of when the message is delivered to e-mail endpoints. This field
228
+ # will also be included, if present, in the standard JSON messages
229
+ # delivered to other endpoints. Constraints: Subjects must be ASCII
230
+ # text that begins with a letter, number or punctuation mark; must not
231
+ # include line breaks or control characters; and must be less than 100
232
+ # characters long.
233
+ # * +:message_structure+ - (String) Optional parameter. It will have one
234
+ # valid value: "json". If this option, Message is present and set to
235
+ # "json", the value of Message must: be a syntactically valid JSON
236
+ # object. It must contain at least a top level JSON key of "default"
237
+ # with a value that is a string. For any other top level key that
238
+ # matches one of our transport protocols (e.g. "http"), then the
239
+ # corresponding value (if it is a string) will be used for the message
240
+ # published for that protocol Constraints: Keys in the JSON object that
241
+ # correspond to supported transport protocols must have simple JSON
242
+ # string values. The values will be parsed (unescaped) before they are
243
+ # used in outgoing messages. Typically, outbound notifications are JSON
244
+ # encoded (meaning, the characters will be reescaped for sending). JSON
245
+ # strings are UTF-8. Values have a minimum length of 0 (the empty
246
+ # string, "", is allowed). Values have a maximum length bounded by the
247
+ # overall message size (so, including multiple protocols may limit
248
+ # message sizes). Non-string values will cause the key to be ignored.
249
+ # Keys that do not correspond to supported transport protocols will be
250
+ # ignored. Duplicate keys are not allowed. Failure to parse or validate
251
+ # any key or value in the message will cause the Publish call to return
252
+ # an error (no partial delivery).
253
+ #
254
+ # === Response Structure:
255
+ #
256
+ # * +:message_id+ - (String)
257
+ #
258
+ # @return [Core::Response]
259
+ #
260
+ define_client_method :publish, 'Publish'
261
+
262
+ # Calls the RemovePermission API operation.
263
+ # @method remove_permission(options = {})
264
+ #
265
+ # === Options:
266
+ #
267
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic whose
268
+ # access control policy you wish to modify.
269
+ # * +:label+ - *required* - (String) The unique label of the statement
270
+ # you want to remove.
271
+ #
272
+ # === Response Structure:
273
+ #
274
+ # This method returns no response data.
275
+ #
276
+ # @return [Core::Response]
277
+ #
278
+ define_client_method :remove_permission, 'RemovePermission'
279
+
280
+ # Calls the SetSubscriptionAttributes API operation.
281
+ # @method set_subscription_attributes(options = {})
282
+ #
283
+ # === Options:
284
+ #
285
+ # * +:subscription_arn+ - *required* - (String) The ARN of the
286
+ # subscription to modify.
287
+ # * +:attribute_name+ - *required* - (String) The name of the attribute
288
+ # you want to set. Only a subset of the subscriptions attributes are
289
+ # mutable. Valid values: DeliveryPolicy
290
+ # * +:attribute_value+ - *required* - (String) The new value for the
291
+ # attribute.
292
+ #
293
+ # === Response Structure:
294
+ #
295
+ # This method returns no response data.
296
+ #
297
+ # @return [Core::Response]
298
+ #
299
+ define_client_method :set_subscription_attributes, 'SetSubscriptionAttributes'
300
+
301
+ # Calls the SetTopicAttributes API operation.
302
+ # @method set_topic_attributes(options = {})
303
+ #
304
+ # === Options:
305
+ #
306
+ # * +:topic_arn+ - *required* - (String) The ARN of the topic to modify.
307
+ # * +:attribute_name+ - *required* - (String) The name of the attribute
308
+ # you want to set. Only a subset of the topic's attributes are mutable.
309
+ # Valid values: Policy | DisplayName
310
+ # * +:attribute_value+ - *required* - (String) The new value for the
311
+ # attribute.
312
+ #
313
+ # === Response Structure:
314
+ #
315
+ # This method returns no response data.
316
+ #
317
+ # @return [Core::Response]
318
+ #
319
+ define_client_method :set_topic_attributes, 'SetTopicAttributes'
320
+
321
+ # Calls the Subscribe API operation.
322
+ # @method subscribe(options = {})
323
+ #
324
+ # === Options:
325
+ #
326
+ # * +:topic_arn+ - *required* - (String) The ARN of topic you want to
327
+ # subscribe to.
328
+ # * +:protocol+ - *required* - (String) The protocol you want to use.
329
+ # Supported protocols include: http -- delivery of JSON-encoded message
330
+ # via HTTP POST https -- delivery of JSON-encoded message via HTTPS
331
+ # POST email -- delivery of message via SMTP email-json -- delivery of
332
+ # JSON-encoded message via SMTP sms -- delivery of message via SMS sqs
333
+ # -- delivery of JSON-encoded message to an Amazon SQS queue
334
+ # * +:endpoint+ - *required* - (String) The endpoint that you want to
335
+ # receive notifications. Endpoints vary by protocol: For the http
336
+ # protocol, the endpoint is an URL beginning with "http://" For the
337
+ # https protocol, the endpoint is a URL beginning with "https://" For
338
+ # the email protocol, the endpoint is an e-mail address For the
339
+ # email-json protocol, the endpoint is an e-mail address For the sms
340
+ # protocol, the endpoint is a phone number of an SMS-enabled device For
341
+ # the sqs protocol, the endpoint is the ARN of an Amazon SQS queue
342
+ #
343
+ # === Response Structure:
344
+ #
345
+ # * +:subscription_arn+ - (String)
346
+ #
347
+ # @return [Core::Response]
348
+ #
349
+ define_client_method :subscribe, 'Subscribe'
350
+
351
+ # Calls the Unsubscribe API operation.
352
+ # @method unsubscribe(options = {})
353
+ #
354
+ # === Options:
355
+ #
356
+ # * +:subscription_arn+ - *required* - (String) The ARN of the
357
+ # subscription to be deleted.
358
+ #
359
+ # === Response Structure:
360
+ #
361
+ # This method returns no response data.
362
+ #
363
+ # @return [Core::Response]
364
+ #
365
+ define_client_method :unsubscribe, 'Unsubscribe'
30
366
 
31
- configure_client
367
+ ## end client methods ##
32
368
 
33
369
  end
34
370
  end