aws-sdk 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. data/README.rdoc +4 -4
  2. data/lib/aws-sdk.rb +60 -1
  3. data/lib/aws.rb +1 -50
  4. data/lib/aws/api_config/CloudFront-2012-05-05.yml +864 -899
  5. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
  6. data/lib/aws/api_config/EC2-2012-07-20.yml +0 -2
  7. data/lib/aws/api_config/Glacier-2012-06-01.yml +622 -0
  8. data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
  9. data/lib/aws/api_config/{SQS-2011-10-01.yml → SQS-2012-11-05.yml} +3 -1
  10. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
  11. data/lib/aws/cloud_front.rb +71 -0
  12. data/lib/aws/cloud_front/client.rb +1307 -0
  13. data/lib/aws/cloud_front/config.rb +18 -0
  14. data/lib/aws/cloud_front/errors.rb +22 -0
  15. data/lib/aws/cloud_front/request.rb +44 -0
  16. data/lib/aws/core.rb +19 -1
  17. data/lib/aws/core/client.rb +7 -0
  18. data/lib/aws/core/collection.rb +1 -1
  19. data/lib/aws/core/configuration.rb +12 -0
  20. data/lib/aws/core/data.rb +13 -8
  21. data/lib/aws/core/json_client.rb +3 -4
  22. data/lib/aws/core/json_parser.rb +76 -0
  23. data/lib/aws/core/json_request_builder.rb +4 -3
  24. data/lib/aws/core/json_response_parser.rb +1 -3
  25. data/lib/aws/core/managed_file.rb +32 -0
  26. data/lib/aws/core/options/json_serializer.rb +82 -0
  27. data/lib/aws/core/options/validator.rb +5 -1
  28. data/lib/aws/core/options/xml_serializer.rb +18 -4
  29. data/lib/aws/core/{rest_client.rb → rest_json_client.rb} +5 -6
  30. data/lib/aws/core/rest_request_builder.rb +59 -35
  31. data/lib/aws/core/rest_response_parser.rb +13 -4
  32. data/lib/aws/core/rest_xml_client.rb +47 -0
  33. data/lib/aws/core/signature/version_4.rb +22 -8
  34. data/lib/aws/data_pipeline.rb +30 -0
  35. data/lib/aws/data_pipeline/client.rb +392 -0
  36. data/lib/aws/data_pipeline/config.rb +18 -0
  37. data/lib/aws/data_pipeline/errors.rb +20 -0
  38. data/lib/aws/data_pipeline/request.rb +26 -0
  39. data/lib/aws/ec2/instance_collection.rb +11 -3
  40. data/lib/aws/ec2/security_group.rb +5 -5
  41. data/lib/aws/ec2/security_group/{egress_ip_permission_collection.rb → ip_permission_collection.rb} +33 -14
  42. data/lib/aws/glacier.rb +50 -0
  43. data/lib/aws/glacier/archive.rb +54 -0
  44. data/lib/aws/glacier/archive_collection.rb +141 -0
  45. data/lib/aws/glacier/client.rb +286 -0
  46. data/lib/aws/glacier/config.rb +19 -0
  47. data/lib/aws/glacier/errors.rb +22 -0
  48. data/lib/aws/glacier/request.rb +34 -0
  49. data/lib/aws/glacier/resource.rb +30 -0
  50. data/lib/aws/glacier/vault.rb +137 -0
  51. data/lib/aws/glacier/vault_collection.rb +75 -0
  52. data/lib/aws/glacier/vault_notification_configuration.rb +27 -0
  53. data/lib/aws/import_export.rb +71 -0
  54. data/lib/aws/import_export/client.rb +109 -0
  55. data/lib/aws/import_export/config.rb +19 -0
  56. data/lib/aws/import_export/errors.rb +22 -0
  57. data/lib/aws/import_export/request.rb +23 -0
  58. data/lib/aws/route_53/client.rb +1 -1
  59. data/lib/aws/s3/bucket_lifecycle_configuration.rb +160 -63
  60. data/lib/aws/s3/client.rb +43 -0
  61. data/lib/aws/s3/client/xml.rb +6 -0
  62. data/lib/aws/s3/cors_rule_collection.rb +1 -1
  63. data/lib/aws/s3/data_options.rb +1 -3
  64. data/lib/aws/s3/request.rb +1 -1
  65. data/lib/aws/s3/s3_object.rb +52 -10
  66. data/lib/aws/sqs/client.rb +9 -3
  67. data/lib/aws/sqs/queue.rb +44 -5
  68. data/lib/aws/storage_gateway.rb +71 -0
  69. data/lib/aws/storage_gateway/client.rb +472 -0
  70. data/lib/aws/storage_gateway/config.rb +18 -0
  71. data/lib/aws/storage_gateway/errors.rb +22 -0
  72. data/lib/aws/storage_gateway/request.rb +28 -0
  73. data/lib/aws/version.rb +1 -1
  74. metadata +45 -10
  75. data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +0 -61
@@ -31,6 +31,7 @@ module AWS
31
31
  headers['x-amz-date'] = datetime
32
32
  headers['x-amz-security-token'] = credentials.session_token if
33
33
  credentials.session_token
34
+ headers['x-amz-content-sha256'] ||= hexdigest(body || '')
34
35
  headers['authorization'] = authorization(credentials, datetime)
35
36
  end
36
37
 
@@ -40,7 +41,7 @@ module AWS
40
41
  parts = []
41
42
  parts << "AWS4-HMAC-SHA256 Credential=#{credentials.access_key_id}/#{credential_string(datetime)}"
42
43
  parts << "SignedHeaders=#{signed_headers}"
43
- parts << "Signature=#{hex16(signature(credentials, datetime))}"
44
+ parts << "Signature=#{signature(credentials, datetime)}"
44
45
  parts.join(', ')
45
46
  end
46
47
 
@@ -50,7 +51,7 @@ module AWS
50
51
  k_region = hmac(k_date, region)
51
52
  k_service = hmac(k_region, service)
52
53
  k_credentials = hmac(k_service, 'aws4_request')
53
- hmac(k_credentials, string_to_sign(datetime))
54
+ hexhmac(k_credentials, string_to_sign(datetime))
54
55
  end
55
56
 
56
57
  def string_to_sign datetime
@@ -58,7 +59,7 @@ module AWS
58
59
  parts << 'AWS4-HMAC-SHA256'
59
60
  parts << datetime
60
61
  parts << credential_string(datetime)
61
- parts << hex16(hash(canonical_request))
62
+ parts << hexdigest(canonical_request)
62
63
  parts.join("\n")
63
64
  end
64
65
 
@@ -78,7 +79,7 @@ module AWS
78
79
  parts << querystring
79
80
  parts << canonical_headers + "\n"
80
81
  parts << signed_headers
81
- parts << hex16(hash(body || ''))
82
+ parts << headers['x-amz-content-sha256']
82
83
  parts.join("\n")
83
84
  end
84
85
 
@@ -107,12 +108,25 @@ module AWS
107
108
  values.map(&:to_s).join(',').gsub(/\s+/, ' ').strip
108
109
  end
109
110
 
110
- def hex16 string
111
- string.unpack('H*').first
111
+ def hexdigest value
112
+ digest = Digest::SHA256.new
113
+ if value.respond_to?(:read)
114
+ chunk = nil
115
+ chunk_size = 1024 * 1024 # 1 megabyte
116
+ digest.update(chunk) while chunk = value.read(chunk_size)
117
+ value.rewind
118
+ else
119
+ digest.update(value)
120
+ end
121
+ digest.hexdigest
122
+ end
123
+
124
+ def hmac key, value
125
+ OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), key, value)
112
126
  end
113
127
 
114
- def hash string
115
- Digest::SHA256.digest(string)
128
+ def hexhmac key, value
129
+ OpenSSL::HMAC.hexdigest(OpenSSL::Digest::Digest.new('sha256'), key, value)
116
130
  end
117
131
 
118
132
  end
@@ -0,0 +1,30 @@
1
+ # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ require 'aws/core'
15
+ require 'aws/data_pipeline/config'
16
+
17
+ module AWS
18
+
19
+ class DataPipeline
20
+
21
+ AWS.register_autoloads(self, 'aws/data_pipeline') do
22
+ autoload :Client, 'client'
23
+ autoload :Errors, 'errors'
24
+ autoload :Request, 'request'
25
+ end
26
+
27
+ include Core::ServiceInterface
28
+
29
+ end
30
+ end
@@ -0,0 +1,392 @@
1
+ # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ class DataPipeline
16
+
17
+ # Client class for Amazon DynamoDB.
18
+ class Client < Core::JSONClient
19
+
20
+ define_client_methods('2012-10-29')
21
+
22
+ # @private
23
+ CACHEABLE_REQUESTS = Set[]
24
+
25
+ ## client methods ##
26
+
27
+ # @!method activate_pipeline(options = {})
28
+ # Calls the ActivatePipeline API operation.
29
+ # @param [Hash] options
30
+ # * +:pipeline_id+ - *required* - (String) The identifier of the
31
+ # pipeline to activate.
32
+ # @return [Core::Response]
33
+
34
+ # @!method create_pipeline(options = {})
35
+ # Calls the CreatePipeline API operation.
36
+ # @param [Hash] options
37
+ # * +:name+ - *required* - (String) The name of the new pipeline. You
38
+ # can use the same name for multiple pipelines associated with your
39
+ # AWS account, because AWS Data Pipeline assigns each new pipeline a
40
+ # unique pipeline identifier.
41
+ # * +:unique_id+ - *required* - (String) A unique identifier that you
42
+ # specify. This identifier is not the same as the pipeline identifier
43
+ # assigned by AWS Data Pipeline. You are responsible for defining the
44
+ # format and ensuring the uniqueness of this identifier. You use this
45
+ # parameter to ensure idempotency during repeated calls to
46
+ # CreatePipeline. For example, if the first call to CreatePipeline
47
+ # does not return a clear success, you can pass in the same unique
48
+ # identifier and pipeline name combination on a subsequent call to
49
+ # CreatePipeline. CreatePipeline ensures that if a pipeline already
50
+ # exists with the same name and unique identifier, a new pipeline
51
+ # will not be created. Instead, you'll receive the pipeline
52
+ # identifier from the previous attempt. The uniqueness of the name
53
+ # and unique identifier combination is scoped to the AWS account or
54
+ # IAM user credentials.
55
+ # * +:description+ - (String) The description of the new pipeline.
56
+ # @return [Core::Response]
57
+ # The #data method of the response object returns
58
+ # a hash with the following structure:
59
+ # * +pipelineId+ - (String)
60
+
61
+ # @!method delete_pipeline(options = {})
62
+ # Calls the DeletePipeline API operation.
63
+ # @param [Hash] options
64
+ # * +:pipeline_id+ - *required* - (String) The identifier of the
65
+ # pipeline to be deleted.
66
+ # @return [Core::Response]
67
+
68
+ # @!method describe_objects(options = {})
69
+ # Calls the DescribeObjects API operation.
70
+ # @param [Hash] options
71
+ # * +:pipeline_id+ - *required* - (String) Identifier of the pipeline
72
+ # that contains the object definitions.
73
+ # * +:object_ids+ - *required* - (Array<String>) Identifiers of the
74
+ # pipeline objects that contain the definitions to be described. You
75
+ # can pass as many as 25 identifiers in a single call to
76
+ # DescribeObjects.
77
+ # * +:evaluate_expressions+ - (Boolean) Indicates whether any
78
+ # expressions in the object should be evaluated when the object
79
+ # descriptions are returned.
80
+ # * +:marker+ - (String) The starting point for the results to be
81
+ # returned. The first time you call DescribeObjects, this value
82
+ # should be empty. As long as the action returns HasMoreResults as
83
+ # True, you can call DescribeObjects again and pass the marker value
84
+ # from the response to retrieve the next set of results.
85
+ # @return [Core::Response]
86
+ # The #data method of the response object returns
87
+ # a hash with the following structure:
88
+ # * +pipelineObjects+ - (Array<Hash>)
89
+ # * +id+ - (String)
90
+ # * +name+ - (String)
91
+ # * +fields+ - (Array<Hash>)
92
+ # * +key+ - (String)
93
+ # * +stringValue+ - (String)
94
+ # * +refValue+ - (String)
95
+ # * +marker+ - (String)
96
+ # * +hasMoreResults+ - (Boolean)
97
+
98
+ # @!method describe_pipelines(options = {})
99
+ # Calls the DescribePipelines API operation.
100
+ # @param [Hash] options
101
+ # * +:pipeline_ids+ - *required* - (Array<String>) Identifiers of the
102
+ # pipelines to describe. You can pass as many as 25 identifiers in a
103
+ # single call to DescribePipelines. You can obtain pipeline
104
+ # identifiers by calling ListPipelines.
105
+ # @return [Core::Response]
106
+ # The #data method of the response object returns
107
+ # a hash with the following structure:
108
+ # * +pipelineDescriptionList+ - (Array<Hash>)
109
+ # * +pipelineId+ - (String)
110
+ # * +name+ - (String)
111
+ # * +fields+ - (Array<Hash>)
112
+ # * +key+ - (String)
113
+ # * +stringValue+ - (String)
114
+ # * +refValue+ - (String)
115
+ # * +description+ - (String)
116
+
117
+ # @!method evaluate_expression(options = {})
118
+ # Calls the EvaluateExpression API operation.
119
+ # @param [Hash] options
120
+ # * +:pipeline_id+ - *required* - (String) The identifier of the
121
+ # pipeline.
122
+ # * +:object_id+ - *required* - (String) The identifier of the object.
123
+ # * +:expression+ - *required* - (String) The expression to evaluate.
124
+ # @return [Core::Response]
125
+ # The #data method of the response object returns
126
+ # a hash with the following structure:
127
+ # * +evaluatedExpression+ - (String)
128
+
129
+ # @!method get_pipeline_definition(options = {})
130
+ # Calls the GetPipelineDefinition API operation.
131
+ # @param [Hash] options
132
+ # * +:pipeline_id+ - *required* - (String) The identifier of the
133
+ # pipeline.
134
+ # * +:version+ - (String) The version of the pipeline definition to
135
+ # retrieve. This parameter accepts the values latest and active.
136
+ # Where latest indicates the last definition saved to the pipeline
137
+ # and active indicates the last definition of the pipeline that was
138
+ # activated.
139
+ # @return [Core::Response]
140
+ # The #data method of the response object returns
141
+ # a hash with the following structure:
142
+ # * +pipelineObjects+ - (Array<Hash>)
143
+ # * +id+ - (String)
144
+ # * +name+ - (String)
145
+ # * +fields+ - (Array<Hash>)
146
+ # * +key+ - (String)
147
+ # * +stringValue+ - (String)
148
+ # * +refValue+ - (String)
149
+
150
+ # @!method list_pipelines(options = {})
151
+ # Calls the ListPipelines API operation.
152
+ # @param [Hash] options
153
+ # * +:marker+ - (String) The starting point for the results to be
154
+ # returned. The first time you call ListPipelines, this value should
155
+ # be empty. As long as the action returns HasMoreResults as True, you
156
+ # can call ListPipelines again and pass the marker value from the
157
+ # response to retrieve the next set of results.
158
+ # @return [Core::Response]
159
+ # The #data method of the response object returns
160
+ # a hash with the following structure:
161
+ # * +pipelineIdList+ - (Array<Hash>)
162
+ # * +id+ - (String)
163
+ # * +name+ - (String)
164
+ # * +marker+ - (String)
165
+ # * +hasMoreResults+ - (Boolean)
166
+
167
+ # @!method poll_for_task(options = {})
168
+ # Calls the PollForTask API operation.
169
+ # @param [Hash] options
170
+ # * +:worker_group+ - *required* - (String) Indicates the type of task
171
+ # the task runner is configured to accept and process. The worker
172
+ # group is set as a field on objects in the pipeline when they are
173
+ # created. You can only specify a single value for workerGroup in the
174
+ # call to PollForTask. There are no wildcard values permitted in
175
+ # workerGroup, the string must be an exact, case-sensitive, match.
176
+ # * +:hostname+ - (String) The public DNS name of the calling task
177
+ # runner.
178
+ # * +:instance_identity+ - (Hash) Identity information for the Amazon
179
+ # EC2 instance that is hosting the task runner. You can get this
180
+ # value by calling the URI,
181
+ # http://169.254.169.254/latest/meta-data/instance-id, from the EC2
182
+ # instance. For more information, go to Instance Metadata in the
183
+ # Amazon Elastic Compute Cloud User Guide. Passing in this value
184
+ # proves that your task runner is running on an EC2 instance, and
185
+ # ensures the proper AWS Data Pipeline service charges are applied to
186
+ # your pipeline.
187
+ # * +:document+ - (String) A description of an Amazon EC2 instance
188
+ # that is generated when the instance is launched and exposed to
189
+ # the instance via the instance meta-data service in the form of a
190
+ # JSON representation of an object.
191
+ # * +:signature+ - (String) A signature which can be used to verify
192
+ # the accuracy and authenticity of the information provided in the
193
+ # instance identity document.
194
+ # @return [Core::Response]
195
+ # The #data method of the response object returns
196
+ # a hash with the following structure:
197
+ # * +taskObject+ - (Hash)
198
+ # * +taskId+ - (String)
199
+ # * +pipelineId+ - (String)
200
+ # * +attemptId+ - (String)
201
+ # * +objects+ - (Hash<String,Hash>)
202
+ # * +id+ - (String)
203
+ # * +name+ - (String)
204
+ # * +fields+ - (Array<Hash>)
205
+ # * +key+ - (String)
206
+ # * +stringValue+ - (String)
207
+ # * +refValue+ - (String)
208
+
209
+ # @!method put_pipeline_definition(options = {})
210
+ # Calls the PutPipelineDefinition API operation.
211
+ # @param [Hash] options
212
+ # * +:pipeline_id+ - *required* - (String) The identifier of the
213
+ # pipeline to be configured.
214
+ # * +:pipeline_objects+ - *required* - (Array<Hash>) The objects that
215
+ # define the pipeline. These will overwrite the existing pipeline
216
+ # definition.
217
+ # * +:id+ - *required* - (String) Identifier of the object.
218
+ # * +:name+ - *required* - (String) Name of the object.
219
+ # * +:fields+ - *required* - (Array<Hash>) Key-value pairs that
220
+ # define the properties of the object.
221
+ # * +:key+ - *required* - (String) The field identifier.
222
+ # * +:string_value+ - (String) The field value, expressed as a
223
+ # String.
224
+ # * +:ref_value+ - (String) The field value, expressed as the
225
+ # identifier of another object.
226
+ # @return [Core::Response]
227
+ # The #data method of the response object returns
228
+ # a hash with the following structure:
229
+ # * +validationErrors+ - (Array<Hash>)
230
+ # * +id+ - (String)
231
+ # * +errors+ - (Array<String>)
232
+ # * +errored+ - (Boolean)
233
+
234
+ # @!method query_objects(options = {})
235
+ # Calls the QueryObjects API operation.
236
+ # @param [Hash] options
237
+ # * +:pipeline_id+ - *required* - (String) Identifier of the pipeline
238
+ # to be queried for object names.
239
+ # * +:query+ - (Hash) Query that defines the objects to be returned.
240
+ # The Query object can contain a maximum of ten selectors. The
241
+ # conditions in the query are limited to top-level String fields in
242
+ # the object. These filters can be applied to components, instances,
243
+ # and attempts.
244
+ # * +:selectors+ - (Array<Hash>) List of selectors that define the
245
+ # query. An object must satisfy all of the selectors to match the
246
+ # query.
247
+ # * +:field_name+ - (String) The name of the field that the
248
+ # operator will be applied to. The field name is the "key"
249
+ # portion of the field definition in the pipeline definition
250
+ # syntax that is used by the AWS Data Pipeline API. If the field
251
+ # is not set on the object, the condition fails.
252
+ # * +:operator+ - (Hash)
253
+ # * +:type+ - (String) The logical operation to be performed:
254
+ # equal (EQ), equal reference (REF_EQ), less than or equal
255
+ # (LE), greater than or equal (GE), or between (BETWEEN). Equal
256
+ # reference (REF_EQ) can be used only with reference fields.
257
+ # The other comparison types can be used only with String
258
+ # fields. The comparison types you can use apply only to
259
+ # certain object fields, as detailed below. The comparison
260
+ # operators EQ and REF_EQ act on the following fields: name
261
+ # @sphere parent @componentParent @instanceParent @status
262
+ # @scheduledStartTime @scheduledEndTime @actualStartTime
263
+ # @actualEndTime The comparison operators GE, LE, and BETWEEN
264
+ # act on the following fields: @scheduledStartTime
265
+ # @scheduledEndTime @actualStartTime @actualEndTime Note that
266
+ # fields beginning with the at sign (@) are read-only and set
267
+ # by the web service. When you name fields, you should choose
268
+ # names containing only alpha-numeric values, as symbols may be
269
+ # reserved by AWS Data Pipeline. A best practice for
270
+ # user-defined fields that you add to a pipeline is to prefix
271
+ # their name with the string "my".
272
+ # * +:values+ - (Array<String>) The value that the actual field
273
+ # value will be compared with.
274
+ # * +:sphere+ - *required* - (String) Specifies whether the query
275
+ # applies to components or instances. Allowable values: COMPONENT,
276
+ # INSTANCE, ATTEMPT.
277
+ # * +:marker+ - (String) The starting point for the results to be
278
+ # returned. The first time you call QueryObjects, this value should
279
+ # be empty. As long as the action returns HasMoreResults as True, you
280
+ # can call QueryObjects again and pass the marker value from the
281
+ # response to retrieve the next set of results.
282
+ # * +:limit+ - (Integer) Specifies the maximum number of object names
283
+ # that QueryObjects will return in a single call. The default value
284
+ # is 100.
285
+ # @return [Core::Response]
286
+ # The #data method of the response object returns
287
+ # a hash with the following structure:
288
+ # * +ids+ - (Array<String>)
289
+ # * +marker+ - (String)
290
+ # * +hasMoreResults+ - (Boolean)
291
+
292
+ # @!method report_task_progress(options = {})
293
+ # Calls the ReportTaskProgress API operation.
294
+ # @param [Hash] options
295
+ # * +:task_id+ - *required* - (String) Identifier of the task assigned
296
+ # to the task runner. This value is provided in the TaskObject that
297
+ # the service returns with the response for the PollForTask action.
298
+ # @return [Core::Response]
299
+ # The #data method of the response object returns
300
+ # a hash with the following structure:
301
+ # * +canceled+ - (Boolean)
302
+
303
+ # @!method report_task_runner_heartbeat(options = {})
304
+ # Calls the ReportTaskRunnerHeartbeat API operation.
305
+ # @param [Hash] options
306
+ # * +:taskrunner_id+ - *required* - (String) The identifier of the task
307
+ # runner. This value should be unique across your AWS account. In the
308
+ # case of AWS Data Pipeline Task Runner launched on a resource
309
+ # managed by AWS Data Pipeline, the web service provides a unique
310
+ # identifier when it launches the application. If you have written a
311
+ # custom task runner, you should assign a unique identifier for the
312
+ # task runner.
313
+ # * +:worker_group+ - (String) Indicates the type of task the task
314
+ # runner is configured to accept and process. The worker group is set
315
+ # as a field on objects in the pipeline when they are created. You
316
+ # can only specify a single value for workerGroup in the call to
317
+ # ReportTaskRunnerHeartbeat. There are no wildcard values permitted
318
+ # in workerGroup, the string must be an exact, case-sensitive, match.
319
+ # * +:hostname+ - (String) The public DNS name of the calling task
320
+ # runner.
321
+ # @return [Core::Response]
322
+ # The #data method of the response object returns
323
+ # a hash with the following structure:
324
+ # * +terminate+ - (Boolean)
325
+
326
+ # @!method set_status(options = {})
327
+ # Calls the SetStatus API operation.
328
+ # @param [Hash] options
329
+ # * +:pipeline_id+ - *required* - (String) Identifies the pipeline that
330
+ # contains the objects.
331
+ # * +:object_ids+ - *required* - (Array<String>) Identifies an array of
332
+ # objects. The corresponding objects can be either physical or
333
+ # components, but not a mix of both types.
334
+ # * +:status+ - *required* - (String) Specifies the status to be set on
335
+ # all the objects in objectIds. For components, this can be either
336
+ # PAUSE or RESUME. For instances, this can be either CANCEL, RERUN,
337
+ # or MARK_FINISHED.
338
+ # @return [Core::Response]
339
+
340
+ # @!method set_task_status(options = {})
341
+ # Calls the SetTaskStatus API operation.
342
+ # @param [Hash] options
343
+ # * +:task_id+ - *required* - (String) Identifies the task assigned to
344
+ # the task runner. This value is set in the TaskObject that is
345
+ # returned by the PollForTask action.
346
+ # * +:task_status+ - *required* - (String) If FINISHED, the task
347
+ # successfully completed. If FAILED the task ended unsuccessfully.
348
+ # The FALSE value is used by preconditions.
349
+ # * +:error_code+ - (Integer) If an error occurred during the task,
350
+ # specifies a numerical value that represents the error. This value
351
+ # is set on the physical attempt object. It is used to display error
352
+ # information to the user. The web service does not parse this value.
353
+ # * +:error_message+ - (String) If an error occurred during the task,
354
+ # specifies a text description of the error. This value is set on the
355
+ # physical attempt object. It is used to display error information to
356
+ # the user. The web service does not parse this value.
357
+ # * +:error_stack_trace+ - (String) If an error occurred during the
358
+ # task, specifies the stack trace associated with the error. This
359
+ # value is set on the physical attempt object. It is used to display
360
+ # error information to the user. The web service does not parse this
361
+ # value.
362
+ # @return [Core::Response]
363
+
364
+ # @!method validate_pipeline_definition(options = {})
365
+ # Calls the ValidatePipelineDefinition API operation.
366
+ # @param [Hash] options
367
+ # * +:pipeline_id+ - *required* - (String) Identifies the pipeline
368
+ # whose definition is to be validated.
369
+ # * +:pipeline_objects+ - *required* - (Array<Hash>) A list of objects
370
+ # that define the pipeline changes to validate against the pipeline.
371
+ # * +:id+ - *required* - (String) Identifier of the object.
372
+ # * +:name+ - *required* - (String) Name of the object.
373
+ # * +:fields+ - *required* - (Array<Hash>) Key-value pairs that
374
+ # define the properties of the object.
375
+ # * +:key+ - *required* - (String) The field identifier.
376
+ # * +:string_value+ - (String) The field value, expressed as a
377
+ # String.
378
+ # * +:ref_value+ - (String) The field value, expressed as the
379
+ # identifier of another object.
380
+ # @return [Core::Response]
381
+ # The #data method of the response object returns
382
+ # a hash with the following structure:
383
+ # * +validationErrors+ - (Array<Hash>)
384
+ # * +id+ - (String)
385
+ # * +errors+ - (Array<String>)
386
+ # * +errored+ - (Boolean)
387
+
388
+ ## end client methods ##
389
+
390
+ end
391
+ end
392
+ end