aws-sdk 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
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