aws-sdk-elastictranscoder 1.99.0

AWS SDK for Amazon Elastic Transcoder
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The <code>CreatePresetRequest</code> structure.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CreatePresetInput {
    /// <p>The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.</p>
    pub name: ::std::option::Option<::std::string::String>,
    /// <p>A description of the preset.</p>
    pub description: ::std::option::Option<::std::string::String>,
    /// <p>The container type for the output file. Valid values include <code>flac</code>, <code>flv</code>, <code>fmp4</code>, <code>gif</code>, <code>mp3</code>, <code>mp4</code>, <code>mpg</code>, <code>mxf</code>, <code>oga</code>, <code>ogg</code>, <code>ts</code>, and <code>webm</code>.</p>
    pub container: ::std::option::Option<::std::string::String>,
    /// <p>A section of the request body that specifies the video parameters.</p>
    pub video: ::std::option::Option<crate::types::VideoParameters>,
    /// <p>A section of the request body that specifies the audio parameters.</p>
    pub audio: ::std::option::Option<crate::types::AudioParameters>,
    /// <p>A section of the request body that specifies the thumbnail parameters, if any.</p>
    pub thumbnails: ::std::option::Option<crate::types::Thumbnails>,
}
impl CreatePresetInput {
    /// <p>The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.</p>
    pub fn name(&self) -> ::std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>A description of the preset.</p>
    pub fn description(&self) -> ::std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The container type for the output file. Valid values include <code>flac</code>, <code>flv</code>, <code>fmp4</code>, <code>gif</code>, <code>mp3</code>, <code>mp4</code>, <code>mpg</code>, <code>mxf</code>, <code>oga</code>, <code>ogg</code>, <code>ts</code>, and <code>webm</code>.</p>
    pub fn container(&self) -> ::std::option::Option<&str> {
        self.container.as_deref()
    }
    /// <p>A section of the request body that specifies the video parameters.</p>
    pub fn video(&self) -> ::std::option::Option<&crate::types::VideoParameters> {
        self.video.as_ref()
    }
    /// <p>A section of the request body that specifies the audio parameters.</p>
    pub fn audio(&self) -> ::std::option::Option<&crate::types::AudioParameters> {
        self.audio.as_ref()
    }
    /// <p>A section of the request body that specifies the thumbnail parameters, if any.</p>
    pub fn thumbnails(&self) -> ::std::option::Option<&crate::types::Thumbnails> {
        self.thumbnails.as_ref()
    }
}
impl CreatePresetInput {
    /// Creates a new builder-style object to manufacture [`CreatePresetInput`](crate::operation::create_preset::CreatePresetInput).
    pub fn builder() -> crate::operation::create_preset::builders::CreatePresetInputBuilder {
        crate::operation::create_preset::builders::CreatePresetInputBuilder::default()
    }
}

/// A builder for [`CreatePresetInput`](crate::operation::create_preset::CreatePresetInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreatePresetInputBuilder {
    pub(crate) name: ::std::option::Option<::std::string::String>,
    pub(crate) description: ::std::option::Option<::std::string::String>,
    pub(crate) container: ::std::option::Option<::std::string::String>,
    pub(crate) video: ::std::option::Option<crate::types::VideoParameters>,
    pub(crate) audio: ::std::option::Option<crate::types::AudioParameters>,
    pub(crate) thumbnails: ::std::option::Option<crate::types::Thumbnails>,
}
impl CreatePresetInputBuilder {
    /// <p>The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.</p>
    /// This field is required.
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.</p>
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.name = input;
        self
    }
    /// <p>The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.name
    }
    /// <p>A description of the preset.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.description = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A description of the preset.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.description = input;
        self
    }
    /// <p>A description of the preset.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        &self.description
    }
    /// <p>The container type for the output file. Valid values include <code>flac</code>, <code>flv</code>, <code>fmp4</code>, <code>gif</code>, <code>mp3</code>, <code>mp4</code>, <code>mpg</code>, <code>mxf</code>, <code>oga</code>, <code>ogg</code>, <code>ts</code>, and <code>webm</code>.</p>
    /// This field is required.
    pub fn container(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.container = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The container type for the output file. Valid values include <code>flac</code>, <code>flv</code>, <code>fmp4</code>, <code>gif</code>, <code>mp3</code>, <code>mp4</code>, <code>mpg</code>, <code>mxf</code>, <code>oga</code>, <code>ogg</code>, <code>ts</code>, and <code>webm</code>.</p>
    pub fn set_container(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.container = input;
        self
    }
    /// <p>The container type for the output file. Valid values include <code>flac</code>, <code>flv</code>, <code>fmp4</code>, <code>gif</code>, <code>mp3</code>, <code>mp4</code>, <code>mpg</code>, <code>mxf</code>, <code>oga</code>, <code>ogg</code>, <code>ts</code>, and <code>webm</code>.</p>
    pub fn get_container(&self) -> &::std::option::Option<::std::string::String> {
        &self.container
    }
    /// <p>A section of the request body that specifies the video parameters.</p>
    pub fn video(mut self, input: crate::types::VideoParameters) -> Self {
        self.video = ::std::option::Option::Some(input);
        self
    }
    /// <p>A section of the request body that specifies the video parameters.</p>
    pub fn set_video(mut self, input: ::std::option::Option<crate::types::VideoParameters>) -> Self {
        self.video = input;
        self
    }
    /// <p>A section of the request body that specifies the video parameters.</p>
    pub fn get_video(&self) -> &::std::option::Option<crate::types::VideoParameters> {
        &self.video
    }
    /// <p>A section of the request body that specifies the audio parameters.</p>
    pub fn audio(mut self, input: crate::types::AudioParameters) -> Self {
        self.audio = ::std::option::Option::Some(input);
        self
    }
    /// <p>A section of the request body that specifies the audio parameters.</p>
    pub fn set_audio(mut self, input: ::std::option::Option<crate::types::AudioParameters>) -> Self {
        self.audio = input;
        self
    }
    /// <p>A section of the request body that specifies the audio parameters.</p>
    pub fn get_audio(&self) -> &::std::option::Option<crate::types::AudioParameters> {
        &self.audio
    }
    /// <p>A section of the request body that specifies the thumbnail parameters, if any.</p>
    pub fn thumbnails(mut self, input: crate::types::Thumbnails) -> Self {
        self.thumbnails = ::std::option::Option::Some(input);
        self
    }
    /// <p>A section of the request body that specifies the thumbnail parameters, if any.</p>
    pub fn set_thumbnails(mut self, input: ::std::option::Option<crate::types::Thumbnails>) -> Self {
        self.thumbnails = input;
        self
    }
    /// <p>A section of the request body that specifies the thumbnail parameters, if any.</p>
    pub fn get_thumbnails(&self) -> &::std::option::Option<crate::types::Thumbnails> {
        &self.thumbnails
    }
    /// Consumes the builder and constructs a [`CreatePresetInput`](crate::operation::create_preset::CreatePresetInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::create_preset::CreatePresetInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::create_preset::CreatePresetInput {
            name: self.name,
            description: self.description,
            container: self.container,
            video: self.video,
            audio: self.audio,
            thumbnails: self.thumbnails,
        })
    }
}