/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticTranscoder { namespace Model { /** *

A section of the response body that provides information about the job that * is created.

See Also:

AWS * API Reference

*/ class Job { public: AWS_ELASTICTRANSCODER_API Job(); AWS_ELASTICTRANSCODER_API Job(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API Job& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline Job& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline Job& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier that Elastic Transcoder assigned to the job. You use this * value to get settings for the job or to delete the job.

*/ inline Job& WithId(const char* value) { SetId(value); return *this;} /** *

The Amazon Resource Name (ARN) for the job.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) for the job.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the job.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) for the job.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the job.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) for the job.

*/ inline Job& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the job.

*/ inline Job& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the job.

*/ inline Job& WithArn(const char* value) { SetArn(value); return *this;} /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline const Aws::String& GetPipelineId() const{ return m_pipelineId; } /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline bool PipelineIdHasBeenSet() const { return m_pipelineIdHasBeenSet; } /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline void SetPipelineId(const Aws::String& value) { m_pipelineIdHasBeenSet = true; m_pipelineId = value; } /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline void SetPipelineId(Aws::String&& value) { m_pipelineIdHasBeenSet = true; m_pipelineId = std::move(value); } /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline void SetPipelineId(const char* value) { m_pipelineIdHasBeenSet = true; m_pipelineId.assign(value); } /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline Job& WithPipelineId(const Aws::String& value) { SetPipelineId(value); return *this;} /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline Job& WithPipelineId(Aws::String&& value) { SetPipelineId(std::move(value)); return *this;} /** *

The Id of the pipeline that you want Elastic Transcoder to use * for transcoding. The pipeline determines several settings, including the Amazon * S3 bucket from which Elastic Transcoder gets the files to transcode and the * bucket into which Elastic Transcoder puts the transcoded files.

*/ inline Job& WithPipelineId(const char* value) { SetPipelineId(value); return *this;} /** *

A section of the request or response body that provides information about the * file that is being transcoded.

*/ inline const JobInput& GetInput() const{ return m_input; } /** *

A section of the request or response body that provides information about the * file that is being transcoded.

*/ inline bool InputHasBeenSet() const { return m_inputHasBeenSet; } /** *

A section of the request or response body that provides information about the * file that is being transcoded.

*/ inline void SetInput(const JobInput& value) { m_inputHasBeenSet = true; m_input = value; } /** *

A section of the request or response body that provides information about the * file that is being transcoded.

*/ inline void SetInput(JobInput&& value) { m_inputHasBeenSet = true; m_input = std::move(value); } /** *

A section of the request or response body that provides information about the * file that is being transcoded.

*/ inline Job& WithInput(const JobInput& value) { SetInput(value); return *this;} /** *

A section of the request or response body that provides information about the * file that is being transcoded.

*/ inline Job& WithInput(JobInput&& value) { SetInput(std::move(value)); return *this;} /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline const Aws::Vector& GetInputs() const{ return m_inputs; } /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline bool InputsHasBeenSet() const { return m_inputsHasBeenSet; } /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline void SetInputs(const Aws::Vector& value) { m_inputsHasBeenSet = true; m_inputs = value; } /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline void SetInputs(Aws::Vector&& value) { m_inputsHasBeenSet = true; m_inputs = std::move(value); } /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline Job& WithInputs(const Aws::Vector& value) { SetInputs(value); return *this;} /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline Job& WithInputs(Aws::Vector&& value) { SetInputs(std::move(value)); return *this;} /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline Job& AddInputs(const JobInput& value) { m_inputsHasBeenSet = true; m_inputs.push_back(value); return *this; } /** *

Information about the files that you're transcoding. If you specified * multiple files for this job, Elastic Transcoder stitches the files together to * make one output.

*/ inline Job& AddInputs(JobInput&& value) { m_inputsHasBeenSet = true; m_inputs.push_back(std::move(value)); return *this; } /** *

If you specified one output for a job, information about that output. If you * specified multiple outputs for a job, the Output object lists information about * the first output. This duplicates the information that is listed for the first * output in the Outputs object.

Outputs recommended * instead.

A section of the request or response body that * provides information about the transcoded (target) file.

*/ inline const JobOutput& GetOutput() const{ return m_output; } /** *

If you specified one output for a job, information about that output. If you * specified multiple outputs for a job, the Output object lists information about * the first output. This duplicates the information that is listed for the first * output in the Outputs object.

Outputs recommended * instead.

A section of the request or response body that * provides information about the transcoded (target) file.

*/ inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } /** *

If you specified one output for a job, information about that output. If you * specified multiple outputs for a job, the Output object lists information about * the first output. This duplicates the information that is listed for the first * output in the Outputs object.

Outputs recommended * instead.

A section of the request or response body that * provides information about the transcoded (target) file.

*/ inline void SetOutput(const JobOutput& value) { m_outputHasBeenSet = true; m_output = value; } /** *

If you specified one output for a job, information about that output. If you * specified multiple outputs for a job, the Output object lists information about * the first output. This duplicates the information that is listed for the first * output in the Outputs object.

Outputs recommended * instead.

A section of the request or response body that * provides information about the transcoded (target) file.

*/ inline void SetOutput(JobOutput&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } /** *

If you specified one output for a job, information about that output. If you * specified multiple outputs for a job, the Output object lists information about * the first output. This duplicates the information that is listed for the first * output in the Outputs object.

Outputs recommended * instead.

A section of the request or response body that * provides information about the transcoded (target) file.

*/ inline Job& WithOutput(const JobOutput& value) { SetOutput(value); return *this;} /** *

If you specified one output for a job, information about that output. If you * specified multiple outputs for a job, the Output object lists information about * the first output. This duplicates the information that is listed for the first * output in the Outputs object.

Outputs recommended * instead.

A section of the request or response body that * provides information about the transcoded (target) file.

*/ inline Job& WithOutput(JobOutput&& value) { SetOutput(std::move(value)); return *this;} /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline const Aws::Vector& GetOutputs() const{ return m_outputs; } /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline void SetOutputs(const Aws::Vector& value) { m_outputsHasBeenSet = true; m_outputs = value; } /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline void SetOutputs(Aws::Vector&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); } /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline Job& WithOutputs(const Aws::Vector& value) { SetOutputs(value); return *this;} /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline Job& WithOutputs(Aws::Vector&& value) { SetOutputs(std::move(value)); return *this;} /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline Job& AddOutputs(const JobOutput& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; } /** *

Information about the output files. We recommend that you use the * Outputs syntax for all jobs, even when you want Elastic Transcoder * to transcode a file into only one format. Do not use both the * Outputs and Output syntaxes in the same request. You * can create a maximum of 30 outputs per job.

If you specify more than one * output for a job, Elastic Transcoder creates the files for each output in the * order in which you specify them in the job.

*/ inline Job& AddOutputs(JobOutput&& value) { m_outputsHasBeenSet = true; m_outputs.push_back(std::move(value)); return *this; } /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline const Aws::String& GetOutputKeyPrefix() const{ return m_outputKeyPrefix; } /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline bool OutputKeyPrefixHasBeenSet() const { return m_outputKeyPrefixHasBeenSet; } /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline void SetOutputKeyPrefix(const Aws::String& value) { m_outputKeyPrefixHasBeenSet = true; m_outputKeyPrefix = value; } /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline void SetOutputKeyPrefix(Aws::String&& value) { m_outputKeyPrefixHasBeenSet = true; m_outputKeyPrefix = std::move(value); } /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline void SetOutputKeyPrefix(const char* value) { m_outputKeyPrefixHasBeenSet = true; m_outputKeyPrefix.assign(value); } /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline Job& WithOutputKeyPrefix(const Aws::String& value) { SetOutputKeyPrefix(value); return *this;} /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline Job& WithOutputKeyPrefix(Aws::String&& value) { SetOutputKeyPrefix(std::move(value)); return *this;} /** *

The value, if any, that you want Elastic Transcoder to prepend to the names * of all files that this job creates, including output files, thumbnails, and * playlists. We recommend that you add a / or some other delimiter to the end of * the OutputKeyPrefix.

*/ inline Job& WithOutputKeyPrefix(const char* value) { SetOutputKeyPrefix(value); return *this;} /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline const Aws::Vector& GetPlaylists() const{ return m_playlists; } /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline bool PlaylistsHasBeenSet() const { return m_playlistsHasBeenSet; } /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline void SetPlaylists(const Aws::Vector& value) { m_playlistsHasBeenSet = true; m_playlists = value; } /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline void SetPlaylists(Aws::Vector&& value) { m_playlistsHasBeenSet = true; m_playlists = std::move(value); } /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline Job& WithPlaylists(const Aws::Vector& value) { SetPlaylists(value); return *this;} /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline Job& WithPlaylists(Aws::Vector&& value) { SetPlaylists(std::move(value)); return *this;} /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline Job& AddPlaylists(const Playlist& value) { m_playlistsHasBeenSet = true; m_playlists.push_back(value); return *this; } /** *

Outputs in Fragmented MP4 or MPEG-TS format only.

*

If you specify a preset in PresetId for which the * value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), * Playlists contains information about the master playlists that you * want Elastic Transcoder to create.

The maximum number of master playlists * in a job is 30.

*/ inline Job& AddPlaylists(Playlist&& value) { m_playlistsHasBeenSet = true; m_playlists.push_back(std::move(value)); return *this; } /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline Job& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline Job& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the job: Submitted, Progressing, * Complete, Canceled, or Error.

*/ inline Job& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline const Aws::Map& GetUserMetadata() const{ return m_userMetadata; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline void SetUserMetadata(const Aws::Map& value) { m_userMetadataHasBeenSet = true; m_userMetadata = value; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline void SetUserMetadata(Aws::Map&& value) { m_userMetadataHasBeenSet = true; m_userMetadata = std::move(value); } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& WithUserMetadata(const Aws::Map& value) { SetUserMetadata(value); return *this;} /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& WithUserMetadata(Aws::Map&& value) { SetUserMetadata(std::move(value)); return *this;} /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(const Aws::String& key, const Aws::String& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(Aws::String&& key, const Aws::String& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), value); return *this; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(const Aws::String& key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, std::move(value)); return *this; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(Aws::String&& key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), std::move(value)); return *this; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(const char* key, Aws::String&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, std::move(value)); return *this; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(Aws::String&& key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::move(key), value); return *this; } /** *

User-defined metadata that you want to associate with an Elastic Transcoder * job. You specify metadata in key/value pairs, and you can add up to * 10 key/value pairs per job. Elastic Transcoder does not guarantee * that key/value pairs are returned in the same order in which you * specify them.

Metadata keys and values must use * characters from the following list:

  • 0-9

    *
  • A-Z and a-z

  • * Space

  • The following symbols: * _.:/=+-%@

*/ inline Job& AddUserMetadata(const char* key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } /** *

Details about the timing of a job.

*/ inline const Timing& GetTiming() const{ return m_timing; } /** *

Details about the timing of a job.

*/ inline bool TimingHasBeenSet() const { return m_timingHasBeenSet; } /** *

Details about the timing of a job.

*/ inline void SetTiming(const Timing& value) { m_timingHasBeenSet = true; m_timing = value; } /** *

Details about the timing of a job.

*/ inline void SetTiming(Timing&& value) { m_timingHasBeenSet = true; m_timing = std::move(value); } /** *

Details about the timing of a job.

*/ inline Job& WithTiming(const Timing& value) { SetTiming(value); return *this;} /** *

Details about the timing of a job.

*/ inline Job& WithTiming(Timing&& value) { SetTiming(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_pipelineId; bool m_pipelineIdHasBeenSet = false; JobInput m_input; bool m_inputHasBeenSet = false; Aws::Vector m_inputs; bool m_inputsHasBeenSet = false; JobOutput m_output; bool m_outputHasBeenSet = false; Aws::Vector m_outputs; bool m_outputsHasBeenSet = false; Aws::String m_outputKeyPrefix; bool m_outputKeyPrefixHasBeenSet = false; Aws::Vector m_playlists; bool m_playlistsHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::Map m_userMetadata; bool m_userMetadataHasBeenSet = false; Timing m_timing; bool m_timingHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws