aws-sdk-datapipeline 1.0.0.rc1

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