// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// Each job converts an input file into an output file or files. For more information, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Job {
/// Accelerated transcoding can significantly speed up jobs with long, visually complex content.
pub acceleration_settings: ::std::option::Option<crate::types::AccelerationSettings>,
/// Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
pub acceleration_status: ::std::option::Option<crate::types::AccelerationStatus>,
/// An identifier for this resource that is unique within all of AWS.
pub arn: ::std::option::Option<::std::string::String>,
/// The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.
pub billing_tags_source: ::std::option::Option<crate::types::BillingTagsSource>,
/// Prevent duplicate jobs from being created and ensure idempotency for your requests. A client request token can be any string that includes up to 64 ASCII characters. If you reuse a client request token within one minute of a successful request, the API returns the job details of the original request instead. For more information see https://docs.aws.amazon.com/mediaconvert/latest/apireference/idempotency.html.
pub client_request_token: ::std::option::Option<::std::string::String>,
/// The time, in Unix epoch format in seconds, when the job got created.
pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
/// A job's phase can be PROBING, TRANSCODING OR UPLOADING
pub current_phase: ::std::option::Option<crate::types::JobPhase>,
/// Error code for the job
pub error_code: ::std::option::Option<i32>,
/// Error message of Job
pub error_message: ::std::option::Option<::std::string::String>,
/// Optional list of hop destinations.
pub hop_destinations: ::std::option::Option<::std::vec::Vec<crate::types::HopDestination>>,
/// A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources
pub id: ::std::option::Option<::std::string::String>,
/// An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value.
pub job_percent_complete: ::std::option::Option<i32>,
/// The job template that the job is created from, if it is created from a job template.
pub job_template: ::std::option::Option<::std::string::String>,
/// Provides messages from the service about jobs that you have already successfully submitted.
pub messages: ::std::option::Option<crate::types::JobMessages>,
/// List of output group details
pub output_group_details: ::std::option::Option<::std::vec::Vec<crate::types::OutputGroupDetail>>,
/// Relative priority on the job.
pub priority: ::std::option::Option<i32>,
/// When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
pub queue: ::std::option::Option<::std::string::String>,
/// The job's queue hopping history.
pub queue_transitions: ::std::option::Option<::std::vec::Vec<crate::types::QueueTransition>>,
/// The number of times that the service automatically attempted to process your job after encountering an error.
pub retry_count: ::std::option::Option<i32>,
/// The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
pub role: ::std::option::Option<::std::string::String>,
/// JobSettings contains all the transcode settings for a job.
pub settings: ::std::option::Option<crate::types::JobSettings>,
/// Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.
pub simulate_reserved_queue: ::std::option::Option<crate::types::SimulateReservedQueue>,
/// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
pub status: ::std::option::Option<crate::types::JobStatus>,
/// 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.
pub status_update_interval: ::std::option::Option<crate::types::StatusUpdateInterval>,
/// Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds.
pub timing: ::std::option::Option<crate::types::Timing>,
/// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.
pub user_metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
/// Contains any warning messages for the job. Use to help identify potential issues with your input, output, or job. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/warning_codes.html
pub warnings: ::std::option::Option<::std::vec::Vec<crate::types::WarningGroup>>,
}
impl Job {
/// Accelerated transcoding can significantly speed up jobs with long, visually complex content.
pub fn acceleration_settings(&self) -> ::std::option::Option<&crate::types::AccelerationSettings> {
self.acceleration_settings.as_ref()
}
/// Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
pub fn acceleration_status(&self) -> ::std::option::Option<&crate::types::AccelerationStatus> {
self.acceleration_status.as_ref()
}
/// An identifier for this resource that is unique within all of AWS.
pub fn arn(&self) -> ::std::option::Option<&str> {
self.arn.as_deref()
}
/// The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.
pub fn billing_tags_source(&self) -> ::std::option::Option<&crate::types::BillingTagsSource> {
self.billing_tags_source.as_ref()
}
/// Prevent duplicate jobs from being created and ensure idempotency for your requests. A client request token can be any string that includes up to 64 ASCII characters. If you reuse a client request token within one minute of a successful request, the API returns the job details of the original request instead. For more information see https://docs.aws.amazon.com/mediaconvert/latest/apireference/idempotency.html.
pub fn client_request_token(&self) -> ::std::option::Option<&str> {
self.client_request_token.as_deref()
}
/// The time, in Unix epoch format in seconds, when the job got created.
pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.created_at.as_ref()
}
/// A job's phase can be PROBING, TRANSCODING OR UPLOADING
pub fn current_phase(&self) -> ::std::option::Option<&crate::types::JobPhase> {
self.current_phase.as_ref()
}
/// Error code for the job
pub fn error_code(&self) -> ::std::option::Option<i32> {
self.error_code
}
/// Error message of Job
pub fn error_message(&self) -> ::std::option::Option<&str> {
self.error_message.as_deref()
}
/// Optional list of hop destinations.
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.hop_destinations.is_none()`.
pub fn hop_destinations(&self) -> &[crate::types::HopDestination] {
self.hop_destinations.as_deref().unwrap_or_default()
}
/// A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources
pub fn id(&self) -> ::std::option::Option<&str> {
self.id.as_deref()
}
/// An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value.
pub fn job_percent_complete(&self) -> ::std::option::Option<i32> {
self.job_percent_complete
}
/// The job template that the job is created from, if it is created from a job template.
pub fn job_template(&self) -> ::std::option::Option<&str> {
self.job_template.as_deref()
}
/// Provides messages from the service about jobs that you have already successfully submitted.
pub fn messages(&self) -> ::std::option::Option<&crate::types::JobMessages> {
self.messages.as_ref()
}
/// List of output group details
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.output_group_details.is_none()`.
pub fn output_group_details(&self) -> &[crate::types::OutputGroupDetail] {
self.output_group_details.as_deref().unwrap_or_default()
}
/// Relative priority on the job.
pub fn priority(&self) -> ::std::option::Option<i32> {
self.priority
}
/// When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
pub fn queue(&self) -> ::std::option::Option<&str> {
self.queue.as_deref()
}
/// The job's queue hopping history.
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.queue_transitions.is_none()`.
pub fn queue_transitions(&self) -> &[crate::types::QueueTransition] {
self.queue_transitions.as_deref().unwrap_or_default()
}
/// The number of times that the service automatically attempted to process your job after encountering an error.
pub fn retry_count(&self) -> ::std::option::Option<i32> {
self.retry_count
}
/// The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
pub fn role(&self) -> ::std::option::Option<&str> {
self.role.as_deref()
}
/// JobSettings contains all the transcode settings for a job.
pub fn settings(&self) -> ::std::option::Option<&crate::types::JobSettings> {
self.settings.as_ref()
}
/// Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.
pub fn simulate_reserved_queue(&self) -> ::std::option::Option<&crate::types::SimulateReservedQueue> {
self.simulate_reserved_queue.as_ref()
}
/// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
pub fn status(&self) -> ::std::option::Option<&crate::types::JobStatus> {
self.status.as_ref()
}
/// 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.
pub fn status_update_interval(&self) -> ::std::option::Option<&crate::types::StatusUpdateInterval> {
self.status_update_interval.as_ref()
}
/// Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds.
pub fn timing(&self) -> ::std::option::Option<&crate::types::Timing> {
self.timing.as_ref()
}
/// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.
pub fn user_metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.user_metadata.as_ref()
}
/// Contains any warning messages for the job. Use to help identify potential issues with your input, output, or job. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/warning_codes.html
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.warnings.is_none()`.
pub fn warnings(&self) -> &[crate::types::WarningGroup] {
self.warnings.as_deref().unwrap_or_default()
}
}
impl Job {
/// Creates a new builder-style object to manufacture [`Job`](crate::types::Job).
pub fn builder() -> crate::types::builders::JobBuilder {
crate::types::builders::JobBuilder::default()
}
}
/// A builder for [`Job`](crate::types::Job).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct JobBuilder {
pub(crate) acceleration_settings: ::std::option::Option<crate::types::AccelerationSettings>,
pub(crate) acceleration_status: ::std::option::Option<crate::types::AccelerationStatus>,
pub(crate) arn: ::std::option::Option<::std::string::String>,
pub(crate) billing_tags_source: ::std::option::Option<crate::types::BillingTagsSource>,
pub(crate) client_request_token: ::std::option::Option<::std::string::String>,
pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) current_phase: ::std::option::Option<crate::types::JobPhase>,
pub(crate) error_code: ::std::option::Option<i32>,
pub(crate) error_message: ::std::option::Option<::std::string::String>,
pub(crate) hop_destinations: ::std::option::Option<::std::vec::Vec<crate::types::HopDestination>>,
pub(crate) id: ::std::option::Option<::std::string::String>,
pub(crate) job_percent_complete: ::std::option::Option<i32>,
pub(crate) job_template: ::std::option::Option<::std::string::String>,
pub(crate) messages: ::std::option::Option<crate::types::JobMessages>,
pub(crate) output_group_details: ::std::option::Option<::std::vec::Vec<crate::types::OutputGroupDetail>>,
pub(crate) priority: ::std::option::Option<i32>,
pub(crate) queue: ::std::option::Option<::std::string::String>,
pub(crate) queue_transitions: ::std::option::Option<::std::vec::Vec<crate::types::QueueTransition>>,
pub(crate) retry_count: ::std::option::Option<i32>,
pub(crate) role: ::std::option::Option<::std::string::String>,
pub(crate) settings: ::std::option::Option<crate::types::JobSettings>,
pub(crate) simulate_reserved_queue: ::std::option::Option<crate::types::SimulateReservedQueue>,
pub(crate) status: ::std::option::Option<crate::types::JobStatus>,
pub(crate) status_update_interval: ::std::option::Option<crate::types::StatusUpdateInterval>,
pub(crate) timing: ::std::option::Option<crate::types::Timing>,
pub(crate) user_metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
pub(crate) warnings: ::std::option::Option<::std::vec::Vec<crate::types::WarningGroup>>,
}
impl JobBuilder {
/// Accelerated transcoding can significantly speed up jobs with long, visually complex content.
pub fn acceleration_settings(mut self, input: crate::types::AccelerationSettings) -> Self {
self.acceleration_settings = ::std::option::Option::Some(input);
self
}
/// Accelerated transcoding can significantly speed up jobs with long, visually complex content.
pub fn set_acceleration_settings(mut self, input: ::std::option::Option<crate::types::AccelerationSettings>) -> Self {
self.acceleration_settings = input;
self
}
/// Accelerated transcoding can significantly speed up jobs with long, visually complex content.
pub fn get_acceleration_settings(&self) -> &::std::option::Option<crate::types::AccelerationSettings> {
&self.acceleration_settings
}
/// Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
pub fn acceleration_status(mut self, input: crate::types::AccelerationStatus) -> Self {
self.acceleration_status = ::std::option::Option::Some(input);
self
}
/// Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
pub fn set_acceleration_status(mut self, input: ::std::option::Option<crate::types::AccelerationStatus>) -> Self {
self.acceleration_status = input;
self
}
/// Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.
pub fn get_acceleration_status(&self) -> &::std::option::Option<crate::types::AccelerationStatus> {
&self.acceleration_status
}
/// An identifier for this resource that is unique within all of AWS.
pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.arn = ::std::option::Option::Some(input.into());
self
}
/// An identifier for this resource that is unique within all of AWS.
pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.arn = input;
self
}
/// An identifier for this resource that is unique within all of AWS.
pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.arn
}
/// The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.
pub fn billing_tags_source(mut self, input: crate::types::BillingTagsSource) -> Self {
self.billing_tags_source = ::std::option::Option::Some(input);
self
}
/// The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.
pub fn set_billing_tags_source(mut self, input: ::std::option::Option<crate::types::BillingTagsSource>) -> Self {
self.billing_tags_source = input;
self
}
/// The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.
pub fn get_billing_tags_source(&self) -> &::std::option::Option<crate::types::BillingTagsSource> {
&self.billing_tags_source
}
/// Prevent duplicate jobs from being created and ensure idempotency for your requests. A client request token can be any string that includes up to 64 ASCII characters. If you reuse a client request token within one minute of a successful request, the API returns the job details of the original request instead. For more information see https://docs.aws.amazon.com/mediaconvert/latest/apireference/idempotency.html.
pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_request_token = ::std::option::Option::Some(input.into());
self
}
/// Prevent duplicate jobs from being created and ensure idempotency for your requests. A client request token can be any string that includes up to 64 ASCII characters. If you reuse a client request token within one minute of a successful request, the API returns the job details of the original request instead. For more information see https://docs.aws.amazon.com/mediaconvert/latest/apireference/idempotency.html.
pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_request_token = input;
self
}
/// Prevent duplicate jobs from being created and ensure idempotency for your requests. A client request token can be any string that includes up to 64 ASCII characters. If you reuse a client request token within one minute of a successful request, the API returns the job details of the original request instead. For more information see https://docs.aws.amazon.com/mediaconvert/latest/apireference/idempotency.html.
pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_request_token
}
/// The time, in Unix epoch format in seconds, when the job got created.
pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_at = ::std::option::Option::Some(input);
self
}
/// The time, in Unix epoch format in seconds, when the job got created.
pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_at = input;
self
}
/// The time, in Unix epoch format in seconds, when the job got created.
pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_at
}
/// A job's phase can be PROBING, TRANSCODING OR UPLOADING
pub fn current_phase(mut self, input: crate::types::JobPhase) -> Self {
self.current_phase = ::std::option::Option::Some(input);
self
}
/// A job's phase can be PROBING, TRANSCODING OR UPLOADING
pub fn set_current_phase(mut self, input: ::std::option::Option<crate::types::JobPhase>) -> Self {
self.current_phase = input;
self
}
/// A job's phase can be PROBING, TRANSCODING OR UPLOADING
pub fn get_current_phase(&self) -> &::std::option::Option<crate::types::JobPhase> {
&self.current_phase
}
/// Error code for the job
pub fn error_code(mut self, input: i32) -> Self {
self.error_code = ::std::option::Option::Some(input);
self
}
/// Error code for the job
pub fn set_error_code(mut self, input: ::std::option::Option<i32>) -> Self {
self.error_code = input;
self
}
/// Error code for the job
pub fn get_error_code(&self) -> &::std::option::Option<i32> {
&self.error_code
}
/// Error message of Job
pub fn error_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.error_message = ::std::option::Option::Some(input.into());
self
}
/// Error message of Job
pub fn set_error_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.error_message = input;
self
}
/// Error message of Job
pub fn get_error_message(&self) -> &::std::option::Option<::std::string::String> {
&self.error_message
}
/// Appends an item to `hop_destinations`.
///
/// To override the contents of this collection use [`set_hop_destinations`](Self::set_hop_destinations).
///
/// Optional list of hop destinations.
pub fn hop_destinations(mut self, input: crate::types::HopDestination) -> Self {
let mut v = self.hop_destinations.unwrap_or_default();
v.push(input);
self.hop_destinations = ::std::option::Option::Some(v);
self
}
/// Optional list of hop destinations.
pub fn set_hop_destinations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::HopDestination>>) -> Self {
self.hop_destinations = input;
self
}
/// Optional list of hop destinations.
pub fn get_hop_destinations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::HopDestination>> {
&self.hop_destinations
}
/// A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources
pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.id = ::std::option::Option::Some(input.into());
self
}
/// A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources
pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.id = input;
self
}
/// A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources
pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
&self.id
}
/// An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value.
pub fn job_percent_complete(mut self, input: i32) -> Self {
self.job_percent_complete = ::std::option::Option::Some(input);
self
}
/// An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value.
pub fn set_job_percent_complete(mut self, input: ::std::option::Option<i32>) -> Self {
self.job_percent_complete = input;
self
}
/// An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value.
pub fn get_job_percent_complete(&self) -> &::std::option::Option<i32> {
&self.job_percent_complete
}
/// The job template that the job is created from, if it is created from a job template.
pub fn job_template(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.job_template = ::std::option::Option::Some(input.into());
self
}
/// The job template that the job is created from, if it is created from a job template.
pub fn set_job_template(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.job_template = input;
self
}
/// The job template that the job is created from, if it is created from a job template.
pub fn get_job_template(&self) -> &::std::option::Option<::std::string::String> {
&self.job_template
}
/// Provides messages from the service about jobs that you have already successfully submitted.
pub fn messages(mut self, input: crate::types::JobMessages) -> Self {
self.messages = ::std::option::Option::Some(input);
self
}
/// Provides messages from the service about jobs that you have already successfully submitted.
pub fn set_messages(mut self, input: ::std::option::Option<crate::types::JobMessages>) -> Self {
self.messages = input;
self
}
/// Provides messages from the service about jobs that you have already successfully submitted.
pub fn get_messages(&self) -> &::std::option::Option<crate::types::JobMessages> {
&self.messages
}
/// Appends an item to `output_group_details`.
///
/// To override the contents of this collection use [`set_output_group_details`](Self::set_output_group_details).
///
/// List of output group details
pub fn output_group_details(mut self, input: crate::types::OutputGroupDetail) -> Self {
let mut v = self.output_group_details.unwrap_or_default();
v.push(input);
self.output_group_details = ::std::option::Option::Some(v);
self
}
/// List of output group details
pub fn set_output_group_details(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OutputGroupDetail>>) -> Self {
self.output_group_details = input;
self
}
/// List of output group details
pub fn get_output_group_details(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OutputGroupDetail>> {
&self.output_group_details
}
/// Relative priority on the job.
pub fn priority(mut self, input: i32) -> Self {
self.priority = ::std::option::Option::Some(input);
self
}
/// Relative priority on the job.
pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
self.priority = input;
self
}
/// Relative priority on the job.
pub fn get_priority(&self) -> &::std::option::Option<i32> {
&self.priority
}
/// When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
pub fn queue(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.queue = ::std::option::Option::Some(input.into());
self
}
/// When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
pub fn set_queue(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.queue = input;
self
}
/// When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html
pub fn get_queue(&self) -> &::std::option::Option<::std::string::String> {
&self.queue
}
/// Appends an item to `queue_transitions`.
///
/// To override the contents of this collection use [`set_queue_transitions`](Self::set_queue_transitions).
///
/// The job's queue hopping history.
pub fn queue_transitions(mut self, input: crate::types::QueueTransition) -> Self {
let mut v = self.queue_transitions.unwrap_or_default();
v.push(input);
self.queue_transitions = ::std::option::Option::Some(v);
self
}
/// The job's queue hopping history.
pub fn set_queue_transitions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::QueueTransition>>) -> Self {
self.queue_transitions = input;
self
}
/// The job's queue hopping history.
pub fn get_queue_transitions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::QueueTransition>> {
&self.queue_transitions
}
/// The number of times that the service automatically attempted to process your job after encountering an error.
pub fn retry_count(mut self, input: i32) -> Self {
self.retry_count = ::std::option::Option::Some(input);
self
}
/// The number of times that the service automatically attempted to process your job after encountering an error.
pub fn set_retry_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.retry_count = input;
self
}
/// The number of times that the service automatically attempted to process your job after encountering an error.
pub fn get_retry_count(&self) -> &::std::option::Option<i32> {
&self.retry_count
}
/// The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
/// This field is required.
pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.role = ::std::option::Option::Some(input.into());
self
}
/// The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.role = input;
self
}
/// The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html
pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
&self.role
}
/// JobSettings contains all the transcode settings for a job.
/// This field is required.
pub fn settings(mut self, input: crate::types::JobSettings) -> Self {
self.settings = ::std::option::Option::Some(input);
self
}
/// JobSettings contains all the transcode settings for a job.
pub fn set_settings(mut self, input: ::std::option::Option<crate::types::JobSettings>) -> Self {
self.settings = input;
self
}
/// JobSettings contains all the transcode settings for a job.
pub fn get_settings(&self) -> &::std::option::Option<crate::types::JobSettings> {
&self.settings
}
/// Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.
pub fn simulate_reserved_queue(mut self, input: crate::types::SimulateReservedQueue) -> Self {
self.simulate_reserved_queue = ::std::option::Option::Some(input);
self
}
/// Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.
pub fn set_simulate_reserved_queue(mut self, input: ::std::option::Option<crate::types::SimulateReservedQueue>) -> Self {
self.simulate_reserved_queue = input;
self
}
/// Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.
pub fn get_simulate_reserved_queue(&self) -> &::std::option::Option<crate::types::SimulateReservedQueue> {
&self.simulate_reserved_queue
}
/// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
pub fn status(mut self, input: crate::types::JobStatus) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
/// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
pub fn set_status(mut self, input: ::std::option::Option<crate::types::JobStatus>) -> Self {
self.status = input;
self
}
/// A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.
pub fn get_status(&self) -> &::std::option::Option<crate::types::JobStatus> {
&self.status
}
/// 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.
pub fn status_update_interval(mut self, input: crate::types::StatusUpdateInterval) -> Self {
self.status_update_interval = ::std::option::Option::Some(input);
self
}
/// 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.
pub fn set_status_update_interval(mut self, input: ::std::option::Option<crate::types::StatusUpdateInterval>) -> Self {
self.status_update_interval = input;
self
}
/// 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.
pub fn get_status_update_interval(&self) -> &::std::option::Option<crate::types::StatusUpdateInterval> {
&self.status_update_interval
}
/// Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds.
pub fn timing(mut self, input: crate::types::Timing) -> Self {
self.timing = ::std::option::Option::Some(input);
self
}
/// Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds.
pub fn set_timing(mut self, input: ::std::option::Option<crate::types::Timing>) -> Self {
self.timing = input;
self
}
/// Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds.
pub fn get_timing(&self) -> &::std::option::Option<crate::types::Timing> {
&self.timing
}
/// Adds a key-value pair to `user_metadata`.
///
/// To override the contents of this collection use [`set_user_metadata`](Self::set_user_metadata).
///
/// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.
pub fn user_metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.user_metadata.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.user_metadata = ::std::option::Option::Some(hash_map);
self
}
/// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.
pub fn set_user_metadata(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
) -> Self {
self.user_metadata = input;
self
}
/// User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs.
pub fn get_user_metadata(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.user_metadata
}
/// Appends an item to `warnings`.
///
/// To override the contents of this collection use [`set_warnings`](Self::set_warnings).
///
/// Contains any warning messages for the job. Use to help identify potential issues with your input, output, or job. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/warning_codes.html
pub fn warnings(mut self, input: crate::types::WarningGroup) -> Self {
let mut v = self.warnings.unwrap_or_default();
v.push(input);
self.warnings = ::std::option::Option::Some(v);
self
}
/// Contains any warning messages for the job. Use to help identify potential issues with your input, output, or job. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/warning_codes.html
pub fn set_warnings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::WarningGroup>>) -> Self {
self.warnings = input;
self
}
/// Contains any warning messages for the job. Use to help identify potential issues with your input, output, or job. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/warning_codes.html
pub fn get_warnings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::WarningGroup>> {
&self.warnings
}
/// Consumes the builder and constructs a [`Job`](crate::types::Job).
pub fn build(self) -> crate::types::Job {
crate::types::Job {
acceleration_settings: self.acceleration_settings,
acceleration_status: self.acceleration_status,
arn: self.arn,
billing_tags_source: self.billing_tags_source,
client_request_token: self.client_request_token,
created_at: self.created_at,
current_phase: self.current_phase,
error_code: self.error_code,
error_message: self.error_message,
hop_destinations: self.hop_destinations,
id: self.id,
job_percent_complete: self.job_percent_complete,
job_template: self.job_template,
messages: self.messages,
output_group_details: self.output_group_details,
priority: self.priority,
queue: self.queue,
queue_transitions: self.queue_transitions,
retry_count: self.retry_count,
role: self.role,
settings: self.settings,
simulate_reserved_queue: self.simulate_reserved_queue,
status: self.status,
status_update_interval: self.status_update_interval,
timing: self.timing,
user_metadata: self.user_metadata,
warnings: self.warnings,
}
}
}