/** * 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 ElasticTranscoder { namespace Model { /** *

The CreateJobRequest structure.

See Also:

AWS * API Reference

*/ class AWS_ELASTICTRANSCODER_API CreateJobRequest : public ElasticTranscoderRequest { public: CreateJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateJob"; } Aws::String SerializePayload() const override; /** *

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 CreateJobRequest& 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 CreateJobRequest& 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 CreateJobRequest& WithPipelineId(const char* value) { SetPipelineId(value); return *this;} /** *

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

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

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

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

A section of the request 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 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 body that provides information about the file that * is being transcoded.

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

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

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the files that * are being transcoded.

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

A section of the request body that provides information about the transcoded * (target) file. We strongly recommend that you use the Outputs * syntax instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) file. We strongly recommend that you use the Outputs * syntax instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) file. We strongly recommend that you use the Outputs * syntax instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) file. We strongly recommend that you use the Outputs * syntax instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) file. We strongly recommend that you use the Outputs * syntax instead of the Output syntax.

*/ inline CreateJobRequest& WithOutput(const CreateJobOutput& value) { SetOutput(value); return *this;} /** *

A section of the request body that provides information about the transcoded * (target) file. We strongly recommend that you use the Outputs * syntax instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

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

A section of the request body that provides information about the transcoded * (target) files. We recommend that you use the Outputs syntax * instead of the Output syntax.

*/ inline CreateJobRequest& AddOutputs(CreateJobOutput&& 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

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

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; } /** *

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; } /** *

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; } /** *

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); } /** *

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 CreateJobRequest& WithPlaylists(const Aws::Vector& value) { SetPlaylists(value); return *this;} /** *

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 CreateJobRequest& WithPlaylists(Aws::Vector&& value) { SetPlaylists(std::move(value)); return *this;} /** *

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 CreateJobRequest& AddPlaylists(const CreateJobPlaylist& value) { m_playlistsHasBeenSet = true; m_playlists.push_back(value); return *this; } /** *

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 CreateJobRequest& AddPlaylists(CreateJobPlaylist&& value) { m_playlistsHasBeenSet = true; m_playlists.push_back(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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& 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.

*/ inline CreateJobRequest& AddUserMetadata(const char* key, const char* value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace(key, value); return *this; } private: Aws::String m_pipelineId; bool m_pipelineIdHasBeenSet; JobInput m_input; bool m_inputHasBeenSet; Aws::Vector m_inputs; bool m_inputsHasBeenSet; CreateJobOutput m_output; bool m_outputHasBeenSet; Aws::Vector m_outputs; bool m_outputsHasBeenSet; Aws::String m_outputKeyPrefix; bool m_outputKeyPrefixHasBeenSet; Aws::Vector m_playlists; bool m_playlistsHasBeenSet; Aws::Map m_userMetadata; bool m_userMetadataHasBeenSet; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws