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>UpdatePipelineNotificationsRequest</code> structure.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdatePipelineNotificationsInput {
    /// <p>The identifier of the pipeline for which you want to change notification settings.</p>
    pub id: ::std::option::Option<::std::string::String>,
    /// <p>The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.</p><important>
    /// <p>To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.</p>
    /// </important>
    /// <ul>
    /// <li>
    /// <p><b>Progressing</b>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Complete</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// </ul>
    pub notifications: ::std::option::Option<crate::types::Notifications>,
}
impl UpdatePipelineNotificationsInput {
    /// <p>The identifier of the pipeline for which you want to change notification settings.</p>
    pub fn id(&self) -> ::std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.</p><important>
    /// <p>To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.</p>
    /// </important>
    /// <ul>
    /// <li>
    /// <p><b>Progressing</b>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Complete</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// </ul>
    pub fn notifications(&self) -> ::std::option::Option<&crate::types::Notifications> {
        self.notifications.as_ref()
    }
}
impl UpdatePipelineNotificationsInput {
    /// Creates a new builder-style object to manufacture [`UpdatePipelineNotificationsInput`](crate::operation::update_pipeline_notifications::UpdatePipelineNotificationsInput).
    pub fn builder() -> crate::operation::update_pipeline_notifications::builders::UpdatePipelineNotificationsInputBuilder {
        crate::operation::update_pipeline_notifications::builders::UpdatePipelineNotificationsInputBuilder::default()
    }
}

/// A builder for [`UpdatePipelineNotificationsInput`](crate::operation::update_pipeline_notifications::UpdatePipelineNotificationsInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdatePipelineNotificationsInputBuilder {
    pub(crate) id: ::std::option::Option<::std::string::String>,
    pub(crate) notifications: ::std::option::Option<crate::types::Notifications>,
}
impl UpdatePipelineNotificationsInputBuilder {
    /// <p>The identifier of the pipeline for which you want to change notification settings.</p>
    /// This field is required.
    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The identifier of the pipeline for which you want to change notification settings.</p>
    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.id = input;
        self
    }
    /// <p>The identifier of the pipeline for which you want to change notification settings.</p>
    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.id
    }
    /// <p>The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.</p><important>
    /// <p>To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.</p>
    /// </important>
    /// <ul>
    /// <li>
    /// <p><b>Progressing</b>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Complete</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// </ul>
    /// This field is required.
    pub fn notifications(mut self, input: crate::types::Notifications) -> Self {
        self.notifications = ::std::option::Option::Some(input);
        self
    }
    /// <p>The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.</p><important>
    /// <p>To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.</p>
    /// </important>
    /// <ul>
    /// <li>
    /// <p><b>Progressing</b>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Complete</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// </ul>
    pub fn set_notifications(mut self, input: ::std::option::Option<crate::types::Notifications>) -> Self {
        self.notifications = input;
        self
    }
    /// <p>The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.</p><important>
    /// <p>To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.</p>
    /// </important>
    /// <ul>
    /// <li>
    /// <p><b>Progressing</b>: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Complete</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Warning</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// <li>
    /// <p><b>Error</b>: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.</p></li>
    /// </ul>
    pub fn get_notifications(&self) -> &::std::option::Option<crate::types::Notifications> {
        &self.notifications
    }
    /// Consumes the builder and constructs a [`UpdatePipelineNotificationsInput`](crate::operation::update_pipeline_notifications::UpdatePipelineNotificationsInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::update_pipeline_notifications::UpdatePipelineNotificationsInput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(crate::operation::update_pipeline_notifications::UpdatePipelineNotificationsInput {
            id: self.id,
            notifications: self.notifications,
        })
    }
}