/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConvert { namespace Model { /** * A job template is a pre-made set of encoding instructions that you can use to * quickly create a job.

See Also:

AWS * API Reference

*/ class JobTemplate { public: AWS_MEDIACONVERT_API JobTemplate(); AWS_MEDIACONVERT_API JobTemplate(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API JobTemplate& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONVERT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * Accelerated transcoding can significantly speed up jobs with long, visually * complex content. */ inline const AccelerationSettings& GetAccelerationSettings() const{ return m_accelerationSettings; } /** * Accelerated transcoding can significantly speed up jobs with long, visually * complex content. */ inline bool AccelerationSettingsHasBeenSet() const { return m_accelerationSettingsHasBeenSet; } /** * Accelerated transcoding can significantly speed up jobs with long, visually * complex content. */ inline void SetAccelerationSettings(const AccelerationSettings& value) { m_accelerationSettingsHasBeenSet = true; m_accelerationSettings = value; } /** * Accelerated transcoding can significantly speed up jobs with long, visually * complex content. */ inline void SetAccelerationSettings(AccelerationSettings&& value) { m_accelerationSettingsHasBeenSet = true; m_accelerationSettings = std::move(value); } /** * Accelerated transcoding can significantly speed up jobs with long, visually * complex content. */ inline JobTemplate& WithAccelerationSettings(const AccelerationSettings& value) { SetAccelerationSettings(value); return *this;} /** * Accelerated transcoding can significantly speed up jobs with long, visually * complex content. */ inline JobTemplate& WithAccelerationSettings(AccelerationSettings&& value) { SetAccelerationSettings(std::move(value)); return *this;} /** * An identifier for this resource that is unique within all of AWS. */ inline const Aws::String& GetArn() const{ return m_arn; } /** * An identifier for this resource that is unique within all of AWS. */ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** * An identifier for this resource that is unique within all of AWS. */ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** * An identifier for this resource that is unique within all of AWS. */ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** * An identifier for this resource that is unique within all of AWS. */ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** * An identifier for this resource that is unique within all of AWS. */ inline JobTemplate& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** * An identifier for this resource that is unique within all of AWS. */ inline JobTemplate& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** * An identifier for this resource that is unique within all of AWS. */ inline JobTemplate& WithArn(const char* value) { SetArn(value); return *this;} /** * An optional category you create to organize your job templates. */ inline const Aws::String& GetCategory() const{ return m_category; } /** * An optional category you create to organize your job templates. */ inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } /** * An optional category you create to organize your job templates. */ inline void SetCategory(const Aws::String& value) { m_categoryHasBeenSet = true; m_category = value; } /** * An optional category you create to organize your job templates. */ inline void SetCategory(Aws::String&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } /** * An optional category you create to organize your job templates. */ inline void SetCategory(const char* value) { m_categoryHasBeenSet = true; m_category.assign(value); } /** * An optional category you create to organize your job templates. */ inline JobTemplate& WithCategory(const Aws::String& value) { SetCategory(value); return *this;} /** * An optional category you create to organize your job templates. */ inline JobTemplate& WithCategory(Aws::String&& value) { SetCategory(std::move(value)); return *this;} /** * An optional category you create to organize your job templates. */ inline JobTemplate& WithCategory(const char* value) { SetCategory(value); return *this;} /** * The timestamp in epoch seconds for Job template creation. */ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** * The timestamp in epoch seconds for Job template creation. */ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** * The timestamp in epoch seconds for Job template creation. */ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** * The timestamp in epoch seconds for Job template creation. */ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** * The timestamp in epoch seconds for Job template creation. */ inline JobTemplate& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** * The timestamp in epoch seconds for Job template creation. */ inline JobTemplate& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** * An optional description you create for each job template. */ inline const Aws::String& GetDescription() const{ return m_description; } /** * An optional description you create for each job template. */ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** * An optional description you create for each job template. */ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** * An optional description you create for each job template. */ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** * An optional description you create for each job template. */ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** * An optional description you create for each job template. */ inline JobTemplate& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** * An optional description you create for each job template. */ inline JobTemplate& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** * An optional description you create for each job template. */ inline JobTemplate& WithDescription(const char* value) { SetDescription(value); return *this;} /** * Optional list of hop destinations. */ inline const Aws::Vector& GetHopDestinations() const{ return m_hopDestinations; } /** * Optional list of hop destinations. */ inline bool HopDestinationsHasBeenSet() const { return m_hopDestinationsHasBeenSet; } /** * Optional list of hop destinations. */ inline void SetHopDestinations(const Aws::Vector& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations = value; } /** * Optional list of hop destinations. */ inline void SetHopDestinations(Aws::Vector&& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations = std::move(value); } /** * Optional list of hop destinations. */ inline JobTemplate& WithHopDestinations(const Aws::Vector& value) { SetHopDestinations(value); return *this;} /** * Optional list of hop destinations. */ inline JobTemplate& WithHopDestinations(Aws::Vector&& value) { SetHopDestinations(std::move(value)); return *this;} /** * Optional list of hop destinations. */ inline JobTemplate& AddHopDestinations(const HopDestination& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations.push_back(value); return *this; } /** * Optional list of hop destinations. */ inline JobTemplate& AddHopDestinations(HopDestination&& value) { m_hopDestinationsHasBeenSet = true; m_hopDestinations.push_back(std::move(value)); return *this; } /** * The timestamp in epoch seconds when the Job template was last updated. */ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** * The timestamp in epoch seconds when the Job template was last updated. */ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** * The timestamp in epoch seconds when the Job template was last updated. */ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** * The timestamp in epoch seconds when the Job template was last updated. */ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** * The timestamp in epoch seconds when the Job template was last updated. */ inline JobTemplate& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** * The timestamp in epoch seconds when the Job template was last updated. */ inline JobTemplate& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} /** * A name you create for each job template. Each name must be unique within your * account. */ inline const Aws::String& GetName() const{ return m_name; } /** * A name you create for each job template. Each name must be unique within your * account. */ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** * A name you create for each job template. Each name must be unique within your * account. */ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** * A name you create for each job template. Each name must be unique within your * account. */ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** * A name you create for each job template. Each name must be unique within your * account. */ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** * A name you create for each job template. Each name must be unique within your * account. */ inline JobTemplate& WithName(const Aws::String& value) { SetName(value); return *this;} /** * A name you create for each job template. Each name must be unique within your * account. */ inline JobTemplate& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** * A name you create for each job template. Each name must be unique within your * account. */ inline JobTemplate& WithName(const char* value) { SetName(value); return *this;} /** * Relative priority on the job. */ inline int GetPriority() const{ return m_priority; } /** * Relative priority on the job. */ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** * Relative priority on the job. */ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** * Relative priority on the job. */ inline JobTemplate& WithPriority(int value) { SetPriority(value); return *this;} /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline const Aws::String& GetQueue() const{ return m_queue; } /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline bool QueueHasBeenSet() const { return m_queueHasBeenSet; } /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline void SetQueue(const Aws::String& value) { m_queueHasBeenSet = true; m_queue = value; } /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline void SetQueue(Aws::String&& value) { m_queueHasBeenSet = true; m_queue = std::move(value); } /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline void SetQueue(const char* value) { m_queueHasBeenSet = true; m_queue.assign(value); } /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline JobTemplate& WithQueue(const Aws::String& value) { SetQueue(value); return *this;} /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline JobTemplate& WithQueue(Aws::String&& value) { SetQueue(std::move(value)); return *this;} /** * Optional. The queue that jobs created from this template are assigned to. If you * don't specify this, jobs will go to the default queue. */ inline JobTemplate& WithQueue(const char* value) { SetQueue(value); return *this;} /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it. */ inline const JobTemplateSettings& GetSettings() const{ return m_settings; } /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it. */ inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; } /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it. */ inline void SetSettings(const JobTemplateSettings& value) { m_settingsHasBeenSet = true; m_settings = value; } /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it. */ inline void SetSettings(JobTemplateSettings&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); } /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it. */ inline JobTemplate& WithSettings(const JobTemplateSettings& value) { SetSettings(value); return *this;} /** * JobTemplateSettings contains all the transcode settings saved in the template * that will be applied to jobs created from it. */ inline JobTemplate& WithSettings(JobTemplateSettings&& value) { SetSettings(std::move(value)); return *this;} /** * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch * Events. Set the interval, in seconds, between status updates. MediaConvert sends * an update at this interval from the time the service begins processing your job * to the time it completes the transcode or encounters an error. */ inline const StatusUpdateInterval& GetStatusUpdateInterval() const{ return m_statusUpdateInterval; } /** * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch * Events. Set the interval, in seconds, between status updates. MediaConvert sends * an update at this interval from the time the service begins processing your job * to the time it completes the transcode or encounters an error. */ inline bool StatusUpdateIntervalHasBeenSet() const { return m_statusUpdateIntervalHasBeenSet; } /** * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch * Events. Set the interval, in seconds, between status updates. MediaConvert sends * an update at this interval from the time the service begins processing your job * to the time it completes the transcode or encounters an error. */ inline void SetStatusUpdateInterval(const StatusUpdateInterval& value) { m_statusUpdateIntervalHasBeenSet = true; m_statusUpdateInterval = value; } /** * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch * Events. Set the interval, in seconds, between status updates. MediaConvert sends * an update at this interval from the time the service begins processing your job * to the time it completes the transcode or encounters an error. */ inline void SetStatusUpdateInterval(StatusUpdateInterval&& value) { m_statusUpdateIntervalHasBeenSet = true; m_statusUpdateInterval = std::move(value); } /** * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch * Events. Set the interval, in seconds, between status updates. MediaConvert sends * an update at this interval from the time the service begins processing your job * to the time it completes the transcode or encounters an error. */ inline JobTemplate& WithStatusUpdateInterval(const StatusUpdateInterval& value) { SetStatusUpdateInterval(value); return *this;} /** * Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch * Events. Set the interval, in seconds, between status updates. MediaConvert sends * an update at this interval from the time the service begins processing your job * to the time it completes the transcode or encounters an error. */ inline JobTemplate& WithStatusUpdateInterval(StatusUpdateInterval&& value) { SetStatusUpdateInterval(std::move(value)); return *this;} /** * A job template can be of two types: system or custom. System or built-in job * templates can't be modified or deleted by the user. */ inline const Type& GetType() const{ return m_type; } /** * A job template can be of two types: system or custom. System or built-in job * templates can't be modified or deleted by the user. */ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** * A job template can be of two types: system or custom. System or built-in job * templates can't be modified or deleted by the user. */ inline void SetType(const Type& value) { m_typeHasBeenSet = true; m_type = value; } /** * A job template can be of two types: system or custom. System or built-in job * templates can't be modified or deleted by the user. */ inline void SetType(Type&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** * A job template can be of two types: system or custom. System or built-in job * templates can't be modified or deleted by the user. */ inline JobTemplate& WithType(const Type& value) { SetType(value); return *this;} /** * A job template can be of two types: system or custom. System or built-in job * templates can't be modified or deleted by the user. */ inline JobTemplate& WithType(Type&& value) { SetType(std::move(value)); return *this;} private: AccelerationSettings m_accelerationSettings; bool m_accelerationSettingsHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_category; bool m_categoryHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_hopDestinations; bool m_hopDestinationsHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; Aws::String m_queue; bool m_queueHasBeenSet = false; JobTemplateSettings m_settings; bool m_settingsHasBeenSet = false; StatusUpdateInterval m_statusUpdateInterval; bool m_statusUpdateIntervalHasBeenSet = false; Type m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace MediaConvert } // namespace Aws