aws-sdk-pipes 0.2.0

AWS SDK for Amazon EventBridge Pipes
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StopPipeOutput {
    /// <p>The ARN of the pipe.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the pipe.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The state the pipe should be in.</p>
    #[doc(hidden)]
    pub desired_state: std::option::Option<crate::model::RequestedPipeState>,
    /// <p>The state the pipe is in.</p>
    #[doc(hidden)]
    pub current_state: std::option::Option<crate::model::PipeState>,
    /// <p>The time the pipe was created.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    #[doc(hidden)]
    pub last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl StopPipeOutput {
    /// <p>The ARN of the pipe.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the pipe.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The state the pipe should be in.</p>
    pub fn desired_state(&self) -> std::option::Option<&crate::model::RequestedPipeState> {
        self.desired_state.as_ref()
    }
    /// <p>The state the pipe is in.</p>
    pub fn current_state(&self) -> std::option::Option<&crate::model::PipeState> {
        self.current_state.as_ref()
    }
    /// <p>The time the pipe was created.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    pub fn last_modified_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_modified_time.as_ref()
    }
}
/// See [`StopPipeOutput`](crate::output::StopPipeOutput).
pub mod stop_pipe_output {

    /// A builder for [`StopPipeOutput`](crate::output::StopPipeOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) desired_state: std::option::Option<crate::model::RequestedPipeState>,
        pub(crate) current_state: std::option::Option<crate::model::PipeState>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The ARN of the pipe.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The ARN of the pipe.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn desired_state(mut self, input: crate::model::RequestedPipeState) -> Self {
            self.desired_state = Some(input);
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn set_desired_state(
            mut self,
            input: std::option::Option<crate::model::RequestedPipeState>,
        ) -> Self {
            self.desired_state = input;
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn current_state(mut self, input: crate::model::PipeState) -> Self {
            self.current_state = Some(input);
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn set_current_state(
            mut self,
            input: std::option::Option<crate::model::PipeState>,
        ) -> Self {
            self.current_state = input;
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn last_modified_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_modified_time = Some(input);
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn set_last_modified_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_modified_time = input;
            self
        }
        /// Consumes the builder and constructs a [`StopPipeOutput`](crate::output::StopPipeOutput).
        pub fn build(self) -> crate::output::StopPipeOutput {
            crate::output::StopPipeOutput {
                arn: self.arn,
                name: self.name,
                desired_state: self.desired_state,
                current_state: self.current_state,
                creation_time: self.creation_time,
                last_modified_time: self.last_modified_time,
            }
        }
    }
}
impl StopPipeOutput {
    /// Creates a new builder-style object to manufacture [`StopPipeOutput`](crate::output::StopPipeOutput).
    pub fn builder() -> crate::output::stop_pipe_output::Builder {
        crate::output::stop_pipe_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StartPipeOutput {
    /// <p>The ARN of the pipe.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the pipe.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The state the pipe should be in.</p>
    #[doc(hidden)]
    pub desired_state: std::option::Option<crate::model::RequestedPipeState>,
    /// <p>The state the pipe is in.</p>
    #[doc(hidden)]
    pub current_state: std::option::Option<crate::model::PipeState>,
    /// <p>The time the pipe was created.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    #[doc(hidden)]
    pub last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl StartPipeOutput {
    /// <p>The ARN of the pipe.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the pipe.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The state the pipe should be in.</p>
    pub fn desired_state(&self) -> std::option::Option<&crate::model::RequestedPipeState> {
        self.desired_state.as_ref()
    }
    /// <p>The state the pipe is in.</p>
    pub fn current_state(&self) -> std::option::Option<&crate::model::PipeState> {
        self.current_state.as_ref()
    }
    /// <p>The time the pipe was created.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    pub fn last_modified_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_modified_time.as_ref()
    }
}
/// See [`StartPipeOutput`](crate::output::StartPipeOutput).
pub mod start_pipe_output {

    /// A builder for [`StartPipeOutput`](crate::output::StartPipeOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) desired_state: std::option::Option<crate::model::RequestedPipeState>,
        pub(crate) current_state: std::option::Option<crate::model::PipeState>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The ARN of the pipe.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The ARN of the pipe.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn desired_state(mut self, input: crate::model::RequestedPipeState) -> Self {
            self.desired_state = Some(input);
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn set_desired_state(
            mut self,
            input: std::option::Option<crate::model::RequestedPipeState>,
        ) -> Self {
            self.desired_state = input;
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn current_state(mut self, input: crate::model::PipeState) -> Self {
            self.current_state = Some(input);
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn set_current_state(
            mut self,
            input: std::option::Option<crate::model::PipeState>,
        ) -> Self {
            self.current_state = input;
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn last_modified_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_modified_time = Some(input);
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn set_last_modified_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_modified_time = input;
            self
        }
        /// Consumes the builder and constructs a [`StartPipeOutput`](crate::output::StartPipeOutput).
        pub fn build(self) -> crate::output::StartPipeOutput {
            crate::output::StartPipeOutput {
                arn: self.arn,
                name: self.name,
                desired_state: self.desired_state,
                current_state: self.current_state,
                creation_time: self.creation_time,
                last_modified_time: self.last_modified_time,
            }
        }
    }
}
impl StartPipeOutput {
    /// Creates a new builder-style object to manufacture [`StartPipeOutput`](crate::output::StartPipeOutput).
    pub fn builder() -> crate::output::start_pipe_output::Builder {
        crate::output::start_pipe_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ListPipesOutput {
    /// <p>The pipes returned by the call.</p>
    #[doc(hidden)]
    pub pipes: std::option::Option<std::vec::Vec<crate::model::Pipe>>,
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListPipesOutput {
    /// <p>The pipes returned by the call.</p>
    pub fn pipes(&self) -> std::option::Option<&[crate::model::Pipe]> {
        self.pipes.as_deref()
    }
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl std::fmt::Debug for ListPipesOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("ListPipesOutput");
        formatter.field("pipes", &self.pipes);
        formatter.field("next_token", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
/// See [`ListPipesOutput`](crate::output::ListPipesOutput).
pub mod list_pipes_output {

    /// A builder for [`ListPipesOutput`](crate::output::ListPipesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) pipes: std::option::Option<std::vec::Vec<crate::model::Pipe>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `pipes`.
        ///
        /// To override the contents of this collection use [`set_pipes`](Self::set_pipes).
        ///
        /// <p>The pipes returned by the call.</p>
        pub fn pipes(mut self, input: crate::model::Pipe) -> Self {
            let mut v = self.pipes.unwrap_or_default();
            v.push(input);
            self.pipes = Some(v);
            self
        }
        /// <p>The pipes returned by the call.</p>
        pub fn set_pipes(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Pipe>>,
        ) -> Self {
            self.pipes = input;
            self
        }
        /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Consumes the builder and constructs a [`ListPipesOutput`](crate::output::ListPipesOutput).
        pub fn build(self) -> crate::output::ListPipesOutput {
            crate::output::ListPipesOutput {
                pipes: self.pipes,
                next_token: self.next_token,
            }
        }
    }
    impl std::fmt::Debug for Builder {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
            let mut formatter = f.debug_struct("Builder");
            formatter.field("pipes", &self.pipes);
            formatter.field("next_token", &"*** Sensitive Data Redacted ***");
            formatter.finish()
        }
    }
}
impl ListPipesOutput {
    /// Creates a new builder-style object to manufacture [`ListPipesOutput`](crate::output::ListPipesOutput).
    pub fn builder() -> crate::output::list_pipes_output::Builder {
        crate::output::list_pipes_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreatePipeOutput {
    /// <p>The ARN of the pipe.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the pipe.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The state the pipe should be in.</p>
    #[doc(hidden)]
    pub desired_state: std::option::Option<crate::model::RequestedPipeState>,
    /// <p>The state the pipe is in.</p>
    #[doc(hidden)]
    pub current_state: std::option::Option<crate::model::PipeState>,
    /// <p>The time the pipe was created.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    #[doc(hidden)]
    pub last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl CreatePipeOutput {
    /// <p>The ARN of the pipe.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the pipe.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The state the pipe should be in.</p>
    pub fn desired_state(&self) -> std::option::Option<&crate::model::RequestedPipeState> {
        self.desired_state.as_ref()
    }
    /// <p>The state the pipe is in.</p>
    pub fn current_state(&self) -> std::option::Option<&crate::model::PipeState> {
        self.current_state.as_ref()
    }
    /// <p>The time the pipe was created.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    pub fn last_modified_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_modified_time.as_ref()
    }
}
/// See [`CreatePipeOutput`](crate::output::CreatePipeOutput).
pub mod create_pipe_output {

    /// A builder for [`CreatePipeOutput`](crate::output::CreatePipeOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) desired_state: std::option::Option<crate::model::RequestedPipeState>,
        pub(crate) current_state: std::option::Option<crate::model::PipeState>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The ARN of the pipe.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The ARN of the pipe.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn desired_state(mut self, input: crate::model::RequestedPipeState) -> Self {
            self.desired_state = Some(input);
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn set_desired_state(
            mut self,
            input: std::option::Option<crate::model::RequestedPipeState>,
        ) -> Self {
            self.desired_state = input;
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn current_state(mut self, input: crate::model::PipeState) -> Self {
            self.current_state = Some(input);
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn set_current_state(
            mut self,
            input: std::option::Option<crate::model::PipeState>,
        ) -> Self {
            self.current_state = input;
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn last_modified_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_modified_time = Some(input);
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn set_last_modified_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_modified_time = input;
            self
        }
        /// Consumes the builder and constructs a [`CreatePipeOutput`](crate::output::CreatePipeOutput).
        pub fn build(self) -> crate::output::CreatePipeOutput {
            crate::output::CreatePipeOutput {
                arn: self.arn,
                name: self.name,
                desired_state: self.desired_state,
                current_state: self.current_state,
                creation_time: self.creation_time,
                last_modified_time: self.last_modified_time,
            }
        }
    }
}
impl CreatePipeOutput {
    /// Creates a new builder-style object to manufacture [`CreatePipeOutput`](crate::output::CreatePipeOutput).
    pub fn builder() -> crate::output::create_pipe_output::Builder {
        crate::output::create_pipe_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DeletePipeOutput {
    /// <p>The ARN of the pipe.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the pipe.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The state the pipe should be in.</p>
    #[doc(hidden)]
    pub desired_state: std::option::Option<crate::model::RequestedPipeStateDescribeResponse>,
    /// <p>The state the pipe is in.</p>
    #[doc(hidden)]
    pub current_state: std::option::Option<crate::model::PipeState>,
    /// <p>The time the pipe was created.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    #[doc(hidden)]
    pub last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl DeletePipeOutput {
    /// <p>The ARN of the pipe.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the pipe.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The state the pipe should be in.</p>
    pub fn desired_state(
        &self,
    ) -> std::option::Option<&crate::model::RequestedPipeStateDescribeResponse> {
        self.desired_state.as_ref()
    }
    /// <p>The state the pipe is in.</p>
    pub fn current_state(&self) -> std::option::Option<&crate::model::PipeState> {
        self.current_state.as_ref()
    }
    /// <p>The time the pipe was created.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    pub fn last_modified_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_modified_time.as_ref()
    }
}
/// See [`DeletePipeOutput`](crate::output::DeletePipeOutput).
pub mod delete_pipe_output {

    /// A builder for [`DeletePipeOutput`](crate::output::DeletePipeOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) desired_state:
            std::option::Option<crate::model::RequestedPipeStateDescribeResponse>,
        pub(crate) current_state: std::option::Option<crate::model::PipeState>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The ARN of the pipe.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The ARN of the pipe.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn desired_state(
            mut self,
            input: crate::model::RequestedPipeStateDescribeResponse,
        ) -> Self {
            self.desired_state = Some(input);
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn set_desired_state(
            mut self,
            input: std::option::Option<crate::model::RequestedPipeStateDescribeResponse>,
        ) -> Self {
            self.desired_state = input;
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn current_state(mut self, input: crate::model::PipeState) -> Self {
            self.current_state = Some(input);
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn set_current_state(
            mut self,
            input: std::option::Option<crate::model::PipeState>,
        ) -> Self {
            self.current_state = input;
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn last_modified_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_modified_time = Some(input);
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn set_last_modified_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_modified_time = input;
            self
        }
        /// Consumes the builder and constructs a [`DeletePipeOutput`](crate::output::DeletePipeOutput).
        pub fn build(self) -> crate::output::DeletePipeOutput {
            crate::output::DeletePipeOutput {
                arn: self.arn,
                name: self.name,
                desired_state: self.desired_state,
                current_state: self.current_state,
                creation_time: self.creation_time,
                last_modified_time: self.last_modified_time,
            }
        }
    }
}
impl DeletePipeOutput {
    /// Creates a new builder-style object to manufacture [`DeletePipeOutput`](crate::output::DeletePipeOutput).
    pub fn builder() -> crate::output::delete_pipe_output::Builder {
        crate::output::delete_pipe_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdatePipeOutput {
    /// <p>The ARN of the pipe.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the pipe.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The state the pipe should be in.</p>
    #[doc(hidden)]
    pub desired_state: std::option::Option<crate::model::RequestedPipeState>,
    /// <p>The state the pipe is in.</p>
    #[doc(hidden)]
    pub current_state: std::option::Option<crate::model::PipeState>,
    /// <p>The time the pipe was created.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    #[doc(hidden)]
    pub last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl UpdatePipeOutput {
    /// <p>The ARN of the pipe.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the pipe.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The state the pipe should be in.</p>
    pub fn desired_state(&self) -> std::option::Option<&crate::model::RequestedPipeState> {
        self.desired_state.as_ref()
    }
    /// <p>The state the pipe is in.</p>
    pub fn current_state(&self) -> std::option::Option<&crate::model::PipeState> {
        self.current_state.as_ref()
    }
    /// <p>The time the pipe was created.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    pub fn last_modified_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_modified_time.as_ref()
    }
}
/// See [`UpdatePipeOutput`](crate::output::UpdatePipeOutput).
pub mod update_pipe_output {

    /// A builder for [`UpdatePipeOutput`](crate::output::UpdatePipeOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) desired_state: std::option::Option<crate::model::RequestedPipeState>,
        pub(crate) current_state: std::option::Option<crate::model::PipeState>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The ARN of the pipe.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The ARN of the pipe.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn desired_state(mut self, input: crate::model::RequestedPipeState) -> Self {
            self.desired_state = Some(input);
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn set_desired_state(
            mut self,
            input: std::option::Option<crate::model::RequestedPipeState>,
        ) -> Self {
            self.desired_state = input;
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn current_state(mut self, input: crate::model::PipeState) -> Self {
            self.current_state = Some(input);
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn set_current_state(
            mut self,
            input: std::option::Option<crate::model::PipeState>,
        ) -> Self {
            self.current_state = input;
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn last_modified_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_modified_time = Some(input);
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn set_last_modified_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_modified_time = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdatePipeOutput`](crate::output::UpdatePipeOutput).
        pub fn build(self) -> crate::output::UpdatePipeOutput {
            crate::output::UpdatePipeOutput {
                arn: self.arn,
                name: self.name,
                desired_state: self.desired_state,
                current_state: self.current_state,
                creation_time: self.creation_time,
                last_modified_time: self.last_modified_time,
            }
        }
    }
}
impl UpdatePipeOutput {
    /// Creates a new builder-style object to manufacture [`UpdatePipeOutput`](crate::output::UpdatePipeOutput).
    pub fn builder() -> crate::output::update_pipe_output::Builder {
        crate::output::update_pipe_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct DescribePipeOutput {
    /// <p>The ARN of the pipe.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the pipe.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>A description of the pipe.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The state the pipe should be in.</p>
    #[doc(hidden)]
    pub desired_state: std::option::Option<crate::model::RequestedPipeStateDescribeResponse>,
    /// <p>The state the pipe is in.</p>
    #[doc(hidden)]
    pub current_state: std::option::Option<crate::model::PipeState>,
    /// <p>The reason the pipe is in its current state.</p>
    #[doc(hidden)]
    pub state_reason: std::option::Option<std::string::String>,
    /// <p>The ARN of the source resource.</p>
    #[doc(hidden)]
    pub source: std::option::Option<std::string::String>,
    /// <p>The parameters required to set up a source for your pipe.</p>
    #[doc(hidden)]
    pub source_parameters: std::option::Option<crate::model::PipeSourceParameters>,
    /// <p>The ARN of the enrichment resource.</p>
    #[doc(hidden)]
    pub enrichment: std::option::Option<std::string::String>,
    /// <p>The parameters required to set up enrichment on your pipe.</p>
    #[doc(hidden)]
    pub enrichment_parameters: std::option::Option<crate::model::PipeEnrichmentParameters>,
    /// <p>The ARN of the target resource.</p>
    #[doc(hidden)]
    pub target: std::option::Option<std::string::String>,
    /// <p>The parameters required to set up a target for your pipe.</p>
    #[doc(hidden)]
    pub target_parameters: std::option::Option<crate::model::PipeTargetParameters>,
    /// <p>The ARN of the role that allows the pipe to send data to the target.</p>
    #[doc(hidden)]
    pub role_arn: std::option::Option<std::string::String>,
    /// <p>The list of key-value pairs to associate with the pipe.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
    /// <p>The time the pipe was created.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    #[doc(hidden)]
    pub last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl DescribePipeOutput {
    /// <p>The ARN of the pipe.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the pipe.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>A description of the pipe.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The state the pipe should be in.</p>
    pub fn desired_state(
        &self,
    ) -> std::option::Option<&crate::model::RequestedPipeStateDescribeResponse> {
        self.desired_state.as_ref()
    }
    /// <p>The state the pipe is in.</p>
    pub fn current_state(&self) -> std::option::Option<&crate::model::PipeState> {
        self.current_state.as_ref()
    }
    /// <p>The reason the pipe is in its current state.</p>
    pub fn state_reason(&self) -> std::option::Option<&str> {
        self.state_reason.as_deref()
    }
    /// <p>The ARN of the source resource.</p>
    pub fn source(&self) -> std::option::Option<&str> {
        self.source.as_deref()
    }
    /// <p>The parameters required to set up a source for your pipe.</p>
    pub fn source_parameters(&self) -> std::option::Option<&crate::model::PipeSourceParameters> {
        self.source_parameters.as_ref()
    }
    /// <p>The ARN of the enrichment resource.</p>
    pub fn enrichment(&self) -> std::option::Option<&str> {
        self.enrichment.as_deref()
    }
    /// <p>The parameters required to set up enrichment on your pipe.</p>
    pub fn enrichment_parameters(
        &self,
    ) -> std::option::Option<&crate::model::PipeEnrichmentParameters> {
        self.enrichment_parameters.as_ref()
    }
    /// <p>The ARN of the target resource.</p>
    pub fn target(&self) -> std::option::Option<&str> {
        self.target.as_deref()
    }
    /// <p>The parameters required to set up a target for your pipe.</p>
    pub fn target_parameters(&self) -> std::option::Option<&crate::model::PipeTargetParameters> {
        self.target_parameters.as_ref()
    }
    /// <p>The ARN of the role that allows the pipe to send data to the target.</p>
    pub fn role_arn(&self) -> std::option::Option<&str> {
        self.role_arn.as_deref()
    }
    /// <p>The list of key-value pairs to associate with the pipe.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
    /// <p>The time the pipe was created.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
    pub fn last_modified_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_modified_time.as_ref()
    }
}
impl std::fmt::Debug for DescribePipeOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("DescribePipeOutput");
        formatter.field("arn", &self.arn);
        formatter.field("name", &self.name);
        formatter.field("description", &"*** Sensitive Data Redacted ***");
        formatter.field("desired_state", &self.desired_state);
        formatter.field("current_state", &self.current_state);
        formatter.field("state_reason", &self.state_reason);
        formatter.field("source", &self.source);
        formatter.field("source_parameters", &self.source_parameters);
        formatter.field("enrichment", &self.enrichment);
        formatter.field("enrichment_parameters", &self.enrichment_parameters);
        formatter.field("target", &self.target);
        formatter.field("target_parameters", &self.target_parameters);
        formatter.field("role_arn", &self.role_arn);
        formatter.field("tags", &self.tags);
        formatter.field("creation_time", &self.creation_time);
        formatter.field("last_modified_time", &self.last_modified_time);
        formatter.finish()
    }
}
/// See [`DescribePipeOutput`](crate::output::DescribePipeOutput).
pub mod describe_pipe_output {

    /// A builder for [`DescribePipeOutput`](crate::output::DescribePipeOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) desired_state:
            std::option::Option<crate::model::RequestedPipeStateDescribeResponse>,
        pub(crate) current_state: std::option::Option<crate::model::PipeState>,
        pub(crate) state_reason: std::option::Option<std::string::String>,
        pub(crate) source: std::option::Option<std::string::String>,
        pub(crate) source_parameters: std::option::Option<crate::model::PipeSourceParameters>,
        pub(crate) enrichment: std::option::Option<std::string::String>,
        pub(crate) enrichment_parameters:
            std::option::Option<crate::model::PipeEnrichmentParameters>,
        pub(crate) target: std::option::Option<std::string::String>,
        pub(crate) target_parameters: std::option::Option<crate::model::PipeTargetParameters>,
        pub(crate) role_arn: std::option::Option<std::string::String>,
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) last_modified_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The ARN of the pipe.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The ARN of the pipe.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the pipe.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>A description of the pipe.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>A description of the pipe.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn desired_state(
            mut self,
            input: crate::model::RequestedPipeStateDescribeResponse,
        ) -> Self {
            self.desired_state = Some(input);
            self
        }
        /// <p>The state the pipe should be in.</p>
        pub fn set_desired_state(
            mut self,
            input: std::option::Option<crate::model::RequestedPipeStateDescribeResponse>,
        ) -> Self {
            self.desired_state = input;
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn current_state(mut self, input: crate::model::PipeState) -> Self {
            self.current_state = Some(input);
            self
        }
        /// <p>The state the pipe is in.</p>
        pub fn set_current_state(
            mut self,
            input: std::option::Option<crate::model::PipeState>,
        ) -> Self {
            self.current_state = input;
            self
        }
        /// <p>The reason the pipe is in its current state.</p>
        pub fn state_reason(mut self, input: impl Into<std::string::String>) -> Self {
            self.state_reason = Some(input.into());
            self
        }
        /// <p>The reason the pipe is in its current state.</p>
        pub fn set_state_reason(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.state_reason = input;
            self
        }
        /// <p>The ARN of the source resource.</p>
        pub fn source(mut self, input: impl Into<std::string::String>) -> Self {
            self.source = Some(input.into());
            self
        }
        /// <p>The ARN of the source resource.</p>
        pub fn set_source(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.source = input;
            self
        }
        /// <p>The parameters required to set up a source for your pipe.</p>
        pub fn source_parameters(mut self, input: crate::model::PipeSourceParameters) -> Self {
            self.source_parameters = Some(input);
            self
        }
        /// <p>The parameters required to set up a source for your pipe.</p>
        pub fn set_source_parameters(
            mut self,
            input: std::option::Option<crate::model::PipeSourceParameters>,
        ) -> Self {
            self.source_parameters = input;
            self
        }
        /// <p>The ARN of the enrichment resource.</p>
        pub fn enrichment(mut self, input: impl Into<std::string::String>) -> Self {
            self.enrichment = Some(input.into());
            self
        }
        /// <p>The ARN of the enrichment resource.</p>
        pub fn set_enrichment(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.enrichment = input;
            self
        }
        /// <p>The parameters required to set up enrichment on your pipe.</p>
        pub fn enrichment_parameters(
            mut self,
            input: crate::model::PipeEnrichmentParameters,
        ) -> Self {
            self.enrichment_parameters = Some(input);
            self
        }
        /// <p>The parameters required to set up enrichment on your pipe.</p>
        pub fn set_enrichment_parameters(
            mut self,
            input: std::option::Option<crate::model::PipeEnrichmentParameters>,
        ) -> Self {
            self.enrichment_parameters = input;
            self
        }
        /// <p>The ARN of the target resource.</p>
        pub fn target(mut self, input: impl Into<std::string::String>) -> Self {
            self.target = Some(input.into());
            self
        }
        /// <p>The ARN of the target resource.</p>
        pub fn set_target(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.target = input;
            self
        }
        /// <p>The parameters required to set up a target for your pipe.</p>
        pub fn target_parameters(mut self, input: crate::model::PipeTargetParameters) -> Self {
            self.target_parameters = Some(input);
            self
        }
        /// <p>The parameters required to set up a target for your pipe.</p>
        pub fn set_target_parameters(
            mut self,
            input: std::option::Option<crate::model::PipeTargetParameters>,
        ) -> Self {
            self.target_parameters = input;
            self
        }
        /// <p>The ARN of the role that allows the pipe to send data to the target.</p>
        pub fn role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.role_arn = Some(input.into());
            self
        }
        /// <p>The ARN of the role that allows the pipe to send data to the target.</p>
        pub fn set_role_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.role_arn = input;
            self
        }
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>The list of key-value pairs to associate with the pipe.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>The list of key-value pairs to associate with the pipe.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The time the pipe was created.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn last_modified_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_modified_time = Some(input);
            self
        }
        /// <p>When the pipe was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
        pub fn set_last_modified_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_modified_time = input;
            self
        }
        /// Consumes the builder and constructs a [`DescribePipeOutput`](crate::output::DescribePipeOutput).
        pub fn build(self) -> crate::output::DescribePipeOutput {
            crate::output::DescribePipeOutput {
                arn: self.arn,
                name: self.name,
                description: self.description,
                desired_state: self.desired_state,
                current_state: self.current_state,
                state_reason: self.state_reason,
                source: self.source,
                source_parameters: self.source_parameters,
                enrichment: self.enrichment,
                enrichment_parameters: self.enrichment_parameters,
                target: self.target,
                target_parameters: self.target_parameters,
                role_arn: self.role_arn,
                tags: self.tags,
                creation_time: self.creation_time,
                last_modified_time: self.last_modified_time,
            }
        }
    }
    impl std::fmt::Debug for Builder {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
            let mut formatter = f.debug_struct("Builder");
            formatter.field("arn", &self.arn);
            formatter.field("name", &self.name);
            formatter.field("description", &"*** Sensitive Data Redacted ***");
            formatter.field("desired_state", &self.desired_state);
            formatter.field("current_state", &self.current_state);
            formatter.field("state_reason", &self.state_reason);
            formatter.field("source", &self.source);
            formatter.field("source_parameters", &self.source_parameters);
            formatter.field("enrichment", &self.enrichment);
            formatter.field("enrichment_parameters", &self.enrichment_parameters);
            formatter.field("target", &self.target);
            formatter.field("target_parameters", &self.target_parameters);
            formatter.field("role_arn", &self.role_arn);
            formatter.field("tags", &self.tags);
            formatter.field("creation_time", &self.creation_time);
            formatter.field("last_modified_time", &self.last_modified_time);
            formatter.finish()
        }
    }
}
impl DescribePipeOutput {
    /// Creates a new builder-style object to manufacture [`DescribePipeOutput`](crate::output::DescribePipeOutput).
    pub fn builder() -> crate::output::describe_pipe_output::Builder {
        crate::output::describe_pipe_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UntagResourceOutput {}
/// See [`UntagResourceOutput`](crate::output::UntagResourceOutput).
pub mod untag_resource_output {

    /// A builder for [`UntagResourceOutput`](crate::output::UntagResourceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {}
    impl Builder {
        /// Consumes the builder and constructs a [`UntagResourceOutput`](crate::output::UntagResourceOutput).
        pub fn build(self) -> crate::output::UntagResourceOutput {
            crate::output::UntagResourceOutput {}
        }
    }
}
impl UntagResourceOutput {
    /// Creates a new builder-style object to manufacture [`UntagResourceOutput`](crate::output::UntagResourceOutput).
    pub fn builder() -> crate::output::untag_resource_output::Builder {
        crate::output::untag_resource_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct TagResourceOutput {}
/// See [`TagResourceOutput`](crate::output::TagResourceOutput).
pub mod tag_resource_output {

    /// A builder for [`TagResourceOutput`](crate::output::TagResourceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {}
    impl Builder {
        /// Consumes the builder and constructs a [`TagResourceOutput`](crate::output::TagResourceOutput).
        pub fn build(self) -> crate::output::TagResourceOutput {
            crate::output::TagResourceOutput {}
        }
    }
}
impl TagResourceOutput {
    /// Creates a new builder-style object to manufacture [`TagResourceOutput`](crate::output::TagResourceOutput).
    pub fn builder() -> crate::output::tag_resource_output::Builder {
        crate::output::tag_resource_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListTagsForResourceOutput {
    /// <p>The list of key-value pairs to associate with the pipe.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ListTagsForResourceOutput {
    /// <p>The list of key-value pairs to associate with the pipe.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
pub mod list_tags_for_resource_output {

    /// A builder for [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>The list of key-value pairs to associate with the pipe.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>The list of key-value pairs to associate with the pipe.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
        pub fn build(self) -> crate::output::ListTagsForResourceOutput {
            crate::output::ListTagsForResourceOutput { tags: self.tags }
        }
    }
}
impl ListTagsForResourceOutput {
    /// Creates a new builder-style object to manufacture [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
    pub fn builder() -> crate::output::list_tags_for_resource_output::Builder {
        crate::output::list_tags_for_resource_output::Builder::default()
    }
}