aws-sdk-elastictranscoder 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: f816fc5a559620b32644c692803ed2ecb897d772
4
+ data.tar.gz: 2280ded36792e9269ea6396953a787e4188e0afd
5
+ SHA512:
6
+ metadata.gz: cddc7c3ae3aaffc62eb17411e34e1d2c8a332eba9def56095c8c8e58bce1f46cbe4c30543ec3a55e82bd6a55f479fbeed2f764c5e4cddd227f951eaa5f9a143d
7
+ data.tar.gz: f729f8ff45c3e6d94f176d418f1f666edfc37afce1c176b5480d79ee120da5e72f93dd1b355f740ddba8483638db9174bae62a1319175f483596a3c2631e94c0
@@ -0,0 +1,48 @@
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-elastictranscoder/types'
12
+ require_relative 'aws-sdk-elastictranscoder/client_api'
13
+ require_relative 'aws-sdk-elastictranscoder/client'
14
+ require_relative 'aws-sdk-elastictranscoder/errors'
15
+ require_relative 'aws-sdk-elastictranscoder/waiters'
16
+ require_relative 'aws-sdk-elastictranscoder/resource'
17
+ require_relative 'aws-sdk-elastictranscoder/customizations'
18
+
19
+ # This module provides support for Amazon Elastic Transcoder. This module is available in the
20
+ # `aws-sdk-elastictranscoder` gem.
21
+ #
22
+ # # Client
23
+ #
24
+ # The {Client} class provides one method for each API operation. Operation
25
+ # methods each accept a hash of request parameters and return a response
26
+ # structure.
27
+ #
28
+ # See {Client} for more information.
29
+ #
30
+ # # Errors
31
+ #
32
+ # Errors returned from Amazon Elastic Transcoder all
33
+ # extend {Errors::ServiceError}.
34
+ #
35
+ # begin
36
+ # # do stuff
37
+ # rescue Aws::ElasticTranscoder::Errors::ServiceError
38
+ # # rescues all service API errors
39
+ # end
40
+ #
41
+ # See {Errors} for more information.
42
+ #
43
+ # @service
44
+ module Aws::ElasticTranscoder
45
+
46
+ GEM_VERSION = '1.0.0.rc1'
47
+
48
+ end
@@ -0,0 +1,2801 @@
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/rest_json.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:elastictranscoder)
25
+
26
+ module Aws
27
+ module ElasticTranscoder
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :elastictranscoder
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::RestJson)
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] :stub_responses (false)
117
+ # Causes the client to return stubbed responses. By default
118
+ # fake responses are generated and returned. You can specify
119
+ # the response data to return or errors to raise by calling
120
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
+ #
122
+ # ** Please note ** When response stubbing is enabled, no HTTP
123
+ # requests are made, and retries are disabled.
124
+ # @option options [Boolean] :validate_params (true)
125
+ # When `true`, request parameters are validated before
126
+ # sending the request.
127
+ def initialize(*args)
128
+ super
129
+ end
130
+
131
+ # @!group API Operations
132
+
133
+ # The CancelJob operation cancels an unfinished job.
134
+ #
135
+ # <note markdown="1"> You can only cancel a job that has a status of `Submitted`. To prevent
136
+ # a pipeline from starting to process a job while you're getting the
137
+ # job identifier, use UpdatePipelineStatus to temporarily pause the
138
+ # pipeline.
139
+ #
140
+ # </note>
141
+ # @option params [required, String] :id
142
+ # The identifier of the job that you want to cancel.
143
+ #
144
+ # To get a list of the jobs (including their `jobId`) that have a status
145
+ # of `Submitted`, use the ListJobsByStatus API action.
146
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
147
+ #
148
+ # @example Request syntax with placeholder values
149
+ # resp = client.cancel_job({
150
+ # id: "Id", # required
151
+ # })
152
+ # @overload cancel_job(params = {})
153
+ # @param [Hash] params ({})
154
+ def cancel_job(params = {}, options = {})
155
+ req = build_request(:cancel_job, params)
156
+ req.send_request(options)
157
+ end
158
+
159
+ # When you create a job, Elastic Transcoder returns JSON data that
160
+ # includes the values that you specified plus information about the job
161
+ # that is created.
162
+ #
163
+ # If you have specified more than one output for your jobs (for example,
164
+ # one output for the Kindle Fire and another output for the Apple iPhone
165
+ # 4s), you currently must use the Elastic Transcoder API to list the
166
+ # jobs (as opposed to the AWS Console).
167
+ # @option params [required, String] :pipeline_id
168
+ # The `Id` of the pipeline that you want Elastic Transcoder to use for
169
+ # transcoding. The pipeline determines several settings, including the
170
+ # Amazon S3 bucket from which Elastic Transcoder gets the files to
171
+ # transcode and the bucket into which Elastic Transcoder puts the
172
+ # transcoded files.
173
+ # @option params [Types::JobInput] :input
174
+ # A section of the request body that provides information about the file
175
+ # that is being transcoded.
176
+ # @option params [Array<Types::JobInput>] :inputs
177
+ # A section of the request body that provides information about the
178
+ # files that are being transcoded.
179
+ # @option params [Types::CreateJobOutput] :output
180
+ # A section of the request body that provides information about the
181
+ # transcoded (target) file. We strongly recommend that you use the
182
+ # `Outputs` syntax instead of the `Output` syntax.
183
+ # @option params [Array<Types::CreateJobOutput>] :outputs
184
+ # A section of the request body that provides information about the
185
+ # transcoded (target) files. We recommend that you use the `Outputs`
186
+ # syntax instead of the `Output` syntax.
187
+ # @option params [String] :output_key_prefix
188
+ # The value, if any, that you want Elastic Transcoder to prepend to the
189
+ # names of all files that this job creates, including output files,
190
+ # thumbnails, and playlists.
191
+ # @option params [Array<Types::CreateJobPlaylist>] :playlists
192
+ # If you specify a preset in `PresetId` for which the value of
193
+ # `Container` is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists
194
+ # contains information about the master playlists that you want Elastic
195
+ # Transcoder to create.
196
+ #
197
+ # The maximum number of master playlists in a job is 30.
198
+ # @option params [Hash<String,String>] :user_metadata
199
+ # User-defined metadata that you want to associate with an Elastic
200
+ # Transcoder job. You specify metadata in `key/value` pairs, and you can
201
+ # add up to 10 `key/value` pairs per job. Elastic Transcoder does not
202
+ # guarantee that `key/value` pairs are returned in the same order in
203
+ # which you specify them.
204
+ # @return [Types::CreateJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
205
+ #
206
+ # * {Types::CreateJobResponse#job #Job} => Types::Job
207
+ #
208
+ # @example Request syntax with placeholder values
209
+ # resp = client.create_job({
210
+ # pipeline_id: "Id", # required
211
+ # input: {
212
+ # key: "LongKey",
213
+ # frame_rate: "FrameRate",
214
+ # resolution: "Resolution",
215
+ # aspect_ratio: "AspectRatio",
216
+ # interlaced: "Interlaced",
217
+ # container: "JobContainer",
218
+ # encryption: {
219
+ # mode: "EncryptionMode",
220
+ # key: "Base64EncodedString",
221
+ # key_md_5: "Base64EncodedString",
222
+ # initialization_vector: "ZeroTo255String",
223
+ # },
224
+ # time_span: {
225
+ # start_time: "Time",
226
+ # duration: "Time",
227
+ # },
228
+ # input_captions: {
229
+ # merge_policy: "CaptionMergePolicy",
230
+ # caption_sources: [
231
+ # {
232
+ # key: "LongKey",
233
+ # language: "Key",
234
+ # time_offset: "TimeOffset",
235
+ # label: "Name",
236
+ # encryption: {
237
+ # mode: "EncryptionMode",
238
+ # key: "Base64EncodedString",
239
+ # key_md_5: "Base64EncodedString",
240
+ # initialization_vector: "ZeroTo255String",
241
+ # },
242
+ # },
243
+ # ],
244
+ # },
245
+ # detected_properties: {
246
+ # width: 1,
247
+ # height: 1,
248
+ # frame_rate: "FloatString",
249
+ # file_size: 1,
250
+ # duration_millis: 1,
251
+ # },
252
+ # },
253
+ # inputs: [
254
+ # {
255
+ # key: "LongKey",
256
+ # frame_rate: "FrameRate",
257
+ # resolution: "Resolution",
258
+ # aspect_ratio: "AspectRatio",
259
+ # interlaced: "Interlaced",
260
+ # container: "JobContainer",
261
+ # encryption: {
262
+ # mode: "EncryptionMode",
263
+ # key: "Base64EncodedString",
264
+ # key_md_5: "Base64EncodedString",
265
+ # initialization_vector: "ZeroTo255String",
266
+ # },
267
+ # time_span: {
268
+ # start_time: "Time",
269
+ # duration: "Time",
270
+ # },
271
+ # input_captions: {
272
+ # merge_policy: "CaptionMergePolicy",
273
+ # caption_sources: [
274
+ # {
275
+ # key: "LongKey",
276
+ # language: "Key",
277
+ # time_offset: "TimeOffset",
278
+ # label: "Name",
279
+ # encryption: {
280
+ # mode: "EncryptionMode",
281
+ # key: "Base64EncodedString",
282
+ # key_md_5: "Base64EncodedString",
283
+ # initialization_vector: "ZeroTo255String",
284
+ # },
285
+ # },
286
+ # ],
287
+ # },
288
+ # detected_properties: {
289
+ # width: 1,
290
+ # height: 1,
291
+ # frame_rate: "FloatString",
292
+ # file_size: 1,
293
+ # duration_millis: 1,
294
+ # },
295
+ # },
296
+ # ],
297
+ # output: {
298
+ # key: "Key",
299
+ # thumbnail_pattern: "ThumbnailPattern",
300
+ # thumbnail_encryption: {
301
+ # mode: "EncryptionMode",
302
+ # key: "Base64EncodedString",
303
+ # key_md_5: "Base64EncodedString",
304
+ # initialization_vector: "ZeroTo255String",
305
+ # },
306
+ # rotate: "Rotate",
307
+ # preset_id: "Id",
308
+ # segment_duration: "FloatString",
309
+ # watermarks: [
310
+ # {
311
+ # preset_watermark_id: "PresetWatermarkId",
312
+ # input_key: "WatermarkKey",
313
+ # encryption: {
314
+ # mode: "EncryptionMode",
315
+ # key: "Base64EncodedString",
316
+ # key_md_5: "Base64EncodedString",
317
+ # initialization_vector: "ZeroTo255String",
318
+ # },
319
+ # },
320
+ # ],
321
+ # album_art: {
322
+ # merge_policy: "MergePolicy",
323
+ # artwork: [
324
+ # {
325
+ # input_key: "WatermarkKey",
326
+ # max_width: "DigitsOrAuto",
327
+ # max_height: "DigitsOrAuto",
328
+ # sizing_policy: "SizingPolicy",
329
+ # padding_policy: "PaddingPolicy",
330
+ # album_art_format: "JpgOrPng",
331
+ # encryption: {
332
+ # mode: "EncryptionMode",
333
+ # key: "Base64EncodedString",
334
+ # key_md_5: "Base64EncodedString",
335
+ # initialization_vector: "ZeroTo255String",
336
+ # },
337
+ # },
338
+ # ],
339
+ # },
340
+ # composition: [
341
+ # {
342
+ # time_span: {
343
+ # start_time: "Time",
344
+ # duration: "Time",
345
+ # },
346
+ # },
347
+ # ],
348
+ # captions: {
349
+ # merge_policy: "CaptionMergePolicy",
350
+ # caption_sources: [
351
+ # {
352
+ # key: "LongKey",
353
+ # language: "Key",
354
+ # time_offset: "TimeOffset",
355
+ # label: "Name",
356
+ # encryption: {
357
+ # mode: "EncryptionMode",
358
+ # key: "Base64EncodedString",
359
+ # key_md_5: "Base64EncodedString",
360
+ # initialization_vector: "ZeroTo255String",
361
+ # },
362
+ # },
363
+ # ],
364
+ # caption_formats: [
365
+ # {
366
+ # format: "CaptionFormatFormat",
367
+ # pattern: "CaptionFormatPattern",
368
+ # encryption: {
369
+ # mode: "EncryptionMode",
370
+ # key: "Base64EncodedString",
371
+ # key_md_5: "Base64EncodedString",
372
+ # initialization_vector: "ZeroTo255String",
373
+ # },
374
+ # },
375
+ # ],
376
+ # },
377
+ # encryption: {
378
+ # mode: "EncryptionMode",
379
+ # key: "Base64EncodedString",
380
+ # key_md_5: "Base64EncodedString",
381
+ # initialization_vector: "ZeroTo255String",
382
+ # },
383
+ # },
384
+ # outputs: [
385
+ # {
386
+ # key: "Key",
387
+ # thumbnail_pattern: "ThumbnailPattern",
388
+ # thumbnail_encryption: {
389
+ # mode: "EncryptionMode",
390
+ # key: "Base64EncodedString",
391
+ # key_md_5: "Base64EncodedString",
392
+ # initialization_vector: "ZeroTo255String",
393
+ # },
394
+ # rotate: "Rotate",
395
+ # preset_id: "Id",
396
+ # segment_duration: "FloatString",
397
+ # watermarks: [
398
+ # {
399
+ # preset_watermark_id: "PresetWatermarkId",
400
+ # input_key: "WatermarkKey",
401
+ # encryption: {
402
+ # mode: "EncryptionMode",
403
+ # key: "Base64EncodedString",
404
+ # key_md_5: "Base64EncodedString",
405
+ # initialization_vector: "ZeroTo255String",
406
+ # },
407
+ # },
408
+ # ],
409
+ # album_art: {
410
+ # merge_policy: "MergePolicy",
411
+ # artwork: [
412
+ # {
413
+ # input_key: "WatermarkKey",
414
+ # max_width: "DigitsOrAuto",
415
+ # max_height: "DigitsOrAuto",
416
+ # sizing_policy: "SizingPolicy",
417
+ # padding_policy: "PaddingPolicy",
418
+ # album_art_format: "JpgOrPng",
419
+ # encryption: {
420
+ # mode: "EncryptionMode",
421
+ # key: "Base64EncodedString",
422
+ # key_md_5: "Base64EncodedString",
423
+ # initialization_vector: "ZeroTo255String",
424
+ # },
425
+ # },
426
+ # ],
427
+ # },
428
+ # composition: [
429
+ # {
430
+ # time_span: {
431
+ # start_time: "Time",
432
+ # duration: "Time",
433
+ # },
434
+ # },
435
+ # ],
436
+ # captions: {
437
+ # merge_policy: "CaptionMergePolicy",
438
+ # caption_sources: [
439
+ # {
440
+ # key: "LongKey",
441
+ # language: "Key",
442
+ # time_offset: "TimeOffset",
443
+ # label: "Name",
444
+ # encryption: {
445
+ # mode: "EncryptionMode",
446
+ # key: "Base64EncodedString",
447
+ # key_md_5: "Base64EncodedString",
448
+ # initialization_vector: "ZeroTo255String",
449
+ # },
450
+ # },
451
+ # ],
452
+ # caption_formats: [
453
+ # {
454
+ # format: "CaptionFormatFormat",
455
+ # pattern: "CaptionFormatPattern",
456
+ # encryption: {
457
+ # mode: "EncryptionMode",
458
+ # key: "Base64EncodedString",
459
+ # key_md_5: "Base64EncodedString",
460
+ # initialization_vector: "ZeroTo255String",
461
+ # },
462
+ # },
463
+ # ],
464
+ # },
465
+ # encryption: {
466
+ # mode: "EncryptionMode",
467
+ # key: "Base64EncodedString",
468
+ # key_md_5: "Base64EncodedString",
469
+ # initialization_vector: "ZeroTo255String",
470
+ # },
471
+ # },
472
+ # ],
473
+ # output_key_prefix: "Key",
474
+ # playlists: [
475
+ # {
476
+ # name: "Filename",
477
+ # format: "PlaylistFormat",
478
+ # output_keys: ["Key"],
479
+ # hls_content_protection: {
480
+ # method: "HlsContentProtectionMethod",
481
+ # key: "Base64EncodedString",
482
+ # key_md_5: "Base64EncodedString",
483
+ # initialization_vector: "ZeroTo255String",
484
+ # license_acquisition_url: "ZeroTo512String",
485
+ # key_storage_policy: "KeyStoragePolicy",
486
+ # },
487
+ # play_ready_drm: {
488
+ # format: "PlayReadyDrmFormatString",
489
+ # key: "NonEmptyBase64EncodedString",
490
+ # key_md_5: "NonEmptyBase64EncodedString",
491
+ # key_id: "KeyIdGuid",
492
+ # initialization_vector: "ZeroTo255String",
493
+ # license_acquisition_url: "OneTo512String",
494
+ # },
495
+ # },
496
+ # ],
497
+ # user_metadata: {
498
+ # "String" => "String",
499
+ # },
500
+ # })
501
+ #
502
+ # @example Response structure
503
+ # resp.job.id #=> String
504
+ # resp.job.arn #=> String
505
+ # resp.job.pipeline_id #=> String
506
+ # resp.job.input.key #=> String
507
+ # resp.job.input.frame_rate #=> String
508
+ # resp.job.input.resolution #=> String
509
+ # resp.job.input.aspect_ratio #=> String
510
+ # resp.job.input.interlaced #=> String
511
+ # resp.job.input.container #=> String
512
+ # resp.job.input.encryption.mode #=> String
513
+ # resp.job.input.encryption.key #=> String
514
+ # resp.job.input.encryption.key_md_5 #=> String
515
+ # resp.job.input.encryption.initialization_vector #=> String
516
+ # resp.job.input.time_span.start_time #=> String
517
+ # resp.job.input.time_span.duration #=> String
518
+ # resp.job.input.input_captions.merge_policy #=> String
519
+ # resp.job.input.input_captions.caption_sources #=> Array
520
+ # resp.job.input.input_captions.caption_sources[0].key #=> String
521
+ # resp.job.input.input_captions.caption_sources[0].language #=> String
522
+ # resp.job.input.input_captions.caption_sources[0].time_offset #=> String
523
+ # resp.job.input.input_captions.caption_sources[0].label #=> String
524
+ # resp.job.input.input_captions.caption_sources[0].encryption.mode #=> String
525
+ # resp.job.input.input_captions.caption_sources[0].encryption.key #=> String
526
+ # resp.job.input.input_captions.caption_sources[0].encryption.key_md_5 #=> String
527
+ # resp.job.input.input_captions.caption_sources[0].encryption.initialization_vector #=> String
528
+ # resp.job.input.detected_properties.width #=> Integer
529
+ # resp.job.input.detected_properties.height #=> Integer
530
+ # resp.job.input.detected_properties.frame_rate #=> String
531
+ # resp.job.input.detected_properties.file_size #=> Integer
532
+ # resp.job.input.detected_properties.duration_millis #=> Integer
533
+ # resp.job.inputs #=> Array
534
+ # resp.job.inputs[0].key #=> String
535
+ # resp.job.inputs[0].frame_rate #=> String
536
+ # resp.job.inputs[0].resolution #=> String
537
+ # resp.job.inputs[0].aspect_ratio #=> String
538
+ # resp.job.inputs[0].interlaced #=> String
539
+ # resp.job.inputs[0].container #=> String
540
+ # resp.job.inputs[0].encryption.mode #=> String
541
+ # resp.job.inputs[0].encryption.key #=> String
542
+ # resp.job.inputs[0].encryption.key_md_5 #=> String
543
+ # resp.job.inputs[0].encryption.initialization_vector #=> String
544
+ # resp.job.inputs[0].time_span.start_time #=> String
545
+ # resp.job.inputs[0].time_span.duration #=> String
546
+ # resp.job.inputs[0].input_captions.merge_policy #=> String
547
+ # resp.job.inputs[0].input_captions.caption_sources #=> Array
548
+ # resp.job.inputs[0].input_captions.caption_sources[0].key #=> String
549
+ # resp.job.inputs[0].input_captions.caption_sources[0].language #=> String
550
+ # resp.job.inputs[0].input_captions.caption_sources[0].time_offset #=> String
551
+ # resp.job.inputs[0].input_captions.caption_sources[0].label #=> String
552
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.mode #=> String
553
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.key #=> String
554
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.key_md_5 #=> String
555
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.initialization_vector #=> String
556
+ # resp.job.inputs[0].detected_properties.width #=> Integer
557
+ # resp.job.inputs[0].detected_properties.height #=> Integer
558
+ # resp.job.inputs[0].detected_properties.frame_rate #=> String
559
+ # resp.job.inputs[0].detected_properties.file_size #=> Integer
560
+ # resp.job.inputs[0].detected_properties.duration_millis #=> Integer
561
+ # resp.job.output.id #=> String
562
+ # resp.job.output.key #=> String
563
+ # resp.job.output.thumbnail_pattern #=> String
564
+ # resp.job.output.thumbnail_encryption.mode #=> String
565
+ # resp.job.output.thumbnail_encryption.key #=> String
566
+ # resp.job.output.thumbnail_encryption.key_md_5 #=> String
567
+ # resp.job.output.thumbnail_encryption.initialization_vector #=> String
568
+ # resp.job.output.rotate #=> String
569
+ # resp.job.output.preset_id #=> String
570
+ # resp.job.output.segment_duration #=> String
571
+ # resp.job.output.status #=> String
572
+ # resp.job.output.status_detail #=> String
573
+ # resp.job.output.duration #=> Integer
574
+ # resp.job.output.width #=> Integer
575
+ # resp.job.output.height #=> Integer
576
+ # resp.job.output.frame_rate #=> String
577
+ # resp.job.output.file_size #=> Integer
578
+ # resp.job.output.duration_millis #=> Integer
579
+ # resp.job.output.watermarks #=> Array
580
+ # resp.job.output.watermarks[0].preset_watermark_id #=> String
581
+ # resp.job.output.watermarks[0].input_key #=> String
582
+ # resp.job.output.watermarks[0].encryption.mode #=> String
583
+ # resp.job.output.watermarks[0].encryption.key #=> String
584
+ # resp.job.output.watermarks[0].encryption.key_md_5 #=> String
585
+ # resp.job.output.watermarks[0].encryption.initialization_vector #=> String
586
+ # resp.job.output.album_art.merge_policy #=> String
587
+ # resp.job.output.album_art.artwork #=> Array
588
+ # resp.job.output.album_art.artwork[0].input_key #=> String
589
+ # resp.job.output.album_art.artwork[0].max_width #=> String
590
+ # resp.job.output.album_art.artwork[0].max_height #=> String
591
+ # resp.job.output.album_art.artwork[0].sizing_policy #=> String
592
+ # resp.job.output.album_art.artwork[0].padding_policy #=> String
593
+ # resp.job.output.album_art.artwork[0].album_art_format #=> String
594
+ # resp.job.output.album_art.artwork[0].encryption.mode #=> String
595
+ # resp.job.output.album_art.artwork[0].encryption.key #=> String
596
+ # resp.job.output.album_art.artwork[0].encryption.key_md_5 #=> String
597
+ # resp.job.output.album_art.artwork[0].encryption.initialization_vector #=> String
598
+ # resp.job.output.composition #=> Array
599
+ # resp.job.output.composition[0].time_span.start_time #=> String
600
+ # resp.job.output.composition[0].time_span.duration #=> String
601
+ # resp.job.output.captions.merge_policy #=> String
602
+ # resp.job.output.captions.caption_sources #=> Array
603
+ # resp.job.output.captions.caption_sources[0].key #=> String
604
+ # resp.job.output.captions.caption_sources[0].language #=> String
605
+ # resp.job.output.captions.caption_sources[0].time_offset #=> String
606
+ # resp.job.output.captions.caption_sources[0].label #=> String
607
+ # resp.job.output.captions.caption_sources[0].encryption.mode #=> String
608
+ # resp.job.output.captions.caption_sources[0].encryption.key #=> String
609
+ # resp.job.output.captions.caption_sources[0].encryption.key_md_5 #=> String
610
+ # resp.job.output.captions.caption_sources[0].encryption.initialization_vector #=> String
611
+ # resp.job.output.captions.caption_formats #=> Array
612
+ # resp.job.output.captions.caption_formats[0].format #=> String
613
+ # resp.job.output.captions.caption_formats[0].pattern #=> String
614
+ # resp.job.output.captions.caption_formats[0].encryption.mode #=> String
615
+ # resp.job.output.captions.caption_formats[0].encryption.key #=> String
616
+ # resp.job.output.captions.caption_formats[0].encryption.key_md_5 #=> String
617
+ # resp.job.output.captions.caption_formats[0].encryption.initialization_vector #=> String
618
+ # resp.job.output.encryption.mode #=> String
619
+ # resp.job.output.encryption.key #=> String
620
+ # resp.job.output.encryption.key_md_5 #=> String
621
+ # resp.job.output.encryption.initialization_vector #=> String
622
+ # resp.job.output.applied_color_space_conversion #=> String
623
+ # resp.job.outputs #=> Array
624
+ # resp.job.outputs[0].id #=> String
625
+ # resp.job.outputs[0].key #=> String
626
+ # resp.job.outputs[0].thumbnail_pattern #=> String
627
+ # resp.job.outputs[0].thumbnail_encryption.mode #=> String
628
+ # resp.job.outputs[0].thumbnail_encryption.key #=> String
629
+ # resp.job.outputs[0].thumbnail_encryption.key_md_5 #=> String
630
+ # resp.job.outputs[0].thumbnail_encryption.initialization_vector #=> String
631
+ # resp.job.outputs[0].rotate #=> String
632
+ # resp.job.outputs[0].preset_id #=> String
633
+ # resp.job.outputs[0].segment_duration #=> String
634
+ # resp.job.outputs[0].status #=> String
635
+ # resp.job.outputs[0].status_detail #=> String
636
+ # resp.job.outputs[0].duration #=> Integer
637
+ # resp.job.outputs[0].width #=> Integer
638
+ # resp.job.outputs[0].height #=> Integer
639
+ # resp.job.outputs[0].frame_rate #=> String
640
+ # resp.job.outputs[0].file_size #=> Integer
641
+ # resp.job.outputs[0].duration_millis #=> Integer
642
+ # resp.job.outputs[0].watermarks #=> Array
643
+ # resp.job.outputs[0].watermarks[0].preset_watermark_id #=> String
644
+ # resp.job.outputs[0].watermarks[0].input_key #=> String
645
+ # resp.job.outputs[0].watermarks[0].encryption.mode #=> String
646
+ # resp.job.outputs[0].watermarks[0].encryption.key #=> String
647
+ # resp.job.outputs[0].watermarks[0].encryption.key_md_5 #=> String
648
+ # resp.job.outputs[0].watermarks[0].encryption.initialization_vector #=> String
649
+ # resp.job.outputs[0].album_art.merge_policy #=> String
650
+ # resp.job.outputs[0].album_art.artwork #=> Array
651
+ # resp.job.outputs[0].album_art.artwork[0].input_key #=> String
652
+ # resp.job.outputs[0].album_art.artwork[0].max_width #=> String
653
+ # resp.job.outputs[0].album_art.artwork[0].max_height #=> String
654
+ # resp.job.outputs[0].album_art.artwork[0].sizing_policy #=> String
655
+ # resp.job.outputs[0].album_art.artwork[0].padding_policy #=> String
656
+ # resp.job.outputs[0].album_art.artwork[0].album_art_format #=> String
657
+ # resp.job.outputs[0].album_art.artwork[0].encryption.mode #=> String
658
+ # resp.job.outputs[0].album_art.artwork[0].encryption.key #=> String
659
+ # resp.job.outputs[0].album_art.artwork[0].encryption.key_md_5 #=> String
660
+ # resp.job.outputs[0].album_art.artwork[0].encryption.initialization_vector #=> String
661
+ # resp.job.outputs[0].composition #=> Array
662
+ # resp.job.outputs[0].composition[0].time_span.start_time #=> String
663
+ # resp.job.outputs[0].composition[0].time_span.duration #=> String
664
+ # resp.job.outputs[0].captions.merge_policy #=> String
665
+ # resp.job.outputs[0].captions.caption_sources #=> Array
666
+ # resp.job.outputs[0].captions.caption_sources[0].key #=> String
667
+ # resp.job.outputs[0].captions.caption_sources[0].language #=> String
668
+ # resp.job.outputs[0].captions.caption_sources[0].time_offset #=> String
669
+ # resp.job.outputs[0].captions.caption_sources[0].label #=> String
670
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.mode #=> String
671
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.key #=> String
672
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.key_md_5 #=> String
673
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.initialization_vector #=> String
674
+ # resp.job.outputs[0].captions.caption_formats #=> Array
675
+ # resp.job.outputs[0].captions.caption_formats[0].format #=> String
676
+ # resp.job.outputs[0].captions.caption_formats[0].pattern #=> String
677
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.mode #=> String
678
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.key #=> String
679
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.key_md_5 #=> String
680
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.initialization_vector #=> String
681
+ # resp.job.outputs[0].encryption.mode #=> String
682
+ # resp.job.outputs[0].encryption.key #=> String
683
+ # resp.job.outputs[0].encryption.key_md_5 #=> String
684
+ # resp.job.outputs[0].encryption.initialization_vector #=> String
685
+ # resp.job.outputs[0].applied_color_space_conversion #=> String
686
+ # resp.job.output_key_prefix #=> String
687
+ # resp.job.playlists #=> Array
688
+ # resp.job.playlists[0].name #=> String
689
+ # resp.job.playlists[0].format #=> String
690
+ # resp.job.playlists[0].output_keys #=> Array
691
+ # resp.job.playlists[0].output_keys[0] #=> String
692
+ # resp.job.playlists[0].hls_content_protection.method #=> String
693
+ # resp.job.playlists[0].hls_content_protection.key #=> String
694
+ # resp.job.playlists[0].hls_content_protection.key_md_5 #=> String
695
+ # resp.job.playlists[0].hls_content_protection.initialization_vector #=> String
696
+ # resp.job.playlists[0].hls_content_protection.license_acquisition_url #=> String
697
+ # resp.job.playlists[0].hls_content_protection.key_storage_policy #=> String
698
+ # resp.job.playlists[0].play_ready_drm.format #=> String
699
+ # resp.job.playlists[0].play_ready_drm.key #=> String
700
+ # resp.job.playlists[0].play_ready_drm.key_md_5 #=> String
701
+ # resp.job.playlists[0].play_ready_drm.key_id #=> String
702
+ # resp.job.playlists[0].play_ready_drm.initialization_vector #=> String
703
+ # resp.job.playlists[0].play_ready_drm.license_acquisition_url #=> String
704
+ # resp.job.playlists[0].status #=> String
705
+ # resp.job.playlists[0].status_detail #=> String
706
+ # resp.job.status #=> String
707
+ # resp.job.user_metadata #=> Hash
708
+ # resp.job.user_metadata["String"] #=> String
709
+ # resp.job.timing.submit_time_millis #=> Integer
710
+ # resp.job.timing.start_time_millis #=> Integer
711
+ # resp.job.timing.finish_time_millis #=> Integer
712
+ # @overload create_job(params = {})
713
+ # @param [Hash] params ({})
714
+ def create_job(params = {}, options = {})
715
+ req = build_request(:create_job, params)
716
+ req.send_request(options)
717
+ end
718
+
719
+ # The CreatePipeline operation creates a pipeline with settings that you
720
+ # specify.
721
+ # @option params [required, String] :name
722
+ # The name of the pipeline. We recommend that the name be unique within
723
+ # the AWS account, but uniqueness is not enforced.
724
+ #
725
+ # Constraints: Maximum 40 characters.
726
+ # @option params [required, String] :input_bucket
727
+ # The Amazon S3 bucket in which you saved the media files that you want
728
+ # to transcode.
729
+ # @option params [String] :output_bucket
730
+ # The Amazon S3 bucket in which you want Elastic Transcoder to save the
731
+ # transcoded files. (Use this, or use ContentConfig:Bucket plus
732
+ # ThumbnailConfig:Bucket.)
733
+ #
734
+ # Specify this value when all of the following are true:
735
+ #
736
+ # * You want to save transcoded files, thumbnails (if any), and
737
+ # playlists (if any) together in one bucket.
738
+ #
739
+ # * You do not want to specify the users or groups who have access to
740
+ # the transcoded files, thumbnails, and playlists.
741
+ #
742
+ # * You do not want to specify the permissions that Elastic Transcoder
743
+ # grants to the files.
744
+ #
745
+ # When Elastic Transcoder saves files in `OutputBucket`, it grants
746
+ # full control over the files only to the AWS account that owns the
747
+ # role that is specified by `Role`.
748
+ #
749
+ # * You want to associate the transcoded files and thumbnails with the
750
+ # Amazon S3 Standard storage class.
751
+ #
752
+ # If you want to save transcoded files and playlists in one bucket and
753
+ # thumbnails in another bucket, specify which users can access the
754
+ # transcoded files or the permissions the users have, or change the
755
+ # Amazon S3 storage class, omit `OutputBucket` and specify values for
756
+ # `ContentConfig` and `ThumbnailConfig` instead.
757
+ # @option params [required, String] :role
758
+ # The IAM Amazon Resource Name (ARN) for the role that you want Elastic
759
+ # Transcoder to use to create the pipeline.
760
+ # @option params [String] :aws_kms_key_arn
761
+ # The AWS Key Management Service (AWS KMS) key that you want to use with
762
+ # this pipeline.
763
+ #
764
+ # If you use either `S3` or `S3-AWS-KMS` as your `Encryption:Mode`, you
765
+ # don't need to provide a key with your job because a default key,
766
+ # known as an AWS-KMS key, is created for you automatically. You need to
767
+ # provide an AWS-KMS key only if you want to use a non-default AWS-KMS
768
+ # key, or if you are using an `Encryption:Mode` of `AES-PKCS7`,
769
+ # `AES-CTR`, or `AES-GCM`.
770
+ # @option params [Types::Notifications] :notifications
771
+ # The Amazon Simple Notification Service (Amazon SNS) topic that you
772
+ # want to notify to report job status.
773
+ #
774
+ # To receive notifications, you must also subscribe to the new topic in
775
+ # the Amazon SNS console.
776
+ #
777
+ # * **Progressing**\: The topic ARN for the Amazon Simple Notification
778
+ # Service (Amazon SNS) topic that you want to notify when Elastic
779
+ # Transcoder has started to process a job in this pipeline. This is
780
+ # the ARN that Amazon SNS returned when you created the topic. For
781
+ # more information, see Create a Topic in the Amazon Simple
782
+ # Notification Service Developer Guide.
783
+ #
784
+ # * **Completed**\: The topic ARN for the Amazon SNS topic that you want
785
+ # to notify when Elastic Transcoder has finished processing a job in
786
+ # this pipeline. This is the ARN that Amazon SNS returned when you
787
+ # created the topic.
788
+ #
789
+ # * **Warning**\: The topic ARN for the Amazon SNS topic that you want
790
+ # to notify when Elastic Transcoder encounters a warning condition
791
+ # while processing a job in this pipeline. This is the ARN that Amazon
792
+ # SNS returned when you created the topic.
793
+ #
794
+ # * **Error**\: The topic ARN for the Amazon SNS topic that you want to
795
+ # notify when Elastic Transcoder encounters an error condition while
796
+ # processing a job in this pipeline. This is the ARN that Amazon SNS
797
+ # returned when you created the topic.
798
+ # @option params [Types::PipelineOutputConfig] :content_config
799
+ # The optional `ContentConfig` object specifies information about the
800
+ # Amazon S3 bucket in which you want Elastic Transcoder to save
801
+ # transcoded files and playlists: which bucket to use, which users you
802
+ # want to have access to the files, the type of access you want users to
803
+ # have, and the storage class that you want to assign to the files.
804
+ #
805
+ # If you specify values for `ContentConfig`, you must also specify
806
+ # values for `ThumbnailConfig`.
807
+ #
808
+ # If you specify values for `ContentConfig` and `ThumbnailConfig`, omit
809
+ # the `OutputBucket` object.
810
+ #
811
+ # * **Bucket**\: The Amazon S3 bucket in which you want Elastic
812
+ # Transcoder to save transcoded files and playlists.
813
+ #
814
+ # * **Permissions** (Optional): The Permissions object specifies which
815
+ # users you want to have access to transcoded files and the type of
816
+ # access you want them to have. You can grant permissions to a maximum
817
+ # of 30 users and/or predefined Amazon S3 groups.
818
+ #
819
+ # * **Grantee Type**\: Specify the type of value that appears in the
820
+ # `Grantee` object:
821
+ #
822
+ # * **Canonical**\: The value in the `Grantee` object is either the
823
+ # canonical user ID for an AWS account or an origin access identity
824
+ # for an Amazon CloudFront distribution. For more information about
825
+ # canonical user IDs, see Access Control List (ACL) Overview in the
826
+ # Amazon Simple Storage Service Developer Guide. For more
827
+ # information about using CloudFront origin access identities to
828
+ # require that users use CloudFront URLs instead of Amazon S3 URLs,
829
+ # see Using an Origin Access Identity to Restrict Access to Your
830
+ # Amazon S3 Content.
831
+ #
832
+ # A canonical user ID is not the same as an AWS account number.
833
+ #
834
+ # * **Email**\: The value in the `Grantee` object is the registered
835
+ # email address of an AWS account.
836
+ #
837
+ # * **Group**\: The value in the `Grantee` object is one of the
838
+ # following predefined Amazon S3 groups: `AllUsers`,
839
+ # `AuthenticatedUsers`, or `LogDelivery`.
840
+ #
841
+ # * **Grantee**\: The AWS user or group that you want to have access to
842
+ # transcoded files and playlists. To identify the user or group, you
843
+ # can specify the canonical user ID for an AWS account, an origin
844
+ # access identity for a CloudFront distribution, the registered email
845
+ # address of an AWS account, or a predefined Amazon S3 group
846
+ #
847
+ # * **Access**\: The permission that you want to give to the AWS user
848
+ # that you specified in `Grantee`. Permissions are granted on the
849
+ # files that Elastic Transcoder adds to the bucket, including
850
+ # playlists and video files. Valid values include:
851
+ #
852
+ # * `READ`\: The grantee can read the objects and metadata for objects
853
+ # that Elastic Transcoder adds to the Amazon S3 bucket.
854
+ #
855
+ # * `READ_ACP`\: The grantee can read the object ACL for objects that
856
+ # Elastic Transcoder adds to the Amazon S3 bucket.
857
+ #
858
+ # * `WRITE_ACP`\: The grantee can write the ACL for the objects that
859
+ # Elastic Transcoder adds to the Amazon S3 bucket.
860
+ #
861
+ # * `FULL_CONTROL`\: The grantee has `READ`, `READ_ACP`, and
862
+ # `WRITE_ACP` permissions for the objects that Elastic Transcoder
863
+ # adds to the Amazon S3 bucket.
864
+ #
865
+ # * **StorageClass**\: The Amazon S3 storage class, `Standard` or
866
+ # `ReducedRedundancy`, that you want Elastic Transcoder to assign to
867
+ # the video files and playlists that it stores in your Amazon S3
868
+ # bucket.
869
+ # @option params [Types::PipelineOutputConfig] :thumbnail_config
870
+ # The `ThumbnailConfig` object specifies several values, including the
871
+ # Amazon S3 bucket in which you want Elastic Transcoder to save
872
+ # thumbnail files, which users you want to have access to the files, the
873
+ # type of access you want users to have, and the storage class that you
874
+ # want to assign to the files.
875
+ #
876
+ # If you specify values for `ContentConfig`, you must also specify
877
+ # values for `ThumbnailConfig` even if you don't want to create
878
+ # thumbnails.
879
+ #
880
+ # If you specify values for `ContentConfig` and `ThumbnailConfig`, omit
881
+ # the `OutputBucket` object.
882
+ #
883
+ # * **Bucket**\: The Amazon S3 bucket in which you want Elastic
884
+ # Transcoder to save thumbnail files.
885
+ #
886
+ # * **Permissions** (Optional): The `Permissions` object specifies which
887
+ # users and/or predefined Amazon S3 groups you want to have access to
888
+ # thumbnail files, and the type of access you want them to have. You
889
+ # can grant permissions to a maximum of 30 users and/or predefined
890
+ # Amazon S3 groups.
891
+ #
892
+ # * **GranteeType**\: Specify the type of value that appears in the
893
+ # Grantee object:
894
+ #
895
+ # * **Canonical**\: The value in the `Grantee` object is either the
896
+ # canonical user ID for an AWS account or an origin access identity
897
+ # for an Amazon CloudFront distribution.
898
+ #
899
+ # A canonical user ID is not the same as an AWS account number.
900
+ #
901
+ # * **Email**\: The value in the `Grantee` object is the registered
902
+ # email address of an AWS account.
903
+ #
904
+ # * **Group**\: The value in the `Grantee` object is one of the
905
+ # following predefined Amazon S3 groups: `AllUsers`,
906
+ # `AuthenticatedUsers`, or `LogDelivery`.
907
+ #
908
+ # * **Grantee**\: The AWS user or group that you want to have access to
909
+ # thumbnail files. To identify the user or group, you can specify the
910
+ # canonical user ID for an AWS account, an origin access identity for
911
+ # a CloudFront distribution, the registered email address of an AWS
912
+ # account, or a predefined Amazon S3 group.
913
+ #
914
+ # * **Access**\: The permission that you want to give to the AWS user
915
+ # that you specified in `Grantee`. Permissions are granted on the
916
+ # thumbnail files that Elastic Transcoder adds to the bucket. Valid
917
+ # values include:
918
+ #
919
+ # * `READ`\: The grantee can read the thumbnails and metadata for
920
+ # objects that Elastic Transcoder adds to the Amazon S3 bucket.
921
+ #
922
+ # * `READ_ACP`\: The grantee can read the object ACL for thumbnails
923
+ # that Elastic Transcoder adds to the Amazon S3 bucket.
924
+ #
925
+ # * `WRITE_ACP`\: The grantee can write the ACL for the thumbnails
926
+ # that Elastic Transcoder adds to the Amazon S3 bucket.
927
+ #
928
+ # * `FULL_CONTROL`\: The grantee has `READ`, `READ_ACP`, and
929
+ # `WRITE_ACP` permissions for the thumbnails that Elastic Transcoder
930
+ # adds to the Amazon S3 bucket.
931
+ #
932
+ # * **StorageClass**\: The Amazon S3 storage class, `Standard` or
933
+ # `ReducedRedundancy`, that you want Elastic Transcoder to assign to
934
+ # the thumbnails that it stores in your Amazon S3 bucket.
935
+ # @return [Types::CreatePipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
936
+ #
937
+ # * {Types::CreatePipelineResponse#pipeline #Pipeline} => Types::Pipeline
938
+ # * {Types::CreatePipelineResponse#warnings #Warnings} => Array&lt;Types::Warning&gt;
939
+ #
940
+ # @example Request syntax with placeholder values
941
+ # resp = client.create_pipeline({
942
+ # name: "Name", # required
943
+ # input_bucket: "BucketName", # required
944
+ # output_bucket: "BucketName",
945
+ # role: "Role", # required
946
+ # aws_kms_key_arn: "KeyArn",
947
+ # notifications: {
948
+ # progressing: "SnsTopic",
949
+ # completed: "SnsTopic",
950
+ # warning: "SnsTopic",
951
+ # error: "SnsTopic",
952
+ # },
953
+ # content_config: {
954
+ # bucket: "BucketName",
955
+ # storage_class: "StorageClass",
956
+ # permissions: [
957
+ # {
958
+ # grantee_type: "GranteeType",
959
+ # grantee: "Grantee",
960
+ # access: ["AccessControl"],
961
+ # },
962
+ # ],
963
+ # },
964
+ # thumbnail_config: {
965
+ # bucket: "BucketName",
966
+ # storage_class: "StorageClass",
967
+ # permissions: [
968
+ # {
969
+ # grantee_type: "GranteeType",
970
+ # grantee: "Grantee",
971
+ # access: ["AccessControl"],
972
+ # },
973
+ # ],
974
+ # },
975
+ # })
976
+ #
977
+ # @example Response structure
978
+ # resp.pipeline.id #=> String
979
+ # resp.pipeline.arn #=> String
980
+ # resp.pipeline.name #=> String
981
+ # resp.pipeline.status #=> String
982
+ # resp.pipeline.input_bucket #=> String
983
+ # resp.pipeline.output_bucket #=> String
984
+ # resp.pipeline.role #=> String
985
+ # resp.pipeline.aws_kms_key_arn #=> String
986
+ # resp.pipeline.notifications.progressing #=> String
987
+ # resp.pipeline.notifications.completed #=> String
988
+ # resp.pipeline.notifications.warning #=> String
989
+ # resp.pipeline.notifications.error #=> String
990
+ # resp.pipeline.content_config.bucket #=> String
991
+ # resp.pipeline.content_config.storage_class #=> String
992
+ # resp.pipeline.content_config.permissions #=> Array
993
+ # resp.pipeline.content_config.permissions[0].grantee_type #=> String
994
+ # resp.pipeline.content_config.permissions[0].grantee #=> String
995
+ # resp.pipeline.content_config.permissions[0].access #=> Array
996
+ # resp.pipeline.content_config.permissions[0].access[0] #=> String
997
+ # resp.pipeline.thumbnail_config.bucket #=> String
998
+ # resp.pipeline.thumbnail_config.storage_class #=> String
999
+ # resp.pipeline.thumbnail_config.permissions #=> Array
1000
+ # resp.pipeline.thumbnail_config.permissions[0].grantee_type #=> String
1001
+ # resp.pipeline.thumbnail_config.permissions[0].grantee #=> String
1002
+ # resp.pipeline.thumbnail_config.permissions[0].access #=> Array
1003
+ # resp.pipeline.thumbnail_config.permissions[0].access[0] #=> String
1004
+ # resp.warnings #=> Array
1005
+ # resp.warnings[0].code #=> String
1006
+ # resp.warnings[0].message #=> String
1007
+ # @overload create_pipeline(params = {})
1008
+ # @param [Hash] params ({})
1009
+ def create_pipeline(params = {}, options = {})
1010
+ req = build_request(:create_pipeline, params)
1011
+ req.send_request(options)
1012
+ end
1013
+
1014
+ # The CreatePreset operation creates a preset with settings that you
1015
+ # specify.
1016
+ #
1017
+ # Elastic Transcoder checks the CreatePreset settings to ensure that
1018
+ # they meet Elastic Transcoder requirements and to determine whether
1019
+ # they comply with H.264 standards. If your settings are not valid for
1020
+ # Elastic Transcoder, Elastic Transcoder returns an HTTP 400 response
1021
+ # (`ValidationException`) and does not create the preset. If the
1022
+ # settings are valid for Elastic Transcoder but aren't strictly
1023
+ # compliant with the H.264 standard, Elastic Transcoder creates the
1024
+ # preset and returns a warning message in the response. This helps you
1025
+ # determine whether your settings comply with the H.264 standard while
1026
+ # giving you greater flexibility with respect to the video that Elastic
1027
+ # Transcoder produces.
1028
+ #
1029
+ # Elastic Transcoder uses the H.264 video-compression format. For more
1030
+ # information, see the International Telecommunication Union publication
1031
+ # *Recommendation ITU-T H.264: Advanced video coding for generic
1032
+ # audiovisual services*.
1033
+ # @option params [required, String] :name
1034
+ # The name of the preset. We recommend that the name be unique within
1035
+ # the AWS account, but uniqueness is not enforced.
1036
+ # @option params [String] :description
1037
+ # A description of the preset.
1038
+ # @option params [required, String] :container
1039
+ # The container type for the output file. Valid values include `flac`,
1040
+ # `flv`, `fmp4`, `gif`, `mp3`, `mp4`, `mpg`, `mxf`, `oga`, `ogg`, `ts`,
1041
+ # and `webm`.
1042
+ # @option params [Types::VideoParameters] :video
1043
+ # A section of the request body that specifies the video parameters.
1044
+ # @option params [Types::AudioParameters] :audio
1045
+ # A section of the request body that specifies the audio parameters.
1046
+ # @option params [Types::Thumbnails] :thumbnails
1047
+ # A section of the request body that specifies the thumbnail parameters,
1048
+ # if any.
1049
+ # @return [Types::CreatePresetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1050
+ #
1051
+ # * {Types::CreatePresetResponse#preset #Preset} => Types::Preset
1052
+ # * {Types::CreatePresetResponse#warning #Warning} => String
1053
+ #
1054
+ # @example Request syntax with placeholder values
1055
+ # resp = client.create_preset({
1056
+ # name: "Name", # required
1057
+ # description: "Description",
1058
+ # container: "PresetContainer", # required
1059
+ # video: {
1060
+ # codec: "VideoCodec",
1061
+ # codec_options: {
1062
+ # "CodecOption" => "CodecOption",
1063
+ # },
1064
+ # keyframes_max_dist: "KeyframesMaxDist",
1065
+ # fixed_gop: "FixedGOP",
1066
+ # bit_rate: "VideoBitRate",
1067
+ # frame_rate: "FrameRate",
1068
+ # max_frame_rate: "MaxFrameRate",
1069
+ # resolution: "Resolution",
1070
+ # aspect_ratio: "AspectRatio",
1071
+ # max_width: "DigitsOrAuto",
1072
+ # max_height: "DigitsOrAuto",
1073
+ # display_aspect_ratio: "AspectRatio",
1074
+ # sizing_policy: "SizingPolicy",
1075
+ # padding_policy: "PaddingPolicy",
1076
+ # watermarks: [
1077
+ # {
1078
+ # id: "PresetWatermarkId",
1079
+ # max_width: "PixelsOrPercent",
1080
+ # max_height: "PixelsOrPercent",
1081
+ # sizing_policy: "WatermarkSizingPolicy",
1082
+ # horizontal_align: "HorizontalAlign",
1083
+ # horizontal_offset: "PixelsOrPercent",
1084
+ # vertical_align: "VerticalAlign",
1085
+ # vertical_offset: "PixelsOrPercent",
1086
+ # opacity: "Opacity",
1087
+ # target: "Target",
1088
+ # },
1089
+ # ],
1090
+ # },
1091
+ # audio: {
1092
+ # codec: "AudioCodec",
1093
+ # sample_rate: "AudioSampleRate",
1094
+ # bit_rate: "AudioBitRate",
1095
+ # channels: "AudioChannels",
1096
+ # audio_packing_mode: "AudioPackingMode",
1097
+ # codec_options: {
1098
+ # profile: "AudioCodecProfile",
1099
+ # bit_depth: "AudioBitDepth",
1100
+ # bit_order: "AudioBitOrder",
1101
+ # signed: "AudioSigned",
1102
+ # },
1103
+ # },
1104
+ # thumbnails: {
1105
+ # format: "JpgOrPng",
1106
+ # interval: "Digits",
1107
+ # resolution: "ThumbnailResolution",
1108
+ # aspect_ratio: "AspectRatio",
1109
+ # max_width: "DigitsOrAuto",
1110
+ # max_height: "DigitsOrAuto",
1111
+ # sizing_policy: "SizingPolicy",
1112
+ # padding_policy: "PaddingPolicy",
1113
+ # },
1114
+ # })
1115
+ #
1116
+ # @example Response structure
1117
+ # resp.preset.id #=> String
1118
+ # resp.preset.arn #=> String
1119
+ # resp.preset.name #=> String
1120
+ # resp.preset.description #=> String
1121
+ # resp.preset.container #=> String
1122
+ # resp.preset.audio.codec #=> String
1123
+ # resp.preset.audio.sample_rate #=> String
1124
+ # resp.preset.audio.bit_rate #=> String
1125
+ # resp.preset.audio.channels #=> String
1126
+ # resp.preset.audio.audio_packing_mode #=> String
1127
+ # resp.preset.audio.codec_options.profile #=> String
1128
+ # resp.preset.audio.codec_options.bit_depth #=> String
1129
+ # resp.preset.audio.codec_options.bit_order #=> String
1130
+ # resp.preset.audio.codec_options.signed #=> String
1131
+ # resp.preset.video.codec #=> String
1132
+ # resp.preset.video.codec_options #=> Hash
1133
+ # resp.preset.video.codec_options["CodecOption"] #=> String
1134
+ # resp.preset.video.keyframes_max_dist #=> String
1135
+ # resp.preset.video.fixed_gop #=> String
1136
+ # resp.preset.video.bit_rate #=> String
1137
+ # resp.preset.video.frame_rate #=> String
1138
+ # resp.preset.video.max_frame_rate #=> String
1139
+ # resp.preset.video.resolution #=> String
1140
+ # resp.preset.video.aspect_ratio #=> String
1141
+ # resp.preset.video.max_width #=> String
1142
+ # resp.preset.video.max_height #=> String
1143
+ # resp.preset.video.display_aspect_ratio #=> String
1144
+ # resp.preset.video.sizing_policy #=> String
1145
+ # resp.preset.video.padding_policy #=> String
1146
+ # resp.preset.video.watermarks #=> Array
1147
+ # resp.preset.video.watermarks[0].id #=> String
1148
+ # resp.preset.video.watermarks[0].max_width #=> String
1149
+ # resp.preset.video.watermarks[0].max_height #=> String
1150
+ # resp.preset.video.watermarks[0].sizing_policy #=> String
1151
+ # resp.preset.video.watermarks[0].horizontal_align #=> String
1152
+ # resp.preset.video.watermarks[0].horizontal_offset #=> String
1153
+ # resp.preset.video.watermarks[0].vertical_align #=> String
1154
+ # resp.preset.video.watermarks[0].vertical_offset #=> String
1155
+ # resp.preset.video.watermarks[0].opacity #=> String
1156
+ # resp.preset.video.watermarks[0].target #=> String
1157
+ # resp.preset.thumbnails.format #=> String
1158
+ # resp.preset.thumbnails.interval #=> String
1159
+ # resp.preset.thumbnails.resolution #=> String
1160
+ # resp.preset.thumbnails.aspect_ratio #=> String
1161
+ # resp.preset.thumbnails.max_width #=> String
1162
+ # resp.preset.thumbnails.max_height #=> String
1163
+ # resp.preset.thumbnails.sizing_policy #=> String
1164
+ # resp.preset.thumbnails.padding_policy #=> String
1165
+ # resp.preset.type #=> String
1166
+ # resp.warning #=> String
1167
+ # @overload create_preset(params = {})
1168
+ # @param [Hash] params ({})
1169
+ def create_preset(params = {}, options = {})
1170
+ req = build_request(:create_preset, params)
1171
+ req.send_request(options)
1172
+ end
1173
+
1174
+ # The DeletePipeline operation removes a pipeline.
1175
+ #
1176
+ # You can only delete a pipeline that has never been used or that is not
1177
+ # currently in use (doesn't contain any active jobs). If the pipeline
1178
+ # is currently in use, `DeletePipeline` returns an error.
1179
+ # @option params [required, String] :id
1180
+ # The identifier of the pipeline that you want to delete.
1181
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1182
+ #
1183
+ # @example Request syntax with placeholder values
1184
+ # resp = client.delete_pipeline({
1185
+ # id: "Id", # required
1186
+ # })
1187
+ # @overload delete_pipeline(params = {})
1188
+ # @param [Hash] params ({})
1189
+ def delete_pipeline(params = {}, options = {})
1190
+ req = build_request(:delete_pipeline, params)
1191
+ req.send_request(options)
1192
+ end
1193
+
1194
+ # The DeletePreset operation removes a preset that you've added in an
1195
+ # AWS region.
1196
+ #
1197
+ # <note markdown="1"> You can't delete the default presets that are included with Elastic
1198
+ # Transcoder.
1199
+ #
1200
+ # </note>
1201
+ # @option params [required, String] :id
1202
+ # The identifier of the preset for which you want to get detailed
1203
+ # information.
1204
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1205
+ #
1206
+ # @example Request syntax with placeholder values
1207
+ # resp = client.delete_preset({
1208
+ # id: "Id", # required
1209
+ # })
1210
+ # @overload delete_preset(params = {})
1211
+ # @param [Hash] params ({})
1212
+ def delete_preset(params = {}, options = {})
1213
+ req = build_request(:delete_preset, params)
1214
+ req.send_request(options)
1215
+ end
1216
+
1217
+ # The ListJobsByPipeline operation gets a list of the jobs currently in
1218
+ # a pipeline.
1219
+ #
1220
+ # Elastic Transcoder returns all of the jobs currently in the specified
1221
+ # pipeline. The response body contains one element for each job that
1222
+ # satisfies the search criteria.
1223
+ # @option params [required, String] :pipeline_id
1224
+ # The ID of the pipeline for which you want to get job information.
1225
+ # @option params [String] :ascending
1226
+ # To list jobs in chronological order by the date and time that they
1227
+ # were submitted, enter `true`. To list jobs in reverse chronological
1228
+ # order, enter `false`.
1229
+ # @option params [String] :page_token
1230
+ # When Elastic Transcoder returns more than one page of results, use
1231
+ # `pageToken` in subsequent `GET` requests to get each successive page
1232
+ # of results.
1233
+ # @return [Types::ListJobsByPipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1234
+ #
1235
+ # * {Types::ListJobsByPipelineResponse#jobs #Jobs} => Array&lt;Types::Job&gt;
1236
+ # * {Types::ListJobsByPipelineResponse#next_page_token #NextPageToken} => String
1237
+ #
1238
+ # @example Request syntax with placeholder values
1239
+ # resp = client.list_jobs_by_pipeline({
1240
+ # pipeline_id: "Id", # required
1241
+ # ascending: "Ascending",
1242
+ # page_token: "Id",
1243
+ # })
1244
+ #
1245
+ # @example Response structure
1246
+ # resp.jobs #=> Array
1247
+ # resp.jobs[0].id #=> String
1248
+ # resp.jobs[0].arn #=> String
1249
+ # resp.jobs[0].pipeline_id #=> String
1250
+ # resp.jobs[0].input.key #=> String
1251
+ # resp.jobs[0].input.frame_rate #=> String
1252
+ # resp.jobs[0].input.resolution #=> String
1253
+ # resp.jobs[0].input.aspect_ratio #=> String
1254
+ # resp.jobs[0].input.interlaced #=> String
1255
+ # resp.jobs[0].input.container #=> String
1256
+ # resp.jobs[0].input.encryption.mode #=> String
1257
+ # resp.jobs[0].input.encryption.key #=> String
1258
+ # resp.jobs[0].input.encryption.key_md_5 #=> String
1259
+ # resp.jobs[0].input.encryption.initialization_vector #=> String
1260
+ # resp.jobs[0].input.time_span.start_time #=> String
1261
+ # resp.jobs[0].input.time_span.duration #=> String
1262
+ # resp.jobs[0].input.input_captions.merge_policy #=> String
1263
+ # resp.jobs[0].input.input_captions.caption_sources #=> Array
1264
+ # resp.jobs[0].input.input_captions.caption_sources[0].key #=> String
1265
+ # resp.jobs[0].input.input_captions.caption_sources[0].language #=> String
1266
+ # resp.jobs[0].input.input_captions.caption_sources[0].time_offset #=> String
1267
+ # resp.jobs[0].input.input_captions.caption_sources[0].label #=> String
1268
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.mode #=> String
1269
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.key #=> String
1270
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.key_md_5 #=> String
1271
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.initialization_vector #=> String
1272
+ # resp.jobs[0].input.detected_properties.width #=> Integer
1273
+ # resp.jobs[0].input.detected_properties.height #=> Integer
1274
+ # resp.jobs[0].input.detected_properties.frame_rate #=> String
1275
+ # resp.jobs[0].input.detected_properties.file_size #=> Integer
1276
+ # resp.jobs[0].input.detected_properties.duration_millis #=> Integer
1277
+ # resp.jobs[0].inputs #=> Array
1278
+ # resp.jobs[0].inputs[0].key #=> String
1279
+ # resp.jobs[0].inputs[0].frame_rate #=> String
1280
+ # resp.jobs[0].inputs[0].resolution #=> String
1281
+ # resp.jobs[0].inputs[0].aspect_ratio #=> String
1282
+ # resp.jobs[0].inputs[0].interlaced #=> String
1283
+ # resp.jobs[0].inputs[0].container #=> String
1284
+ # resp.jobs[0].inputs[0].encryption.mode #=> String
1285
+ # resp.jobs[0].inputs[0].encryption.key #=> String
1286
+ # resp.jobs[0].inputs[0].encryption.key_md_5 #=> String
1287
+ # resp.jobs[0].inputs[0].encryption.initialization_vector #=> String
1288
+ # resp.jobs[0].inputs[0].time_span.start_time #=> String
1289
+ # resp.jobs[0].inputs[0].time_span.duration #=> String
1290
+ # resp.jobs[0].inputs[0].input_captions.merge_policy #=> String
1291
+ # resp.jobs[0].inputs[0].input_captions.caption_sources #=> Array
1292
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].key #=> String
1293
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].language #=> String
1294
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].time_offset #=> String
1295
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].label #=> String
1296
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.mode #=> String
1297
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.key #=> String
1298
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.key_md_5 #=> String
1299
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.initialization_vector #=> String
1300
+ # resp.jobs[0].inputs[0].detected_properties.width #=> Integer
1301
+ # resp.jobs[0].inputs[0].detected_properties.height #=> Integer
1302
+ # resp.jobs[0].inputs[0].detected_properties.frame_rate #=> String
1303
+ # resp.jobs[0].inputs[0].detected_properties.file_size #=> Integer
1304
+ # resp.jobs[0].inputs[0].detected_properties.duration_millis #=> Integer
1305
+ # resp.jobs[0].output.id #=> String
1306
+ # resp.jobs[0].output.key #=> String
1307
+ # resp.jobs[0].output.thumbnail_pattern #=> String
1308
+ # resp.jobs[0].output.thumbnail_encryption.mode #=> String
1309
+ # resp.jobs[0].output.thumbnail_encryption.key #=> String
1310
+ # resp.jobs[0].output.thumbnail_encryption.key_md_5 #=> String
1311
+ # resp.jobs[0].output.thumbnail_encryption.initialization_vector #=> String
1312
+ # resp.jobs[0].output.rotate #=> String
1313
+ # resp.jobs[0].output.preset_id #=> String
1314
+ # resp.jobs[0].output.segment_duration #=> String
1315
+ # resp.jobs[0].output.status #=> String
1316
+ # resp.jobs[0].output.status_detail #=> String
1317
+ # resp.jobs[0].output.duration #=> Integer
1318
+ # resp.jobs[0].output.width #=> Integer
1319
+ # resp.jobs[0].output.height #=> Integer
1320
+ # resp.jobs[0].output.frame_rate #=> String
1321
+ # resp.jobs[0].output.file_size #=> Integer
1322
+ # resp.jobs[0].output.duration_millis #=> Integer
1323
+ # resp.jobs[0].output.watermarks #=> Array
1324
+ # resp.jobs[0].output.watermarks[0].preset_watermark_id #=> String
1325
+ # resp.jobs[0].output.watermarks[0].input_key #=> String
1326
+ # resp.jobs[0].output.watermarks[0].encryption.mode #=> String
1327
+ # resp.jobs[0].output.watermarks[0].encryption.key #=> String
1328
+ # resp.jobs[0].output.watermarks[0].encryption.key_md_5 #=> String
1329
+ # resp.jobs[0].output.watermarks[0].encryption.initialization_vector #=> String
1330
+ # resp.jobs[0].output.album_art.merge_policy #=> String
1331
+ # resp.jobs[0].output.album_art.artwork #=> Array
1332
+ # resp.jobs[0].output.album_art.artwork[0].input_key #=> String
1333
+ # resp.jobs[0].output.album_art.artwork[0].max_width #=> String
1334
+ # resp.jobs[0].output.album_art.artwork[0].max_height #=> String
1335
+ # resp.jobs[0].output.album_art.artwork[0].sizing_policy #=> String
1336
+ # resp.jobs[0].output.album_art.artwork[0].padding_policy #=> String
1337
+ # resp.jobs[0].output.album_art.artwork[0].album_art_format #=> String
1338
+ # resp.jobs[0].output.album_art.artwork[0].encryption.mode #=> String
1339
+ # resp.jobs[0].output.album_art.artwork[0].encryption.key #=> String
1340
+ # resp.jobs[0].output.album_art.artwork[0].encryption.key_md_5 #=> String
1341
+ # resp.jobs[0].output.album_art.artwork[0].encryption.initialization_vector #=> String
1342
+ # resp.jobs[0].output.composition #=> Array
1343
+ # resp.jobs[0].output.composition[0].time_span.start_time #=> String
1344
+ # resp.jobs[0].output.composition[0].time_span.duration #=> String
1345
+ # resp.jobs[0].output.captions.merge_policy #=> String
1346
+ # resp.jobs[0].output.captions.caption_sources #=> Array
1347
+ # resp.jobs[0].output.captions.caption_sources[0].key #=> String
1348
+ # resp.jobs[0].output.captions.caption_sources[0].language #=> String
1349
+ # resp.jobs[0].output.captions.caption_sources[0].time_offset #=> String
1350
+ # resp.jobs[0].output.captions.caption_sources[0].label #=> String
1351
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.mode #=> String
1352
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.key #=> String
1353
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.key_md_5 #=> String
1354
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.initialization_vector #=> String
1355
+ # resp.jobs[0].output.captions.caption_formats #=> Array
1356
+ # resp.jobs[0].output.captions.caption_formats[0].format #=> String
1357
+ # resp.jobs[0].output.captions.caption_formats[0].pattern #=> String
1358
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.mode #=> String
1359
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.key #=> String
1360
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.key_md_5 #=> String
1361
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.initialization_vector #=> String
1362
+ # resp.jobs[0].output.encryption.mode #=> String
1363
+ # resp.jobs[0].output.encryption.key #=> String
1364
+ # resp.jobs[0].output.encryption.key_md_5 #=> String
1365
+ # resp.jobs[0].output.encryption.initialization_vector #=> String
1366
+ # resp.jobs[0].output.applied_color_space_conversion #=> String
1367
+ # resp.jobs[0].outputs #=> Array
1368
+ # resp.jobs[0].outputs[0].id #=> String
1369
+ # resp.jobs[0].outputs[0].key #=> String
1370
+ # resp.jobs[0].outputs[0].thumbnail_pattern #=> String
1371
+ # resp.jobs[0].outputs[0].thumbnail_encryption.mode #=> String
1372
+ # resp.jobs[0].outputs[0].thumbnail_encryption.key #=> String
1373
+ # resp.jobs[0].outputs[0].thumbnail_encryption.key_md_5 #=> String
1374
+ # resp.jobs[0].outputs[0].thumbnail_encryption.initialization_vector #=> String
1375
+ # resp.jobs[0].outputs[0].rotate #=> String
1376
+ # resp.jobs[0].outputs[0].preset_id #=> String
1377
+ # resp.jobs[0].outputs[0].segment_duration #=> String
1378
+ # resp.jobs[0].outputs[0].status #=> String
1379
+ # resp.jobs[0].outputs[0].status_detail #=> String
1380
+ # resp.jobs[0].outputs[0].duration #=> Integer
1381
+ # resp.jobs[0].outputs[0].width #=> Integer
1382
+ # resp.jobs[0].outputs[0].height #=> Integer
1383
+ # resp.jobs[0].outputs[0].frame_rate #=> String
1384
+ # resp.jobs[0].outputs[0].file_size #=> Integer
1385
+ # resp.jobs[0].outputs[0].duration_millis #=> Integer
1386
+ # resp.jobs[0].outputs[0].watermarks #=> Array
1387
+ # resp.jobs[0].outputs[0].watermarks[0].preset_watermark_id #=> String
1388
+ # resp.jobs[0].outputs[0].watermarks[0].input_key #=> String
1389
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.mode #=> String
1390
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.key #=> String
1391
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.key_md_5 #=> String
1392
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.initialization_vector #=> String
1393
+ # resp.jobs[0].outputs[0].album_art.merge_policy #=> String
1394
+ # resp.jobs[0].outputs[0].album_art.artwork #=> Array
1395
+ # resp.jobs[0].outputs[0].album_art.artwork[0].input_key #=> String
1396
+ # resp.jobs[0].outputs[0].album_art.artwork[0].max_width #=> String
1397
+ # resp.jobs[0].outputs[0].album_art.artwork[0].max_height #=> String
1398
+ # resp.jobs[0].outputs[0].album_art.artwork[0].sizing_policy #=> String
1399
+ # resp.jobs[0].outputs[0].album_art.artwork[0].padding_policy #=> String
1400
+ # resp.jobs[0].outputs[0].album_art.artwork[0].album_art_format #=> String
1401
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.mode #=> String
1402
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.key #=> String
1403
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.key_md_5 #=> String
1404
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.initialization_vector #=> String
1405
+ # resp.jobs[0].outputs[0].composition #=> Array
1406
+ # resp.jobs[0].outputs[0].composition[0].time_span.start_time #=> String
1407
+ # resp.jobs[0].outputs[0].composition[0].time_span.duration #=> String
1408
+ # resp.jobs[0].outputs[0].captions.merge_policy #=> String
1409
+ # resp.jobs[0].outputs[0].captions.caption_sources #=> Array
1410
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].key #=> String
1411
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].language #=> String
1412
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].time_offset #=> String
1413
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].label #=> String
1414
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.mode #=> String
1415
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.key #=> String
1416
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.key_md_5 #=> String
1417
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.initialization_vector #=> String
1418
+ # resp.jobs[0].outputs[0].captions.caption_formats #=> Array
1419
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].format #=> String
1420
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].pattern #=> String
1421
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.mode #=> String
1422
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.key #=> String
1423
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.key_md_5 #=> String
1424
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.initialization_vector #=> String
1425
+ # resp.jobs[0].outputs[0].encryption.mode #=> String
1426
+ # resp.jobs[0].outputs[0].encryption.key #=> String
1427
+ # resp.jobs[0].outputs[0].encryption.key_md_5 #=> String
1428
+ # resp.jobs[0].outputs[0].encryption.initialization_vector #=> String
1429
+ # resp.jobs[0].outputs[0].applied_color_space_conversion #=> String
1430
+ # resp.jobs[0].output_key_prefix #=> String
1431
+ # resp.jobs[0].playlists #=> Array
1432
+ # resp.jobs[0].playlists[0].name #=> String
1433
+ # resp.jobs[0].playlists[0].format #=> String
1434
+ # resp.jobs[0].playlists[0].output_keys #=> Array
1435
+ # resp.jobs[0].playlists[0].output_keys[0] #=> String
1436
+ # resp.jobs[0].playlists[0].hls_content_protection.method #=> String
1437
+ # resp.jobs[0].playlists[0].hls_content_protection.key #=> String
1438
+ # resp.jobs[0].playlists[0].hls_content_protection.key_md_5 #=> String
1439
+ # resp.jobs[0].playlists[0].hls_content_protection.initialization_vector #=> String
1440
+ # resp.jobs[0].playlists[0].hls_content_protection.license_acquisition_url #=> String
1441
+ # resp.jobs[0].playlists[0].hls_content_protection.key_storage_policy #=> String
1442
+ # resp.jobs[0].playlists[0].play_ready_drm.format #=> String
1443
+ # resp.jobs[0].playlists[0].play_ready_drm.key #=> String
1444
+ # resp.jobs[0].playlists[0].play_ready_drm.key_md_5 #=> String
1445
+ # resp.jobs[0].playlists[0].play_ready_drm.key_id #=> String
1446
+ # resp.jobs[0].playlists[0].play_ready_drm.initialization_vector #=> String
1447
+ # resp.jobs[0].playlists[0].play_ready_drm.license_acquisition_url #=> String
1448
+ # resp.jobs[0].playlists[0].status #=> String
1449
+ # resp.jobs[0].playlists[0].status_detail #=> String
1450
+ # resp.jobs[0].status #=> String
1451
+ # resp.jobs[0].user_metadata #=> Hash
1452
+ # resp.jobs[0].user_metadata["String"] #=> String
1453
+ # resp.jobs[0].timing.submit_time_millis #=> Integer
1454
+ # resp.jobs[0].timing.start_time_millis #=> Integer
1455
+ # resp.jobs[0].timing.finish_time_millis #=> Integer
1456
+ # resp.next_page_token #=> String
1457
+ # @overload list_jobs_by_pipeline(params = {})
1458
+ # @param [Hash] params ({})
1459
+ def list_jobs_by_pipeline(params = {}, options = {})
1460
+ req = build_request(:list_jobs_by_pipeline, params)
1461
+ req.send_request(options)
1462
+ end
1463
+
1464
+ # The ListJobsByStatus operation gets a list of jobs that have a
1465
+ # specified status. The response body contains one element for each job
1466
+ # that satisfies the search criteria.
1467
+ # @option params [required, String] :status
1468
+ # To get information about all of the jobs associated with the current
1469
+ # AWS account that have a given status, specify the following status:
1470
+ # `Submitted`, `Progressing`, `Complete`, `Canceled`, or `Error`.
1471
+ # @option params [String] :ascending
1472
+ # To list jobs in chronological order by the date and time that they
1473
+ # were submitted, enter `true`. To list jobs in reverse chronological
1474
+ # order, enter `false`.
1475
+ # @option params [String] :page_token
1476
+ # When Elastic Transcoder returns more than one page of results, use
1477
+ # `pageToken` in subsequent `GET` requests to get each successive page
1478
+ # of results.
1479
+ # @return [Types::ListJobsByStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1480
+ #
1481
+ # * {Types::ListJobsByStatusResponse#jobs #Jobs} => Array&lt;Types::Job&gt;
1482
+ # * {Types::ListJobsByStatusResponse#next_page_token #NextPageToken} => String
1483
+ #
1484
+ # @example Request syntax with placeholder values
1485
+ # resp = client.list_jobs_by_status({
1486
+ # status: "JobStatus", # required
1487
+ # ascending: "Ascending",
1488
+ # page_token: "Id",
1489
+ # })
1490
+ #
1491
+ # @example Response structure
1492
+ # resp.jobs #=> Array
1493
+ # resp.jobs[0].id #=> String
1494
+ # resp.jobs[0].arn #=> String
1495
+ # resp.jobs[0].pipeline_id #=> String
1496
+ # resp.jobs[0].input.key #=> String
1497
+ # resp.jobs[0].input.frame_rate #=> String
1498
+ # resp.jobs[0].input.resolution #=> String
1499
+ # resp.jobs[0].input.aspect_ratio #=> String
1500
+ # resp.jobs[0].input.interlaced #=> String
1501
+ # resp.jobs[0].input.container #=> String
1502
+ # resp.jobs[0].input.encryption.mode #=> String
1503
+ # resp.jobs[0].input.encryption.key #=> String
1504
+ # resp.jobs[0].input.encryption.key_md_5 #=> String
1505
+ # resp.jobs[0].input.encryption.initialization_vector #=> String
1506
+ # resp.jobs[0].input.time_span.start_time #=> String
1507
+ # resp.jobs[0].input.time_span.duration #=> String
1508
+ # resp.jobs[0].input.input_captions.merge_policy #=> String
1509
+ # resp.jobs[0].input.input_captions.caption_sources #=> Array
1510
+ # resp.jobs[0].input.input_captions.caption_sources[0].key #=> String
1511
+ # resp.jobs[0].input.input_captions.caption_sources[0].language #=> String
1512
+ # resp.jobs[0].input.input_captions.caption_sources[0].time_offset #=> String
1513
+ # resp.jobs[0].input.input_captions.caption_sources[0].label #=> String
1514
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.mode #=> String
1515
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.key #=> String
1516
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.key_md_5 #=> String
1517
+ # resp.jobs[0].input.input_captions.caption_sources[0].encryption.initialization_vector #=> String
1518
+ # resp.jobs[0].input.detected_properties.width #=> Integer
1519
+ # resp.jobs[0].input.detected_properties.height #=> Integer
1520
+ # resp.jobs[0].input.detected_properties.frame_rate #=> String
1521
+ # resp.jobs[0].input.detected_properties.file_size #=> Integer
1522
+ # resp.jobs[0].input.detected_properties.duration_millis #=> Integer
1523
+ # resp.jobs[0].inputs #=> Array
1524
+ # resp.jobs[0].inputs[0].key #=> String
1525
+ # resp.jobs[0].inputs[0].frame_rate #=> String
1526
+ # resp.jobs[0].inputs[0].resolution #=> String
1527
+ # resp.jobs[0].inputs[0].aspect_ratio #=> String
1528
+ # resp.jobs[0].inputs[0].interlaced #=> String
1529
+ # resp.jobs[0].inputs[0].container #=> String
1530
+ # resp.jobs[0].inputs[0].encryption.mode #=> String
1531
+ # resp.jobs[0].inputs[0].encryption.key #=> String
1532
+ # resp.jobs[0].inputs[0].encryption.key_md_5 #=> String
1533
+ # resp.jobs[0].inputs[0].encryption.initialization_vector #=> String
1534
+ # resp.jobs[0].inputs[0].time_span.start_time #=> String
1535
+ # resp.jobs[0].inputs[0].time_span.duration #=> String
1536
+ # resp.jobs[0].inputs[0].input_captions.merge_policy #=> String
1537
+ # resp.jobs[0].inputs[0].input_captions.caption_sources #=> Array
1538
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].key #=> String
1539
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].language #=> String
1540
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].time_offset #=> String
1541
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].label #=> String
1542
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.mode #=> String
1543
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.key #=> String
1544
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.key_md_5 #=> String
1545
+ # resp.jobs[0].inputs[0].input_captions.caption_sources[0].encryption.initialization_vector #=> String
1546
+ # resp.jobs[0].inputs[0].detected_properties.width #=> Integer
1547
+ # resp.jobs[0].inputs[0].detected_properties.height #=> Integer
1548
+ # resp.jobs[0].inputs[0].detected_properties.frame_rate #=> String
1549
+ # resp.jobs[0].inputs[0].detected_properties.file_size #=> Integer
1550
+ # resp.jobs[0].inputs[0].detected_properties.duration_millis #=> Integer
1551
+ # resp.jobs[0].output.id #=> String
1552
+ # resp.jobs[0].output.key #=> String
1553
+ # resp.jobs[0].output.thumbnail_pattern #=> String
1554
+ # resp.jobs[0].output.thumbnail_encryption.mode #=> String
1555
+ # resp.jobs[0].output.thumbnail_encryption.key #=> String
1556
+ # resp.jobs[0].output.thumbnail_encryption.key_md_5 #=> String
1557
+ # resp.jobs[0].output.thumbnail_encryption.initialization_vector #=> String
1558
+ # resp.jobs[0].output.rotate #=> String
1559
+ # resp.jobs[0].output.preset_id #=> String
1560
+ # resp.jobs[0].output.segment_duration #=> String
1561
+ # resp.jobs[0].output.status #=> String
1562
+ # resp.jobs[0].output.status_detail #=> String
1563
+ # resp.jobs[0].output.duration #=> Integer
1564
+ # resp.jobs[0].output.width #=> Integer
1565
+ # resp.jobs[0].output.height #=> Integer
1566
+ # resp.jobs[0].output.frame_rate #=> String
1567
+ # resp.jobs[0].output.file_size #=> Integer
1568
+ # resp.jobs[0].output.duration_millis #=> Integer
1569
+ # resp.jobs[0].output.watermarks #=> Array
1570
+ # resp.jobs[0].output.watermarks[0].preset_watermark_id #=> String
1571
+ # resp.jobs[0].output.watermarks[0].input_key #=> String
1572
+ # resp.jobs[0].output.watermarks[0].encryption.mode #=> String
1573
+ # resp.jobs[0].output.watermarks[0].encryption.key #=> String
1574
+ # resp.jobs[0].output.watermarks[0].encryption.key_md_5 #=> String
1575
+ # resp.jobs[0].output.watermarks[0].encryption.initialization_vector #=> String
1576
+ # resp.jobs[0].output.album_art.merge_policy #=> String
1577
+ # resp.jobs[0].output.album_art.artwork #=> Array
1578
+ # resp.jobs[0].output.album_art.artwork[0].input_key #=> String
1579
+ # resp.jobs[0].output.album_art.artwork[0].max_width #=> String
1580
+ # resp.jobs[0].output.album_art.artwork[0].max_height #=> String
1581
+ # resp.jobs[0].output.album_art.artwork[0].sizing_policy #=> String
1582
+ # resp.jobs[0].output.album_art.artwork[0].padding_policy #=> String
1583
+ # resp.jobs[0].output.album_art.artwork[0].album_art_format #=> String
1584
+ # resp.jobs[0].output.album_art.artwork[0].encryption.mode #=> String
1585
+ # resp.jobs[0].output.album_art.artwork[0].encryption.key #=> String
1586
+ # resp.jobs[0].output.album_art.artwork[0].encryption.key_md_5 #=> String
1587
+ # resp.jobs[0].output.album_art.artwork[0].encryption.initialization_vector #=> String
1588
+ # resp.jobs[0].output.composition #=> Array
1589
+ # resp.jobs[0].output.composition[0].time_span.start_time #=> String
1590
+ # resp.jobs[0].output.composition[0].time_span.duration #=> String
1591
+ # resp.jobs[0].output.captions.merge_policy #=> String
1592
+ # resp.jobs[0].output.captions.caption_sources #=> Array
1593
+ # resp.jobs[0].output.captions.caption_sources[0].key #=> String
1594
+ # resp.jobs[0].output.captions.caption_sources[0].language #=> String
1595
+ # resp.jobs[0].output.captions.caption_sources[0].time_offset #=> String
1596
+ # resp.jobs[0].output.captions.caption_sources[0].label #=> String
1597
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.mode #=> String
1598
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.key #=> String
1599
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.key_md_5 #=> String
1600
+ # resp.jobs[0].output.captions.caption_sources[0].encryption.initialization_vector #=> String
1601
+ # resp.jobs[0].output.captions.caption_formats #=> Array
1602
+ # resp.jobs[0].output.captions.caption_formats[0].format #=> String
1603
+ # resp.jobs[0].output.captions.caption_formats[0].pattern #=> String
1604
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.mode #=> String
1605
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.key #=> String
1606
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.key_md_5 #=> String
1607
+ # resp.jobs[0].output.captions.caption_formats[0].encryption.initialization_vector #=> String
1608
+ # resp.jobs[0].output.encryption.mode #=> String
1609
+ # resp.jobs[0].output.encryption.key #=> String
1610
+ # resp.jobs[0].output.encryption.key_md_5 #=> String
1611
+ # resp.jobs[0].output.encryption.initialization_vector #=> String
1612
+ # resp.jobs[0].output.applied_color_space_conversion #=> String
1613
+ # resp.jobs[0].outputs #=> Array
1614
+ # resp.jobs[0].outputs[0].id #=> String
1615
+ # resp.jobs[0].outputs[0].key #=> String
1616
+ # resp.jobs[0].outputs[0].thumbnail_pattern #=> String
1617
+ # resp.jobs[0].outputs[0].thumbnail_encryption.mode #=> String
1618
+ # resp.jobs[0].outputs[0].thumbnail_encryption.key #=> String
1619
+ # resp.jobs[0].outputs[0].thumbnail_encryption.key_md_5 #=> String
1620
+ # resp.jobs[0].outputs[0].thumbnail_encryption.initialization_vector #=> String
1621
+ # resp.jobs[0].outputs[0].rotate #=> String
1622
+ # resp.jobs[0].outputs[0].preset_id #=> String
1623
+ # resp.jobs[0].outputs[0].segment_duration #=> String
1624
+ # resp.jobs[0].outputs[0].status #=> String
1625
+ # resp.jobs[0].outputs[0].status_detail #=> String
1626
+ # resp.jobs[0].outputs[0].duration #=> Integer
1627
+ # resp.jobs[0].outputs[0].width #=> Integer
1628
+ # resp.jobs[0].outputs[0].height #=> Integer
1629
+ # resp.jobs[0].outputs[0].frame_rate #=> String
1630
+ # resp.jobs[0].outputs[0].file_size #=> Integer
1631
+ # resp.jobs[0].outputs[0].duration_millis #=> Integer
1632
+ # resp.jobs[0].outputs[0].watermarks #=> Array
1633
+ # resp.jobs[0].outputs[0].watermarks[0].preset_watermark_id #=> String
1634
+ # resp.jobs[0].outputs[0].watermarks[0].input_key #=> String
1635
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.mode #=> String
1636
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.key #=> String
1637
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.key_md_5 #=> String
1638
+ # resp.jobs[0].outputs[0].watermarks[0].encryption.initialization_vector #=> String
1639
+ # resp.jobs[0].outputs[0].album_art.merge_policy #=> String
1640
+ # resp.jobs[0].outputs[0].album_art.artwork #=> Array
1641
+ # resp.jobs[0].outputs[0].album_art.artwork[0].input_key #=> String
1642
+ # resp.jobs[0].outputs[0].album_art.artwork[0].max_width #=> String
1643
+ # resp.jobs[0].outputs[0].album_art.artwork[0].max_height #=> String
1644
+ # resp.jobs[0].outputs[0].album_art.artwork[0].sizing_policy #=> String
1645
+ # resp.jobs[0].outputs[0].album_art.artwork[0].padding_policy #=> String
1646
+ # resp.jobs[0].outputs[0].album_art.artwork[0].album_art_format #=> String
1647
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.mode #=> String
1648
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.key #=> String
1649
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.key_md_5 #=> String
1650
+ # resp.jobs[0].outputs[0].album_art.artwork[0].encryption.initialization_vector #=> String
1651
+ # resp.jobs[0].outputs[0].composition #=> Array
1652
+ # resp.jobs[0].outputs[0].composition[0].time_span.start_time #=> String
1653
+ # resp.jobs[0].outputs[0].composition[0].time_span.duration #=> String
1654
+ # resp.jobs[0].outputs[0].captions.merge_policy #=> String
1655
+ # resp.jobs[0].outputs[0].captions.caption_sources #=> Array
1656
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].key #=> String
1657
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].language #=> String
1658
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].time_offset #=> String
1659
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].label #=> String
1660
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.mode #=> String
1661
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.key #=> String
1662
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.key_md_5 #=> String
1663
+ # resp.jobs[0].outputs[0].captions.caption_sources[0].encryption.initialization_vector #=> String
1664
+ # resp.jobs[0].outputs[0].captions.caption_formats #=> Array
1665
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].format #=> String
1666
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].pattern #=> String
1667
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.mode #=> String
1668
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.key #=> String
1669
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.key_md_5 #=> String
1670
+ # resp.jobs[0].outputs[0].captions.caption_formats[0].encryption.initialization_vector #=> String
1671
+ # resp.jobs[0].outputs[0].encryption.mode #=> String
1672
+ # resp.jobs[0].outputs[0].encryption.key #=> String
1673
+ # resp.jobs[0].outputs[0].encryption.key_md_5 #=> String
1674
+ # resp.jobs[0].outputs[0].encryption.initialization_vector #=> String
1675
+ # resp.jobs[0].outputs[0].applied_color_space_conversion #=> String
1676
+ # resp.jobs[0].output_key_prefix #=> String
1677
+ # resp.jobs[0].playlists #=> Array
1678
+ # resp.jobs[0].playlists[0].name #=> String
1679
+ # resp.jobs[0].playlists[0].format #=> String
1680
+ # resp.jobs[0].playlists[0].output_keys #=> Array
1681
+ # resp.jobs[0].playlists[0].output_keys[0] #=> String
1682
+ # resp.jobs[0].playlists[0].hls_content_protection.method #=> String
1683
+ # resp.jobs[0].playlists[0].hls_content_protection.key #=> String
1684
+ # resp.jobs[0].playlists[0].hls_content_protection.key_md_5 #=> String
1685
+ # resp.jobs[0].playlists[0].hls_content_protection.initialization_vector #=> String
1686
+ # resp.jobs[0].playlists[0].hls_content_protection.license_acquisition_url #=> String
1687
+ # resp.jobs[0].playlists[0].hls_content_protection.key_storage_policy #=> String
1688
+ # resp.jobs[0].playlists[0].play_ready_drm.format #=> String
1689
+ # resp.jobs[0].playlists[0].play_ready_drm.key #=> String
1690
+ # resp.jobs[0].playlists[0].play_ready_drm.key_md_5 #=> String
1691
+ # resp.jobs[0].playlists[0].play_ready_drm.key_id #=> String
1692
+ # resp.jobs[0].playlists[0].play_ready_drm.initialization_vector #=> String
1693
+ # resp.jobs[0].playlists[0].play_ready_drm.license_acquisition_url #=> String
1694
+ # resp.jobs[0].playlists[0].status #=> String
1695
+ # resp.jobs[0].playlists[0].status_detail #=> String
1696
+ # resp.jobs[0].status #=> String
1697
+ # resp.jobs[0].user_metadata #=> Hash
1698
+ # resp.jobs[0].user_metadata["String"] #=> String
1699
+ # resp.jobs[0].timing.submit_time_millis #=> Integer
1700
+ # resp.jobs[0].timing.start_time_millis #=> Integer
1701
+ # resp.jobs[0].timing.finish_time_millis #=> Integer
1702
+ # resp.next_page_token #=> String
1703
+ # @overload list_jobs_by_status(params = {})
1704
+ # @param [Hash] params ({})
1705
+ def list_jobs_by_status(params = {}, options = {})
1706
+ req = build_request(:list_jobs_by_status, params)
1707
+ req.send_request(options)
1708
+ end
1709
+
1710
+ # The ListPipelines operation gets a list of the pipelines associated
1711
+ # with the current AWS account.
1712
+ # @option params [String] :ascending
1713
+ # To list pipelines in chronological order by the date and time that
1714
+ # they were created, enter `true`. To list pipelines in reverse
1715
+ # chronological order, enter `false`.
1716
+ # @option params [String] :page_token
1717
+ # When Elastic Transcoder returns more than one page of results, use
1718
+ # `pageToken` in subsequent `GET` requests to get each successive page
1719
+ # of results.
1720
+ # @return [Types::ListPipelinesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1721
+ #
1722
+ # * {Types::ListPipelinesResponse#pipelines #Pipelines} => Array&lt;Types::Pipeline&gt;
1723
+ # * {Types::ListPipelinesResponse#next_page_token #NextPageToken} => String
1724
+ #
1725
+ # @example Request syntax with placeholder values
1726
+ # resp = client.list_pipelines({
1727
+ # ascending: "Ascending",
1728
+ # page_token: "Id",
1729
+ # })
1730
+ #
1731
+ # @example Response structure
1732
+ # resp.pipelines #=> Array
1733
+ # resp.pipelines[0].id #=> String
1734
+ # resp.pipelines[0].arn #=> String
1735
+ # resp.pipelines[0].name #=> String
1736
+ # resp.pipelines[0].status #=> String
1737
+ # resp.pipelines[0].input_bucket #=> String
1738
+ # resp.pipelines[0].output_bucket #=> String
1739
+ # resp.pipelines[0].role #=> String
1740
+ # resp.pipelines[0].aws_kms_key_arn #=> String
1741
+ # resp.pipelines[0].notifications.progressing #=> String
1742
+ # resp.pipelines[0].notifications.completed #=> String
1743
+ # resp.pipelines[0].notifications.warning #=> String
1744
+ # resp.pipelines[0].notifications.error #=> String
1745
+ # resp.pipelines[0].content_config.bucket #=> String
1746
+ # resp.pipelines[0].content_config.storage_class #=> String
1747
+ # resp.pipelines[0].content_config.permissions #=> Array
1748
+ # resp.pipelines[0].content_config.permissions[0].grantee_type #=> String
1749
+ # resp.pipelines[0].content_config.permissions[0].grantee #=> String
1750
+ # resp.pipelines[0].content_config.permissions[0].access #=> Array
1751
+ # resp.pipelines[0].content_config.permissions[0].access[0] #=> String
1752
+ # resp.pipelines[0].thumbnail_config.bucket #=> String
1753
+ # resp.pipelines[0].thumbnail_config.storage_class #=> String
1754
+ # resp.pipelines[0].thumbnail_config.permissions #=> Array
1755
+ # resp.pipelines[0].thumbnail_config.permissions[0].grantee_type #=> String
1756
+ # resp.pipelines[0].thumbnail_config.permissions[0].grantee #=> String
1757
+ # resp.pipelines[0].thumbnail_config.permissions[0].access #=> Array
1758
+ # resp.pipelines[0].thumbnail_config.permissions[0].access[0] #=> String
1759
+ # resp.next_page_token #=> String
1760
+ # @overload list_pipelines(params = {})
1761
+ # @param [Hash] params ({})
1762
+ def list_pipelines(params = {}, options = {})
1763
+ req = build_request(:list_pipelines, params)
1764
+ req.send_request(options)
1765
+ end
1766
+
1767
+ # The ListPresets operation gets a list of the default presets included
1768
+ # with Elastic Transcoder and the presets that you've added in an AWS
1769
+ # region.
1770
+ # @option params [String] :ascending
1771
+ # To list presets in chronological order by the date and time that they
1772
+ # were created, enter `true`. To list presets in reverse chronological
1773
+ # order, enter `false`.
1774
+ # @option params [String] :page_token
1775
+ # When Elastic Transcoder returns more than one page of results, use
1776
+ # `pageToken` in subsequent `GET` requests to get each successive page
1777
+ # of results.
1778
+ # @return [Types::ListPresetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1779
+ #
1780
+ # * {Types::ListPresetsResponse#presets #Presets} => Array&lt;Types::Preset&gt;
1781
+ # * {Types::ListPresetsResponse#next_page_token #NextPageToken} => String
1782
+ #
1783
+ # @example Request syntax with placeholder values
1784
+ # resp = client.list_presets({
1785
+ # ascending: "Ascending",
1786
+ # page_token: "Id",
1787
+ # })
1788
+ #
1789
+ # @example Response structure
1790
+ # resp.presets #=> Array
1791
+ # resp.presets[0].id #=> String
1792
+ # resp.presets[0].arn #=> String
1793
+ # resp.presets[0].name #=> String
1794
+ # resp.presets[0].description #=> String
1795
+ # resp.presets[0].container #=> String
1796
+ # resp.presets[0].audio.codec #=> String
1797
+ # resp.presets[0].audio.sample_rate #=> String
1798
+ # resp.presets[0].audio.bit_rate #=> String
1799
+ # resp.presets[0].audio.channels #=> String
1800
+ # resp.presets[0].audio.audio_packing_mode #=> String
1801
+ # resp.presets[0].audio.codec_options.profile #=> String
1802
+ # resp.presets[0].audio.codec_options.bit_depth #=> String
1803
+ # resp.presets[0].audio.codec_options.bit_order #=> String
1804
+ # resp.presets[0].audio.codec_options.signed #=> String
1805
+ # resp.presets[0].video.codec #=> String
1806
+ # resp.presets[0].video.codec_options #=> Hash
1807
+ # resp.presets[0].video.codec_options["CodecOption"] #=> String
1808
+ # resp.presets[0].video.keyframes_max_dist #=> String
1809
+ # resp.presets[0].video.fixed_gop #=> String
1810
+ # resp.presets[0].video.bit_rate #=> String
1811
+ # resp.presets[0].video.frame_rate #=> String
1812
+ # resp.presets[0].video.max_frame_rate #=> String
1813
+ # resp.presets[0].video.resolution #=> String
1814
+ # resp.presets[0].video.aspect_ratio #=> String
1815
+ # resp.presets[0].video.max_width #=> String
1816
+ # resp.presets[0].video.max_height #=> String
1817
+ # resp.presets[0].video.display_aspect_ratio #=> String
1818
+ # resp.presets[0].video.sizing_policy #=> String
1819
+ # resp.presets[0].video.padding_policy #=> String
1820
+ # resp.presets[0].video.watermarks #=> Array
1821
+ # resp.presets[0].video.watermarks[0].id #=> String
1822
+ # resp.presets[0].video.watermarks[0].max_width #=> String
1823
+ # resp.presets[0].video.watermarks[0].max_height #=> String
1824
+ # resp.presets[0].video.watermarks[0].sizing_policy #=> String
1825
+ # resp.presets[0].video.watermarks[0].horizontal_align #=> String
1826
+ # resp.presets[0].video.watermarks[0].horizontal_offset #=> String
1827
+ # resp.presets[0].video.watermarks[0].vertical_align #=> String
1828
+ # resp.presets[0].video.watermarks[0].vertical_offset #=> String
1829
+ # resp.presets[0].video.watermarks[0].opacity #=> String
1830
+ # resp.presets[0].video.watermarks[0].target #=> String
1831
+ # resp.presets[0].thumbnails.format #=> String
1832
+ # resp.presets[0].thumbnails.interval #=> String
1833
+ # resp.presets[0].thumbnails.resolution #=> String
1834
+ # resp.presets[0].thumbnails.aspect_ratio #=> String
1835
+ # resp.presets[0].thumbnails.max_width #=> String
1836
+ # resp.presets[0].thumbnails.max_height #=> String
1837
+ # resp.presets[0].thumbnails.sizing_policy #=> String
1838
+ # resp.presets[0].thumbnails.padding_policy #=> String
1839
+ # resp.presets[0].type #=> String
1840
+ # resp.next_page_token #=> String
1841
+ # @overload list_presets(params = {})
1842
+ # @param [Hash] params ({})
1843
+ def list_presets(params = {}, options = {})
1844
+ req = build_request(:list_presets, params)
1845
+ req.send_request(options)
1846
+ end
1847
+
1848
+ # The ReadJob operation returns detailed information about a job.
1849
+ # @option params [required, String] :id
1850
+ # The identifier of the job for which you want to get detailed
1851
+ # information.
1852
+ # @return [Types::ReadJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1853
+ #
1854
+ # * {Types::ReadJobResponse#job #Job} => Types::Job
1855
+ #
1856
+ # @example Request syntax with placeholder values
1857
+ # resp = client.read_job({
1858
+ # id: "Id", # required
1859
+ # })
1860
+ #
1861
+ # @example Response structure
1862
+ # resp.job.id #=> String
1863
+ # resp.job.arn #=> String
1864
+ # resp.job.pipeline_id #=> String
1865
+ # resp.job.input.key #=> String
1866
+ # resp.job.input.frame_rate #=> String
1867
+ # resp.job.input.resolution #=> String
1868
+ # resp.job.input.aspect_ratio #=> String
1869
+ # resp.job.input.interlaced #=> String
1870
+ # resp.job.input.container #=> String
1871
+ # resp.job.input.encryption.mode #=> String
1872
+ # resp.job.input.encryption.key #=> String
1873
+ # resp.job.input.encryption.key_md_5 #=> String
1874
+ # resp.job.input.encryption.initialization_vector #=> String
1875
+ # resp.job.input.time_span.start_time #=> String
1876
+ # resp.job.input.time_span.duration #=> String
1877
+ # resp.job.input.input_captions.merge_policy #=> String
1878
+ # resp.job.input.input_captions.caption_sources #=> Array
1879
+ # resp.job.input.input_captions.caption_sources[0].key #=> String
1880
+ # resp.job.input.input_captions.caption_sources[0].language #=> String
1881
+ # resp.job.input.input_captions.caption_sources[0].time_offset #=> String
1882
+ # resp.job.input.input_captions.caption_sources[0].label #=> String
1883
+ # resp.job.input.input_captions.caption_sources[0].encryption.mode #=> String
1884
+ # resp.job.input.input_captions.caption_sources[0].encryption.key #=> String
1885
+ # resp.job.input.input_captions.caption_sources[0].encryption.key_md_5 #=> String
1886
+ # resp.job.input.input_captions.caption_sources[0].encryption.initialization_vector #=> String
1887
+ # resp.job.input.detected_properties.width #=> Integer
1888
+ # resp.job.input.detected_properties.height #=> Integer
1889
+ # resp.job.input.detected_properties.frame_rate #=> String
1890
+ # resp.job.input.detected_properties.file_size #=> Integer
1891
+ # resp.job.input.detected_properties.duration_millis #=> Integer
1892
+ # resp.job.inputs #=> Array
1893
+ # resp.job.inputs[0].key #=> String
1894
+ # resp.job.inputs[0].frame_rate #=> String
1895
+ # resp.job.inputs[0].resolution #=> String
1896
+ # resp.job.inputs[0].aspect_ratio #=> String
1897
+ # resp.job.inputs[0].interlaced #=> String
1898
+ # resp.job.inputs[0].container #=> String
1899
+ # resp.job.inputs[0].encryption.mode #=> String
1900
+ # resp.job.inputs[0].encryption.key #=> String
1901
+ # resp.job.inputs[0].encryption.key_md_5 #=> String
1902
+ # resp.job.inputs[0].encryption.initialization_vector #=> String
1903
+ # resp.job.inputs[0].time_span.start_time #=> String
1904
+ # resp.job.inputs[0].time_span.duration #=> String
1905
+ # resp.job.inputs[0].input_captions.merge_policy #=> String
1906
+ # resp.job.inputs[0].input_captions.caption_sources #=> Array
1907
+ # resp.job.inputs[0].input_captions.caption_sources[0].key #=> String
1908
+ # resp.job.inputs[0].input_captions.caption_sources[0].language #=> String
1909
+ # resp.job.inputs[0].input_captions.caption_sources[0].time_offset #=> String
1910
+ # resp.job.inputs[0].input_captions.caption_sources[0].label #=> String
1911
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.mode #=> String
1912
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.key #=> String
1913
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.key_md_5 #=> String
1914
+ # resp.job.inputs[0].input_captions.caption_sources[0].encryption.initialization_vector #=> String
1915
+ # resp.job.inputs[0].detected_properties.width #=> Integer
1916
+ # resp.job.inputs[0].detected_properties.height #=> Integer
1917
+ # resp.job.inputs[0].detected_properties.frame_rate #=> String
1918
+ # resp.job.inputs[0].detected_properties.file_size #=> Integer
1919
+ # resp.job.inputs[0].detected_properties.duration_millis #=> Integer
1920
+ # resp.job.output.id #=> String
1921
+ # resp.job.output.key #=> String
1922
+ # resp.job.output.thumbnail_pattern #=> String
1923
+ # resp.job.output.thumbnail_encryption.mode #=> String
1924
+ # resp.job.output.thumbnail_encryption.key #=> String
1925
+ # resp.job.output.thumbnail_encryption.key_md_5 #=> String
1926
+ # resp.job.output.thumbnail_encryption.initialization_vector #=> String
1927
+ # resp.job.output.rotate #=> String
1928
+ # resp.job.output.preset_id #=> String
1929
+ # resp.job.output.segment_duration #=> String
1930
+ # resp.job.output.status #=> String
1931
+ # resp.job.output.status_detail #=> String
1932
+ # resp.job.output.duration #=> Integer
1933
+ # resp.job.output.width #=> Integer
1934
+ # resp.job.output.height #=> Integer
1935
+ # resp.job.output.frame_rate #=> String
1936
+ # resp.job.output.file_size #=> Integer
1937
+ # resp.job.output.duration_millis #=> Integer
1938
+ # resp.job.output.watermarks #=> Array
1939
+ # resp.job.output.watermarks[0].preset_watermark_id #=> String
1940
+ # resp.job.output.watermarks[0].input_key #=> String
1941
+ # resp.job.output.watermarks[0].encryption.mode #=> String
1942
+ # resp.job.output.watermarks[0].encryption.key #=> String
1943
+ # resp.job.output.watermarks[0].encryption.key_md_5 #=> String
1944
+ # resp.job.output.watermarks[0].encryption.initialization_vector #=> String
1945
+ # resp.job.output.album_art.merge_policy #=> String
1946
+ # resp.job.output.album_art.artwork #=> Array
1947
+ # resp.job.output.album_art.artwork[0].input_key #=> String
1948
+ # resp.job.output.album_art.artwork[0].max_width #=> String
1949
+ # resp.job.output.album_art.artwork[0].max_height #=> String
1950
+ # resp.job.output.album_art.artwork[0].sizing_policy #=> String
1951
+ # resp.job.output.album_art.artwork[0].padding_policy #=> String
1952
+ # resp.job.output.album_art.artwork[0].album_art_format #=> String
1953
+ # resp.job.output.album_art.artwork[0].encryption.mode #=> String
1954
+ # resp.job.output.album_art.artwork[0].encryption.key #=> String
1955
+ # resp.job.output.album_art.artwork[0].encryption.key_md_5 #=> String
1956
+ # resp.job.output.album_art.artwork[0].encryption.initialization_vector #=> String
1957
+ # resp.job.output.composition #=> Array
1958
+ # resp.job.output.composition[0].time_span.start_time #=> String
1959
+ # resp.job.output.composition[0].time_span.duration #=> String
1960
+ # resp.job.output.captions.merge_policy #=> String
1961
+ # resp.job.output.captions.caption_sources #=> Array
1962
+ # resp.job.output.captions.caption_sources[0].key #=> String
1963
+ # resp.job.output.captions.caption_sources[0].language #=> String
1964
+ # resp.job.output.captions.caption_sources[0].time_offset #=> String
1965
+ # resp.job.output.captions.caption_sources[0].label #=> String
1966
+ # resp.job.output.captions.caption_sources[0].encryption.mode #=> String
1967
+ # resp.job.output.captions.caption_sources[0].encryption.key #=> String
1968
+ # resp.job.output.captions.caption_sources[0].encryption.key_md_5 #=> String
1969
+ # resp.job.output.captions.caption_sources[0].encryption.initialization_vector #=> String
1970
+ # resp.job.output.captions.caption_formats #=> Array
1971
+ # resp.job.output.captions.caption_formats[0].format #=> String
1972
+ # resp.job.output.captions.caption_formats[0].pattern #=> String
1973
+ # resp.job.output.captions.caption_formats[0].encryption.mode #=> String
1974
+ # resp.job.output.captions.caption_formats[0].encryption.key #=> String
1975
+ # resp.job.output.captions.caption_formats[0].encryption.key_md_5 #=> String
1976
+ # resp.job.output.captions.caption_formats[0].encryption.initialization_vector #=> String
1977
+ # resp.job.output.encryption.mode #=> String
1978
+ # resp.job.output.encryption.key #=> String
1979
+ # resp.job.output.encryption.key_md_5 #=> String
1980
+ # resp.job.output.encryption.initialization_vector #=> String
1981
+ # resp.job.output.applied_color_space_conversion #=> String
1982
+ # resp.job.outputs #=> Array
1983
+ # resp.job.outputs[0].id #=> String
1984
+ # resp.job.outputs[0].key #=> String
1985
+ # resp.job.outputs[0].thumbnail_pattern #=> String
1986
+ # resp.job.outputs[0].thumbnail_encryption.mode #=> String
1987
+ # resp.job.outputs[0].thumbnail_encryption.key #=> String
1988
+ # resp.job.outputs[0].thumbnail_encryption.key_md_5 #=> String
1989
+ # resp.job.outputs[0].thumbnail_encryption.initialization_vector #=> String
1990
+ # resp.job.outputs[0].rotate #=> String
1991
+ # resp.job.outputs[0].preset_id #=> String
1992
+ # resp.job.outputs[0].segment_duration #=> String
1993
+ # resp.job.outputs[0].status #=> String
1994
+ # resp.job.outputs[0].status_detail #=> String
1995
+ # resp.job.outputs[0].duration #=> Integer
1996
+ # resp.job.outputs[0].width #=> Integer
1997
+ # resp.job.outputs[0].height #=> Integer
1998
+ # resp.job.outputs[0].frame_rate #=> String
1999
+ # resp.job.outputs[0].file_size #=> Integer
2000
+ # resp.job.outputs[0].duration_millis #=> Integer
2001
+ # resp.job.outputs[0].watermarks #=> Array
2002
+ # resp.job.outputs[0].watermarks[0].preset_watermark_id #=> String
2003
+ # resp.job.outputs[0].watermarks[0].input_key #=> String
2004
+ # resp.job.outputs[0].watermarks[0].encryption.mode #=> String
2005
+ # resp.job.outputs[0].watermarks[0].encryption.key #=> String
2006
+ # resp.job.outputs[0].watermarks[0].encryption.key_md_5 #=> String
2007
+ # resp.job.outputs[0].watermarks[0].encryption.initialization_vector #=> String
2008
+ # resp.job.outputs[0].album_art.merge_policy #=> String
2009
+ # resp.job.outputs[0].album_art.artwork #=> Array
2010
+ # resp.job.outputs[0].album_art.artwork[0].input_key #=> String
2011
+ # resp.job.outputs[0].album_art.artwork[0].max_width #=> String
2012
+ # resp.job.outputs[0].album_art.artwork[0].max_height #=> String
2013
+ # resp.job.outputs[0].album_art.artwork[0].sizing_policy #=> String
2014
+ # resp.job.outputs[0].album_art.artwork[0].padding_policy #=> String
2015
+ # resp.job.outputs[0].album_art.artwork[0].album_art_format #=> String
2016
+ # resp.job.outputs[0].album_art.artwork[0].encryption.mode #=> String
2017
+ # resp.job.outputs[0].album_art.artwork[0].encryption.key #=> String
2018
+ # resp.job.outputs[0].album_art.artwork[0].encryption.key_md_5 #=> String
2019
+ # resp.job.outputs[0].album_art.artwork[0].encryption.initialization_vector #=> String
2020
+ # resp.job.outputs[0].composition #=> Array
2021
+ # resp.job.outputs[0].composition[0].time_span.start_time #=> String
2022
+ # resp.job.outputs[0].composition[0].time_span.duration #=> String
2023
+ # resp.job.outputs[0].captions.merge_policy #=> String
2024
+ # resp.job.outputs[0].captions.caption_sources #=> Array
2025
+ # resp.job.outputs[0].captions.caption_sources[0].key #=> String
2026
+ # resp.job.outputs[0].captions.caption_sources[0].language #=> String
2027
+ # resp.job.outputs[0].captions.caption_sources[0].time_offset #=> String
2028
+ # resp.job.outputs[0].captions.caption_sources[0].label #=> String
2029
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.mode #=> String
2030
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.key #=> String
2031
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.key_md_5 #=> String
2032
+ # resp.job.outputs[0].captions.caption_sources[0].encryption.initialization_vector #=> String
2033
+ # resp.job.outputs[0].captions.caption_formats #=> Array
2034
+ # resp.job.outputs[0].captions.caption_formats[0].format #=> String
2035
+ # resp.job.outputs[0].captions.caption_formats[0].pattern #=> String
2036
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.mode #=> String
2037
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.key #=> String
2038
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.key_md_5 #=> String
2039
+ # resp.job.outputs[0].captions.caption_formats[0].encryption.initialization_vector #=> String
2040
+ # resp.job.outputs[0].encryption.mode #=> String
2041
+ # resp.job.outputs[0].encryption.key #=> String
2042
+ # resp.job.outputs[0].encryption.key_md_5 #=> String
2043
+ # resp.job.outputs[0].encryption.initialization_vector #=> String
2044
+ # resp.job.outputs[0].applied_color_space_conversion #=> String
2045
+ # resp.job.output_key_prefix #=> String
2046
+ # resp.job.playlists #=> Array
2047
+ # resp.job.playlists[0].name #=> String
2048
+ # resp.job.playlists[0].format #=> String
2049
+ # resp.job.playlists[0].output_keys #=> Array
2050
+ # resp.job.playlists[0].output_keys[0] #=> String
2051
+ # resp.job.playlists[0].hls_content_protection.method #=> String
2052
+ # resp.job.playlists[0].hls_content_protection.key #=> String
2053
+ # resp.job.playlists[0].hls_content_protection.key_md_5 #=> String
2054
+ # resp.job.playlists[0].hls_content_protection.initialization_vector #=> String
2055
+ # resp.job.playlists[0].hls_content_protection.license_acquisition_url #=> String
2056
+ # resp.job.playlists[0].hls_content_protection.key_storage_policy #=> String
2057
+ # resp.job.playlists[0].play_ready_drm.format #=> String
2058
+ # resp.job.playlists[0].play_ready_drm.key #=> String
2059
+ # resp.job.playlists[0].play_ready_drm.key_md_5 #=> String
2060
+ # resp.job.playlists[0].play_ready_drm.key_id #=> String
2061
+ # resp.job.playlists[0].play_ready_drm.initialization_vector #=> String
2062
+ # resp.job.playlists[0].play_ready_drm.license_acquisition_url #=> String
2063
+ # resp.job.playlists[0].status #=> String
2064
+ # resp.job.playlists[0].status_detail #=> String
2065
+ # resp.job.status #=> String
2066
+ # resp.job.user_metadata #=> Hash
2067
+ # resp.job.user_metadata["String"] #=> String
2068
+ # resp.job.timing.submit_time_millis #=> Integer
2069
+ # resp.job.timing.start_time_millis #=> Integer
2070
+ # resp.job.timing.finish_time_millis #=> Integer
2071
+ # @overload read_job(params = {})
2072
+ # @param [Hash] params ({})
2073
+ def read_job(params = {}, options = {})
2074
+ req = build_request(:read_job, params)
2075
+ req.send_request(options)
2076
+ end
2077
+
2078
+ # The ReadPipeline operation gets detailed information about a pipeline.
2079
+ # @option params [required, String] :id
2080
+ # The identifier of the pipeline to read.
2081
+ # @return [Types::ReadPipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2082
+ #
2083
+ # * {Types::ReadPipelineResponse#pipeline #Pipeline} => Types::Pipeline
2084
+ # * {Types::ReadPipelineResponse#warnings #Warnings} => Array&lt;Types::Warning&gt;
2085
+ #
2086
+ # @example Request syntax with placeholder values
2087
+ # resp = client.read_pipeline({
2088
+ # id: "Id", # required
2089
+ # })
2090
+ #
2091
+ # @example Response structure
2092
+ # resp.pipeline.id #=> String
2093
+ # resp.pipeline.arn #=> String
2094
+ # resp.pipeline.name #=> String
2095
+ # resp.pipeline.status #=> String
2096
+ # resp.pipeline.input_bucket #=> String
2097
+ # resp.pipeline.output_bucket #=> String
2098
+ # resp.pipeline.role #=> String
2099
+ # resp.pipeline.aws_kms_key_arn #=> String
2100
+ # resp.pipeline.notifications.progressing #=> String
2101
+ # resp.pipeline.notifications.completed #=> String
2102
+ # resp.pipeline.notifications.warning #=> String
2103
+ # resp.pipeline.notifications.error #=> String
2104
+ # resp.pipeline.content_config.bucket #=> String
2105
+ # resp.pipeline.content_config.storage_class #=> String
2106
+ # resp.pipeline.content_config.permissions #=> Array
2107
+ # resp.pipeline.content_config.permissions[0].grantee_type #=> String
2108
+ # resp.pipeline.content_config.permissions[0].grantee #=> String
2109
+ # resp.pipeline.content_config.permissions[0].access #=> Array
2110
+ # resp.pipeline.content_config.permissions[0].access[0] #=> String
2111
+ # resp.pipeline.thumbnail_config.bucket #=> String
2112
+ # resp.pipeline.thumbnail_config.storage_class #=> String
2113
+ # resp.pipeline.thumbnail_config.permissions #=> Array
2114
+ # resp.pipeline.thumbnail_config.permissions[0].grantee_type #=> String
2115
+ # resp.pipeline.thumbnail_config.permissions[0].grantee #=> String
2116
+ # resp.pipeline.thumbnail_config.permissions[0].access #=> Array
2117
+ # resp.pipeline.thumbnail_config.permissions[0].access[0] #=> String
2118
+ # resp.warnings #=> Array
2119
+ # resp.warnings[0].code #=> String
2120
+ # resp.warnings[0].message #=> String
2121
+ # @overload read_pipeline(params = {})
2122
+ # @param [Hash] params ({})
2123
+ def read_pipeline(params = {}, options = {})
2124
+ req = build_request(:read_pipeline, params)
2125
+ req.send_request(options)
2126
+ end
2127
+
2128
+ # The ReadPreset operation gets detailed information about a preset.
2129
+ # @option params [required, String] :id
2130
+ # The identifier of the preset for which you want to get detailed
2131
+ # information.
2132
+ # @return [Types::ReadPresetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2133
+ #
2134
+ # * {Types::ReadPresetResponse#preset #Preset} => Types::Preset
2135
+ #
2136
+ # @example Request syntax with placeholder values
2137
+ # resp = client.read_preset({
2138
+ # id: "Id", # required
2139
+ # })
2140
+ #
2141
+ # @example Response structure
2142
+ # resp.preset.id #=> String
2143
+ # resp.preset.arn #=> String
2144
+ # resp.preset.name #=> String
2145
+ # resp.preset.description #=> String
2146
+ # resp.preset.container #=> String
2147
+ # resp.preset.audio.codec #=> String
2148
+ # resp.preset.audio.sample_rate #=> String
2149
+ # resp.preset.audio.bit_rate #=> String
2150
+ # resp.preset.audio.channels #=> String
2151
+ # resp.preset.audio.audio_packing_mode #=> String
2152
+ # resp.preset.audio.codec_options.profile #=> String
2153
+ # resp.preset.audio.codec_options.bit_depth #=> String
2154
+ # resp.preset.audio.codec_options.bit_order #=> String
2155
+ # resp.preset.audio.codec_options.signed #=> String
2156
+ # resp.preset.video.codec #=> String
2157
+ # resp.preset.video.codec_options #=> Hash
2158
+ # resp.preset.video.codec_options["CodecOption"] #=> String
2159
+ # resp.preset.video.keyframes_max_dist #=> String
2160
+ # resp.preset.video.fixed_gop #=> String
2161
+ # resp.preset.video.bit_rate #=> String
2162
+ # resp.preset.video.frame_rate #=> String
2163
+ # resp.preset.video.max_frame_rate #=> String
2164
+ # resp.preset.video.resolution #=> String
2165
+ # resp.preset.video.aspect_ratio #=> String
2166
+ # resp.preset.video.max_width #=> String
2167
+ # resp.preset.video.max_height #=> String
2168
+ # resp.preset.video.display_aspect_ratio #=> String
2169
+ # resp.preset.video.sizing_policy #=> String
2170
+ # resp.preset.video.padding_policy #=> String
2171
+ # resp.preset.video.watermarks #=> Array
2172
+ # resp.preset.video.watermarks[0].id #=> String
2173
+ # resp.preset.video.watermarks[0].max_width #=> String
2174
+ # resp.preset.video.watermarks[0].max_height #=> String
2175
+ # resp.preset.video.watermarks[0].sizing_policy #=> String
2176
+ # resp.preset.video.watermarks[0].horizontal_align #=> String
2177
+ # resp.preset.video.watermarks[0].horizontal_offset #=> String
2178
+ # resp.preset.video.watermarks[0].vertical_align #=> String
2179
+ # resp.preset.video.watermarks[0].vertical_offset #=> String
2180
+ # resp.preset.video.watermarks[0].opacity #=> String
2181
+ # resp.preset.video.watermarks[0].target #=> String
2182
+ # resp.preset.thumbnails.format #=> String
2183
+ # resp.preset.thumbnails.interval #=> String
2184
+ # resp.preset.thumbnails.resolution #=> String
2185
+ # resp.preset.thumbnails.aspect_ratio #=> String
2186
+ # resp.preset.thumbnails.max_width #=> String
2187
+ # resp.preset.thumbnails.max_height #=> String
2188
+ # resp.preset.thumbnails.sizing_policy #=> String
2189
+ # resp.preset.thumbnails.padding_policy #=> String
2190
+ # resp.preset.type #=> String
2191
+ # @overload read_preset(params = {})
2192
+ # @param [Hash] params ({})
2193
+ def read_preset(params = {}, options = {})
2194
+ req = build_request(:read_preset, params)
2195
+ req.send_request(options)
2196
+ end
2197
+
2198
+ # The TestRole operation tests the IAM role used to create the pipeline.
2199
+ #
2200
+ # The `TestRole` action lets you determine whether the IAM role you are
2201
+ # using has sufficient permissions to let Elastic Transcoder perform
2202
+ # tasks associated with the transcoding process. The action attempts to
2203
+ # assume the specified IAM role, checks read access to the input and
2204
+ # output buckets, and tries to send a test notification to Amazon SNS
2205
+ # topics that you specify.
2206
+ # @option params [required, String] :role
2207
+ # The IAM Amazon Resource Name (ARN) for the role that you want Elastic
2208
+ # Transcoder to test.
2209
+ # @option params [required, String] :input_bucket
2210
+ # The Amazon S3 bucket that contains media files to be transcoded. The
2211
+ # action attempts to read from this bucket.
2212
+ # @option params [required, String] :output_bucket
2213
+ # The Amazon S3 bucket that Elastic Transcoder writes transcoded media
2214
+ # files to. The action attempts to read from this bucket.
2215
+ # @option params [required, Array<String>] :topics
2216
+ # The ARNs of one or more Amazon Simple Notification Service (Amazon
2217
+ # SNS) topics that you want the action to send a test notification to.
2218
+ # @return [Types::TestRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2219
+ #
2220
+ # * {Types::TestRoleResponse#success #Success} => String
2221
+ # * {Types::TestRoleResponse#messages #Messages} => Array&lt;String&gt;
2222
+ #
2223
+ # @example Request syntax with placeholder values
2224
+ # resp = client.test_role({
2225
+ # role: "Role", # required
2226
+ # input_bucket: "BucketName", # required
2227
+ # output_bucket: "BucketName", # required
2228
+ # topics: ["SnsTopic"], # required
2229
+ # })
2230
+ #
2231
+ # @example Response structure
2232
+ # resp.success #=> String
2233
+ # resp.messages #=> Array
2234
+ # resp.messages[0] #=> String
2235
+ # @overload test_role(params = {})
2236
+ # @param [Hash] params ({})
2237
+ def test_role(params = {}, options = {})
2238
+ req = build_request(:test_role, params)
2239
+ req.send_request(options)
2240
+ end
2241
+
2242
+ # Use the `UpdatePipeline` operation to update settings for a pipeline.
2243
+ #
2244
+ # When you change pipeline settings, your changes take effect
2245
+ # immediately. Jobs that you have already submitted and that Elastic
2246
+ # Transcoder has not started to process are affected in addition to jobs
2247
+ # that you submit after you change settings.
2248
+ # @option params [required, String] :id
2249
+ # The ID of the pipeline that you want to update.
2250
+ # @option params [String] :name
2251
+ # The name of the pipeline. We recommend that the name be unique within
2252
+ # the AWS account, but uniqueness is not enforced.
2253
+ #
2254
+ # Constraints: Maximum 40 characters
2255
+ # @option params [String] :input_bucket
2256
+ # The Amazon S3 bucket in which you saved the media files that you want
2257
+ # to transcode and the graphics that you want to use as watermarks.
2258
+ # @option params [String] :role
2259
+ # The IAM Amazon Resource Name (ARN) for the role that you want Elastic
2260
+ # Transcoder to use to transcode jobs for this pipeline.
2261
+ # @option params [String] :aws_kms_key_arn
2262
+ # The AWS Key Management Service (AWS KMS) key that you want to use with
2263
+ # this pipeline.
2264
+ #
2265
+ # If you use either `S3` or `S3-AWS-KMS` as your `Encryption:Mode`, you
2266
+ # don't need to provide a key with your job because a default key,
2267
+ # known as an AWS-KMS key, is created for you automatically. You need to
2268
+ # provide an AWS-KMS key only if you want to use a non-default AWS-KMS
2269
+ # key, or if you are using an `Encryption:Mode` of `AES-PKCS7`,
2270
+ # `AES-CTR`, or `AES-GCM`.
2271
+ # @option params [Types::Notifications] :notifications
2272
+ # The topic ARN for the Amazon Simple Notification Service (Amazon SNS)
2273
+ # topic that you want to notify to report job status.
2274
+ #
2275
+ # To receive notifications, you must also subscribe to the new topic in
2276
+ # the Amazon SNS console.
2277
+ #
2278
+ # * **Progressing**\: The topic ARN for the Amazon Simple Notification
2279
+ # Service (Amazon SNS) topic that you want to notify when Elastic
2280
+ # Transcoder has started to process jobs that are added to this
2281
+ # pipeline. This is the ARN that Amazon SNS returned when you created
2282
+ # the topic.
2283
+ #
2284
+ # * **Completed**\: The topic ARN for the Amazon SNS topic that you want
2285
+ # to notify when Elastic Transcoder has finished processing a job.
2286
+ # This is the ARN that Amazon SNS returned when you created the topic.
2287
+ #
2288
+ # * **Warning**\: The topic ARN for the Amazon SNS topic that you want
2289
+ # to notify when Elastic Transcoder encounters a warning condition.
2290
+ # This is the ARN that Amazon SNS returned when you created the topic.
2291
+ #
2292
+ # * **Error**\: The topic ARN for the Amazon SNS topic that you want to
2293
+ # notify when Elastic Transcoder encounters an error condition. This
2294
+ # is the ARN that Amazon SNS returned when you created the topic.
2295
+ # @option params [Types::PipelineOutputConfig] :content_config
2296
+ # The optional `ContentConfig` object specifies information about the
2297
+ # Amazon S3 bucket in which you want Elastic Transcoder to save
2298
+ # transcoded files and playlists: which bucket to use, which users you
2299
+ # want to have access to the files, the type of access you want users to
2300
+ # have, and the storage class that you want to assign to the files.
2301
+ #
2302
+ # If you specify values for `ContentConfig`, you must also specify
2303
+ # values for `ThumbnailConfig`.
2304
+ #
2305
+ # If you specify values for `ContentConfig` and `ThumbnailConfig`, omit
2306
+ # the `OutputBucket` object.
2307
+ #
2308
+ # * **Bucket**\: The Amazon S3 bucket in which you want Elastic
2309
+ # Transcoder to save transcoded files and playlists.
2310
+ #
2311
+ # * **Permissions** (Optional): The Permissions object specifies which
2312
+ # users you want to have access to transcoded files and the type of
2313
+ # access you want them to have. You can grant permissions to a maximum
2314
+ # of 30 users and/or predefined Amazon S3 groups.
2315
+ #
2316
+ # * **Grantee Type**\: Specify the type of value that appears in the
2317
+ # `Grantee` object:
2318
+ #
2319
+ # * **Canonical**\: The value in the `Grantee` object is either the
2320
+ # canonical user ID for an AWS account or an origin access identity
2321
+ # for an Amazon CloudFront distribution. For more information about
2322
+ # canonical user IDs, see Access Control List (ACL) Overview in the
2323
+ # Amazon Simple Storage Service Developer Guide. For more
2324
+ # information about using CloudFront origin access identities to
2325
+ # require that users use CloudFront URLs instead of Amazon S3 URLs,
2326
+ # see Using an Origin Access Identity to Restrict Access to Your
2327
+ # Amazon S3 Content.
2328
+ #
2329
+ # A canonical user ID is not the same as an AWS account number.
2330
+ #
2331
+ # * **Email**\: The value in the `Grantee` object is the registered
2332
+ # email address of an AWS account.
2333
+ #
2334
+ # * **Group**\: The value in the `Grantee` object is one of the
2335
+ # following predefined Amazon S3 groups: `AllUsers`,
2336
+ # `AuthenticatedUsers`, or `LogDelivery`.
2337
+ #
2338
+ # * **Grantee**\: The AWS user or group that you want to have access to
2339
+ # transcoded files and playlists. To identify the user or group, you
2340
+ # can specify the canonical user ID for an AWS account, an origin
2341
+ # access identity for a CloudFront distribution, the registered email
2342
+ # address of an AWS account, or a predefined Amazon S3 group
2343
+ #
2344
+ # * **Access**\: The permission that you want to give to the AWS user
2345
+ # that you specified in `Grantee`. Permissions are granted on the
2346
+ # files that Elastic Transcoder adds to the bucket, including
2347
+ # playlists and video files. Valid values include:
2348
+ #
2349
+ # * `READ`\: The grantee can read the objects and metadata for objects
2350
+ # that Elastic Transcoder adds to the Amazon S3 bucket.
2351
+ #
2352
+ # * `READ_ACP`\: The grantee can read the object ACL for objects that
2353
+ # Elastic Transcoder adds to the Amazon S3 bucket.
2354
+ #
2355
+ # * `WRITE_ACP`\: The grantee can write the ACL for the objects that
2356
+ # Elastic Transcoder adds to the Amazon S3 bucket.
2357
+ #
2358
+ # * `FULL_CONTROL`\: The grantee has `READ`, `READ_ACP`, and
2359
+ # `WRITE_ACP` permissions for the objects that Elastic Transcoder
2360
+ # adds to the Amazon S3 bucket.
2361
+ #
2362
+ # * **StorageClass**\: The Amazon S3 storage class, `Standard` or
2363
+ # `ReducedRedundancy`, that you want Elastic Transcoder to assign to
2364
+ # the video files and playlists that it stores in your Amazon S3
2365
+ # bucket.
2366
+ # @option params [Types::PipelineOutputConfig] :thumbnail_config
2367
+ # The `ThumbnailConfig` object specifies several values, including the
2368
+ # Amazon S3 bucket in which you want Elastic Transcoder to save
2369
+ # thumbnail files, which users you want to have access to the files, the
2370
+ # type of access you want users to have, and the storage class that you
2371
+ # want to assign to the files.
2372
+ #
2373
+ # If you specify values for `ContentConfig`, you must also specify
2374
+ # values for `ThumbnailConfig` even if you don't want to create
2375
+ # thumbnails.
2376
+ #
2377
+ # If you specify values for `ContentConfig` and `ThumbnailConfig`, omit
2378
+ # the `OutputBucket` object.
2379
+ #
2380
+ # * **Bucket**\: The Amazon S3 bucket in which you want Elastic
2381
+ # Transcoder to save thumbnail files.
2382
+ #
2383
+ # * **Permissions** (Optional): The `Permissions` object specifies which
2384
+ # users and/or predefined Amazon S3 groups you want to have access to
2385
+ # thumbnail files, and the type of access you want them to have. You
2386
+ # can grant permissions to a maximum of 30 users and/or predefined
2387
+ # Amazon S3 groups.
2388
+ #
2389
+ # * **GranteeType**\: Specify the type of value that appears in the
2390
+ # Grantee object:
2391
+ #
2392
+ # * **Canonical**\: The value in the `Grantee` object is either the
2393
+ # canonical user ID for an AWS account or an origin access identity
2394
+ # for an Amazon CloudFront distribution.
2395
+ #
2396
+ # A canonical user ID is not the same as an AWS account number.
2397
+ #
2398
+ # * **Email**\: The value in the `Grantee` object is the registered
2399
+ # email address of an AWS account.
2400
+ #
2401
+ # * **Group**\: The value in the `Grantee` object is one of the
2402
+ # following predefined Amazon S3 groups: `AllUsers`,
2403
+ # `AuthenticatedUsers`, or `LogDelivery`.
2404
+ #
2405
+ # * **Grantee**\: The AWS user or group that you want to have access to
2406
+ # thumbnail files. To identify the user or group, you can specify the
2407
+ # canonical user ID for an AWS account, an origin access identity for
2408
+ # a CloudFront distribution, the registered email address of an AWS
2409
+ # account, or a predefined Amazon S3 group.
2410
+ #
2411
+ # * **Access**\: The permission that you want to give to the AWS user
2412
+ # that you specified in `Grantee`. Permissions are granted on the
2413
+ # thumbnail files that Elastic Transcoder adds to the bucket. Valid
2414
+ # values include:
2415
+ #
2416
+ # * `READ`\: The grantee can read the thumbnails and metadata for
2417
+ # objects that Elastic Transcoder adds to the Amazon S3 bucket.
2418
+ #
2419
+ # * `READ_ACP`\: The grantee can read the object ACL for thumbnails
2420
+ # that Elastic Transcoder adds to the Amazon S3 bucket.
2421
+ #
2422
+ # * `WRITE_ACP`\: The grantee can write the ACL for the thumbnails
2423
+ # that Elastic Transcoder adds to the Amazon S3 bucket.
2424
+ #
2425
+ # * `FULL_CONTROL`\: The grantee has `READ`, `READ_ACP`, and
2426
+ # `WRITE_ACP` permissions for the thumbnails that Elastic Transcoder
2427
+ # adds to the Amazon S3 bucket.
2428
+ #
2429
+ # * **StorageClass**\: The Amazon S3 storage class, `Standard` or
2430
+ # `ReducedRedundancy`, that you want Elastic Transcoder to assign to
2431
+ # the thumbnails that it stores in your Amazon S3 bucket.
2432
+ # @return [Types::UpdatePipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2433
+ #
2434
+ # * {Types::UpdatePipelineResponse#pipeline #Pipeline} => Types::Pipeline
2435
+ # * {Types::UpdatePipelineResponse#warnings #Warnings} => Array&lt;Types::Warning&gt;
2436
+ #
2437
+ # @example Request syntax with placeholder values
2438
+ # resp = client.update_pipeline({
2439
+ # id: "Id", # required
2440
+ # name: "Name",
2441
+ # input_bucket: "BucketName",
2442
+ # role: "Role",
2443
+ # aws_kms_key_arn: "KeyArn",
2444
+ # notifications: {
2445
+ # progressing: "SnsTopic",
2446
+ # completed: "SnsTopic",
2447
+ # warning: "SnsTopic",
2448
+ # error: "SnsTopic",
2449
+ # },
2450
+ # content_config: {
2451
+ # bucket: "BucketName",
2452
+ # storage_class: "StorageClass",
2453
+ # permissions: [
2454
+ # {
2455
+ # grantee_type: "GranteeType",
2456
+ # grantee: "Grantee",
2457
+ # access: ["AccessControl"],
2458
+ # },
2459
+ # ],
2460
+ # },
2461
+ # thumbnail_config: {
2462
+ # bucket: "BucketName",
2463
+ # storage_class: "StorageClass",
2464
+ # permissions: [
2465
+ # {
2466
+ # grantee_type: "GranteeType",
2467
+ # grantee: "Grantee",
2468
+ # access: ["AccessControl"],
2469
+ # },
2470
+ # ],
2471
+ # },
2472
+ # })
2473
+ #
2474
+ # @example Response structure
2475
+ # resp.pipeline.id #=> String
2476
+ # resp.pipeline.arn #=> String
2477
+ # resp.pipeline.name #=> String
2478
+ # resp.pipeline.status #=> String
2479
+ # resp.pipeline.input_bucket #=> String
2480
+ # resp.pipeline.output_bucket #=> String
2481
+ # resp.pipeline.role #=> String
2482
+ # resp.pipeline.aws_kms_key_arn #=> String
2483
+ # resp.pipeline.notifications.progressing #=> String
2484
+ # resp.pipeline.notifications.completed #=> String
2485
+ # resp.pipeline.notifications.warning #=> String
2486
+ # resp.pipeline.notifications.error #=> String
2487
+ # resp.pipeline.content_config.bucket #=> String
2488
+ # resp.pipeline.content_config.storage_class #=> String
2489
+ # resp.pipeline.content_config.permissions #=> Array
2490
+ # resp.pipeline.content_config.permissions[0].grantee_type #=> String
2491
+ # resp.pipeline.content_config.permissions[0].grantee #=> String
2492
+ # resp.pipeline.content_config.permissions[0].access #=> Array
2493
+ # resp.pipeline.content_config.permissions[0].access[0] #=> String
2494
+ # resp.pipeline.thumbnail_config.bucket #=> String
2495
+ # resp.pipeline.thumbnail_config.storage_class #=> String
2496
+ # resp.pipeline.thumbnail_config.permissions #=> Array
2497
+ # resp.pipeline.thumbnail_config.permissions[0].grantee_type #=> String
2498
+ # resp.pipeline.thumbnail_config.permissions[0].grantee #=> String
2499
+ # resp.pipeline.thumbnail_config.permissions[0].access #=> Array
2500
+ # resp.pipeline.thumbnail_config.permissions[0].access[0] #=> String
2501
+ # resp.warnings #=> Array
2502
+ # resp.warnings[0].code #=> String
2503
+ # resp.warnings[0].message #=> String
2504
+ # @overload update_pipeline(params = {})
2505
+ # @param [Hash] params ({})
2506
+ def update_pipeline(params = {}, options = {})
2507
+ req = build_request(:update_pipeline, params)
2508
+ req.send_request(options)
2509
+ end
2510
+
2511
+ # With the UpdatePipelineNotifications operation, you can update Amazon
2512
+ # Simple Notification Service (Amazon SNS) notifications for a pipeline.
2513
+ #
2514
+ # When you update notifications for a pipeline, Elastic Transcoder
2515
+ # returns the values that you specified in the request.
2516
+ # @option params [required, String] :id
2517
+ # The identifier of the pipeline for which you want to change
2518
+ # notification settings.
2519
+ # @option params [required, Types::Notifications] :notifications
2520
+ # The topic ARN for the Amazon Simple Notification Service (Amazon SNS)
2521
+ # topic that you want to notify to report job status.
2522
+ #
2523
+ # To receive notifications, you must also subscribe to the new topic in
2524
+ # the Amazon SNS console.
2525
+ #
2526
+ # * **Progressing**\: The topic ARN for the Amazon Simple Notification
2527
+ # Service (Amazon SNS) topic that you want to notify when Elastic
2528
+ # Transcoder has started to process jobs that are added to this
2529
+ # pipeline. This is the ARN that Amazon SNS returned when you created
2530
+ # the topic.
2531
+ #
2532
+ # * **Completed**\: The topic ARN for the Amazon SNS topic that you want
2533
+ # to notify when Elastic Transcoder has finished processing a job.
2534
+ # This is the ARN that Amazon SNS returned when you created the topic.
2535
+ #
2536
+ # * **Warning**\: The topic ARN for the Amazon SNS topic that you want
2537
+ # to notify when Elastic Transcoder encounters a warning condition.
2538
+ # This is the ARN that Amazon SNS returned when you created the topic.
2539
+ #
2540
+ # * **Error**\: The topic ARN for the Amazon SNS topic that you want to
2541
+ # notify when Elastic Transcoder encounters an error condition. This
2542
+ # is the ARN that Amazon SNS returned when you created the topic.
2543
+ # @return [Types::UpdatePipelineNotificationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2544
+ #
2545
+ # * {Types::UpdatePipelineNotificationsResponse#pipeline #Pipeline} => Types::Pipeline
2546
+ #
2547
+ # @example Request syntax with placeholder values
2548
+ # resp = client.update_pipeline_notifications({
2549
+ # id: "Id", # required
2550
+ # notifications: { # required
2551
+ # progressing: "SnsTopic",
2552
+ # completed: "SnsTopic",
2553
+ # warning: "SnsTopic",
2554
+ # error: "SnsTopic",
2555
+ # },
2556
+ # })
2557
+ #
2558
+ # @example Response structure
2559
+ # resp.pipeline.id #=> String
2560
+ # resp.pipeline.arn #=> String
2561
+ # resp.pipeline.name #=> String
2562
+ # resp.pipeline.status #=> String
2563
+ # resp.pipeline.input_bucket #=> String
2564
+ # resp.pipeline.output_bucket #=> String
2565
+ # resp.pipeline.role #=> String
2566
+ # resp.pipeline.aws_kms_key_arn #=> String
2567
+ # resp.pipeline.notifications.progressing #=> String
2568
+ # resp.pipeline.notifications.completed #=> String
2569
+ # resp.pipeline.notifications.warning #=> String
2570
+ # resp.pipeline.notifications.error #=> String
2571
+ # resp.pipeline.content_config.bucket #=> String
2572
+ # resp.pipeline.content_config.storage_class #=> String
2573
+ # resp.pipeline.content_config.permissions #=> Array
2574
+ # resp.pipeline.content_config.permissions[0].grantee_type #=> String
2575
+ # resp.pipeline.content_config.permissions[0].grantee #=> String
2576
+ # resp.pipeline.content_config.permissions[0].access #=> Array
2577
+ # resp.pipeline.content_config.permissions[0].access[0] #=> String
2578
+ # resp.pipeline.thumbnail_config.bucket #=> String
2579
+ # resp.pipeline.thumbnail_config.storage_class #=> String
2580
+ # resp.pipeline.thumbnail_config.permissions #=> Array
2581
+ # resp.pipeline.thumbnail_config.permissions[0].grantee_type #=> String
2582
+ # resp.pipeline.thumbnail_config.permissions[0].grantee #=> String
2583
+ # resp.pipeline.thumbnail_config.permissions[0].access #=> Array
2584
+ # resp.pipeline.thumbnail_config.permissions[0].access[0] #=> String
2585
+ # @overload update_pipeline_notifications(params = {})
2586
+ # @param [Hash] params ({})
2587
+ def update_pipeline_notifications(params = {}, options = {})
2588
+ req = build_request(:update_pipeline_notifications, params)
2589
+ req.send_request(options)
2590
+ end
2591
+
2592
+ # The UpdatePipelineStatus operation pauses or reactivates a pipeline,
2593
+ # so that the pipeline stops or restarts the processing of jobs.
2594
+ #
2595
+ # Changing the pipeline status is useful if you want to cancel one or
2596
+ # more jobs. You can't cancel jobs after Elastic Transcoder has started
2597
+ # processing them; if you pause the pipeline to which you submitted the
2598
+ # jobs, you have more time to get the job IDs for the jobs that you want
2599
+ # to cancel, and to send a CancelJob request.
2600
+ # @option params [required, String] :id
2601
+ # The identifier of the pipeline to update.
2602
+ # @option params [required, String] :status
2603
+ # The desired status of the pipeline:
2604
+ #
2605
+ # * `Active`\: The pipeline is processing jobs.
2606
+ #
2607
+ # * `Paused`\: The pipeline is not currently processing jobs.
2608
+ # @return [Types::UpdatePipelineStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2609
+ #
2610
+ # * {Types::UpdatePipelineStatusResponse#pipeline #Pipeline} => Types::Pipeline
2611
+ #
2612
+ # @example Request syntax with placeholder values
2613
+ # resp = client.update_pipeline_status({
2614
+ # id: "Id", # required
2615
+ # status: "PipelineStatus", # required
2616
+ # })
2617
+ #
2618
+ # @example Response structure
2619
+ # resp.pipeline.id #=> String
2620
+ # resp.pipeline.arn #=> String
2621
+ # resp.pipeline.name #=> String
2622
+ # resp.pipeline.status #=> String
2623
+ # resp.pipeline.input_bucket #=> String
2624
+ # resp.pipeline.output_bucket #=> String
2625
+ # resp.pipeline.role #=> String
2626
+ # resp.pipeline.aws_kms_key_arn #=> String
2627
+ # resp.pipeline.notifications.progressing #=> String
2628
+ # resp.pipeline.notifications.completed #=> String
2629
+ # resp.pipeline.notifications.warning #=> String
2630
+ # resp.pipeline.notifications.error #=> String
2631
+ # resp.pipeline.content_config.bucket #=> String
2632
+ # resp.pipeline.content_config.storage_class #=> String
2633
+ # resp.pipeline.content_config.permissions #=> Array
2634
+ # resp.pipeline.content_config.permissions[0].grantee_type #=> String
2635
+ # resp.pipeline.content_config.permissions[0].grantee #=> String
2636
+ # resp.pipeline.content_config.permissions[0].access #=> Array
2637
+ # resp.pipeline.content_config.permissions[0].access[0] #=> String
2638
+ # resp.pipeline.thumbnail_config.bucket #=> String
2639
+ # resp.pipeline.thumbnail_config.storage_class #=> String
2640
+ # resp.pipeline.thumbnail_config.permissions #=> Array
2641
+ # resp.pipeline.thumbnail_config.permissions[0].grantee_type #=> String
2642
+ # resp.pipeline.thumbnail_config.permissions[0].grantee #=> String
2643
+ # resp.pipeline.thumbnail_config.permissions[0].access #=> Array
2644
+ # resp.pipeline.thumbnail_config.permissions[0].access[0] #=> String
2645
+ # @overload update_pipeline_status(params = {})
2646
+ # @param [Hash] params ({})
2647
+ def update_pipeline_status(params = {}, options = {})
2648
+ req = build_request(:update_pipeline_status, params)
2649
+ req.send_request(options)
2650
+ end
2651
+
2652
+ # @!endgroup
2653
+
2654
+ # @param params ({})
2655
+ # @api private
2656
+ def build_request(operation_name, params = {})
2657
+ handlers = @handlers.for(operation_name)
2658
+ context = Seahorse::Client::RequestContext.new(
2659
+ operation_name: operation_name,
2660
+ operation: config.api.operation(operation_name),
2661
+ client: self,
2662
+ params: params,
2663
+ config: config)
2664
+ context[:gem_name] = 'aws-sdk-elastictranscoder'
2665
+ context[:gem_version] = '1.0.0.rc1'
2666
+ Seahorse::Client::Request.new(handlers, context)
2667
+ end
2668
+
2669
+ # Polls an API operation until a resource enters a desired state.
2670
+ #
2671
+ # ## Basic Usage
2672
+ #
2673
+ # A waiter will call an API operation until:
2674
+ #
2675
+ # * It is successful
2676
+ # * It enters a terminal state
2677
+ # * It makes the maximum number of attempts
2678
+ #
2679
+ # In between attempts, the waiter will sleep.
2680
+ #
2681
+ # # polls in a loop, sleeping between attempts
2682
+ # client.waiter_until(waiter_name, params)
2683
+ #
2684
+ # ## Configuration
2685
+ #
2686
+ # You can configure the maximum number of polling attempts, and the
2687
+ # delay (in seconds) between each polling attempt. You can pass
2688
+ # configuration as the final arguments hash.
2689
+ #
2690
+ # # poll for ~25 seconds
2691
+ # client.wait_until(waiter_name, params, {
2692
+ # max_attempts: 5,
2693
+ # delay: 5,
2694
+ # })
2695
+ #
2696
+ # ## Callbacks
2697
+ #
2698
+ # You can be notified before each polling attempt and before each
2699
+ # delay. If you throw `:success` or `:failure` from these callbacks,
2700
+ # it will terminate the waiter.
2701
+ #
2702
+ # started_at = Time.now
2703
+ # client.wait_until(waiter_name, params, {
2704
+ #
2705
+ # # disable max attempts
2706
+ # max_attempts: nil,
2707
+ #
2708
+ # # poll for 1 hour, instead of a number of attempts
2709
+ # before_wait: -> (attempts, response) do
2710
+ # throw :failure if Time.now - started_at > 3600
2711
+ # end
2712
+ # })
2713
+ #
2714
+ # ## Handling Errors
2715
+ #
2716
+ # When a waiter is unsuccessful, it will raise an error.
2717
+ # All of the failure errors extend from
2718
+ # {Aws::Waiters::Errors::WaiterFailed}.
2719
+ #
2720
+ # begin
2721
+ # client.wait_until(...)
2722
+ # rescue Aws::Waiters::Errors::WaiterFailed
2723
+ # # resource did not enter the desired state in time
2724
+ # end
2725
+ #
2726
+ # ## Valid Waiters
2727
+ #
2728
+ # The following table lists the valid waiter names, the operations they call,
2729
+ # and the default `:delay` and `:max_attempts` values.
2730
+ #
2731
+ # | waiter_name | params | :delay | :max_attempts |
2732
+ # | ------------ | ----------- | -------- | ------------- |
2733
+ # | job_complete | {#read_job} | 30 | 120 |
2734
+ #
2735
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
2736
+ # because the waiter has entered a state that it will not transition
2737
+ # out of, preventing success.
2738
+ #
2739
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
2740
+ # maximum number of attempts have been made, and the waiter is not
2741
+ # yet successful.
2742
+ #
2743
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
2744
+ # while polling for a resource that is not expected.
2745
+ #
2746
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
2747
+ # for an unknown state.
2748
+ #
2749
+ # @return [Boolean] Returns `true` if the waiter was successful.
2750
+ # @param [Symbol] waiter_name
2751
+ # @param [Hash] params ({})
2752
+ # @param [Hash] options ({})
2753
+ # @option options [Integer] :max_attempts
2754
+ # @option options [Integer] :delay
2755
+ # @option options [Proc] :before_attempt
2756
+ # @option options [Proc] :before_wait
2757
+ def wait_until(waiter_name, params = {}, options = {})
2758
+ w = waiter(waiter_name, options)
2759
+ yield(w.waiter) if block_given? # deprecated
2760
+ w.wait(params)
2761
+ end
2762
+
2763
+ # @api private
2764
+ # @deprecated
2765
+ def waiter_names
2766
+ waiters.keys
2767
+ end
2768
+
2769
+ private
2770
+
2771
+ # @param [Symbol] waiter_name
2772
+ # @param [Hash] options ({})
2773
+ def waiter(waiter_name, options = {})
2774
+ waiter_class = waiters[waiter_name]
2775
+ if waiter_class
2776
+ waiter_class.new(options.merge(client: self))
2777
+ else
2778
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
2779
+ end
2780
+ end
2781
+
2782
+ def waiters
2783
+ {
2784
+ job_complete: Waiters::JobComplete
2785
+ }
2786
+ end
2787
+
2788
+ class << self
2789
+
2790
+ # @api private
2791
+ attr_reader :identifier
2792
+
2793
+ # @api private
2794
+ def errors_module
2795
+ Errors
2796
+ end
2797
+
2798
+ end
2799
+ end
2800
+ end
2801
+ end