1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/elastictranscoder/ElasticTranscoder_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/elastictranscoder/model/JobInput.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/elastictranscoder/model/JobOutput.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <aws/elastictranscoder/model/Timing.h> 14 #include <aws/elastictranscoder/model/Playlist.h> 15 #include <utility> 16 17 namespace Aws 18 { 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 class JsonView; 25 } // namespace Json 26 } // namespace Utils 27 namespace ElasticTranscoder 28 { 29 namespace Model 30 { 31 32 /** 33 * <p>A section of the response body that provides information about the job that 34 * is created.</p><p><h3>See Also:</h3> <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/elastictranscoder-2012-09-25/Job">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_ELASTICTRANSCODER_API Job 39 { 40 public: 41 Job(); 42 Job(Aws::Utils::Json::JsonView jsonValue); 43 Job& operator=(Aws::Utils::Json::JsonView jsonValue); 44 Aws::Utils::Json::JsonValue Jsonize() const; 45 46 47 /** 48 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 49 * value to get settings for the job or to delete the job.</p> 50 */ GetId()51 inline const Aws::String& GetId() const{ return m_id; } 52 53 /** 54 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 55 * value to get settings for the job or to delete the job.</p> 56 */ IdHasBeenSet()57 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 58 59 /** 60 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 61 * value to get settings for the job or to delete the job.</p> 62 */ SetId(const Aws::String & value)63 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 64 65 /** 66 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 67 * value to get settings for the job or to delete the job.</p> 68 */ SetId(Aws::String && value)69 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 70 71 /** 72 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 73 * value to get settings for the job or to delete the job.</p> 74 */ SetId(const char * value)75 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 76 77 /** 78 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 79 * value to get settings for the job or to delete the job.</p> 80 */ WithId(const Aws::String & value)81 inline Job& WithId(const Aws::String& value) { SetId(value); return *this;} 82 83 /** 84 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 85 * value to get settings for the job or to delete the job.</p> 86 */ WithId(Aws::String && value)87 inline Job& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 88 89 /** 90 * <p>The identifier that Elastic Transcoder assigned to the job. You use this 91 * value to get settings for the job or to delete the job.</p> 92 */ WithId(const char * value)93 inline Job& WithId(const char* value) { SetId(value); return *this;} 94 95 96 /** 97 * <p>The Amazon Resource Name (ARN) for the job.</p> 98 */ GetArn()99 inline const Aws::String& GetArn() const{ return m_arn; } 100 101 /** 102 * <p>The Amazon Resource Name (ARN) for the job.</p> 103 */ ArnHasBeenSet()104 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 105 106 /** 107 * <p>The Amazon Resource Name (ARN) for the job.</p> 108 */ SetArn(const Aws::String & value)109 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 110 111 /** 112 * <p>The Amazon Resource Name (ARN) for the job.</p> 113 */ SetArn(Aws::String && value)114 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 115 116 /** 117 * <p>The Amazon Resource Name (ARN) for the job.</p> 118 */ SetArn(const char * value)119 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 120 121 /** 122 * <p>The Amazon Resource Name (ARN) for the job.</p> 123 */ WithArn(const Aws::String & value)124 inline Job& WithArn(const Aws::String& value) { SetArn(value); return *this;} 125 126 /** 127 * <p>The Amazon Resource Name (ARN) for the job.</p> 128 */ WithArn(Aws::String && value)129 inline Job& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 130 131 /** 132 * <p>The Amazon Resource Name (ARN) for the job.</p> 133 */ WithArn(const char * value)134 inline Job& WithArn(const char* value) { SetArn(value); return *this;} 135 136 137 /** 138 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 139 * for transcoding. The pipeline determines several settings, including the Amazon 140 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 141 * bucket into which Elastic Transcoder puts the transcoded files. </p> 142 */ GetPipelineId()143 inline const Aws::String& GetPipelineId() const{ return m_pipelineId; } 144 145 /** 146 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 147 * for transcoding. The pipeline determines several settings, including the Amazon 148 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 149 * bucket into which Elastic Transcoder puts the transcoded files. </p> 150 */ PipelineIdHasBeenSet()151 inline bool PipelineIdHasBeenSet() const { return m_pipelineIdHasBeenSet; } 152 153 /** 154 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 155 * for transcoding. The pipeline determines several settings, including the Amazon 156 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 157 * bucket into which Elastic Transcoder puts the transcoded files. </p> 158 */ SetPipelineId(const Aws::String & value)159 inline void SetPipelineId(const Aws::String& value) { m_pipelineIdHasBeenSet = true; m_pipelineId = value; } 160 161 /** 162 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 163 * for transcoding. The pipeline determines several settings, including the Amazon 164 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 165 * bucket into which Elastic Transcoder puts the transcoded files. </p> 166 */ SetPipelineId(Aws::String && value)167 inline void SetPipelineId(Aws::String&& value) { m_pipelineIdHasBeenSet = true; m_pipelineId = std::move(value); } 168 169 /** 170 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 171 * for transcoding. The pipeline determines several settings, including the Amazon 172 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 173 * bucket into which Elastic Transcoder puts the transcoded files. </p> 174 */ SetPipelineId(const char * value)175 inline void SetPipelineId(const char* value) { m_pipelineIdHasBeenSet = true; m_pipelineId.assign(value); } 176 177 /** 178 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 179 * for transcoding. The pipeline determines several settings, including the Amazon 180 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 181 * bucket into which Elastic Transcoder puts the transcoded files. </p> 182 */ WithPipelineId(const Aws::String & value)183 inline Job& WithPipelineId(const Aws::String& value) { SetPipelineId(value); return *this;} 184 185 /** 186 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 187 * for transcoding. The pipeline determines several settings, including the Amazon 188 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 189 * bucket into which Elastic Transcoder puts the transcoded files. </p> 190 */ WithPipelineId(Aws::String && value)191 inline Job& WithPipelineId(Aws::String&& value) { SetPipelineId(std::move(value)); return *this;} 192 193 /** 194 * <p> The <code>Id</code> of the pipeline that you want Elastic Transcoder to use 195 * for transcoding. The pipeline determines several settings, including the Amazon 196 * S3 bucket from which Elastic Transcoder gets the files to transcode and the 197 * bucket into which Elastic Transcoder puts the transcoded files. </p> 198 */ WithPipelineId(const char * value)199 inline Job& WithPipelineId(const char* value) { SetPipelineId(value); return *this;} 200 201 202 /** 203 * <p>A section of the request or response body that provides information about the 204 * file that is being transcoded.</p> 205 */ GetInput()206 inline const JobInput& GetInput() const{ return m_input; } 207 208 /** 209 * <p>A section of the request or response body that provides information about the 210 * file that is being transcoded.</p> 211 */ InputHasBeenSet()212 inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } 213 214 /** 215 * <p>A section of the request or response body that provides information about the 216 * file that is being transcoded.</p> 217 */ SetInput(const JobInput & value)218 inline void SetInput(const JobInput& value) { m_inputHasBeenSet = true; m_input = value; } 219 220 /** 221 * <p>A section of the request or response body that provides information about the 222 * file that is being transcoded.</p> 223 */ SetInput(JobInput && value)224 inline void SetInput(JobInput&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } 225 226 /** 227 * <p>A section of the request or response body that provides information about the 228 * file that is being transcoded.</p> 229 */ WithInput(const JobInput & value)230 inline Job& WithInput(const JobInput& value) { SetInput(value); return *this;} 231 232 /** 233 * <p>A section of the request or response body that provides information about the 234 * file that is being transcoded.</p> 235 */ WithInput(JobInput && value)236 inline Job& WithInput(JobInput&& value) { SetInput(std::move(value)); return *this;} 237 238 239 /** 240 * <p>Information about the files that you're transcoding. If you specified 241 * multiple files for this job, Elastic Transcoder stitches the files together to 242 * make one output.</p> 243 */ GetInputs()244 inline const Aws::Vector<JobInput>& GetInputs() const{ return m_inputs; } 245 246 /** 247 * <p>Information about the files that you're transcoding. If you specified 248 * multiple files for this job, Elastic Transcoder stitches the files together to 249 * make one output.</p> 250 */ InputsHasBeenSet()251 inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; } 252 253 /** 254 * <p>Information about the files that you're transcoding. If you specified 255 * multiple files for this job, Elastic Transcoder stitches the files together to 256 * make one output.</p> 257 */ SetInputs(const Aws::Vector<JobInput> & value)258 inline void SetInputs(const Aws::Vector<JobInput>& value) { m_inputsHasBeenSet = true; m_inputs = value; } 259 260 /** 261 * <p>Information about the files that you're transcoding. If you specified 262 * multiple files for this job, Elastic Transcoder stitches the files together to 263 * make one output.</p> 264 */ SetInputs(Aws::Vector<JobInput> && value)265 inline void SetInputs(Aws::Vector<JobInput>&& value) { m_inputsHasBeenSet = true; m_inputs = std::move(value); } 266 267 /** 268 * <p>Information about the files that you're transcoding. If you specified 269 * multiple files for this job, Elastic Transcoder stitches the files together to 270 * make one output.</p> 271 */ WithInputs(const Aws::Vector<JobInput> & value)272 inline Job& WithInputs(const Aws::Vector<JobInput>& value) { SetInputs(value); return *this;} 273 274 /** 275 * <p>Information about the files that you're transcoding. If you specified 276 * multiple files for this job, Elastic Transcoder stitches the files together to 277 * make one output.</p> 278 */ WithInputs(Aws::Vector<JobInput> && value)279 inline Job& WithInputs(Aws::Vector<JobInput>&& value) { SetInputs(std::move(value)); return *this;} 280 281 /** 282 * <p>Information about the files that you're transcoding. If you specified 283 * multiple files for this job, Elastic Transcoder stitches the files together to 284 * make one output.</p> 285 */ AddInputs(const JobInput & value)286 inline Job& AddInputs(const JobInput& value) { m_inputsHasBeenSet = true; m_inputs.push_back(value); return *this; } 287 288 /** 289 * <p>Information about the files that you're transcoding. If you specified 290 * multiple files for this job, Elastic Transcoder stitches the files together to 291 * make one output.</p> 292 */ AddInputs(JobInput && value)293 inline Job& AddInputs(JobInput&& value) { m_inputsHasBeenSet = true; m_inputs.push_back(std::move(value)); return *this; } 294 295 296 /** 297 * <p>If you specified one output for a job, information about that output. If you 298 * specified multiple outputs for a job, the Output object lists information about 299 * the first output. This duplicates the information that is listed for the first 300 * output in the Outputs object.</p> <p>Outputs recommended 301 * instead.</p> <p>A section of the request or response body that 302 * provides information about the transcoded (target) file. </p> 303 */ GetOutput()304 inline const JobOutput& GetOutput() const{ return m_output; } 305 306 /** 307 * <p>If you specified one output for a job, information about that output. If you 308 * specified multiple outputs for a job, the Output object lists information about 309 * the first output. This duplicates the information that is listed for the first 310 * output in the Outputs object.</p> <p>Outputs recommended 311 * instead.</p> <p>A section of the request or response body that 312 * provides information about the transcoded (target) file. </p> 313 */ OutputHasBeenSet()314 inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } 315 316 /** 317 * <p>If you specified one output for a job, information about that output. If you 318 * specified multiple outputs for a job, the Output object lists information about 319 * the first output. This duplicates the information that is listed for the first 320 * output in the Outputs object.</p> <p>Outputs recommended 321 * instead.</p> <p>A section of the request or response body that 322 * provides information about the transcoded (target) file. </p> 323 */ SetOutput(const JobOutput & value)324 inline void SetOutput(const JobOutput& value) { m_outputHasBeenSet = true; m_output = value; } 325 326 /** 327 * <p>If you specified one output for a job, information about that output. If you 328 * specified multiple outputs for a job, the Output object lists information about 329 * the first output. This duplicates the information that is listed for the first 330 * output in the Outputs object.</p> <p>Outputs recommended 331 * instead.</p> <p>A section of the request or response body that 332 * provides information about the transcoded (target) file. </p> 333 */ SetOutput(JobOutput && value)334 inline void SetOutput(JobOutput&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } 335 336 /** 337 * <p>If you specified one output for a job, information about that output. If you 338 * specified multiple outputs for a job, the Output object lists information about 339 * the first output. This duplicates the information that is listed for the first 340 * output in the Outputs object.</p> <p>Outputs recommended 341 * instead.</p> <p>A section of the request or response body that 342 * provides information about the transcoded (target) file. </p> 343 */ WithOutput(const JobOutput & value)344 inline Job& WithOutput(const JobOutput& value) { SetOutput(value); return *this;} 345 346 /** 347 * <p>If you specified one output for a job, information about that output. If you 348 * specified multiple outputs for a job, the Output object lists information about 349 * the first output. This duplicates the information that is listed for the first 350 * output in the Outputs object.</p> <p>Outputs recommended 351 * instead.</p> <p>A section of the request or response body that 352 * provides information about the transcoded (target) file. </p> 353 */ WithOutput(JobOutput && value)354 inline Job& WithOutput(JobOutput&& value) { SetOutput(std::move(value)); return *this;} 355 356 357 /** 358 * <p>Information about the output files. We recommend that you use the 359 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 360 * to transcode a file into only one format. Do not use both the 361 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 362 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 363 * output for a job, Elastic Transcoder creates the files for each output in the 364 * order in which you specify them in the job.</p> 365 */ GetOutputs()366 inline const Aws::Vector<JobOutput>& GetOutputs() const{ return m_outputs; } 367 368 /** 369 * <p>Information about the output files. We recommend that you use the 370 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 371 * to transcode a file into only one format. Do not use both the 372 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 373 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 374 * output for a job, Elastic Transcoder creates the files for each output in the 375 * order in which you specify them in the job.</p> 376 */ OutputsHasBeenSet()377 inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } 378 379 /** 380 * <p>Information about the output files. We recommend that you use the 381 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 382 * to transcode a file into only one format. Do not use both the 383 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 384 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 385 * output for a job, Elastic Transcoder creates the files for each output in the 386 * order in which you specify them in the job.</p> 387 */ SetOutputs(const Aws::Vector<JobOutput> & value)388 inline void SetOutputs(const Aws::Vector<JobOutput>& value) { m_outputsHasBeenSet = true; m_outputs = value; } 389 390 /** 391 * <p>Information about the output files. We recommend that you use the 392 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 393 * to transcode a file into only one format. Do not use both the 394 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 395 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 396 * output for a job, Elastic Transcoder creates the files for each output in the 397 * order in which you specify them in the job.</p> 398 */ SetOutputs(Aws::Vector<JobOutput> && value)399 inline void SetOutputs(Aws::Vector<JobOutput>&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); } 400 401 /** 402 * <p>Information about the output files. We recommend that you use the 403 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 404 * to transcode a file into only one format. Do not use both the 405 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 406 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 407 * output for a job, Elastic Transcoder creates the files for each output in the 408 * order in which you specify them in the job.</p> 409 */ WithOutputs(const Aws::Vector<JobOutput> & value)410 inline Job& WithOutputs(const Aws::Vector<JobOutput>& value) { SetOutputs(value); return *this;} 411 412 /** 413 * <p>Information about the output files. We recommend that you use the 414 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 415 * to transcode a file into only one format. Do not use both the 416 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 417 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 418 * output for a job, Elastic Transcoder creates the files for each output in the 419 * order in which you specify them in the job.</p> 420 */ WithOutputs(Aws::Vector<JobOutput> && value)421 inline Job& WithOutputs(Aws::Vector<JobOutput>&& value) { SetOutputs(std::move(value)); return *this;} 422 423 /** 424 * <p>Information about the output files. We recommend that you use the 425 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 426 * to transcode a file into only one format. Do not use both the 427 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 428 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 429 * output for a job, Elastic Transcoder creates the files for each output in the 430 * order in which you specify them in the job.</p> 431 */ AddOutputs(const JobOutput & value)432 inline Job& AddOutputs(const JobOutput& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; } 433 434 /** 435 * <p>Information about the output files. We recommend that you use the 436 * <code>Outputs</code> syntax for all jobs, even when you want Elastic Transcoder 437 * to transcode a file into only one format. Do not use both the 438 * <code>Outputs</code> and <code>Output</code> syntaxes in the same request. You 439 * can create a maximum of 30 outputs per job. </p> <p>If you specify more than one 440 * output for a job, Elastic Transcoder creates the files for each output in the 441 * order in which you specify them in the job.</p> 442 */ AddOutputs(JobOutput && value)443 inline Job& AddOutputs(JobOutput&& value) { m_outputsHasBeenSet = true; m_outputs.push_back(std::move(value)); return *this; } 444 445 446 /** 447 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 448 * of all files that this job creates, including output files, thumbnails, and 449 * playlists. We recommend that you add a / or some other delimiter to the end of 450 * the <code>OutputKeyPrefix</code>.</p> 451 */ GetOutputKeyPrefix()452 inline const Aws::String& GetOutputKeyPrefix() const{ return m_outputKeyPrefix; } 453 454 /** 455 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 456 * of all files that this job creates, including output files, thumbnails, and 457 * playlists. We recommend that you add a / or some other delimiter to the end of 458 * the <code>OutputKeyPrefix</code>.</p> 459 */ OutputKeyPrefixHasBeenSet()460 inline bool OutputKeyPrefixHasBeenSet() const { return m_outputKeyPrefixHasBeenSet; } 461 462 /** 463 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 464 * of all files that this job creates, including output files, thumbnails, and 465 * playlists. We recommend that you add a / or some other delimiter to the end of 466 * the <code>OutputKeyPrefix</code>.</p> 467 */ SetOutputKeyPrefix(const Aws::String & value)468 inline void SetOutputKeyPrefix(const Aws::String& value) { m_outputKeyPrefixHasBeenSet = true; m_outputKeyPrefix = value; } 469 470 /** 471 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 472 * of all files that this job creates, including output files, thumbnails, and 473 * playlists. We recommend that you add a / or some other delimiter to the end of 474 * the <code>OutputKeyPrefix</code>.</p> 475 */ SetOutputKeyPrefix(Aws::String && value)476 inline void SetOutputKeyPrefix(Aws::String&& value) { m_outputKeyPrefixHasBeenSet = true; m_outputKeyPrefix = std::move(value); } 477 478 /** 479 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 480 * of all files that this job creates, including output files, thumbnails, and 481 * playlists. We recommend that you add a / or some other delimiter to the end of 482 * the <code>OutputKeyPrefix</code>.</p> 483 */ SetOutputKeyPrefix(const char * value)484 inline void SetOutputKeyPrefix(const char* value) { m_outputKeyPrefixHasBeenSet = true; m_outputKeyPrefix.assign(value); } 485 486 /** 487 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 488 * of all files that this job creates, including output files, thumbnails, and 489 * playlists. We recommend that you add a / or some other delimiter to the end of 490 * the <code>OutputKeyPrefix</code>.</p> 491 */ WithOutputKeyPrefix(const Aws::String & value)492 inline Job& WithOutputKeyPrefix(const Aws::String& value) { SetOutputKeyPrefix(value); return *this;} 493 494 /** 495 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 496 * of all files that this job creates, including output files, thumbnails, and 497 * playlists. We recommend that you add a / or some other delimiter to the end of 498 * the <code>OutputKeyPrefix</code>.</p> 499 */ WithOutputKeyPrefix(Aws::String && value)500 inline Job& WithOutputKeyPrefix(Aws::String&& value) { SetOutputKeyPrefix(std::move(value)); return *this;} 501 502 /** 503 * <p>The value, if any, that you want Elastic Transcoder to prepend to the names 504 * of all files that this job creates, including output files, thumbnails, and 505 * playlists. We recommend that you add a / or some other delimiter to the end of 506 * the <code>OutputKeyPrefix</code>.</p> 507 */ WithOutputKeyPrefix(const char * value)508 inline Job& WithOutputKeyPrefix(const char* value) { SetOutputKeyPrefix(value); return *this;} 509 510 511 /** 512 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 513 * <p>If you specify a preset in <code>PresetId</code> for which the 514 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 515 * <code>Playlists</code> contains information about the master playlists that you 516 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 517 * in a job is 30.</p> 518 */ GetPlaylists()519 inline const Aws::Vector<Playlist>& GetPlaylists() const{ return m_playlists; } 520 521 /** 522 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 523 * <p>If you specify a preset in <code>PresetId</code> for which the 524 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 525 * <code>Playlists</code> contains information about the master playlists that you 526 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 527 * in a job is 30.</p> 528 */ PlaylistsHasBeenSet()529 inline bool PlaylistsHasBeenSet() const { return m_playlistsHasBeenSet; } 530 531 /** 532 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 533 * <p>If you specify a preset in <code>PresetId</code> for which the 534 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 535 * <code>Playlists</code> contains information about the master playlists that you 536 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 537 * in a job is 30.</p> 538 */ SetPlaylists(const Aws::Vector<Playlist> & value)539 inline void SetPlaylists(const Aws::Vector<Playlist>& value) { m_playlistsHasBeenSet = true; m_playlists = value; } 540 541 /** 542 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 543 * <p>If you specify a preset in <code>PresetId</code> for which the 544 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 545 * <code>Playlists</code> contains information about the master playlists that you 546 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 547 * in a job is 30.</p> 548 */ SetPlaylists(Aws::Vector<Playlist> && value)549 inline void SetPlaylists(Aws::Vector<Playlist>&& value) { m_playlistsHasBeenSet = true; m_playlists = std::move(value); } 550 551 /** 552 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 553 * <p>If you specify a preset in <code>PresetId</code> for which the 554 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 555 * <code>Playlists</code> contains information about the master playlists that you 556 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 557 * in a job is 30.</p> 558 */ WithPlaylists(const Aws::Vector<Playlist> & value)559 inline Job& WithPlaylists(const Aws::Vector<Playlist>& value) { SetPlaylists(value); return *this;} 560 561 /** 562 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 563 * <p>If you specify a preset in <code>PresetId</code> for which the 564 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 565 * <code>Playlists</code> contains information about the master playlists that you 566 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 567 * in a job is 30.</p> 568 */ WithPlaylists(Aws::Vector<Playlist> && value)569 inline Job& WithPlaylists(Aws::Vector<Playlist>&& value) { SetPlaylists(std::move(value)); return *this;} 570 571 /** 572 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 573 * <p>If you specify a preset in <code>PresetId</code> for which the 574 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 575 * <code>Playlists</code> contains information about the master playlists that you 576 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 577 * in a job is 30.</p> 578 */ AddPlaylists(const Playlist & value)579 inline Job& AddPlaylists(const Playlist& value) { m_playlistsHasBeenSet = true; m_playlists.push_back(value); return *this; } 580 581 /** 582 * <p>Outputs in Fragmented MP4 or MPEG-TS format only.</p> 583 * <p>If you specify a preset in <code>PresetId</code> for which the 584 * value of <code>Container</code> is fmp4 (Fragmented MP4) or ts (MPEG-TS), 585 * <code>Playlists</code> contains information about the master playlists that you 586 * want Elastic Transcoder to create.</p> <p>The maximum number of master playlists 587 * in a job is 30.</p> 588 */ AddPlaylists(Playlist && value)589 inline Job& AddPlaylists(Playlist&& value) { m_playlistsHasBeenSet = true; m_playlists.push_back(std::move(value)); return *this; } 590 591 592 /** 593 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 594 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 595 */ GetStatus()596 inline const Aws::String& GetStatus() const{ return m_status; } 597 598 /** 599 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 600 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 601 */ StatusHasBeenSet()602 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 603 604 /** 605 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 606 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 607 */ SetStatus(const Aws::String & value)608 inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } 609 610 /** 611 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 612 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 613 */ SetStatus(Aws::String && value)614 inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 615 616 /** 617 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 618 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 619 */ SetStatus(const char * value)620 inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } 621 622 /** 623 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 624 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 625 */ WithStatus(const Aws::String & value)626 inline Job& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} 627 628 /** 629 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 630 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 631 */ WithStatus(Aws::String && value)632 inline Job& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} 633 634 /** 635 * <p> The status of the job: <code>Submitted</code>, <code>Progressing</code>, 636 * <code>Complete</code>, <code>Canceled</code>, or <code>Error</code>. </p> 637 */ WithStatus(const char * value)638 inline Job& WithStatus(const char* value) { SetStatus(value); return *this;} 639 640 641 /** 642 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 643 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 644 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 645 * that <code>key/value</code> pairs are returned in the same order in which you 646 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 647 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 648 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 649 * <code>Space</code> </p> </li> <li> <p>The following symbols: 650 * <code>_.:/=+-%@</code> </p> </li> </ul> 651 */ GetUserMetadata()652 inline const Aws::Map<Aws::String, Aws::String>& GetUserMetadata() const{ return m_userMetadata; } 653 654 /** 655 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 656 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 657 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 658 * that <code>key/value</code> pairs are returned in the same order in which you 659 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 660 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 661 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 662 * <code>Space</code> </p> </li> <li> <p>The following symbols: 663 * <code>_.:/=+-%@</code> </p> </li> </ul> 664 */ UserMetadataHasBeenSet()665 inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; } 666 667 /** 668 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 669 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 670 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 671 * that <code>key/value</code> pairs are returned in the same order in which you 672 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 673 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 674 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 675 * <code>Space</code> </p> </li> <li> <p>The following symbols: 676 * <code>_.:/=+-%@</code> </p> </li> </ul> 677 */ SetUserMetadata(const Aws::Map<Aws::String,Aws::String> & value)678 inline void SetUserMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_userMetadataHasBeenSet = true; m_userMetadata = value; } 679 680 /** 681 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 682 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 683 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 684 * that <code>key/value</code> pairs are returned in the same order in which you 685 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 686 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 687 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 688 * <code>Space</code> </p> </li> <li> <p>The following symbols: 689 * <code>_.:/=+-%@</code> </p> </li> </ul> 690 */ SetUserMetadata(Aws::Map<Aws::String,Aws::String> && value)691 inline void SetUserMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_userMetadataHasBeenSet = true; m_userMetadata = std::move(value); } 692 693 /** 694 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 695 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 696 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 697 * that <code>key/value</code> pairs are returned in the same order in which you 698 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 699 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 700 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 701 * <code>Space</code> </p> </li> <li> <p>The following symbols: 702 * <code>_.:/=+-%@</code> </p> </li> </ul> 703 */ WithUserMetadata(const Aws::Map<Aws::String,Aws::String> & value)704 inline Job& WithUserMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetUserMetadata(value); return *this;} 705 706 /** 707 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 708 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 709 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 710 * that <code>key/value</code> pairs are returned in the same order in which you 711 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 712 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 713 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 714 * <code>Space</code> </p> </li> <li> <p>The following symbols: 715 * <code>_.:/=+-%@</code> </p> </li> </ul> 716 */ WithUserMetadata(Aws::Map<Aws::String,Aws::String> && value)717 inline Job& WithUserMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetUserMetadata(std::move(value)); return *this;} 718 719 /** 720 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 721 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 722 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 723 * that <code>key/value</code> pairs are returned in the same order in which you 724 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 725 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 726 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 727 * <code>Space</code> </p> </li> <li> <p>The following symbols: 728 * <code>_.:/=+-%@</code> </p> </li> </ul> 729 */ AddUserMetadata(const Aws::String & key,const Aws::String & value)730 inline Job& AddUserMetadata(const Aws::String& key, const Aws::String& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } 731 732 /** 733 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 734 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 735 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 736 * that <code>key/value</code> pairs are returned in the same order in which you 737 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 738 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 739 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 740 * <code>Space</code> </p> </li> <li> <p>The following symbols: 741 * <code>_.:/=+-%@</code> </p> </li> </ul> 742 */ AddUserMetadata(Aws::String && key,const Aws::String & value)743 inline Job& AddUserMetadata(Aws::String&& key, const Aws::String& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), value); return *this; } 744 745 /** 746 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 747 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 748 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 749 * that <code>key/value</code> pairs are returned in the same order in which you 750 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 751 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 752 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 753 * <code>Space</code> </p> </li> <li> <p>The following symbols: 754 * <code>_.:/=+-%@</code> </p> </li> </ul> 755 */ AddUserMetadata(const Aws::String & key,Aws::String && value)756 inline Job& AddUserMetadata(const Aws::String& key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, std::move(value)); return *this; } 757 758 /** 759 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 760 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 761 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 762 * that <code>key/value</code> pairs are returned in the same order in which you 763 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 764 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 765 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 766 * <code>Space</code> </p> </li> <li> <p>The following symbols: 767 * <code>_.:/=+-%@</code> </p> </li> </ul> 768 */ AddUserMetadata(Aws::String && key,Aws::String && value)769 inline Job& AddUserMetadata(Aws::String&& key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), std::move(value)); return *this; } 770 771 /** 772 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 773 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 774 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 775 * that <code>key/value</code> pairs are returned in the same order in which you 776 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 777 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 778 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 779 * <code>Space</code> </p> </li> <li> <p>The following symbols: 780 * <code>_.:/=+-%@</code> </p> </li> </ul> 781 */ AddUserMetadata(const char * key,Aws::String && value)782 inline Job& AddUserMetadata(const char* key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, std::move(value)); return *this; } 783 784 /** 785 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 786 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 787 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 788 * that <code>key/value</code> pairs are returned in the same order in which you 789 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 790 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 791 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 792 * <code>Space</code> </p> </li> <li> <p>The following symbols: 793 * <code>_.:/=+-%@</code> </p> </li> </ul> 794 */ AddUserMetadata(Aws::String && key,const char * value)795 inline Job& AddUserMetadata(Aws::String&& key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), value); return *this; } 796 797 /** 798 * <p>User-defined metadata that you want to associate with an Elastic Transcoder 799 * job. You specify metadata in <code>key/value</code> pairs, and you can add up to 800 * 10 <code>key/value</code> pairs per job. Elastic Transcoder does not guarantee 801 * that <code>key/value</code> pairs are returned in the same order in which you 802 * specify them.</p> <p>Metadata <code>keys</code> and <code>values</code> must use 803 * characters from the following list:</p> <ul> <li> <p> <code>0-9</code> </p> 804 * </li> <li> <p> <code>A-Z</code> and <code>a-z</code> </p> </li> <li> <p> 805 * <code>Space</code> </p> </li> <li> <p>The following symbols: 806 * <code>_.:/=+-%@</code> </p> </li> </ul> 807 */ AddUserMetadata(const char * key,const char * value)808 inline Job& AddUserMetadata(const char* key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } 809 810 811 /** 812 * <p>Details about the timing of a job.</p> 813 */ GetTiming()814 inline const Timing& GetTiming() const{ return m_timing; } 815 816 /** 817 * <p>Details about the timing of a job.</p> 818 */ TimingHasBeenSet()819 inline bool TimingHasBeenSet() const { return m_timingHasBeenSet; } 820 821 /** 822 * <p>Details about the timing of a job.</p> 823 */ SetTiming(const Timing & value)824 inline void SetTiming(const Timing& value) { m_timingHasBeenSet = true; m_timing = value; } 825 826 /** 827 * <p>Details about the timing of a job.</p> 828 */ SetTiming(Timing && value)829 inline void SetTiming(Timing&& value) { m_timingHasBeenSet = true; m_timing = std::move(value); } 830 831 /** 832 * <p>Details about the timing of a job.</p> 833 */ WithTiming(const Timing & value)834 inline Job& WithTiming(const Timing& value) { SetTiming(value); return *this;} 835 836 /** 837 * <p>Details about the timing of a job.</p> 838 */ WithTiming(Timing && value)839 inline Job& WithTiming(Timing&& value) { SetTiming(std::move(value)); return *this;} 840 841 private: 842 843 Aws::String m_id; 844 bool m_idHasBeenSet; 845 846 Aws::String m_arn; 847 bool m_arnHasBeenSet; 848 849 Aws::String m_pipelineId; 850 bool m_pipelineIdHasBeenSet; 851 852 JobInput m_input; 853 bool m_inputHasBeenSet; 854 855 Aws::Vector<JobInput> m_inputs; 856 bool m_inputsHasBeenSet; 857 858 JobOutput m_output; 859 bool m_outputHasBeenSet; 860 861 Aws::Vector<JobOutput> m_outputs; 862 bool m_outputsHasBeenSet; 863 864 Aws::String m_outputKeyPrefix; 865 bool m_outputKeyPrefixHasBeenSet; 866 867 Aws::Vector<Playlist> m_playlists; 868 bool m_playlistsHasBeenSet; 869 870 Aws::String m_status; 871 bool m_statusHasBeenSet; 872 873 Aws::Map<Aws::String, Aws::String> m_userMetadata; 874 bool m_userMetadataHasBeenSet; 875 876 Timing m_timing; 877 bool m_timingHasBeenSet; 878 }; 879 880 } // namespace Model 881 } // namespace ElasticTranscoder 882 } // namespace Aws 883