aws-sdk-datapipeline 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2575784a4161957210a1dbad13eb7af5061650da
4
+ data.tar.gz: 58c81b7f74b08557d7c89daca9e08c8f0ff7ae46
5
+ SHA512:
6
+ metadata.gz: f40a0288769213e842b634331b947ab7dab89d25113c6e95d5f6aa708c4bdfa9ff11a46309000678d89516facb9c14fe680cd58b5b168c9b5047125ba79c0870
7
+ data.tar.gz: fce42e5ce073cbf527d7f72f0bdad6ad5e51f327be7f2a734574f6ede88fd573404b5dcc22ade1e2026b01cbaccf3c6b6c1c11e4dcf84a51763328f1ea7e809b
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-datapipeline/types'
12
+ require_relative 'aws-sdk-datapipeline/client_api'
13
+ require_relative 'aws-sdk-datapipeline/client'
14
+ require_relative 'aws-sdk-datapipeline/errors'
15
+ require_relative 'aws-sdk-datapipeline/resource'
16
+ require_relative 'aws-sdk-datapipeline/customizations'
17
+
18
+ # This module provides support for AWS Data Pipeline. This module is available in the
19
+ # `aws-sdk-datapipeline` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Data Pipeline all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::DataPipeline::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::DataPipeline
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,990 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:datapipeline)
25
+
26
+ module Aws
27
+ module DataPipeline
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :datapipeline
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Validates the specified pipeline and starts processing pipeline tasks.
143
+ # If the pipeline does not pass validation, activation fails.
144
+ #
145
+ # If you need to pause the pipeline to investigate an issue with a
146
+ # component, such as a data source or script, call DeactivatePipeline.
147
+ #
148
+ # To activate a finished pipeline, modify the end date for the pipeline
149
+ # and then activate it.
150
+ # @option params [required, String] :pipeline_id
151
+ # The ID of the pipeline.
152
+ # @option params [Array<Types::ParameterValue>] :parameter_values
153
+ # A list of parameter values to pass to the pipeline at activation.
154
+ # @option params [Time,DateTime,Date,Integer,String] :start_timestamp
155
+ # The date and time to resume the pipeline. By default, the pipeline
156
+ # resumes from the last completed execution.
157
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
158
+ #
159
+ # @example Request syntax with placeholder values
160
+ # resp = client.activate_pipeline({
161
+ # pipeline_id: "id", # required
162
+ # parameter_values: [
163
+ # {
164
+ # id: "fieldNameString", # required
165
+ # string_value: "fieldStringValue", # required
166
+ # },
167
+ # ],
168
+ # start_timestamp: Time.now,
169
+ # })
170
+ # @overload activate_pipeline(params = {})
171
+ # @param [Hash] params ({})
172
+ def activate_pipeline(params = {}, options = {})
173
+ req = build_request(:activate_pipeline, params)
174
+ req.send_request(options)
175
+ end
176
+
177
+ # Adds or modifies tags for the specified pipeline.
178
+ # @option params [required, String] :pipeline_id
179
+ # The ID of the pipeline.
180
+ # @option params [required, Array<Types::Tag>] :tags
181
+ # The tags to add, as key/value pairs.
182
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
183
+ #
184
+ # @example Request syntax with placeholder values
185
+ # resp = client.add_tags({
186
+ # pipeline_id: "id", # required
187
+ # tags: [ # required
188
+ # {
189
+ # key: "tagKey", # required
190
+ # value: "tagValue", # required
191
+ # },
192
+ # ],
193
+ # })
194
+ # @overload add_tags(params = {})
195
+ # @param [Hash] params ({})
196
+ def add_tags(params = {}, options = {})
197
+ req = build_request(:add_tags, params)
198
+ req.send_request(options)
199
+ end
200
+
201
+ # Creates a new, empty pipeline. Use PutPipelineDefinition to populate
202
+ # the pipeline.
203
+ # @option params [required, String] :name
204
+ # The name for the pipeline. You can use the same name for multiple
205
+ # pipelines associated with your AWS account, because AWS Data Pipeline
206
+ # assigns each pipeline a unique pipeline identifier.
207
+ # @option params [required, String] :unique_id
208
+ # A unique identifier. This identifier is not the same as the pipeline
209
+ # identifier assigned by AWS Data Pipeline. You are responsible for
210
+ # defining the format and ensuring the uniqueness of this identifier.
211
+ # You use this parameter to ensure idempotency during repeated calls to
212
+ # `CreatePipeline`. For example, if the first call to `CreatePipeline`
213
+ # does not succeed, you can pass in the same unique identifier and
214
+ # pipeline name combination on a subsequent call to `CreatePipeline`.
215
+ # `CreatePipeline` ensures that if a pipeline already exists with the
216
+ # same name and unique identifier, a new pipeline is not created.
217
+ # Instead, you'll receive the pipeline identifier from the previous
218
+ # attempt. The uniqueness of the name and unique identifier combination
219
+ # is scoped to the AWS account or IAM user credentials.
220
+ # @option params [String] :description
221
+ # The description for the pipeline.
222
+ # @option params [Array<Types::Tag>] :tags
223
+ # A list of tags to associate with the pipeline at creation. Tags let
224
+ # you control access to pipelines. For more information, see
225
+ # [Controlling User Access to Pipelines][1] in the *AWS Data Pipeline
226
+ # Developer Guide*.
227
+ #
228
+ #
229
+ #
230
+ # [1]: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-control-access.html
231
+ # @return [Types::CreatePipelineOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
232
+ #
233
+ # * {Types::CreatePipelineOutput#pipeline_id #pipelineId} => String
234
+ #
235
+ # @example Request syntax with placeholder values
236
+ # resp = client.create_pipeline({
237
+ # name: "id", # required
238
+ # unique_id: "id", # required
239
+ # description: "string",
240
+ # tags: [
241
+ # {
242
+ # key: "tagKey", # required
243
+ # value: "tagValue", # required
244
+ # },
245
+ # ],
246
+ # })
247
+ #
248
+ # @example Response structure
249
+ # resp.pipeline_id #=> String
250
+ # @overload create_pipeline(params = {})
251
+ # @param [Hash] params ({})
252
+ def create_pipeline(params = {}, options = {})
253
+ req = build_request(:create_pipeline, params)
254
+ req.send_request(options)
255
+ end
256
+
257
+ # Deactivates the specified running pipeline. The pipeline is set to the
258
+ # `DEACTIVATING` state until the deactivation process completes.
259
+ #
260
+ # To resume a deactivated pipeline, use ActivatePipeline. By default,
261
+ # the pipeline resumes from the last completed execution. Optionally,
262
+ # you can specify the date and time to resume the pipeline.
263
+ # @option params [required, String] :pipeline_id
264
+ # The ID of the pipeline.
265
+ # @option params [Boolean] :cancel_active
266
+ # Indicates whether to cancel any running objects. The default is true,
267
+ # which sets the state of any running objects to `CANCELED`. If this
268
+ # value is false, the pipeline is deactivated after all running objects
269
+ # finish.
270
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
271
+ #
272
+ # @example Request syntax with placeholder values
273
+ # resp = client.deactivate_pipeline({
274
+ # pipeline_id: "id", # required
275
+ # cancel_active: false,
276
+ # })
277
+ # @overload deactivate_pipeline(params = {})
278
+ # @param [Hash] params ({})
279
+ def deactivate_pipeline(params = {}, options = {})
280
+ req = build_request(:deactivate_pipeline, params)
281
+ req.send_request(options)
282
+ end
283
+
284
+ # Deletes a pipeline, its pipeline definition, and its run history. AWS
285
+ # Data Pipeline attempts to cancel instances associated with the
286
+ # pipeline that are currently being processed by task runners.
287
+ #
288
+ # Deleting a pipeline cannot be undone. You cannot query or restore a
289
+ # deleted pipeline. To temporarily pause a pipeline instead of deleting
290
+ # it, call SetStatus with the status set to `PAUSE` on individual
291
+ # components. Components that are paused by SetStatus can be resumed.
292
+ # @option params [required, String] :pipeline_id
293
+ # The ID of the pipeline.
294
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
295
+ #
296
+ # @example Request syntax with placeholder values
297
+ # resp = client.delete_pipeline({
298
+ # pipeline_id: "id", # required
299
+ # })
300
+ # @overload delete_pipeline(params = {})
301
+ # @param [Hash] params ({})
302
+ def delete_pipeline(params = {}, options = {})
303
+ req = build_request(:delete_pipeline, params)
304
+ req.send_request(options)
305
+ end
306
+
307
+ # Gets the object definitions for a set of objects associated with the
308
+ # pipeline. Object definitions are composed of a set of fields that
309
+ # define the properties of the object.
310
+ # @option params [required, String] :pipeline_id
311
+ # The ID of the pipeline that contains the object definitions.
312
+ # @option params [required, Array<String>] :object_ids
313
+ # The IDs of the pipeline objects that contain the definitions to be
314
+ # described. You can pass as many as 25 identifiers in a single call to
315
+ # `DescribeObjects`.
316
+ # @option params [Boolean] :evaluate_expressions
317
+ # Indicates whether any expressions in the object should be evaluated
318
+ # when the object descriptions are returned.
319
+ # @option params [String] :marker
320
+ # The starting point for the results to be returned. For the first call,
321
+ # this value should be empty. As long as there are more results,
322
+ # continue to call `DescribeObjects` with the marker value from the
323
+ # previous call to retrieve the next set of results.
324
+ # @return [Types::DescribeObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
325
+ #
326
+ # * {Types::DescribeObjectsOutput#pipeline_objects #pipelineObjects} => Array&lt;Types::PipelineObject&gt;
327
+ # * {Types::DescribeObjectsOutput#marker #marker} => String
328
+ # * {Types::DescribeObjectsOutput#has_more_results #hasMoreResults} => Boolean
329
+ #
330
+ # @example Request syntax with placeholder values
331
+ # resp = client.describe_objects({
332
+ # pipeline_id: "id", # required
333
+ # object_ids: ["id"], # required
334
+ # evaluate_expressions: false,
335
+ # marker: "string",
336
+ # })
337
+ #
338
+ # @example Response structure
339
+ # resp.pipeline_objects #=> Array
340
+ # resp.pipeline_objects[0].id #=> String
341
+ # resp.pipeline_objects[0].name #=> String
342
+ # resp.pipeline_objects[0].fields #=> Array
343
+ # resp.pipeline_objects[0].fields[0].key #=> String
344
+ # resp.pipeline_objects[0].fields[0].string_value #=> String
345
+ # resp.pipeline_objects[0].fields[0].ref_value #=> String
346
+ # resp.marker #=> String
347
+ # resp.has_more_results #=> Boolean
348
+ # @overload describe_objects(params = {})
349
+ # @param [Hash] params ({})
350
+ def describe_objects(params = {}, options = {})
351
+ req = build_request(:describe_objects, params)
352
+ req.send_request(options)
353
+ end
354
+
355
+ # Retrieves metadata about one or more pipelines. The information
356
+ # retrieved includes the name of the pipeline, the pipeline identifier,
357
+ # its current state, and the user account that owns the pipeline. Using
358
+ # account credentials, you can retrieve metadata about pipelines that
359
+ # you or your IAM users have created. If you are using an IAM user
360
+ # account, you can retrieve metadata about only those pipelines for
361
+ # which you have read permissions.
362
+ #
363
+ # To retrieve the full pipeline definition instead of metadata about the
364
+ # pipeline, call GetPipelineDefinition.
365
+ # @option params [required, Array<String>] :pipeline_ids
366
+ # The IDs of the pipelines to describe. You can pass as many as 25
367
+ # identifiers in a single call. To obtain pipeline IDs, call
368
+ # ListPipelines.
369
+ # @return [Types::DescribePipelinesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
370
+ #
371
+ # * {Types::DescribePipelinesOutput#pipeline_description_list #pipelineDescriptionList} => Array&lt;Types::PipelineDescription&gt;
372
+ #
373
+ # @example Request syntax with placeholder values
374
+ # resp = client.describe_pipelines({
375
+ # pipeline_ids: ["id"], # required
376
+ # })
377
+ #
378
+ # @example Response structure
379
+ # resp.pipeline_description_list #=> Array
380
+ # resp.pipeline_description_list[0].pipeline_id #=> String
381
+ # resp.pipeline_description_list[0].name #=> String
382
+ # resp.pipeline_description_list[0].fields #=> Array
383
+ # resp.pipeline_description_list[0].fields[0].key #=> String
384
+ # resp.pipeline_description_list[0].fields[0].string_value #=> String
385
+ # resp.pipeline_description_list[0].fields[0].ref_value #=> String
386
+ # resp.pipeline_description_list[0].description #=> String
387
+ # resp.pipeline_description_list[0].tags #=> Array
388
+ # resp.pipeline_description_list[0].tags[0].key #=> String
389
+ # resp.pipeline_description_list[0].tags[0].value #=> String
390
+ # @overload describe_pipelines(params = {})
391
+ # @param [Hash] params ({})
392
+ def describe_pipelines(params = {}, options = {})
393
+ req = build_request(:describe_pipelines, params)
394
+ req.send_request(options)
395
+ end
396
+
397
+ # Task runners call `EvaluateExpression` to evaluate a string in the
398
+ # context of the specified object. For example, a task runner can
399
+ # evaluate SQL queries stored in Amazon S3.
400
+ # @option params [required, String] :pipeline_id
401
+ # The ID of the pipeline.
402
+ # @option params [required, String] :object_id
403
+ # The ID of the object.
404
+ # @option params [required, String] :expression
405
+ # The expression to evaluate.
406
+ # @return [Types::EvaluateExpressionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
407
+ #
408
+ # * {Types::EvaluateExpressionOutput#evaluated_expression #evaluatedExpression} => String
409
+ #
410
+ # @example Request syntax with placeholder values
411
+ # resp = client.evaluate_expression({
412
+ # pipeline_id: "id", # required
413
+ # object_id: "id", # required
414
+ # expression: "longString", # required
415
+ # })
416
+ #
417
+ # @example Response structure
418
+ # resp.evaluated_expression #=> String
419
+ # @overload evaluate_expression(params = {})
420
+ # @param [Hash] params ({})
421
+ def evaluate_expression(params = {}, options = {})
422
+ req = build_request(:evaluate_expression, params)
423
+ req.send_request(options)
424
+ end
425
+
426
+ # Gets the definition of the specified pipeline. You can call
427
+ # `GetPipelineDefinition` to retrieve the pipeline definition that you
428
+ # provided using PutPipelineDefinition.
429
+ # @option params [required, String] :pipeline_id
430
+ # The ID of the pipeline.
431
+ # @option params [String] :version
432
+ # The version of the pipeline definition to retrieve. Set this parameter
433
+ # to `latest` (default) to use the last definition saved to the pipeline
434
+ # or `active` to use the last definition that was activated.
435
+ # @return [Types::GetPipelineDefinitionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
436
+ #
437
+ # * {Types::GetPipelineDefinitionOutput#pipeline_objects #pipelineObjects} => Array&lt;Types::PipelineObject&gt;
438
+ # * {Types::GetPipelineDefinitionOutput#parameter_objects #parameterObjects} => Array&lt;Types::ParameterObject&gt;
439
+ # * {Types::GetPipelineDefinitionOutput#parameter_values #parameterValues} => Array&lt;Types::ParameterValue&gt;
440
+ #
441
+ # @example Request syntax with placeholder values
442
+ # resp = client.get_pipeline_definition({
443
+ # pipeline_id: "id", # required
444
+ # version: "string",
445
+ # })
446
+ #
447
+ # @example Response structure
448
+ # resp.pipeline_objects #=> Array
449
+ # resp.pipeline_objects[0].id #=> String
450
+ # resp.pipeline_objects[0].name #=> String
451
+ # resp.pipeline_objects[0].fields #=> Array
452
+ # resp.pipeline_objects[0].fields[0].key #=> String
453
+ # resp.pipeline_objects[0].fields[0].string_value #=> String
454
+ # resp.pipeline_objects[0].fields[0].ref_value #=> String
455
+ # resp.parameter_objects #=> Array
456
+ # resp.parameter_objects[0].id #=> String
457
+ # resp.parameter_objects[0].attributes #=> Array
458
+ # resp.parameter_objects[0].attributes[0].key #=> String
459
+ # resp.parameter_objects[0].attributes[0].string_value #=> String
460
+ # resp.parameter_values #=> Array
461
+ # resp.parameter_values[0].id #=> String
462
+ # resp.parameter_values[0].string_value #=> String
463
+ # @overload get_pipeline_definition(params = {})
464
+ # @param [Hash] params ({})
465
+ def get_pipeline_definition(params = {}, options = {})
466
+ req = build_request(:get_pipeline_definition, params)
467
+ req.send_request(options)
468
+ end
469
+
470
+ # Lists the pipeline identifiers for all active pipelines that you have
471
+ # permission to access.
472
+ # @option params [String] :marker
473
+ # The starting point for the results to be returned. For the first call,
474
+ # this value should be empty. As long as there are more results,
475
+ # continue to call `ListPipelines` with the marker value from the
476
+ # previous call to retrieve the next set of results.
477
+ # @return [Types::ListPipelinesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
478
+ #
479
+ # * {Types::ListPipelinesOutput#pipeline_id_list #pipelineIdList} => Array&lt;Types::PipelineIdName&gt;
480
+ # * {Types::ListPipelinesOutput#marker #marker} => String
481
+ # * {Types::ListPipelinesOutput#has_more_results #hasMoreResults} => Boolean
482
+ #
483
+ # @example Request syntax with placeholder values
484
+ # resp = client.list_pipelines({
485
+ # marker: "string",
486
+ # })
487
+ #
488
+ # @example Response structure
489
+ # resp.pipeline_id_list #=> Array
490
+ # resp.pipeline_id_list[0].id #=> String
491
+ # resp.pipeline_id_list[0].name #=> String
492
+ # resp.marker #=> String
493
+ # resp.has_more_results #=> Boolean
494
+ # @overload list_pipelines(params = {})
495
+ # @param [Hash] params ({})
496
+ def list_pipelines(params = {}, options = {})
497
+ req = build_request(:list_pipelines, params)
498
+ req.send_request(options)
499
+ end
500
+
501
+ # Task runners call `PollForTask` to receive a task to perform from AWS
502
+ # Data Pipeline. The task runner specifies which tasks it can perform by
503
+ # setting a value for the `workerGroup` parameter. The task returned can
504
+ # come from any of the pipelines that match the `workerGroup` value
505
+ # passed in by the task runner and that was launched using the IAM user
506
+ # credentials specified by the task runner.
507
+ #
508
+ # If tasks are ready in the work queue, `PollForTask` returns a response
509
+ # immediately. If no tasks are available in the queue, `PollForTask`
510
+ # uses long-polling and holds on to a poll connection for up to a 90
511
+ # seconds, during which time the first newly scheduled task is handed to
512
+ # the task runner. To accomodate this, set the socket timeout in your
513
+ # task runner to 90 seconds. The task runner should not call
514
+ # `PollForTask` again on the same `workerGroup` until it receives a
515
+ # response, and this can take up to 90 seconds.
516
+ # @option params [required, String] :worker_group
517
+ # The type of task the task runner is configured to accept and process.
518
+ # The worker group is set as a field on objects in the pipeline when
519
+ # they are created. You can only specify a single value for
520
+ # `workerGroup` in the call to `PollForTask`. There are no wildcard
521
+ # values permitted in `workerGroup`; the string must be an exact,
522
+ # case-sensitive, match.
523
+ # @option params [String] :hostname
524
+ # The public DNS name of the calling task runner.
525
+ # @option params [Types::InstanceIdentity] :instance_identity
526
+ # Identity information for the EC2 instance that is hosting the task
527
+ # runner. You can get this value from the instance using
528
+ # `http://169.254.169.254/latest/meta-data/instance-id`. For more
529
+ # information, see [Instance Metadata][1] in the *Amazon Elastic Compute
530
+ # Cloud User Guide.* Passing in this value proves that your task runner
531
+ # is running on an EC2 instance, and ensures the proper AWS Data
532
+ # Pipeline service charges are applied to your pipeline.
533
+ #
534
+ #
535
+ #
536
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html
537
+ # @return [Types::PollForTaskOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
538
+ #
539
+ # * {Types::PollForTaskOutput#task_object #taskObject} => Types::TaskObject
540
+ #
541
+ # @example Request syntax with placeholder values
542
+ # resp = client.poll_for_task({
543
+ # worker_group: "string", # required
544
+ # hostname: "id",
545
+ # instance_identity: {
546
+ # document: "string",
547
+ # signature: "string",
548
+ # },
549
+ # })
550
+ #
551
+ # @example Response structure
552
+ # resp.task_object.task_id #=> String
553
+ # resp.task_object.pipeline_id #=> String
554
+ # resp.task_object.attempt_id #=> String
555
+ # resp.task_object.objects #=> Hash
556
+ # resp.task_object.objects["id"].id #=> String
557
+ # resp.task_object.objects["id"].name #=> String
558
+ # resp.task_object.objects["id"].fields #=> Array
559
+ # resp.task_object.objects["id"].fields[0].key #=> String
560
+ # resp.task_object.objects["id"].fields[0].string_value #=> String
561
+ # resp.task_object.objects["id"].fields[0].ref_value #=> String
562
+ # @overload poll_for_task(params = {})
563
+ # @param [Hash] params ({})
564
+ def poll_for_task(params = {}, options = {})
565
+ req = build_request(:poll_for_task, params)
566
+ req.send_request(options)
567
+ end
568
+
569
+ # Adds tasks, schedules, and preconditions to the specified pipeline.
570
+ # You can use `PutPipelineDefinition` to populate a new pipeline.
571
+ #
572
+ # `PutPipelineDefinition` also validates the configuration as it adds it
573
+ # to the pipeline. Changes to the pipeline are saved unless one of the
574
+ # following three validation errors exists in the pipeline.
575
+ #
576
+ # 1. An object is missing a name or identifier field.
577
+ # 2. A string or reference field is empty.
578
+ # 3. The number of objects in the pipeline exceeds the maximum allowed
579
+ # objects.
580
+ # 4. The pipeline is in a FINISHED state.
581
+ #
582
+ # Pipeline object definitions are passed to the `PutPipelineDefinition`
583
+ # action and returned by the GetPipelineDefinition action.
584
+ # @option params [required, String] :pipeline_id
585
+ # The ID of the pipeline.
586
+ # @option params [required, Array<Types::PipelineObject>] :pipeline_objects
587
+ # The objects that define the pipeline. These objects overwrite the
588
+ # existing pipeline definition.
589
+ # @option params [Array<Types::ParameterObject>] :parameter_objects
590
+ # The parameter objects used with the pipeline.
591
+ # @option params [Array<Types::ParameterValue>] :parameter_values
592
+ # The parameter values used with the pipeline.
593
+ # @return [Types::PutPipelineDefinitionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
594
+ #
595
+ # * {Types::PutPipelineDefinitionOutput#validation_errors #validationErrors} => Array&lt;Types::ValidationError&gt;
596
+ # * {Types::PutPipelineDefinitionOutput#validation_warnings #validationWarnings} => Array&lt;Types::ValidationWarning&gt;
597
+ # * {Types::PutPipelineDefinitionOutput#errored #errored} => Boolean
598
+ #
599
+ # @example Request syntax with placeholder values
600
+ # resp = client.put_pipeline_definition({
601
+ # pipeline_id: "id", # required
602
+ # pipeline_objects: [ # required
603
+ # {
604
+ # id: "id", # required
605
+ # name: "id", # required
606
+ # fields: [ # required
607
+ # {
608
+ # key: "fieldNameString", # required
609
+ # string_value: "fieldStringValue",
610
+ # ref_value: "fieldNameString",
611
+ # },
612
+ # ],
613
+ # },
614
+ # ],
615
+ # parameter_objects: [
616
+ # {
617
+ # id: "fieldNameString", # required
618
+ # attributes: [ # required
619
+ # {
620
+ # key: "attributeNameString", # required
621
+ # string_value: "attributeValueString", # required
622
+ # },
623
+ # ],
624
+ # },
625
+ # ],
626
+ # parameter_values: [
627
+ # {
628
+ # id: "fieldNameString", # required
629
+ # string_value: "fieldStringValue", # required
630
+ # },
631
+ # ],
632
+ # })
633
+ #
634
+ # @example Response structure
635
+ # resp.validation_errors #=> Array
636
+ # resp.validation_errors[0].id #=> String
637
+ # resp.validation_errors[0].errors #=> Array
638
+ # resp.validation_errors[0].errors[0] #=> String
639
+ # resp.validation_warnings #=> Array
640
+ # resp.validation_warnings[0].id #=> String
641
+ # resp.validation_warnings[0].warnings #=> Array
642
+ # resp.validation_warnings[0].warnings[0] #=> String
643
+ # resp.errored #=> Boolean
644
+ # @overload put_pipeline_definition(params = {})
645
+ # @param [Hash] params ({})
646
+ def put_pipeline_definition(params = {}, options = {})
647
+ req = build_request(:put_pipeline_definition, params)
648
+ req.send_request(options)
649
+ end
650
+
651
+ # Queries the specified pipeline for the names of objects that match the
652
+ # specified set of conditions.
653
+ # @option params [required, String] :pipeline_id
654
+ # The ID of the pipeline.
655
+ # @option params [Types::Query] :query
656
+ # The query that defines the objects to be returned. The `Query` object
657
+ # can contain a maximum of ten selectors. The conditions in the query
658
+ # are limited to top-level String fields in the object. These filters
659
+ # can be applied to components, instances, and attempts.
660
+ # @option params [required, String] :sphere
661
+ # Indicates whether the query applies to components or instances. The
662
+ # possible values are: `COMPONENT`, `INSTANCE`, and `ATTEMPT`.
663
+ # @option params [String] :marker
664
+ # The starting point for the results to be returned. For the first call,
665
+ # this value should be empty. As long as there are more results,
666
+ # continue to call `QueryObjects` with the marker value from the
667
+ # previous call to retrieve the next set of results.
668
+ # @option params [Integer] :limit
669
+ # The maximum number of object names that `QueryObjects` will return in
670
+ # a single call. The default value is 100.
671
+ # @return [Types::QueryObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
672
+ #
673
+ # * {Types::QueryObjectsOutput#ids #ids} => Array&lt;String&gt;
674
+ # * {Types::QueryObjectsOutput#marker #marker} => String
675
+ # * {Types::QueryObjectsOutput#has_more_results #hasMoreResults} => Boolean
676
+ #
677
+ # @example Request syntax with placeholder values
678
+ # resp = client.query_objects({
679
+ # pipeline_id: "id", # required
680
+ # query: {
681
+ # selectors: [
682
+ # {
683
+ # field_name: "string",
684
+ # operator: {
685
+ # type: "EQ", # accepts EQ, REF_EQ, LE, GE, BETWEEN
686
+ # values: ["string"],
687
+ # },
688
+ # },
689
+ # ],
690
+ # },
691
+ # sphere: "string", # required
692
+ # marker: "string",
693
+ # limit: 1,
694
+ # })
695
+ #
696
+ # @example Response structure
697
+ # resp.ids #=> Array
698
+ # resp.ids[0] #=> String
699
+ # resp.marker #=> String
700
+ # resp.has_more_results #=> Boolean
701
+ # @overload query_objects(params = {})
702
+ # @param [Hash] params ({})
703
+ def query_objects(params = {}, options = {})
704
+ req = build_request(:query_objects, params)
705
+ req.send_request(options)
706
+ end
707
+
708
+ # Removes existing tags from the specified pipeline.
709
+ # @option params [required, String] :pipeline_id
710
+ # The ID of the pipeline.
711
+ # @option params [required, Array<String>] :tag_keys
712
+ # The keys of the tags to remove.
713
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
714
+ #
715
+ # @example Request syntax with placeholder values
716
+ # resp = client.remove_tags({
717
+ # pipeline_id: "id", # required
718
+ # tag_keys: ["string"], # required
719
+ # })
720
+ # @overload remove_tags(params = {})
721
+ # @param [Hash] params ({})
722
+ def remove_tags(params = {}, options = {})
723
+ req = build_request(:remove_tags, params)
724
+ req.send_request(options)
725
+ end
726
+
727
+ # Task runners call `ReportTaskProgress` when assigned a task to
728
+ # acknowledge that it has the task. If the web service does not receive
729
+ # this acknowledgement within 2 minutes, it assigns the task in a
730
+ # subsequent PollForTask call. After this initial acknowledgement, the
731
+ # task runner only needs to report progress every 15 minutes to maintain
732
+ # its ownership of the task. You can change this reporting time from 15
733
+ # minutes by specifying a `reportProgressTimeout` field in your
734
+ # pipeline.
735
+ #
736
+ # If a task runner does not report its status after 5 minutes, AWS Data
737
+ # Pipeline assumes that the task runner is unable to process the task
738
+ # and reassigns the task in a subsequent response to PollForTask. Task
739
+ # runners should call `ReportTaskProgress` every 60 seconds.
740
+ # @option params [required, String] :task_id
741
+ # The ID of the task assigned to the task runner. This value is provided
742
+ # in the response for PollForTask.
743
+ # @option params [Array<Types::Field>] :fields
744
+ # Key-value pairs that define the properties of the
745
+ # ReportTaskProgressInput object.
746
+ # @return [Types::ReportTaskProgressOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
747
+ #
748
+ # * {Types::ReportTaskProgressOutput#canceled #canceled} => Boolean
749
+ #
750
+ # @example Request syntax with placeholder values
751
+ # resp = client.report_task_progress({
752
+ # task_id: "taskId", # required
753
+ # fields: [
754
+ # {
755
+ # key: "fieldNameString", # required
756
+ # string_value: "fieldStringValue",
757
+ # ref_value: "fieldNameString",
758
+ # },
759
+ # ],
760
+ # })
761
+ #
762
+ # @example Response structure
763
+ # resp.canceled #=> Boolean
764
+ # @overload report_task_progress(params = {})
765
+ # @param [Hash] params ({})
766
+ def report_task_progress(params = {}, options = {})
767
+ req = build_request(:report_task_progress, params)
768
+ req.send_request(options)
769
+ end
770
+
771
+ # Task runners call `ReportTaskRunnerHeartbeat` every 15 minutes to
772
+ # indicate that they are operational. If the AWS Data Pipeline Task
773
+ # Runner is launched on a resource managed by AWS Data Pipeline, the web
774
+ # service can use this call to detect when the task runner application
775
+ # has failed and restart a new instance.
776
+ # @option params [required, String] :taskrunner_id
777
+ # The ID of the task runner. This value should be unique across your AWS
778
+ # account. In the case of AWS Data Pipeline Task Runner launched on a
779
+ # resource managed by AWS Data Pipeline, the web service provides a
780
+ # unique identifier when it launches the application. If you have
781
+ # written a custom task runner, you should assign a unique identifier
782
+ # for the task runner.
783
+ # @option params [String] :worker_group
784
+ # The type of task the task runner is configured to accept and process.
785
+ # The worker group is set as a field on objects in the pipeline when
786
+ # they are created. You can only specify a single value for
787
+ # `workerGroup`. There are no wildcard values permitted in
788
+ # `workerGroup`; the string must be an exact, case-sensitive, match.
789
+ # @option params [String] :hostname
790
+ # The public DNS name of the task runner.
791
+ # @return [Types::ReportTaskRunnerHeartbeatOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
792
+ #
793
+ # * {Types::ReportTaskRunnerHeartbeatOutput#terminate #terminate} => Boolean
794
+ #
795
+ # @example Request syntax with placeholder values
796
+ # resp = client.report_task_runner_heartbeat({
797
+ # taskrunner_id: "id", # required
798
+ # worker_group: "string",
799
+ # hostname: "id",
800
+ # })
801
+ #
802
+ # @example Response structure
803
+ # resp.terminate #=> Boolean
804
+ # @overload report_task_runner_heartbeat(params = {})
805
+ # @param [Hash] params ({})
806
+ def report_task_runner_heartbeat(params = {}, options = {})
807
+ req = build_request(:report_task_runner_heartbeat, params)
808
+ req.send_request(options)
809
+ end
810
+
811
+ # Requests that the status of the specified physical or logical pipeline
812
+ # objects be updated in the specified pipeline. This update might not
813
+ # occur immediately, but is eventually consistent. The status that can
814
+ # be set depends on the type of object (for example, DataNode or
815
+ # Activity). You cannot perform this operation on `FINISHED` pipelines
816
+ # and attempting to do so returns `InvalidRequestException`.
817
+ # @option params [required, String] :pipeline_id
818
+ # The ID of the pipeline that contains the objects.
819
+ # @option params [required, Array<String>] :object_ids
820
+ # The IDs of the objects. The corresponding objects can be either
821
+ # physical or components, but not a mix of both types.
822
+ # @option params [required, String] :status
823
+ # The status to be set on all the objects specified in `objectIds`. For
824
+ # components, use `PAUSE` or `RESUME`. For instances, use `TRY_CANCEL`,
825
+ # `RERUN`, or `MARK_FINISHED`.
826
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
827
+ #
828
+ # @example Request syntax with placeholder values
829
+ # resp = client.set_status({
830
+ # pipeline_id: "id", # required
831
+ # object_ids: ["id"], # required
832
+ # status: "string", # required
833
+ # })
834
+ # @overload set_status(params = {})
835
+ # @param [Hash] params ({})
836
+ def set_status(params = {}, options = {})
837
+ req = build_request(:set_status, params)
838
+ req.send_request(options)
839
+ end
840
+
841
+ # Task runners call `SetTaskStatus` to notify AWS Data Pipeline that a
842
+ # task is completed and provide information about the final status. A
843
+ # task runner makes this call regardless of whether the task was
844
+ # sucessful. A task runner does not need to call `SetTaskStatus` for
845
+ # tasks that are canceled by the web service during a call to
846
+ # ReportTaskProgress.
847
+ # @option params [required, String] :task_id
848
+ # The ID of the task assigned to the task runner. This value is provided
849
+ # in the response for PollForTask.
850
+ # @option params [required, String] :task_status
851
+ # If `FINISHED`, the task successfully completed. If `FAILED`, the task
852
+ # ended unsuccessfully. Preconditions use false.
853
+ # @option params [String] :error_id
854
+ # If an error occurred during the task, this value specifies the error
855
+ # code. This value is set on the physical attempt object. It is used to
856
+ # display error information to the user. It should not start with string
857
+ # "Service\_" which is reserved by the system.
858
+ # @option params [String] :error_message
859
+ # If an error occurred during the task, this value specifies a text
860
+ # description of the error. This value is set on the physical attempt
861
+ # object. It is used to display error information to the user. The web
862
+ # service does not parse this value.
863
+ # @option params [String] :error_stack_trace
864
+ # If an error occurred during the task, this value specifies the stack
865
+ # trace associated with the error. This value is set on the physical
866
+ # attempt object. It is used to display error information to the user.
867
+ # The web service does not parse this value.
868
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
869
+ #
870
+ # @example Request syntax with placeholder values
871
+ # resp = client.set_task_status({
872
+ # task_id: "taskId", # required
873
+ # task_status: "FINISHED", # required, accepts FINISHED, FAILED, FALSE
874
+ # error_id: "string",
875
+ # error_message: "errorMessage",
876
+ # error_stack_trace: "string",
877
+ # })
878
+ # @overload set_task_status(params = {})
879
+ # @param [Hash] params ({})
880
+ def set_task_status(params = {}, options = {})
881
+ req = build_request(:set_task_status, params)
882
+ req.send_request(options)
883
+ end
884
+
885
+ # Validates the specified pipeline definition to ensure that it is well
886
+ # formed and can be run without error.
887
+ # @option params [required, String] :pipeline_id
888
+ # The ID of the pipeline.
889
+ # @option params [required, Array<Types::PipelineObject>] :pipeline_objects
890
+ # The objects that define the pipeline changes to validate against the
891
+ # pipeline.
892
+ # @option params [Array<Types::ParameterObject>] :parameter_objects
893
+ # The parameter objects used with the pipeline.
894
+ # @option params [Array<Types::ParameterValue>] :parameter_values
895
+ # The parameter values used with the pipeline.
896
+ # @return [Types::ValidatePipelineDefinitionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
897
+ #
898
+ # * {Types::ValidatePipelineDefinitionOutput#validation_errors #validationErrors} => Array&lt;Types::ValidationError&gt;
899
+ # * {Types::ValidatePipelineDefinitionOutput#validation_warnings #validationWarnings} => Array&lt;Types::ValidationWarning&gt;
900
+ # * {Types::ValidatePipelineDefinitionOutput#errored #errored} => Boolean
901
+ #
902
+ # @example Request syntax with placeholder values
903
+ # resp = client.validate_pipeline_definition({
904
+ # pipeline_id: "id", # required
905
+ # pipeline_objects: [ # required
906
+ # {
907
+ # id: "id", # required
908
+ # name: "id", # required
909
+ # fields: [ # required
910
+ # {
911
+ # key: "fieldNameString", # required
912
+ # string_value: "fieldStringValue",
913
+ # ref_value: "fieldNameString",
914
+ # },
915
+ # ],
916
+ # },
917
+ # ],
918
+ # parameter_objects: [
919
+ # {
920
+ # id: "fieldNameString", # required
921
+ # attributes: [ # required
922
+ # {
923
+ # key: "attributeNameString", # required
924
+ # string_value: "attributeValueString", # required
925
+ # },
926
+ # ],
927
+ # },
928
+ # ],
929
+ # parameter_values: [
930
+ # {
931
+ # id: "fieldNameString", # required
932
+ # string_value: "fieldStringValue", # required
933
+ # },
934
+ # ],
935
+ # })
936
+ #
937
+ # @example Response structure
938
+ # resp.validation_errors #=> Array
939
+ # resp.validation_errors[0].id #=> String
940
+ # resp.validation_errors[0].errors #=> Array
941
+ # resp.validation_errors[0].errors[0] #=> String
942
+ # resp.validation_warnings #=> Array
943
+ # resp.validation_warnings[0].id #=> String
944
+ # resp.validation_warnings[0].warnings #=> Array
945
+ # resp.validation_warnings[0].warnings[0] #=> String
946
+ # resp.errored #=> Boolean
947
+ # @overload validate_pipeline_definition(params = {})
948
+ # @param [Hash] params ({})
949
+ def validate_pipeline_definition(params = {}, options = {})
950
+ req = build_request(:validate_pipeline_definition, params)
951
+ req.send_request(options)
952
+ end
953
+
954
+ # @!endgroup
955
+
956
+ # @param params ({})
957
+ # @api private
958
+ def build_request(operation_name, params = {})
959
+ handlers = @handlers.for(operation_name)
960
+ context = Seahorse::Client::RequestContext.new(
961
+ operation_name: operation_name,
962
+ operation: config.api.operation(operation_name),
963
+ client: self,
964
+ params: params,
965
+ config: config)
966
+ context[:gem_name] = 'aws-sdk-datapipeline'
967
+ context[:gem_version] = '1.0.0.rc1'
968
+ Seahorse::Client::Request.new(handlers, context)
969
+ end
970
+
971
+ # @api private
972
+ # @deprecated
973
+ def waiter_names
974
+ []
975
+ end
976
+
977
+ class << self
978
+
979
+ # @api private
980
+ attr_reader :identifier
981
+
982
+ # @api private
983
+ def errors_module
984
+ Errors
985
+ end
986
+
987
+ end
988
+ end
989
+ end
990
+ end