// 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 ListX12ProfilesOutput {
    /// The token used for pagination
    #[doc(hidden)]
    pub next_page_token: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::X12ProfileSummary>>,
}
impl ListX12ProfilesOutput {
    /// The token used for pagination
    pub fn next_page_token(&self) -> std::option::Option<&str> {
        self.next_page_token.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn items(&self) -> std::option::Option<&[crate::model::X12ProfileSummary]> {
        self.items.as_deref()
    }
}
/// See [`ListX12ProfilesOutput`](crate::output::ListX12ProfilesOutput).
pub mod list_x12_profiles_output {

    /// A builder for [`ListX12ProfilesOutput`](crate::output::ListX12ProfilesOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_page_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::X12ProfileSummary>>,
    }
    impl Builder {
        /// The token used for pagination
        pub fn next_page_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_page_token = Some(input.into());
            self
        }
        /// The token used for pagination
        pub fn set_next_page_token(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.next_page_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        pub fn items(mut self, input: crate::model::X12ProfileSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::X12ProfileSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListX12ProfilesOutput`](crate::output::ListX12ProfilesOutput).
        pub fn build(self) -> crate::output::ListX12ProfilesOutput {
            crate::output::ListX12ProfilesOutput {
                next_page_token: self.next_page_token,
                items: self.items,
            }
        }
    }
}
impl ListX12ProfilesOutput {
    /// Creates a new builder-style object to manufacture [`ListX12ProfilesOutput`](crate::output::ListX12ProfilesOutput).
    pub fn builder() -> crate::output::list_x12_profiles_output::Builder {
        crate::output::list_x12_profiles_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateX12ProfileOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_qualifier: std::option::Option<crate::model::X12InterchangeQualifier>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_type: std::option::Option<crate::model::ProfileType>,
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    #[doc(hidden)]
    pub application_identifiers: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl CreateX12ProfileOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_qualifier(
        &self,
    ) -> std::option::Option<&crate::model::X12InterchangeQualifier> {
        self.interchange_qualifier.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_id(&self) -> std::option::Option<&str> {
        self.interchange_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_id(&self) -> std::option::Option<&str> {
        self.profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_type(&self) -> std::option::Option<&crate::model::ProfileType> {
        self.profile_type.as_ref()
    }
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    pub fn application_identifiers(
        &self,
    ) -> std::option::Option<&[crate::model::X12ApplicationId]> {
        self.application_identifiers.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`CreateX12ProfileOutput`](crate::output::CreateX12ProfileOutput).
pub mod create_x12_profile_output {

    /// A builder for [`CreateX12ProfileOutput`](crate::output::CreateX12ProfileOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) interchange_qualifier:
            std::option::Option<crate::model::X12InterchangeQualifier>,
        pub(crate) interchange_id: std::option::Option<std::string::String>,
        pub(crate) profile_id: std::option::Option<std::string::String>,
        pub(crate) profile_type: std::option::Option<crate::model::ProfileType>,
        pub(crate) application_identifiers:
            std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_qualifier(
            mut self,
            input: crate::model::X12InterchangeQualifier,
        ) -> Self {
            self.interchange_qualifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_qualifier(
            mut self,
            input: std::option::Option<crate::model::X12InterchangeQualifier>,
        ) -> Self {
            self.interchange_qualifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.interchange_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.interchange_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_type(mut self, input: crate::model::ProfileType) -> Self {
            self.profile_type = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_type(
            mut self,
            input: std::option::Option<crate::model::ProfileType>,
        ) -> Self {
            self.profile_type = input;
            self
        }
        /// Appends an item to `application_identifiers`.
        ///
        /// To override the contents of this collection use [`set_application_identifiers`](Self::set_application_identifiers).
        ///
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn application_identifiers(mut self, input: crate::model::X12ApplicationId) -> Self {
            let mut v = self.application_identifiers.unwrap_or_default();
            v.push(input);
            self.application_identifiers = Some(v);
            self
        }
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn set_application_identifiers(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        ) -> Self {
            self.application_identifiers = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateX12ProfileOutput`](crate::output::CreateX12ProfileOutput).
        pub fn build(self) -> crate::output::CreateX12ProfileOutput {
            crate::output::CreateX12ProfileOutput {
                interchange_qualifier: self.interchange_qualifier,
                interchange_id: self.interchange_id,
                profile_id: self.profile_id,
                profile_type: self.profile_type,
                application_identifiers: self.application_identifiers,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl CreateX12ProfileOutput {
    /// Creates a new builder-style object to manufacture [`CreateX12ProfileOutput`](crate::output::CreateX12ProfileOutput).
    pub fn builder() -> crate::output::create_x12_profile_output::Builder {
        crate::output::create_x12_profile_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateX12ProfileOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_qualifier: std::option::Option<crate::model::X12InterchangeQualifier>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_type: std::option::Option<crate::model::ProfileType>,
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    #[doc(hidden)]
    pub application_identifiers: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl UpdateX12ProfileOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_qualifier(
        &self,
    ) -> std::option::Option<&crate::model::X12InterchangeQualifier> {
        self.interchange_qualifier.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_id(&self) -> std::option::Option<&str> {
        self.interchange_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_id(&self) -> std::option::Option<&str> {
        self.profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_type(&self) -> std::option::Option<&crate::model::ProfileType> {
        self.profile_type.as_ref()
    }
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    pub fn application_identifiers(
        &self,
    ) -> std::option::Option<&[crate::model::X12ApplicationId]> {
        self.application_identifiers.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`UpdateX12ProfileOutput`](crate::output::UpdateX12ProfileOutput).
pub mod update_x12_profile_output {

    /// A builder for [`UpdateX12ProfileOutput`](crate::output::UpdateX12ProfileOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) interchange_qualifier:
            std::option::Option<crate::model::X12InterchangeQualifier>,
        pub(crate) interchange_id: std::option::Option<std::string::String>,
        pub(crate) profile_id: std::option::Option<std::string::String>,
        pub(crate) profile_type: std::option::Option<crate::model::ProfileType>,
        pub(crate) application_identifiers:
            std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_qualifier(
            mut self,
            input: crate::model::X12InterchangeQualifier,
        ) -> Self {
            self.interchange_qualifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_qualifier(
            mut self,
            input: std::option::Option<crate::model::X12InterchangeQualifier>,
        ) -> Self {
            self.interchange_qualifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.interchange_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.interchange_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_type(mut self, input: crate::model::ProfileType) -> Self {
            self.profile_type = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_type(
            mut self,
            input: std::option::Option<crate::model::ProfileType>,
        ) -> Self {
            self.profile_type = input;
            self
        }
        /// Appends an item to `application_identifiers`.
        ///
        /// To override the contents of this collection use [`set_application_identifiers`](Self::set_application_identifiers).
        ///
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn application_identifiers(mut self, input: crate::model::X12ApplicationId) -> Self {
            let mut v = self.application_identifiers.unwrap_or_default();
            v.push(input);
            self.application_identifiers = Some(v);
            self
        }
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn set_application_identifiers(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        ) -> Self {
            self.application_identifiers = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateX12ProfileOutput`](crate::output::UpdateX12ProfileOutput).
        pub fn build(self) -> crate::output::UpdateX12ProfileOutput {
            crate::output::UpdateX12ProfileOutput {
                interchange_qualifier: self.interchange_qualifier,
                interchange_id: self.interchange_id,
                profile_id: self.profile_id,
                profile_type: self.profile_type,
                application_identifiers: self.application_identifiers,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl UpdateX12ProfileOutput {
    /// Creates a new builder-style object to manufacture [`UpdateX12ProfileOutput`](crate::output::UpdateX12ProfileOutput).
    pub fn builder() -> crate::output::update_x12_profile_output::Builder {
        crate::output::update_x12_profile_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetX12ProfileOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_qualifier: std::option::Option<crate::model::X12InterchangeQualifier>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_type: std::option::Option<crate::model::ProfileType>,
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    #[doc(hidden)]
    pub application_identifiers: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl GetX12ProfileOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_qualifier(
        &self,
    ) -> std::option::Option<&crate::model::X12InterchangeQualifier> {
        self.interchange_qualifier.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_id(&self) -> std::option::Option<&str> {
        self.interchange_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_id(&self) -> std::option::Option<&str> {
        self.profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_type(&self) -> std::option::Option<&crate::model::ProfileType> {
        self.profile_type.as_ref()
    }
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    pub fn application_identifiers(
        &self,
    ) -> std::option::Option<&[crate::model::X12ApplicationId]> {
        self.application_identifiers.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`GetX12ProfileOutput`](crate::output::GetX12ProfileOutput).
pub mod get_x12_profile_output {

    /// A builder for [`GetX12ProfileOutput`](crate::output::GetX12ProfileOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) interchange_qualifier:
            std::option::Option<crate::model::X12InterchangeQualifier>,
        pub(crate) interchange_id: std::option::Option<std::string::String>,
        pub(crate) profile_id: std::option::Option<std::string::String>,
        pub(crate) profile_type: std::option::Option<crate::model::ProfileType>,
        pub(crate) application_identifiers:
            std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_qualifier(
            mut self,
            input: crate::model::X12InterchangeQualifier,
        ) -> Self {
            self.interchange_qualifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_qualifier(
            mut self,
            input: std::option::Option<crate::model::X12InterchangeQualifier>,
        ) -> Self {
            self.interchange_qualifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.interchange_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.interchange_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_type(mut self, input: crate::model::ProfileType) -> Self {
            self.profile_type = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_type(
            mut self,
            input: std::option::Option<crate::model::ProfileType>,
        ) -> Self {
            self.profile_type = input;
            self
        }
        /// Appends an item to `application_identifiers`.
        ///
        /// To override the contents of this collection use [`set_application_identifiers`](Self::set_application_identifiers).
        ///
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn application_identifiers(mut self, input: crate::model::X12ApplicationId) -> Self {
            let mut v = self.application_identifiers.unwrap_or_default();
            v.push(input);
            self.application_identifiers = Some(v);
            self
        }
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn set_application_identifiers(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        ) -> Self {
            self.application_identifiers = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`GetX12ProfileOutput`](crate::output::GetX12ProfileOutput).
        pub fn build(self) -> crate::output::GetX12ProfileOutput {
            crate::output::GetX12ProfileOutput {
                interchange_qualifier: self.interchange_qualifier,
                interchange_id: self.interchange_id,
                profile_id: self.profile_id,
                profile_type: self.profile_type,
                application_identifiers: self.application_identifiers,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl GetX12ProfileOutput {
    /// Creates a new builder-style object to manufacture [`GetX12ProfileOutput`](crate::output::GetX12ProfileOutput).
    pub fn builder() -> crate::output::get_x12_profile_output::Builder {
        crate::output::get_x12_profile_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListX12PartnershipsOutput {
    /// The token used for pagination
    #[doc(hidden)]
    pub next_page_token: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::X12PartnershipSummary>>,
}
impl ListX12PartnershipsOutput {
    /// The token used for pagination
    pub fn next_page_token(&self) -> std::option::Option<&str> {
        self.next_page_token.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn items(&self) -> std::option::Option<&[crate::model::X12PartnershipSummary]> {
        self.items.as_deref()
    }
}
/// See [`ListX12PartnershipsOutput`](crate::output::ListX12PartnershipsOutput).
pub mod list_x12_partnerships_output {

    /// A builder for [`ListX12PartnershipsOutput`](crate::output::ListX12PartnershipsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_page_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::X12PartnershipSummary>>,
    }
    impl Builder {
        /// The token used for pagination
        pub fn next_page_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_page_token = Some(input.into());
            self
        }
        /// The token used for pagination
        pub fn set_next_page_token(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.next_page_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        pub fn items(mut self, input: crate::model::X12PartnershipSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::X12PartnershipSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListX12PartnershipsOutput`](crate::output::ListX12PartnershipsOutput).
        pub fn build(self) -> crate::output::ListX12PartnershipsOutput {
            crate::output::ListX12PartnershipsOutput {
                next_page_token: self.next_page_token,
                items: self.items,
            }
        }
    }
}
impl ListX12PartnershipsOutput {
    /// Creates a new builder-style object to manufacture [`ListX12PartnershipsOutput`](crate::output::ListX12PartnershipsOutput).
    pub fn builder() -> crate::output::list_x12_partnerships_output::Builder {
        crate::output::list_x12_partnerships_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateX12PartnershipOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partnership_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_usage_indicator: std::option::Option<crate::model::X12UsageIndicator>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub timezone: std::option::Option<crate::model::Timezone>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub time_format: std::option::Option<crate::model::X12TimeFormat>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ack_configuration: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl CreateX12PartnershipOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn partnership_id(&self) -> std::option::Option<&str> {
        self.partnership_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_profile_id(&self) -> std::option::Option<&str> {
        self.local_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_profile_id(&self) -> std::option::Option<&str> {
        self.partner_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_usage_indicator(
        &self,
    ) -> std::option::Option<&crate::model::X12UsageIndicator> {
        self.interchange_usage_indicator.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn timezone(&self) -> std::option::Option<&crate::model::Timezone> {
        self.timezone.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn time_format(&self) -> std::option::Option<&crate::model::X12TimeFormat> {
        self.time_format.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ack_configuration(
        &self,
    ) -> std::option::Option<&crate::model::X12PartnershipAckConfiguration> {
        self.ack_configuration.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`CreateX12PartnershipOutput`](crate::output::CreateX12PartnershipOutput).
pub mod create_x12_partnership_output {

    /// A builder for [`CreateX12PartnershipOutput`](crate::output::CreateX12PartnershipOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) partnership_id: std::option::Option<std::string::String>,
        pub(crate) local_profile_id: std::option::Option<std::string::String>,
        pub(crate) partner_profile_id: std::option::Option<std::string::String>,
        pub(crate) interchange_usage_indicator:
            std::option::Option<crate::model::X12UsageIndicator>,
        pub(crate) timezone: std::option::Option<crate::model::Timezone>,
        pub(crate) time_format: std::option::Option<crate::model::X12TimeFormat>,
        pub(crate) ack_configuration:
            std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn partnership_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partnership_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partnership_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partnership_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_usage_indicator(
            mut self,
            input: crate::model::X12UsageIndicator,
        ) -> Self {
            self.interchange_usage_indicator = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_usage_indicator(
            mut self,
            input: std::option::Option<crate::model::X12UsageIndicator>,
        ) -> Self {
            self.interchange_usage_indicator = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn timezone(mut self, input: crate::model::Timezone) -> Self {
            self.timezone = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_timezone(mut self, input: std::option::Option<crate::model::Timezone>) -> Self {
            self.timezone = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn time_format(mut self, input: crate::model::X12TimeFormat) -> Self {
            self.time_format = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_time_format(
            mut self,
            input: std::option::Option<crate::model::X12TimeFormat>,
        ) -> Self {
            self.time_format = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ack_configuration(
            mut self,
            input: crate::model::X12PartnershipAckConfiguration,
        ) -> Self {
            self.ack_configuration = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ack_configuration(
            mut self,
            input: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        ) -> Self {
            self.ack_configuration = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateX12PartnershipOutput`](crate::output::CreateX12PartnershipOutput).
        pub fn build(self) -> crate::output::CreateX12PartnershipOutput {
            crate::output::CreateX12PartnershipOutput {
                partnership_id: self.partnership_id,
                local_profile_id: self.local_profile_id,
                partner_profile_id: self.partner_profile_id,
                interchange_usage_indicator: self.interchange_usage_indicator,
                timezone: self.timezone,
                time_format: self.time_format,
                ack_configuration: self.ack_configuration,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl CreateX12PartnershipOutput {
    /// Creates a new builder-style object to manufacture [`CreateX12PartnershipOutput`](crate::output::CreateX12PartnershipOutput).
    pub fn builder() -> crate::output::create_x12_partnership_output::Builder {
        crate::output::create_x12_partnership_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateX12PartnershipOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partnership_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_usage_indicator: std::option::Option<crate::model::X12UsageIndicator>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub timezone: std::option::Option<crate::model::Timezone>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub time_format: std::option::Option<crate::model::X12TimeFormat>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ack_configuration: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl UpdateX12PartnershipOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn partnership_id(&self) -> std::option::Option<&str> {
        self.partnership_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_profile_id(&self) -> std::option::Option<&str> {
        self.local_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_profile_id(&self) -> std::option::Option<&str> {
        self.partner_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_usage_indicator(
        &self,
    ) -> std::option::Option<&crate::model::X12UsageIndicator> {
        self.interchange_usage_indicator.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn timezone(&self) -> std::option::Option<&crate::model::Timezone> {
        self.timezone.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn time_format(&self) -> std::option::Option<&crate::model::X12TimeFormat> {
        self.time_format.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ack_configuration(
        &self,
    ) -> std::option::Option<&crate::model::X12PartnershipAckConfiguration> {
        self.ack_configuration.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`UpdateX12PartnershipOutput`](crate::output::UpdateX12PartnershipOutput).
pub mod update_x12_partnership_output {

    /// A builder for [`UpdateX12PartnershipOutput`](crate::output::UpdateX12PartnershipOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) partnership_id: std::option::Option<std::string::String>,
        pub(crate) local_profile_id: std::option::Option<std::string::String>,
        pub(crate) partner_profile_id: std::option::Option<std::string::String>,
        pub(crate) interchange_usage_indicator:
            std::option::Option<crate::model::X12UsageIndicator>,
        pub(crate) timezone: std::option::Option<crate::model::Timezone>,
        pub(crate) time_format: std::option::Option<crate::model::X12TimeFormat>,
        pub(crate) ack_configuration:
            std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn partnership_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partnership_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partnership_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partnership_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_usage_indicator(
            mut self,
            input: crate::model::X12UsageIndicator,
        ) -> Self {
            self.interchange_usage_indicator = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_usage_indicator(
            mut self,
            input: std::option::Option<crate::model::X12UsageIndicator>,
        ) -> Self {
            self.interchange_usage_indicator = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn timezone(mut self, input: crate::model::Timezone) -> Self {
            self.timezone = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_timezone(mut self, input: std::option::Option<crate::model::Timezone>) -> Self {
            self.timezone = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn time_format(mut self, input: crate::model::X12TimeFormat) -> Self {
            self.time_format = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_time_format(
            mut self,
            input: std::option::Option<crate::model::X12TimeFormat>,
        ) -> Self {
            self.time_format = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ack_configuration(
            mut self,
            input: crate::model::X12PartnershipAckConfiguration,
        ) -> Self {
            self.ack_configuration = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ack_configuration(
            mut self,
            input: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        ) -> Self {
            self.ack_configuration = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateX12PartnershipOutput`](crate::output::UpdateX12PartnershipOutput).
        pub fn build(self) -> crate::output::UpdateX12PartnershipOutput {
            crate::output::UpdateX12PartnershipOutput {
                partnership_id: self.partnership_id,
                local_profile_id: self.local_profile_id,
                partner_profile_id: self.partner_profile_id,
                interchange_usage_indicator: self.interchange_usage_indicator,
                timezone: self.timezone,
                time_format: self.time_format,
                ack_configuration: self.ack_configuration,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl UpdateX12PartnershipOutput {
    /// Creates a new builder-style object to manufacture [`UpdateX12PartnershipOutput`](crate::output::UpdateX12PartnershipOutput).
    pub fn builder() -> crate::output::update_x12_partnership_output::Builder {
        crate::output::update_x12_partnership_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetX12PartnershipOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partnership_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_usage_indicator: std::option::Option<crate::model::X12UsageIndicator>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub timezone: std::option::Option<crate::model::Timezone>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub time_format: std::option::Option<crate::model::X12TimeFormat>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ack_configuration: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_profile: std::option::Option<crate::model::X12ProfileFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_profile: std::option::Option<crate::model::X12ProfileFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_transactions:
        std::option::Option<std::vec::Vec<crate::model::InboundX12TransactionSettingsSummary>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_transactions:
        std::option::Option<std::vec::Vec<crate::model::OutboundX12TransactionSettingsSummary>>,
}
impl GetX12PartnershipOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn partnership_id(&self) -> std::option::Option<&str> {
        self.partnership_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_profile_id(&self) -> std::option::Option<&str> {
        self.local_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_profile_id(&self) -> std::option::Option<&str> {
        self.partner_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_usage_indicator(
        &self,
    ) -> std::option::Option<&crate::model::X12UsageIndicator> {
        self.interchange_usage_indicator.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn timezone(&self) -> std::option::Option<&crate::model::Timezone> {
        self.timezone.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn time_format(&self) -> std::option::Option<&crate::model::X12TimeFormat> {
        self.time_format.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ack_configuration(
        &self,
    ) -> std::option::Option<&crate::model::X12PartnershipAckConfiguration> {
        self.ack_configuration.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_profile(&self) -> std::option::Option<&crate::model::X12ProfileFields> {
        self.local_profile.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_profile(&self) -> std::option::Option<&crate::model::X12ProfileFields> {
        self.partner_profile.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_transactions(
        &self,
    ) -> std::option::Option<&[crate::model::InboundX12TransactionSettingsSummary]> {
        self.inbound_transactions.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_transactions(
        &self,
    ) -> std::option::Option<&[crate::model::OutboundX12TransactionSettingsSummary]> {
        self.outbound_transactions.as_deref()
    }
}
/// See [`GetX12PartnershipOutput`](crate::output::GetX12PartnershipOutput).
pub mod get_x12_partnership_output {

    /// A builder for [`GetX12PartnershipOutput`](crate::output::GetX12PartnershipOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) partnership_id: std::option::Option<std::string::String>,
        pub(crate) local_profile_id: std::option::Option<std::string::String>,
        pub(crate) partner_profile_id: std::option::Option<std::string::String>,
        pub(crate) interchange_usage_indicator:
            std::option::Option<crate::model::X12UsageIndicator>,
        pub(crate) timezone: std::option::Option<crate::model::Timezone>,
        pub(crate) time_format: std::option::Option<crate::model::X12TimeFormat>,
        pub(crate) ack_configuration:
            std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) local_profile: std::option::Option<crate::model::X12ProfileFields>,
        pub(crate) partner_profile: std::option::Option<crate::model::X12ProfileFields>,
        pub(crate) inbound_transactions:
            std::option::Option<std::vec::Vec<crate::model::InboundX12TransactionSettingsSummary>>,
        pub(crate) outbound_transactions:
            std::option::Option<std::vec::Vec<crate::model::OutboundX12TransactionSettingsSummary>>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn partnership_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partnership_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partnership_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partnership_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_usage_indicator(
            mut self,
            input: crate::model::X12UsageIndicator,
        ) -> Self {
            self.interchange_usage_indicator = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_usage_indicator(
            mut self,
            input: std::option::Option<crate::model::X12UsageIndicator>,
        ) -> Self {
            self.interchange_usage_indicator = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn timezone(mut self, input: crate::model::Timezone) -> Self {
            self.timezone = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_timezone(mut self, input: std::option::Option<crate::model::Timezone>) -> Self {
            self.timezone = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn time_format(mut self, input: crate::model::X12TimeFormat) -> Self {
            self.time_format = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_time_format(
            mut self,
            input: std::option::Option<crate::model::X12TimeFormat>,
        ) -> Self {
            self.time_format = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ack_configuration(
            mut self,
            input: crate::model::X12PartnershipAckConfiguration,
        ) -> Self {
            self.ack_configuration = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ack_configuration(
            mut self,
            input: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        ) -> Self {
            self.ack_configuration = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_profile(mut self, input: crate::model::X12ProfileFields) -> Self {
            self.local_profile = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_profile(
            mut self,
            input: std::option::Option<crate::model::X12ProfileFields>,
        ) -> Self {
            self.local_profile = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_profile(mut self, input: crate::model::X12ProfileFields) -> Self {
            self.partner_profile = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_profile(
            mut self,
            input: std::option::Option<crate::model::X12ProfileFields>,
        ) -> Self {
            self.partner_profile = input;
            self
        }
        /// Appends an item to `inbound_transactions`.
        ///
        /// To override the contents of this collection use [`set_inbound_transactions`](Self::set_inbound_transactions).
        ///
        pub fn inbound_transactions(
            mut self,
            input: crate::model::InboundX12TransactionSettingsSummary,
        ) -> Self {
            let mut v = self.inbound_transactions.unwrap_or_default();
            v.push(input);
            self.inbound_transactions = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_transactions(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::InboundX12TransactionSettingsSummary>,
            >,
        ) -> Self {
            self.inbound_transactions = input;
            self
        }
        /// Appends an item to `outbound_transactions`.
        ///
        /// To override the contents of this collection use [`set_outbound_transactions`](Self::set_outbound_transactions).
        ///
        pub fn outbound_transactions(
            mut self,
            input: crate::model::OutboundX12TransactionSettingsSummary,
        ) -> Self {
            let mut v = self.outbound_transactions.unwrap_or_default();
            v.push(input);
            self.outbound_transactions = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_transactions(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::OutboundX12TransactionSettingsSummary>,
            >,
        ) -> Self {
            self.outbound_transactions = input;
            self
        }
        /// Consumes the builder and constructs a [`GetX12PartnershipOutput`](crate::output::GetX12PartnershipOutput).
        pub fn build(self) -> crate::output::GetX12PartnershipOutput {
            crate::output::GetX12PartnershipOutput {
                partnership_id: self.partnership_id,
                local_profile_id: self.local_profile_id,
                partner_profile_id: self.partner_profile_id,
                interchange_usage_indicator: self.interchange_usage_indicator,
                timezone: self.timezone,
                time_format: self.time_format,
                ack_configuration: self.ack_configuration,
                created_at: self.created_at,
                updated_at: self.updated_at,
                local_profile: self.local_profile,
                partner_profile: self.partner_profile,
                inbound_transactions: self.inbound_transactions,
                outbound_transactions: self.outbound_transactions,
            }
        }
    }
}
impl GetX12PartnershipOutput {
    /// Creates a new builder-style object to manufacture [`GetX12PartnershipOutput`](crate::output::GetX12PartnershipOutput).
    pub fn builder() -> crate::output::get_x12_partnership_output::Builder {
        crate::output::get_x12_partnership_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateStediFtpConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_inbound_files_on_receipt: bool,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
    /// The stedi SFTP bucket name
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    /// The home directory for this SFTP connection
    #[doc(hidden)]
    pub home_directory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl CreateStediFtpConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_inbound_files_on_receipt(&self) -> bool {
        self.delete_inbound_files_on_receipt
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
    /// The stedi SFTP bucket name
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    /// The home directory for this SFTP connection
    pub fn home_directory(&self) -> std::option::Option<&str> {
        self.home_directory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`CreateStediFtpConnectionOutput`](crate::output::CreateStediFtpConnectionOutput).
pub mod create_stedi_ftp_connection_output {

    /// A builder for [`CreateStediFtpConnectionOutput`](crate::output::CreateStediFtpConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) delete_inbound_files_on_receipt: std::option::Option<bool>,
        pub(crate) username: std::option::Option<std::string::String>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) home_directory: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_inbound_files_on_receipt(mut self, input: bool) -> Self {
            self.delete_inbound_files_on_receipt = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_inbound_files_on_receipt(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.delete_inbound_files_on_receipt = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        /// The stedi SFTP bucket name
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The stedi SFTP bucket name
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        /// The home directory for this SFTP connection
        pub fn home_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.home_directory = Some(input.into());
            self
        }
        /// The home directory for this SFTP connection
        pub fn set_home_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.home_directory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateStediFtpConnectionOutput`](crate::output::CreateStediFtpConnectionOutput).
        pub fn build(self) -> crate::output::CreateStediFtpConnectionOutput {
            crate::output::CreateStediFtpConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                delete_inbound_files_on_receipt: self
                    .delete_inbound_files_on_receipt
                    .unwrap_or_default(),
                username: self.username,
                bucket_name: self.bucket_name,
                home_directory: self.home_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl CreateStediFtpConnectionOutput {
    /// Creates a new builder-style object to manufacture [`CreateStediFtpConnectionOutput`](crate::output::CreateStediFtpConnectionOutput).
    pub fn builder() -> crate::output::create_stedi_ftp_connection_output::Builder {
        crate::output::create_stedi_ftp_connection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateStediFtpConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_inbound_files_on_receipt: bool,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
    /// The stedi SFTP bucket name
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    /// The home directory for this SFTP connection
    #[doc(hidden)]
    pub home_directory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl UpdateStediFtpConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_inbound_files_on_receipt(&self) -> bool {
        self.delete_inbound_files_on_receipt
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
    /// The stedi SFTP bucket name
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    /// The home directory for this SFTP connection
    pub fn home_directory(&self) -> std::option::Option<&str> {
        self.home_directory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`UpdateStediFtpConnectionOutput`](crate::output::UpdateStediFtpConnectionOutput).
pub mod update_stedi_ftp_connection_output {

    /// A builder for [`UpdateStediFtpConnectionOutput`](crate::output::UpdateStediFtpConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) delete_inbound_files_on_receipt: std::option::Option<bool>,
        pub(crate) username: std::option::Option<std::string::String>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) home_directory: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_inbound_files_on_receipt(mut self, input: bool) -> Self {
            self.delete_inbound_files_on_receipt = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_inbound_files_on_receipt(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.delete_inbound_files_on_receipt = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        /// The stedi SFTP bucket name
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The stedi SFTP bucket name
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        /// The home directory for this SFTP connection
        pub fn home_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.home_directory = Some(input.into());
            self
        }
        /// The home directory for this SFTP connection
        pub fn set_home_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.home_directory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateStediFtpConnectionOutput`](crate::output::UpdateStediFtpConnectionOutput).
        pub fn build(self) -> crate::output::UpdateStediFtpConnectionOutput {
            crate::output::UpdateStediFtpConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                delete_inbound_files_on_receipt: self
                    .delete_inbound_files_on_receipt
                    .unwrap_or_default(),
                username: self.username,
                bucket_name: self.bucket_name,
                home_directory: self.home_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl UpdateStediFtpConnectionOutput {
    /// Creates a new builder-style object to manufacture [`UpdateStediFtpConnectionOutput`](crate::output::UpdateStediFtpConnectionOutput).
    pub fn builder() -> crate::output::update_stedi_ftp_connection_output::Builder {
        crate::output::update_stedi_ftp_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetStediFtpConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_inbound_files_on_receipt: bool,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
    /// The stedi SFTP bucket name
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    /// The home directory for this SFTP connection
    #[doc(hidden)]
    pub home_directory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl GetStediFtpConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_inbound_files_on_receipt(&self) -> bool {
        self.delete_inbound_files_on_receipt
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
    /// The stedi SFTP bucket name
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    /// The home directory for this SFTP connection
    pub fn home_directory(&self) -> std::option::Option<&str> {
        self.home_directory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`GetStediFtpConnectionOutput`](crate::output::GetStediFtpConnectionOutput).
pub mod get_stedi_ftp_connection_output {

    /// A builder for [`GetStediFtpConnectionOutput`](crate::output::GetStediFtpConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) delete_inbound_files_on_receipt: std::option::Option<bool>,
        pub(crate) username: std::option::Option<std::string::String>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) home_directory: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_inbound_files_on_receipt(mut self, input: bool) -> Self {
            self.delete_inbound_files_on_receipt = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_inbound_files_on_receipt(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.delete_inbound_files_on_receipt = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        /// The stedi SFTP bucket name
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The stedi SFTP bucket name
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        /// The home directory for this SFTP connection
        pub fn home_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.home_directory = Some(input.into());
            self
        }
        /// The home directory for this SFTP connection
        pub fn set_home_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.home_directory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`GetStediFtpConnectionOutput`](crate::output::GetStediFtpConnectionOutput).
        pub fn build(self) -> crate::output::GetStediFtpConnectionOutput {
            crate::output::GetStediFtpConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                delete_inbound_files_on_receipt: self
                    .delete_inbound_files_on_receipt
                    .unwrap_or_default(),
                username: self.username,
                bucket_name: self.bucket_name,
                home_directory: self.home_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl GetStediFtpConnectionOutput {
    /// Creates a new builder-style object to manufacture [`GetStediFtpConnectionOutput`](crate::output::GetStediFtpConnectionOutput).
    pub fn builder() -> crate::output::get_stedi_ftp_connection_output::Builder {
        crate::output::get_stedi_ftp_connection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateRemoteFtpConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    /// The root directory for this FTP connection
    #[doc(hidden)]
    pub root_directory: std::option::Option<std::string::String>,
    /// The endpoint associated with the FTP connection
    #[doc(hidden)]
    pub host: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub port: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_after_retrieval: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ignore_file_timestamps: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enable_polling: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub polling_interval: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub polling_interval_unit: std::option::Option<crate::model::FtpIntervalUnit>,
    /// The timestamp when the last poll occurred
    #[doc(hidden)]
    pub last_poll_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Number of times to retry connecting
    #[doc(hidden)]
    pub retries: std::option::Option<i32>,
    /// How long (in ms) to wait for the SSH handshake
    #[doc(hidden)]
    pub ready_timeout: std::option::Option<i32>,
    /// The underlying socket timeout in ms. Default: none
    #[doc(hidden)]
    pub timeout: std::option::Option<i32>,
    /// Explicit overrides for the default transport layer algorithms used for the connection
    #[doc(hidden)]
    pub algorithms: std::option::Option<crate::model::RemoteFtpAlgorithms>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl CreateRemoteFtpConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    /// The root directory for this FTP connection
    pub fn root_directory(&self) -> std::option::Option<&str> {
        self.root_directory.as_deref()
    }
    /// The endpoint associated with the FTP connection
    pub fn host(&self) -> std::option::Option<&str> {
        self.host.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn port(&self) -> std::option::Option<i32> {
        self.port
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_after_retrieval(&self) -> std::option::Option<bool> {
        self.delete_after_retrieval
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ignore_file_timestamps(&self) -> std::option::Option<bool> {
        self.ignore_file_timestamps
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enable_polling(&self) -> std::option::Option<bool> {
        self.enable_polling
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn polling_interval(&self) -> std::option::Option<i32> {
        self.polling_interval
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn polling_interval_unit(&self) -> std::option::Option<&crate::model::FtpIntervalUnit> {
        self.polling_interval_unit.as_ref()
    }
    /// The timestamp when the last poll occurred
    pub fn last_poll_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_poll_at.as_ref()
    }
    /// Number of times to retry connecting
    pub fn retries(&self) -> std::option::Option<i32> {
        self.retries
    }
    /// How long (in ms) to wait for the SSH handshake
    pub fn ready_timeout(&self) -> std::option::Option<i32> {
        self.ready_timeout
    }
    /// The underlying socket timeout in ms. Default: none
    pub fn timeout(&self) -> std::option::Option<i32> {
        self.timeout
    }
    /// Explicit overrides for the default transport layer algorithms used for the connection
    pub fn algorithms(&self) -> std::option::Option<&crate::model::RemoteFtpAlgorithms> {
        self.algorithms.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`CreateRemoteFtpConnectionOutput`](crate::output::CreateRemoteFtpConnectionOutput).
pub mod create_remote_ftp_connection_output {

    /// A builder for [`CreateRemoteFtpConnectionOutput`](crate::output::CreateRemoteFtpConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) root_directory: std::option::Option<std::string::String>,
        pub(crate) host: std::option::Option<std::string::String>,
        pub(crate) username: std::option::Option<std::string::String>,
        pub(crate) port: std::option::Option<i32>,
        pub(crate) delete_after_retrieval: std::option::Option<bool>,
        pub(crate) ignore_file_timestamps: std::option::Option<bool>,
        pub(crate) enable_polling: std::option::Option<bool>,
        pub(crate) polling_interval: std::option::Option<i32>,
        pub(crate) polling_interval_unit: std::option::Option<crate::model::FtpIntervalUnit>,
        pub(crate) last_poll_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) retries: std::option::Option<i32>,
        pub(crate) ready_timeout: std::option::Option<i32>,
        pub(crate) timeout: std::option::Option<i32>,
        pub(crate) algorithms: std::option::Option<crate::model::RemoteFtpAlgorithms>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        /// The root directory for this FTP connection
        pub fn root_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.root_directory = Some(input.into());
            self
        }
        /// The root directory for this FTP connection
        pub fn set_root_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.root_directory = input;
            self
        }
        /// The endpoint associated with the FTP connection
        pub fn host(mut self, input: impl Into<std::string::String>) -> Self {
            self.host = Some(input.into());
            self
        }
        /// The endpoint associated with the FTP connection
        pub fn set_host(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.host = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn port(mut self, input: i32) -> Self {
            self.port = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_port(mut self, input: std::option::Option<i32>) -> Self {
            self.port = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_after_retrieval(mut self, input: bool) -> Self {
            self.delete_after_retrieval = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_after_retrieval(mut self, input: std::option::Option<bool>) -> Self {
            self.delete_after_retrieval = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ignore_file_timestamps(mut self, input: bool) -> Self {
            self.ignore_file_timestamps = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ignore_file_timestamps(mut self, input: std::option::Option<bool>) -> Self {
            self.ignore_file_timestamps = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enable_polling(mut self, input: bool) -> Self {
            self.enable_polling = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enable_polling(mut self, input: std::option::Option<bool>) -> Self {
            self.enable_polling = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn polling_interval(mut self, input: i32) -> Self {
            self.polling_interval = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_polling_interval(mut self, input: std::option::Option<i32>) -> Self {
            self.polling_interval = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn polling_interval_unit(mut self, input: crate::model::FtpIntervalUnit) -> Self {
            self.polling_interval_unit = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_polling_interval_unit(
            mut self,
            input: std::option::Option<crate::model::FtpIntervalUnit>,
        ) -> Self {
            self.polling_interval_unit = input;
            self
        }
        /// The timestamp when the last poll occurred
        pub fn last_poll_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_poll_at = Some(input);
            self
        }
        /// The timestamp when the last poll occurred
        pub fn set_last_poll_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_poll_at = input;
            self
        }
        /// Number of times to retry connecting
        pub fn retries(mut self, input: i32) -> Self {
            self.retries = Some(input);
            self
        }
        /// Number of times to retry connecting
        pub fn set_retries(mut self, input: std::option::Option<i32>) -> Self {
            self.retries = input;
            self
        }
        /// How long (in ms) to wait for the SSH handshake
        pub fn ready_timeout(mut self, input: i32) -> Self {
            self.ready_timeout = Some(input);
            self
        }
        /// How long (in ms) to wait for the SSH handshake
        pub fn set_ready_timeout(mut self, input: std::option::Option<i32>) -> Self {
            self.ready_timeout = input;
            self
        }
        /// The underlying socket timeout in ms. Default: none
        pub fn timeout(mut self, input: i32) -> Self {
            self.timeout = Some(input);
            self
        }
        /// The underlying socket timeout in ms. Default: none
        pub fn set_timeout(mut self, input: std::option::Option<i32>) -> Self {
            self.timeout = input;
            self
        }
        /// Explicit overrides for the default transport layer algorithms used for the connection
        pub fn algorithms(mut self, input: crate::model::RemoteFtpAlgorithms) -> Self {
            self.algorithms = Some(input);
            self
        }
        /// Explicit overrides for the default transport layer algorithms used for the connection
        pub fn set_algorithms(
            mut self,
            input: std::option::Option<crate::model::RemoteFtpAlgorithms>,
        ) -> Self {
            self.algorithms = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateRemoteFtpConnectionOutput`](crate::output::CreateRemoteFtpConnectionOutput).
        pub fn build(self) -> crate::output::CreateRemoteFtpConnectionOutput {
            crate::output::CreateRemoteFtpConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                root_directory: self.root_directory,
                host: self.host,
                username: self.username,
                port: self.port,
                delete_after_retrieval: self.delete_after_retrieval,
                ignore_file_timestamps: self.ignore_file_timestamps,
                enable_polling: self.enable_polling,
                polling_interval: self.polling_interval,
                polling_interval_unit: self.polling_interval_unit,
                last_poll_at: self.last_poll_at,
                retries: self.retries,
                ready_timeout: self.ready_timeout,
                timeout: self.timeout,
                algorithms: self.algorithms,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl CreateRemoteFtpConnectionOutput {
    /// Creates a new builder-style object to manufacture [`CreateRemoteFtpConnectionOutput`](crate::output::CreateRemoteFtpConnectionOutput).
    pub fn builder() -> crate::output::create_remote_ftp_connection_output::Builder {
        crate::output::create_remote_ftp_connection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateRemoteFtpConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    /// The root directory for this FTP connection
    #[doc(hidden)]
    pub root_directory: std::option::Option<std::string::String>,
    /// The endpoint associated with the FTP connection
    #[doc(hidden)]
    pub host: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub port: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_after_retrieval: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ignore_file_timestamps: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enable_polling: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub polling_interval: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub polling_interval_unit: std::option::Option<crate::model::FtpIntervalUnit>,
    /// The timestamp when the last poll occurred
    #[doc(hidden)]
    pub last_poll_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Number of times to retry connecting
    #[doc(hidden)]
    pub retries: std::option::Option<i32>,
    /// How long (in ms) to wait for the SSH handshake
    #[doc(hidden)]
    pub ready_timeout: std::option::Option<i32>,
    /// The underlying socket timeout in ms. Default: none
    #[doc(hidden)]
    pub timeout: std::option::Option<i32>,
    /// Explicit overrides for the default transport layer algorithms used for the connection
    #[doc(hidden)]
    pub algorithms: std::option::Option<crate::model::RemoteFtpAlgorithms>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl UpdateRemoteFtpConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    /// The root directory for this FTP connection
    pub fn root_directory(&self) -> std::option::Option<&str> {
        self.root_directory.as_deref()
    }
    /// The endpoint associated with the FTP connection
    pub fn host(&self) -> std::option::Option<&str> {
        self.host.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn port(&self) -> std::option::Option<i32> {
        self.port
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_after_retrieval(&self) -> std::option::Option<bool> {
        self.delete_after_retrieval
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ignore_file_timestamps(&self) -> std::option::Option<bool> {
        self.ignore_file_timestamps
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enable_polling(&self) -> std::option::Option<bool> {
        self.enable_polling
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn polling_interval(&self) -> std::option::Option<i32> {
        self.polling_interval
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn polling_interval_unit(&self) -> std::option::Option<&crate::model::FtpIntervalUnit> {
        self.polling_interval_unit.as_ref()
    }
    /// The timestamp when the last poll occurred
    pub fn last_poll_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_poll_at.as_ref()
    }
    /// Number of times to retry connecting
    pub fn retries(&self) -> std::option::Option<i32> {
        self.retries
    }
    /// How long (in ms) to wait for the SSH handshake
    pub fn ready_timeout(&self) -> std::option::Option<i32> {
        self.ready_timeout
    }
    /// The underlying socket timeout in ms. Default: none
    pub fn timeout(&self) -> std::option::Option<i32> {
        self.timeout
    }
    /// Explicit overrides for the default transport layer algorithms used for the connection
    pub fn algorithms(&self) -> std::option::Option<&crate::model::RemoteFtpAlgorithms> {
        self.algorithms.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`UpdateRemoteFtpConnectionOutput`](crate::output::UpdateRemoteFtpConnectionOutput).
pub mod update_remote_ftp_connection_output {

    /// A builder for [`UpdateRemoteFtpConnectionOutput`](crate::output::UpdateRemoteFtpConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) root_directory: std::option::Option<std::string::String>,
        pub(crate) host: std::option::Option<std::string::String>,
        pub(crate) username: std::option::Option<std::string::String>,
        pub(crate) port: std::option::Option<i32>,
        pub(crate) delete_after_retrieval: std::option::Option<bool>,
        pub(crate) ignore_file_timestamps: std::option::Option<bool>,
        pub(crate) enable_polling: std::option::Option<bool>,
        pub(crate) polling_interval: std::option::Option<i32>,
        pub(crate) polling_interval_unit: std::option::Option<crate::model::FtpIntervalUnit>,
        pub(crate) last_poll_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) retries: std::option::Option<i32>,
        pub(crate) ready_timeout: std::option::Option<i32>,
        pub(crate) timeout: std::option::Option<i32>,
        pub(crate) algorithms: std::option::Option<crate::model::RemoteFtpAlgorithms>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        /// The root directory for this FTP connection
        pub fn root_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.root_directory = Some(input.into());
            self
        }
        /// The root directory for this FTP connection
        pub fn set_root_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.root_directory = input;
            self
        }
        /// The endpoint associated with the FTP connection
        pub fn host(mut self, input: impl Into<std::string::String>) -> Self {
            self.host = Some(input.into());
            self
        }
        /// The endpoint associated with the FTP connection
        pub fn set_host(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.host = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn port(mut self, input: i32) -> Self {
            self.port = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_port(mut self, input: std::option::Option<i32>) -> Self {
            self.port = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_after_retrieval(mut self, input: bool) -> Self {
            self.delete_after_retrieval = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_after_retrieval(mut self, input: std::option::Option<bool>) -> Self {
            self.delete_after_retrieval = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ignore_file_timestamps(mut self, input: bool) -> Self {
            self.ignore_file_timestamps = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ignore_file_timestamps(mut self, input: std::option::Option<bool>) -> Self {
            self.ignore_file_timestamps = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enable_polling(mut self, input: bool) -> Self {
            self.enable_polling = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enable_polling(mut self, input: std::option::Option<bool>) -> Self {
            self.enable_polling = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn polling_interval(mut self, input: i32) -> Self {
            self.polling_interval = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_polling_interval(mut self, input: std::option::Option<i32>) -> Self {
            self.polling_interval = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn polling_interval_unit(mut self, input: crate::model::FtpIntervalUnit) -> Self {
            self.polling_interval_unit = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_polling_interval_unit(
            mut self,
            input: std::option::Option<crate::model::FtpIntervalUnit>,
        ) -> Self {
            self.polling_interval_unit = input;
            self
        }
        /// The timestamp when the last poll occurred
        pub fn last_poll_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_poll_at = Some(input);
            self
        }
        /// The timestamp when the last poll occurred
        pub fn set_last_poll_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_poll_at = input;
            self
        }
        /// Number of times to retry connecting
        pub fn retries(mut self, input: i32) -> Self {
            self.retries = Some(input);
            self
        }
        /// Number of times to retry connecting
        pub fn set_retries(mut self, input: std::option::Option<i32>) -> Self {
            self.retries = input;
            self
        }
        /// How long (in ms) to wait for the SSH handshake
        pub fn ready_timeout(mut self, input: i32) -> Self {
            self.ready_timeout = Some(input);
            self
        }
        /// How long (in ms) to wait for the SSH handshake
        pub fn set_ready_timeout(mut self, input: std::option::Option<i32>) -> Self {
            self.ready_timeout = input;
            self
        }
        /// The underlying socket timeout in ms. Default: none
        pub fn timeout(mut self, input: i32) -> Self {
            self.timeout = Some(input);
            self
        }
        /// The underlying socket timeout in ms. Default: none
        pub fn set_timeout(mut self, input: std::option::Option<i32>) -> Self {
            self.timeout = input;
            self
        }
        /// Explicit overrides for the default transport layer algorithms used for the connection
        pub fn algorithms(mut self, input: crate::model::RemoteFtpAlgorithms) -> Self {
            self.algorithms = Some(input);
            self
        }
        /// Explicit overrides for the default transport layer algorithms used for the connection
        pub fn set_algorithms(
            mut self,
            input: std::option::Option<crate::model::RemoteFtpAlgorithms>,
        ) -> Self {
            self.algorithms = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateRemoteFtpConnectionOutput`](crate::output::UpdateRemoteFtpConnectionOutput).
        pub fn build(self) -> crate::output::UpdateRemoteFtpConnectionOutput {
            crate::output::UpdateRemoteFtpConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                root_directory: self.root_directory,
                host: self.host,
                username: self.username,
                port: self.port,
                delete_after_retrieval: self.delete_after_retrieval,
                ignore_file_timestamps: self.ignore_file_timestamps,
                enable_polling: self.enable_polling,
                polling_interval: self.polling_interval,
                polling_interval_unit: self.polling_interval_unit,
                last_poll_at: self.last_poll_at,
                retries: self.retries,
                ready_timeout: self.ready_timeout,
                timeout: self.timeout,
                algorithms: self.algorithms,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl UpdateRemoteFtpConnectionOutput {
    /// Creates a new builder-style object to manufacture [`UpdateRemoteFtpConnectionOutput`](crate::output::UpdateRemoteFtpConnectionOutput).
    pub fn builder() -> crate::output::update_remote_ftp_connection_output::Builder {
        crate::output::update_remote_ftp_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetRemoteFtpConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    /// The root directory for this FTP connection
    #[doc(hidden)]
    pub root_directory: std::option::Option<std::string::String>,
    /// The endpoint associated with the FTP connection
    #[doc(hidden)]
    pub host: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub port: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_after_retrieval: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ignore_file_timestamps: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enable_polling: std::option::Option<bool>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub polling_interval: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub polling_interval_unit: std::option::Option<crate::model::FtpIntervalUnit>,
    /// The timestamp when the last poll occurred
    #[doc(hidden)]
    pub last_poll_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Number of times to retry connecting
    #[doc(hidden)]
    pub retries: std::option::Option<i32>,
    /// How long (in ms) to wait for the SSH handshake
    #[doc(hidden)]
    pub ready_timeout: std::option::Option<i32>,
    /// The underlying socket timeout in ms. Default: none
    #[doc(hidden)]
    pub timeout: std::option::Option<i32>,
    /// Explicit overrides for the default transport layer algorithms used for the connection
    #[doc(hidden)]
    pub algorithms: std::option::Option<crate::model::RemoteFtpAlgorithms>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl GetRemoteFtpConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    /// The root directory for this FTP connection
    pub fn root_directory(&self) -> std::option::Option<&str> {
        self.root_directory.as_deref()
    }
    /// The endpoint associated with the FTP connection
    pub fn host(&self) -> std::option::Option<&str> {
        self.host.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn port(&self) -> std::option::Option<i32> {
        self.port
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_after_retrieval(&self) -> std::option::Option<bool> {
        self.delete_after_retrieval
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ignore_file_timestamps(&self) -> std::option::Option<bool> {
        self.ignore_file_timestamps
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enable_polling(&self) -> std::option::Option<bool> {
        self.enable_polling
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn polling_interval(&self) -> std::option::Option<i32> {
        self.polling_interval
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn polling_interval_unit(&self) -> std::option::Option<&crate::model::FtpIntervalUnit> {
        self.polling_interval_unit.as_ref()
    }
    /// The timestamp when the last poll occurred
    pub fn last_poll_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_poll_at.as_ref()
    }
    /// Number of times to retry connecting
    pub fn retries(&self) -> std::option::Option<i32> {
        self.retries
    }
    /// How long (in ms) to wait for the SSH handshake
    pub fn ready_timeout(&self) -> std::option::Option<i32> {
        self.ready_timeout
    }
    /// The underlying socket timeout in ms. Default: none
    pub fn timeout(&self) -> std::option::Option<i32> {
        self.timeout
    }
    /// Explicit overrides for the default transport layer algorithms used for the connection
    pub fn algorithms(&self) -> std::option::Option<&crate::model::RemoteFtpAlgorithms> {
        self.algorithms.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`GetRemoteFtpConnectionOutput`](crate::output::GetRemoteFtpConnectionOutput).
pub mod get_remote_ftp_connection_output {

    /// A builder for [`GetRemoteFtpConnectionOutput`](crate::output::GetRemoteFtpConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) root_directory: std::option::Option<std::string::String>,
        pub(crate) host: std::option::Option<std::string::String>,
        pub(crate) username: std::option::Option<std::string::String>,
        pub(crate) port: std::option::Option<i32>,
        pub(crate) delete_after_retrieval: std::option::Option<bool>,
        pub(crate) ignore_file_timestamps: std::option::Option<bool>,
        pub(crate) enable_polling: std::option::Option<bool>,
        pub(crate) polling_interval: std::option::Option<i32>,
        pub(crate) polling_interval_unit: std::option::Option<crate::model::FtpIntervalUnit>,
        pub(crate) last_poll_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) retries: std::option::Option<i32>,
        pub(crate) ready_timeout: std::option::Option<i32>,
        pub(crate) timeout: std::option::Option<i32>,
        pub(crate) algorithms: std::option::Option<crate::model::RemoteFtpAlgorithms>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        /// The root directory for this FTP connection
        pub fn root_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.root_directory = Some(input.into());
            self
        }
        /// The root directory for this FTP connection
        pub fn set_root_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.root_directory = input;
            self
        }
        /// The endpoint associated with the FTP connection
        pub fn host(mut self, input: impl Into<std::string::String>) -> Self {
            self.host = Some(input.into());
            self
        }
        /// The endpoint associated with the FTP connection
        pub fn set_host(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.host = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn port(mut self, input: i32) -> Self {
            self.port = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_port(mut self, input: std::option::Option<i32>) -> Self {
            self.port = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_after_retrieval(mut self, input: bool) -> Self {
            self.delete_after_retrieval = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_after_retrieval(mut self, input: std::option::Option<bool>) -> Self {
            self.delete_after_retrieval = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ignore_file_timestamps(mut self, input: bool) -> Self {
            self.ignore_file_timestamps = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ignore_file_timestamps(mut self, input: std::option::Option<bool>) -> Self {
            self.ignore_file_timestamps = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enable_polling(mut self, input: bool) -> Self {
            self.enable_polling = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enable_polling(mut self, input: std::option::Option<bool>) -> Self {
            self.enable_polling = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn polling_interval(mut self, input: i32) -> Self {
            self.polling_interval = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_polling_interval(mut self, input: std::option::Option<i32>) -> Self {
            self.polling_interval = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn polling_interval_unit(mut self, input: crate::model::FtpIntervalUnit) -> Self {
            self.polling_interval_unit = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_polling_interval_unit(
            mut self,
            input: std::option::Option<crate::model::FtpIntervalUnit>,
        ) -> Self {
            self.polling_interval_unit = input;
            self
        }
        /// The timestamp when the last poll occurred
        pub fn last_poll_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_poll_at = Some(input);
            self
        }
        /// The timestamp when the last poll occurred
        pub fn set_last_poll_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_poll_at = input;
            self
        }
        /// Number of times to retry connecting
        pub fn retries(mut self, input: i32) -> Self {
            self.retries = Some(input);
            self
        }
        /// Number of times to retry connecting
        pub fn set_retries(mut self, input: std::option::Option<i32>) -> Self {
            self.retries = input;
            self
        }
        /// How long (in ms) to wait for the SSH handshake
        pub fn ready_timeout(mut self, input: i32) -> Self {
            self.ready_timeout = Some(input);
            self
        }
        /// How long (in ms) to wait for the SSH handshake
        pub fn set_ready_timeout(mut self, input: std::option::Option<i32>) -> Self {
            self.ready_timeout = input;
            self
        }
        /// The underlying socket timeout in ms. Default: none
        pub fn timeout(mut self, input: i32) -> Self {
            self.timeout = Some(input);
            self
        }
        /// The underlying socket timeout in ms. Default: none
        pub fn set_timeout(mut self, input: std::option::Option<i32>) -> Self {
            self.timeout = input;
            self
        }
        /// Explicit overrides for the default transport layer algorithms used for the connection
        pub fn algorithms(mut self, input: crate::model::RemoteFtpAlgorithms) -> Self {
            self.algorithms = Some(input);
            self
        }
        /// Explicit overrides for the default transport layer algorithms used for the connection
        pub fn set_algorithms(
            mut self,
            input: std::option::Option<crate::model::RemoteFtpAlgorithms>,
        ) -> Self {
            self.algorithms = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`GetRemoteFtpConnectionOutput`](crate::output::GetRemoteFtpConnectionOutput).
        pub fn build(self) -> crate::output::GetRemoteFtpConnectionOutput {
            crate::output::GetRemoteFtpConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                root_directory: self.root_directory,
                host: self.host,
                username: self.username,
                port: self.port,
                delete_after_retrieval: self.delete_after_retrieval,
                ignore_file_timestamps: self.ignore_file_timestamps,
                enable_polling: self.enable_polling,
                polling_interval: self.polling_interval,
                polling_interval_unit: self.polling_interval_unit,
                last_poll_at: self.last_poll_at,
                retries: self.retries,
                ready_timeout: self.ready_timeout,
                timeout: self.timeout,
                algorithms: self.algorithms,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl GetRemoteFtpConnectionOutput {
    /// Creates a new builder-style object to manufacture [`GetRemoteFtpConnectionOutput`](crate::output::GetRemoteFtpConnectionOutput).
    pub fn builder() -> crate::output::get_remote_ftp_connection_output::Builder {
        crate::output::get_remote_ftp_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<std::string::String>,
    /// The X12 transaction set code, can include industry identifier.
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub guide_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_application_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_application_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub connection: std::option::Option<crate::model::OutboundConnection>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl CreateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&str> {
        self.release.as_deref()
    }
    /// The X12 transaction set code, can include industry identifier.
    pub fn transaction_set_identifier(&self) -> std::option::Option<&str> {
        self.transaction_set_identifier.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn guide_id(&self) -> std::option::Option<&str> {
        self.guide_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_application_id(&self) -> std::option::Option<&str> {
        self.local_application_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_application_id(&self) -> std::option::Option<&str> {
        self.partner_application_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn connection(&self) -> std::option::Option<&crate::model::OutboundConnection> {
        self.connection.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.outbound_x12_transaction_settings_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`CreateOutboundX12TransactionSettingsOutput`](crate::output::CreateOutboundX12TransactionSettingsOutput).
pub mod create_outbound_x12_transaction_settings_output {

    /// A builder for [`CreateOutboundX12TransactionSettingsOutput`](crate::output::CreateOutboundX12TransactionSettingsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) release: std::option::Option<std::string::String>,
        pub(crate) transaction_set_identifier: std::option::Option<std::string::String>,
        pub(crate) guide_id: std::option::Option<std::string::String>,
        pub(crate) local_application_id: std::option::Option<std::string::String>,
        pub(crate) partner_application_id: std::option::Option<std::string::String>,
        pub(crate) connection: std::option::Option<crate::model::OutboundConnection>,
        pub(crate) outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn release(mut self, input: impl Into<std::string::String>) -> Self {
            self.release = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.release = input;
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn transaction_set_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.transaction_set_identifier = Some(input.into());
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.transaction_set_identifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn guide_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.guide_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_guide_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.guide_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_application_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_application_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_application_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_application_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_application_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_application_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_application_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_application_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn connection(mut self, input: crate::model::OutboundConnection) -> Self {
            self.connection = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_connection(
            mut self,
            input: std::option::Option<crate::model::OutboundConnection>,
        ) -> Self {
            self.connection = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_x12_transaction_settings_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.outbound_x12_transaction_settings_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_x12_transaction_settings_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_x12_transaction_settings_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateOutboundX12TransactionSettingsOutput`](crate::output::CreateOutboundX12TransactionSettingsOutput).
        pub fn build(self) -> crate::output::CreateOutboundX12TransactionSettingsOutput {
            crate::output::CreateOutboundX12TransactionSettingsOutput {
                release: self.release,
                transaction_set_identifier: self.transaction_set_identifier,
                guide_id: self.guide_id,
                local_application_id: self.local_application_id,
                partner_application_id: self.partner_application_id,
                connection: self.connection,
                outbound_x12_transaction_settings_id: self.outbound_x12_transaction_settings_id,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl CreateOutboundX12TransactionSettingsOutput {
    /// Creates a new builder-style object to manufacture [`CreateOutboundX12TransactionSettingsOutput`](crate::output::CreateOutboundX12TransactionSettingsOutput).
    pub fn builder() -> crate::output::create_outbound_x12_transaction_settings_output::Builder {
        crate::output::create_outbound_x12_transaction_settings_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<std::string::String>,
    /// The X12 transaction set code, can include industry identifier.
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub guide_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_application_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_application_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub connection: std::option::Option<crate::model::OutboundConnection>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl UpdateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&str> {
        self.release.as_deref()
    }
    /// The X12 transaction set code, can include industry identifier.
    pub fn transaction_set_identifier(&self) -> std::option::Option<&str> {
        self.transaction_set_identifier.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn guide_id(&self) -> std::option::Option<&str> {
        self.guide_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_application_id(&self) -> std::option::Option<&str> {
        self.local_application_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_application_id(&self) -> std::option::Option<&str> {
        self.partner_application_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn connection(&self) -> std::option::Option<&crate::model::OutboundConnection> {
        self.connection.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.outbound_x12_transaction_settings_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`UpdateOutboundX12TransactionSettingsOutput`](crate::output::UpdateOutboundX12TransactionSettingsOutput).
pub mod update_outbound_x12_transaction_settings_output {

    /// A builder for [`UpdateOutboundX12TransactionSettingsOutput`](crate::output::UpdateOutboundX12TransactionSettingsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) release: std::option::Option<std::string::String>,
        pub(crate) transaction_set_identifier: std::option::Option<std::string::String>,
        pub(crate) guide_id: std::option::Option<std::string::String>,
        pub(crate) local_application_id: std::option::Option<std::string::String>,
        pub(crate) partner_application_id: std::option::Option<std::string::String>,
        pub(crate) connection: std::option::Option<crate::model::OutboundConnection>,
        pub(crate) outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn release(mut self, input: impl Into<std::string::String>) -> Self {
            self.release = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.release = input;
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn transaction_set_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.transaction_set_identifier = Some(input.into());
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.transaction_set_identifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn guide_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.guide_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_guide_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.guide_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_application_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_application_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_application_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_application_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_application_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_application_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_application_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_application_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn connection(mut self, input: crate::model::OutboundConnection) -> Self {
            self.connection = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_connection(
            mut self,
            input: std::option::Option<crate::model::OutboundConnection>,
        ) -> Self {
            self.connection = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_x12_transaction_settings_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.outbound_x12_transaction_settings_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_x12_transaction_settings_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_x12_transaction_settings_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateOutboundX12TransactionSettingsOutput`](crate::output::UpdateOutboundX12TransactionSettingsOutput).
        pub fn build(self) -> crate::output::UpdateOutboundX12TransactionSettingsOutput {
            crate::output::UpdateOutboundX12TransactionSettingsOutput {
                release: self.release,
                transaction_set_identifier: self.transaction_set_identifier,
                guide_id: self.guide_id,
                local_application_id: self.local_application_id,
                partner_application_id: self.partner_application_id,
                connection: self.connection,
                outbound_x12_transaction_settings_id: self.outbound_x12_transaction_settings_id,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl UpdateOutboundX12TransactionSettingsOutput {
    /// Creates a new builder-style object to manufacture [`UpdateOutboundX12TransactionSettingsOutput`](crate::output::UpdateOutboundX12TransactionSettingsOutput).
    pub fn builder() -> crate::output::update_outbound_x12_transaction_settings_output::Builder {
        crate::output::update_outbound_x12_transaction_settings_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<std::string::String>,
    /// The X12 transaction set code, can include industry identifier.
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub guide_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_application_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_application_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub connection: std::option::Option<crate::model::OutboundConnection>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partnership_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl GetOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&str> {
        self.release.as_deref()
    }
    /// The X12 transaction set code, can include industry identifier.
    pub fn transaction_set_identifier(&self) -> std::option::Option<&str> {
        self.transaction_set_identifier.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn guide_id(&self) -> std::option::Option<&str> {
        self.guide_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_application_id(&self) -> std::option::Option<&str> {
        self.local_application_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_application_id(&self) -> std::option::Option<&str> {
        self.partner_application_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn connection(&self) -> std::option::Option<&crate::model::OutboundConnection> {
        self.connection.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.outbound_x12_transaction_settings_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partnership_id(&self) -> std::option::Option<&str> {
        self.partnership_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`GetOutboundX12TransactionSettingsOutput`](crate::output::GetOutboundX12TransactionSettingsOutput).
pub mod get_outbound_x12_transaction_settings_output {

    /// A builder for [`GetOutboundX12TransactionSettingsOutput`](crate::output::GetOutboundX12TransactionSettingsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) release: std::option::Option<std::string::String>,
        pub(crate) transaction_set_identifier: std::option::Option<std::string::String>,
        pub(crate) guide_id: std::option::Option<std::string::String>,
        pub(crate) local_application_id: std::option::Option<std::string::String>,
        pub(crate) partner_application_id: std::option::Option<std::string::String>,
        pub(crate) connection: std::option::Option<crate::model::OutboundConnection>,
        pub(crate) outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
        pub(crate) partnership_id: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn release(mut self, input: impl Into<std::string::String>) -> Self {
            self.release = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.release = input;
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn transaction_set_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.transaction_set_identifier = Some(input.into());
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.transaction_set_identifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn guide_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.guide_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_guide_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.guide_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_application_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_application_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_application_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_application_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_application_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_application_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_application_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_application_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn connection(mut self, input: crate::model::OutboundConnection) -> Self {
            self.connection = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_connection(
            mut self,
            input: std::option::Option<crate::model::OutboundConnection>,
        ) -> Self {
            self.connection = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_x12_transaction_settings_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.outbound_x12_transaction_settings_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_x12_transaction_settings_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_x12_transaction_settings_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partnership_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partnership_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partnership_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partnership_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`GetOutboundX12TransactionSettingsOutput`](crate::output::GetOutboundX12TransactionSettingsOutput).
        pub fn build(self) -> crate::output::GetOutboundX12TransactionSettingsOutput {
            crate::output::GetOutboundX12TransactionSettingsOutput {
                release: self.release,
                transaction_set_identifier: self.transaction_set_identifier,
                guide_id: self.guide_id,
                local_application_id: self.local_application_id,
                partner_application_id: self.partner_application_id,
                connection: self.connection,
                outbound_x12_transaction_settings_id: self.outbound_x12_transaction_settings_id,
                partnership_id: self.partnership_id,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl GetOutboundX12TransactionSettingsOutput {
    /// Creates a new builder-style object to manufacture [`GetOutboundX12TransactionSettingsOutput`](crate::output::GetOutboundX12TransactionSettingsOutput).
    pub fn builder() -> crate::output::get_outbound_x12_transaction_settings_output::Builder {
        crate::output::get_outbound_x12_transaction_settings_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetOutboundX12ControlNumbersOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_control_number: std::option::Option<i64>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub group_control_number: std::option::Option<i64>,
}
impl GetOutboundX12ControlNumbersOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_control_number(&self) -> std::option::Option<i64> {
        self.interchange_control_number
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn group_control_number(&self) -> std::option::Option<i64> {
        self.group_control_number
    }
}
/// See [`GetOutboundX12ControlNumbersOutput`](crate::output::GetOutboundX12ControlNumbersOutput).
pub mod get_outbound_x12_control_numbers_output {

    /// A builder for [`GetOutboundX12ControlNumbersOutput`](crate::output::GetOutboundX12ControlNumbersOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) interchange_control_number: std::option::Option<i64>,
        pub(crate) group_control_number: std::option::Option<i64>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_control_number(mut self, input: i64) -> Self {
            self.interchange_control_number = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_control_number(mut self, input: std::option::Option<i64>) -> Self {
            self.interchange_control_number = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn group_control_number(mut self, input: i64) -> Self {
            self.group_control_number = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_group_control_number(mut self, input: std::option::Option<i64>) -> Self {
            self.group_control_number = input;
            self
        }
        /// Consumes the builder and constructs a [`GetOutboundX12ControlNumbersOutput`](crate::output::GetOutboundX12ControlNumbersOutput).
        pub fn build(self) -> crate::output::GetOutboundX12ControlNumbersOutput {
            crate::output::GetOutboundX12ControlNumbersOutput {
                interchange_control_number: self.interchange_control_number,
                group_control_number: self.group_control_number,
            }
        }
    }
}
impl GetOutboundX12ControlNumbersOutput {
    /// Creates a new builder-style object to manufacture [`GetOutboundX12ControlNumbersOutput`](crate::output::GetOutboundX12ControlNumbersOutput).
    pub fn builder() -> crate::output::get_outbound_x12_control_numbers_output::Builder {
        crate::output::get_outbound_x12_control_numbers_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct SetOutboundX12ControlNumberOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub x12_control_number: std::option::Option<i64>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub control_number_type: std::option::Option<crate::model::X12ControlNumberType>,
}
impl SetOutboundX12ControlNumberOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn x12_control_number(&self) -> std::option::Option<i64> {
        self.x12_control_number
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn control_number_type(&self) -> std::option::Option<&crate::model::X12ControlNumberType> {
        self.control_number_type.as_ref()
    }
}
/// See [`SetOutboundX12ControlNumberOutput`](crate::output::SetOutboundX12ControlNumberOutput).
pub mod set_outbound_x12_control_number_output {

    /// A builder for [`SetOutboundX12ControlNumberOutput`](crate::output::SetOutboundX12ControlNumberOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) x12_control_number: std::option::Option<i64>,
        pub(crate) control_number_type: std::option::Option<crate::model::X12ControlNumberType>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn x12_control_number(mut self, input: i64) -> Self {
            self.x12_control_number = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_x12_control_number(mut self, input: std::option::Option<i64>) -> Self {
            self.x12_control_number = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn control_number_type(mut self, input: crate::model::X12ControlNumberType) -> Self {
            self.control_number_type = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_control_number_type(
            mut self,
            input: std::option::Option<crate::model::X12ControlNumberType>,
        ) -> Self {
            self.control_number_type = input;
            self
        }
        /// Consumes the builder and constructs a [`SetOutboundX12ControlNumberOutput`](crate::output::SetOutboundX12ControlNumberOutput).
        pub fn build(self) -> crate::output::SetOutboundX12ControlNumberOutput {
            crate::output::SetOutboundX12ControlNumberOutput {
                x12_control_number: self.x12_control_number,
                control_number_type: self.control_number_type,
            }
        }
    }
}
impl SetOutboundX12ControlNumberOutput {
    /// Creates a new builder-style object to manufacture [`SetOutboundX12ControlNumberOutput`](crate::output::SetOutboundX12ControlNumberOutput).
    pub fn builder() -> crate::output::set_outbound_x12_control_number_output::Builder {
        crate::output::set_outbound_x12_control_number_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateInboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<std::string::String>,
    /// The X12 transaction set code, can include industry identifier.
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub guide_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enable_fragments: bool,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub fragment_size: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
}
impl CreateInboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&str> {
        self.release.as_deref()
    }
    /// The X12 transaction set code, can include industry identifier.
    pub fn transaction_set_identifier(&self) -> std::option::Option<&str> {
        self.transaction_set_identifier.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn guide_id(&self) -> std::option::Option<&str> {
        self.guide_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enable_fragments(&self) -> bool {
        self.enable_fragments
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn fragment_size(&self) -> std::option::Option<i32> {
        self.fragment_size
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.inbound_x12_transaction_settings_id.as_deref()
    }
}
/// See [`CreateInboundX12TransactionSettingsOutput`](crate::output::CreateInboundX12TransactionSettingsOutput).
pub mod create_inbound_x12_transaction_settings_output {

    /// A builder for [`CreateInboundX12TransactionSettingsOutput`](crate::output::CreateInboundX12TransactionSettingsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) release: std::option::Option<std::string::String>,
        pub(crate) transaction_set_identifier: std::option::Option<std::string::String>,
        pub(crate) guide_id: std::option::Option<std::string::String>,
        pub(crate) enable_fragments: std::option::Option<bool>,
        pub(crate) fragment_size: std::option::Option<i32>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) inbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn release(mut self, input: impl Into<std::string::String>) -> Self {
            self.release = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.release = input;
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn transaction_set_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.transaction_set_identifier = Some(input.into());
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.transaction_set_identifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn guide_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.guide_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_guide_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.guide_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enable_fragments(mut self, input: bool) -> Self {
            self.enable_fragments = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enable_fragments(mut self, input: std::option::Option<bool>) -> Self {
            self.enable_fragments = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn fragment_size(mut self, input: i32) -> Self {
            self.fragment_size = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_fragment_size(mut self, input: std::option::Option<i32>) -> Self {
            self.fragment_size = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_x12_transaction_settings_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.inbound_x12_transaction_settings_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_x12_transaction_settings_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_x12_transaction_settings_id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateInboundX12TransactionSettingsOutput`](crate::output::CreateInboundX12TransactionSettingsOutput).
        pub fn build(self) -> crate::output::CreateInboundX12TransactionSettingsOutput {
            crate::output::CreateInboundX12TransactionSettingsOutput {
                release: self.release,
                transaction_set_identifier: self.transaction_set_identifier,
                guide_id: self.guide_id,
                enable_fragments: self.enable_fragments.unwrap_or_default(),
                fragment_size: self.fragment_size,
                created_at: self.created_at,
                updated_at: self.updated_at,
                inbound_x12_transaction_settings_id: self.inbound_x12_transaction_settings_id,
            }
        }
    }
}
impl CreateInboundX12TransactionSettingsOutput {
    /// Creates a new builder-style object to manufacture [`CreateInboundX12TransactionSettingsOutput`](crate::output::CreateInboundX12TransactionSettingsOutput).
    pub fn builder() -> crate::output::create_inbound_x12_transaction_settings_output::Builder {
        crate::output::create_inbound_x12_transaction_settings_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateInboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<std::string::String>,
    /// The X12 transaction set code, can include industry identifier.
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub guide_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enable_fragments: bool,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub fragment_size: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
}
impl UpdateInboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&str> {
        self.release.as_deref()
    }
    /// The X12 transaction set code, can include industry identifier.
    pub fn transaction_set_identifier(&self) -> std::option::Option<&str> {
        self.transaction_set_identifier.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn guide_id(&self) -> std::option::Option<&str> {
        self.guide_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enable_fragments(&self) -> bool {
        self.enable_fragments
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn fragment_size(&self) -> std::option::Option<i32> {
        self.fragment_size
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.inbound_x12_transaction_settings_id.as_deref()
    }
}
/// See [`UpdateInboundX12TransactionSettingsOutput`](crate::output::UpdateInboundX12TransactionSettingsOutput).
pub mod update_inbound_x12_transaction_settings_output {

    /// A builder for [`UpdateInboundX12TransactionSettingsOutput`](crate::output::UpdateInboundX12TransactionSettingsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) release: std::option::Option<std::string::String>,
        pub(crate) transaction_set_identifier: std::option::Option<std::string::String>,
        pub(crate) guide_id: std::option::Option<std::string::String>,
        pub(crate) enable_fragments: std::option::Option<bool>,
        pub(crate) fragment_size: std::option::Option<i32>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) inbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn release(mut self, input: impl Into<std::string::String>) -> Self {
            self.release = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.release = input;
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn transaction_set_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.transaction_set_identifier = Some(input.into());
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.transaction_set_identifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn guide_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.guide_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_guide_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.guide_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enable_fragments(mut self, input: bool) -> Self {
            self.enable_fragments = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enable_fragments(mut self, input: std::option::Option<bool>) -> Self {
            self.enable_fragments = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn fragment_size(mut self, input: i32) -> Self {
            self.fragment_size = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_fragment_size(mut self, input: std::option::Option<i32>) -> Self {
            self.fragment_size = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_x12_transaction_settings_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.inbound_x12_transaction_settings_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_x12_transaction_settings_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_x12_transaction_settings_id = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateInboundX12TransactionSettingsOutput`](crate::output::UpdateInboundX12TransactionSettingsOutput).
        pub fn build(self) -> crate::output::UpdateInboundX12TransactionSettingsOutput {
            crate::output::UpdateInboundX12TransactionSettingsOutput {
                release: self.release,
                transaction_set_identifier: self.transaction_set_identifier,
                guide_id: self.guide_id,
                enable_fragments: self.enable_fragments.unwrap_or_default(),
                fragment_size: self.fragment_size,
                created_at: self.created_at,
                updated_at: self.updated_at,
                inbound_x12_transaction_settings_id: self.inbound_x12_transaction_settings_id,
            }
        }
    }
}
impl UpdateInboundX12TransactionSettingsOutput {
    /// Creates a new builder-style object to manufacture [`UpdateInboundX12TransactionSettingsOutput`](crate::output::UpdateInboundX12TransactionSettingsOutput).
    pub fn builder() -> crate::output::update_inbound_x12_transaction_settings_output::Builder {
        crate::output::update_inbound_x12_transaction_settings_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetInboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<std::string::String>,
    /// The X12 transaction set code, can include industry identifier.
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub guide_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enable_fragments: bool,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub fragment_size: std::option::Option<i32>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partnership_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
}
impl GetInboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&str> {
        self.release.as_deref()
    }
    /// The X12 transaction set code, can include industry identifier.
    pub fn transaction_set_identifier(&self) -> std::option::Option<&str> {
        self.transaction_set_identifier.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn guide_id(&self) -> std::option::Option<&str> {
        self.guide_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enable_fragments(&self) -> bool {
        self.enable_fragments
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn fragment_size(&self) -> std::option::Option<i32> {
        self.fragment_size
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partnership_id(&self) -> std::option::Option<&str> {
        self.partnership_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.inbound_x12_transaction_settings_id.as_deref()
    }
}
/// See [`GetInboundX12TransactionSettingsOutput`](crate::output::GetInboundX12TransactionSettingsOutput).
pub mod get_inbound_x12_transaction_settings_output {

    /// A builder for [`GetInboundX12TransactionSettingsOutput`](crate::output::GetInboundX12TransactionSettingsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) release: std::option::Option<std::string::String>,
        pub(crate) transaction_set_identifier: std::option::Option<std::string::String>,
        pub(crate) guide_id: std::option::Option<std::string::String>,
        pub(crate) enable_fragments: std::option::Option<bool>,
        pub(crate) fragment_size: std::option::Option<i32>,
        pub(crate) partnership_id: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) inbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn release(mut self, input: impl Into<std::string::String>) -> Self {
            self.release = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.release = input;
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn transaction_set_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.transaction_set_identifier = Some(input.into());
            self
        }
        /// The X12 transaction set code, can include industry identifier.
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.transaction_set_identifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn guide_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.guide_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_guide_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.guide_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enable_fragments(mut self, input: bool) -> Self {
            self.enable_fragments = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enable_fragments(mut self, input: std::option::Option<bool>) -> Self {
            self.enable_fragments = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn fragment_size(mut self, input: i32) -> Self {
            self.fragment_size = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_fragment_size(mut self, input: std::option::Option<i32>) -> Self {
            self.fragment_size = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partnership_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partnership_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partnership_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partnership_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_x12_transaction_settings_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.inbound_x12_transaction_settings_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_x12_transaction_settings_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_x12_transaction_settings_id = input;
            self
        }
        /// Consumes the builder and constructs a [`GetInboundX12TransactionSettingsOutput`](crate::output::GetInboundX12TransactionSettingsOutput).
        pub fn build(self) -> crate::output::GetInboundX12TransactionSettingsOutput {
            crate::output::GetInboundX12TransactionSettingsOutput {
                release: self.release,
                transaction_set_identifier: self.transaction_set_identifier,
                guide_id: self.guide_id,
                enable_fragments: self.enable_fragments.unwrap_or_default(),
                fragment_size: self.fragment_size,
                partnership_id: self.partnership_id,
                created_at: self.created_at,
                updated_at: self.updated_at,
                inbound_x12_transaction_settings_id: self.inbound_x12_transaction_settings_id,
            }
        }
    }
}
impl GetInboundX12TransactionSettingsOutput {
    /// Creates a new builder-style object to manufacture [`GetInboundX12TransactionSettingsOutput`](crate::output::GetInboundX12TransactionSettingsOutput).
    pub fn builder() -> crate::output::get_inbound_x12_transaction_settings_output::Builder {
        crate::output::get_inbound_x12_transaction_settings_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetConnectionsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub buckets: std::option::Option<std::vec::Vec<crate::model::BucketConnectionFields>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub stedi_ftp: std::option::Option<std::vec::Vec<crate::model::StediFtpConnectionFields>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub remote_ftp: std::option::Option<std::vec::Vec<crate::model::RemoteFtpConnectionSummary>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub as2: std::option::Option<std::vec::Vec<crate::model::As2ConnectionSummary>>,
}
impl GetConnectionsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn buckets(&self) -> std::option::Option<&[crate::model::BucketConnectionFields]> {
        self.buckets.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn stedi_ftp(&self) -> std::option::Option<&[crate::model::StediFtpConnectionFields]> {
        self.stedi_ftp.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn remote_ftp(&self) -> std::option::Option<&[crate::model::RemoteFtpConnectionSummary]> {
        self.remote_ftp.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn as2(&self) -> std::option::Option<&[crate::model::As2ConnectionSummary]> {
        self.as2.as_deref()
    }
}
/// See [`GetConnectionsOutput`](crate::output::GetConnectionsOutput).
pub mod get_connections_output {

    /// A builder for [`GetConnectionsOutput`](crate::output::GetConnectionsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) buckets:
            std::option::Option<std::vec::Vec<crate::model::BucketConnectionFields>>,
        pub(crate) stedi_ftp:
            std::option::Option<std::vec::Vec<crate::model::StediFtpConnectionFields>>,
        pub(crate) remote_ftp:
            std::option::Option<std::vec::Vec<crate::model::RemoteFtpConnectionSummary>>,
        pub(crate) as2: std::option::Option<std::vec::Vec<crate::model::As2ConnectionSummary>>,
    }
    impl Builder {
        /// Appends an item to `buckets`.
        ///
        /// To override the contents of this collection use [`set_buckets`](Self::set_buckets).
        ///
        pub fn buckets(mut self, input: crate::model::BucketConnectionFields) -> Self {
            let mut v = self.buckets.unwrap_or_default();
            v.push(input);
            self.buckets = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_buckets(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::BucketConnectionFields>>,
        ) -> Self {
            self.buckets = input;
            self
        }
        /// Appends an item to `stedi_ftp`.
        ///
        /// To override the contents of this collection use [`set_stedi_ftp`](Self::set_stedi_ftp).
        ///
        pub fn stedi_ftp(mut self, input: crate::model::StediFtpConnectionFields) -> Self {
            let mut v = self.stedi_ftp.unwrap_or_default();
            v.push(input);
            self.stedi_ftp = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_stedi_ftp(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::StediFtpConnectionFields>>,
        ) -> Self {
            self.stedi_ftp = input;
            self
        }
        /// Appends an item to `remote_ftp`.
        ///
        /// To override the contents of this collection use [`set_remote_ftp`](Self::set_remote_ftp).
        ///
        pub fn remote_ftp(mut self, input: crate::model::RemoteFtpConnectionSummary) -> Self {
            let mut v = self.remote_ftp.unwrap_or_default();
            v.push(input);
            self.remote_ftp = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_remote_ftp(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::RemoteFtpConnectionSummary>>,
        ) -> Self {
            self.remote_ftp = input;
            self
        }
        /// Appends an item to `as2`.
        ///
        /// To override the contents of this collection use [`set_as2`](Self::set_as2).
        ///
        pub fn as2(mut self, input: crate::model::As2ConnectionSummary) -> Self {
            let mut v = self.as2.unwrap_or_default();
            v.push(input);
            self.as2 = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_as2(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::As2ConnectionSummary>>,
        ) -> Self {
            self.as2 = input;
            self
        }
        /// Consumes the builder and constructs a [`GetConnectionsOutput`](crate::output::GetConnectionsOutput).
        pub fn build(self) -> crate::output::GetConnectionsOutput {
            crate::output::GetConnectionsOutput {
                buckets: self.buckets,
                stedi_ftp: self.stedi_ftp,
                remote_ftp: self.remote_ftp,
                as2: self.as2,
            }
        }
    }
}
impl GetConnectionsOutput {
    /// Creates a new builder-style object to manufacture [`GetConnectionsOutput`](crate::output::GetConnectionsOutput).
    pub fn builder() -> crate::output::get_connections_output::Builder {
        crate::output::get_connections_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateBucketConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_inbound_files_on_receipt: bool,
    /// The name of the stedi bucket
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub parent_directory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl CreateBucketConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_inbound_files_on_receipt(&self) -> bool {
        self.delete_inbound_files_on_receipt
    }
    /// The name of the stedi bucket
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn parent_directory(&self) -> std::option::Option<&str> {
        self.parent_directory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`CreateBucketConnectionOutput`](crate::output::CreateBucketConnectionOutput).
pub mod create_bucket_connection_output {

    /// A builder for [`CreateBucketConnectionOutput`](crate::output::CreateBucketConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) delete_inbound_files_on_receipt: std::option::Option<bool>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) parent_directory: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_inbound_files_on_receipt(mut self, input: bool) -> Self {
            self.delete_inbound_files_on_receipt = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_inbound_files_on_receipt(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.delete_inbound_files_on_receipt = input;
            self
        }
        /// The name of the stedi bucket
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The name of the stedi bucket
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn parent_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.parent_directory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_parent_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.parent_directory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateBucketConnectionOutput`](crate::output::CreateBucketConnectionOutput).
        pub fn build(self) -> crate::output::CreateBucketConnectionOutput {
            crate::output::CreateBucketConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                delete_inbound_files_on_receipt: self
                    .delete_inbound_files_on_receipt
                    .unwrap_or_default(),
                bucket_name: self.bucket_name,
                parent_directory: self.parent_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl CreateBucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`CreateBucketConnectionOutput`](crate::output::CreateBucketConnectionOutput).
    pub fn builder() -> crate::output::create_bucket_connection_output::Builder {
        crate::output::create_bucket_connection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateBucketConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_inbound_files_on_receipt: bool,
    /// The name of the stedi bucket
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub parent_directory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl UpdateBucketConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_inbound_files_on_receipt(&self) -> bool {
        self.delete_inbound_files_on_receipt
    }
    /// The name of the stedi bucket
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn parent_directory(&self) -> std::option::Option<&str> {
        self.parent_directory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`UpdateBucketConnectionOutput`](crate::output::UpdateBucketConnectionOutput).
pub mod update_bucket_connection_output {

    /// A builder for [`UpdateBucketConnectionOutput`](crate::output::UpdateBucketConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) delete_inbound_files_on_receipt: std::option::Option<bool>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) parent_directory: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_inbound_files_on_receipt(mut self, input: bool) -> Self {
            self.delete_inbound_files_on_receipt = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_inbound_files_on_receipt(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.delete_inbound_files_on_receipt = input;
            self
        }
        /// The name of the stedi bucket
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The name of the stedi bucket
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn parent_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.parent_directory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_parent_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.parent_directory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateBucketConnectionOutput`](crate::output::UpdateBucketConnectionOutput).
        pub fn build(self) -> crate::output::UpdateBucketConnectionOutput {
            crate::output::UpdateBucketConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                delete_inbound_files_on_receipt: self
                    .delete_inbound_files_on_receipt
                    .unwrap_or_default(),
                bucket_name: self.bucket_name,
                parent_directory: self.parent_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl UpdateBucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`UpdateBucketConnectionOutput`](crate::output::UpdateBucketConnectionOutput).
    pub fn builder() -> crate::output::update_bucket_connection_output::Builder {
        crate::output::update_bucket_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetBucketConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_subdirectory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub delete_inbound_files_on_receipt: bool,
    /// The name of the stedi bucket
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub parent_directory: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl GetBucketConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_subdirectory(&self) -> std::option::Option<&str> {
        self.inbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_subdirectory(&self) -> std::option::Option<&str> {
        self.outbound_subdirectory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn delete_inbound_files_on_receipt(&self) -> bool {
        self.delete_inbound_files_on_receipt
    }
    /// The name of the stedi bucket
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn parent_directory(&self) -> std::option::Option<&str> {
        self.parent_directory.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`GetBucketConnectionOutput`](crate::output::GetBucketConnectionOutput).
pub mod get_bucket_connection_output {

    /// A builder for [`GetBucketConnectionOutput`](crate::output::GetBucketConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) delete_inbound_files_on_receipt: std::option::Option<bool>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) parent_directory: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.inbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.inbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_subdirectory(mut self, input: impl Into<std::string::String>) -> Self {
            self.outbound_subdirectory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_subdirectory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.outbound_subdirectory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn delete_inbound_files_on_receipt(mut self, input: bool) -> Self {
            self.delete_inbound_files_on_receipt = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_delete_inbound_files_on_receipt(
            mut self,
            input: std::option::Option<bool>,
        ) -> Self {
            self.delete_inbound_files_on_receipt = input;
            self
        }
        /// The name of the stedi bucket
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The name of the stedi bucket
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn parent_directory(mut self, input: impl Into<std::string::String>) -> Self {
            self.parent_directory = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_parent_directory(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.parent_directory = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`GetBucketConnectionOutput`](crate::output::GetBucketConnectionOutput).
        pub fn build(self) -> crate::output::GetBucketConnectionOutput {
            crate::output::GetBucketConnectionOutput {
                name: self.name,
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                delete_inbound_files_on_receipt: self
                    .delete_inbound_files_on_receipt
                    .unwrap_or_default(),
                bucket_name: self.bucket_name,
                parent_directory: self.parent_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl GetBucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`GetBucketConnectionOutput`](crate::output::GetBucketConnectionOutput).
    pub fn builder() -> crate::output::get_bucket_connection_output::Builder {
        crate::output::get_bucket_connection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateAs2BasicAuthOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub username: std::option::Option<std::string::String>,
}
impl UpdateAs2BasicAuthOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn username(&self) -> std::option::Option<&str> {
        self.username.as_deref()
    }
}
/// See [`UpdateAs2BasicAuthOutput`](crate::output::UpdateAs2BasicAuthOutput).
pub mod update_as2_basic_auth_output {

    /// A builder for [`UpdateAs2BasicAuthOutput`](crate::output::UpdateAs2BasicAuthOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) username: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn username(mut self, input: impl Into<std::string::String>) -> Self {
            self.username = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_username(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.username = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateAs2BasicAuthOutput`](crate::output::UpdateAs2BasicAuthOutput).
        pub fn build(self) -> crate::output::UpdateAs2BasicAuthOutput {
            crate::output::UpdateAs2BasicAuthOutput {
                username: self.username,
            }
        }
    }
}
impl UpdateAs2BasicAuthOutput {
    /// Creates a new builder-style object to manufacture [`UpdateAs2BasicAuthOutput`](crate::output::UpdateAs2BasicAuthOutput).
    pub fn builder() -> crate::output::update_as2_basic_auth_output::Builder {
        crate::output::update_as2_basic_auth_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateAs2ConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_as2_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_as2_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_settings: std::option::Option<crate::model::As2InboundFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_settings: std::option::Option<crate::model::As2OutboundFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub certificate_version: std::option::Option<crate::model::As2CertificateVersion>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl CreateAs2ConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_as2_id(&self) -> std::option::Option<&str> {
        self.local_as2_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_as2_id(&self) -> std::option::Option<&str> {
        self.partner_as2_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_settings(&self) -> std::option::Option<&crate::model::As2InboundFields> {
        self.inbound_settings.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_settings(&self) -> std::option::Option<&crate::model::As2OutboundFields> {
        self.outbound_settings.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn certificate_version(&self) -> std::option::Option<&crate::model::As2CertificateVersion> {
        self.certificate_version.as_ref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`CreateAs2ConnectionOutput`](crate::output::CreateAs2ConnectionOutput).
pub mod create_as2_connection_output {

    /// A builder for [`CreateAs2ConnectionOutput`](crate::output::CreateAs2ConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) local_as2_id: std::option::Option<std::string::String>,
        pub(crate) partner_as2_id: std::option::Option<std::string::String>,
        pub(crate) inbound_settings: std::option::Option<crate::model::As2InboundFields>,
        pub(crate) outbound_settings: std::option::Option<crate::model::As2OutboundFields>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) certificate_version: std::option::Option<crate::model::As2CertificateVersion>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_as2_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_as2_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_as2_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.local_as2_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_as2_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_as2_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_as2_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_as2_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_settings(mut self, input: crate::model::As2InboundFields) -> Self {
            self.inbound_settings = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_settings(
            mut self,
            input: std::option::Option<crate::model::As2InboundFields>,
        ) -> Self {
            self.inbound_settings = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_settings(mut self, input: crate::model::As2OutboundFields) -> Self {
            self.outbound_settings = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_settings(
            mut self,
            input: std::option::Option<crate::model::As2OutboundFields>,
        ) -> Self {
            self.outbound_settings = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn certificate_version(mut self, input: crate::model::As2CertificateVersion) -> Self {
            self.certificate_version = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_certificate_version(
            mut self,
            input: std::option::Option<crate::model::As2CertificateVersion>,
        ) -> Self {
            self.certificate_version = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateAs2ConnectionOutput`](crate::output::CreateAs2ConnectionOutput).
        pub fn build(self) -> crate::output::CreateAs2ConnectionOutput {
            crate::output::CreateAs2ConnectionOutput {
                name: self.name,
                local_as2_id: self.local_as2_id,
                partner_as2_id: self.partner_as2_id,
                inbound_settings: self.inbound_settings,
                outbound_settings: self.outbound_settings,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                certificate_version: self.certificate_version,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl CreateAs2ConnectionOutput {
    /// Creates a new builder-style object to manufacture [`CreateAs2ConnectionOutput`](crate::output::CreateAs2ConnectionOutput).
    pub fn builder() -> crate::output::create_as2_connection_output::Builder {
        crate::output::create_as2_connection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateAs2ConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_as2_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_as2_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_settings: std::option::Option<crate::model::As2InboundFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_settings: std::option::Option<crate::model::As2OutboundFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub certificate_version: std::option::Option<crate::model::As2CertificateVersion>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl UpdateAs2ConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_as2_id(&self) -> std::option::Option<&str> {
        self.local_as2_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_as2_id(&self) -> std::option::Option<&str> {
        self.partner_as2_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_settings(&self) -> std::option::Option<&crate::model::As2InboundFields> {
        self.inbound_settings.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_settings(&self) -> std::option::Option<&crate::model::As2OutboundFields> {
        self.outbound_settings.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn certificate_version(&self) -> std::option::Option<&crate::model::As2CertificateVersion> {
        self.certificate_version.as_ref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`UpdateAs2ConnectionOutput`](crate::output::UpdateAs2ConnectionOutput).
pub mod update_as2_connection_output {

    /// A builder for [`UpdateAs2ConnectionOutput`](crate::output::UpdateAs2ConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) local_as2_id: std::option::Option<std::string::String>,
        pub(crate) partner_as2_id: std::option::Option<std::string::String>,
        pub(crate) inbound_settings: std::option::Option<crate::model::As2InboundFields>,
        pub(crate) outbound_settings: std::option::Option<crate::model::As2OutboundFields>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) certificate_version: std::option::Option<crate::model::As2CertificateVersion>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_as2_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_as2_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_as2_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.local_as2_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_as2_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_as2_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_as2_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_as2_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_settings(mut self, input: crate::model::As2InboundFields) -> Self {
            self.inbound_settings = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_settings(
            mut self,
            input: std::option::Option<crate::model::As2InboundFields>,
        ) -> Self {
            self.inbound_settings = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_settings(mut self, input: crate::model::As2OutboundFields) -> Self {
            self.outbound_settings = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_settings(
            mut self,
            input: std::option::Option<crate::model::As2OutboundFields>,
        ) -> Self {
            self.outbound_settings = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn certificate_version(mut self, input: crate::model::As2CertificateVersion) -> Self {
            self.certificate_version = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_certificate_version(
            mut self,
            input: std::option::Option<crate::model::As2CertificateVersion>,
        ) -> Self {
            self.certificate_version = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateAs2ConnectionOutput`](crate::output::UpdateAs2ConnectionOutput).
        pub fn build(self) -> crate::output::UpdateAs2ConnectionOutput {
            crate::output::UpdateAs2ConnectionOutput {
                name: self.name,
                local_as2_id: self.local_as2_id,
                partner_as2_id: self.partner_as2_id,
                inbound_settings: self.inbound_settings,
                outbound_settings: self.outbound_settings,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                certificate_version: self.certificate_version,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl UpdateAs2ConnectionOutput {
    /// Creates a new builder-style object to manufacture [`UpdateAs2ConnectionOutput`](crate::output::UpdateAs2ConnectionOutput).
    pub fn builder() -> crate::output::update_as2_connection_output::Builder {
        crate::output::update_as2_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetAs2ConnectionOutput {
    /// The name of the connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_as2_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_as2_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_settings: std::option::Option<crate::model::As2InboundFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_settings: std::option::Option<crate::model::As2OutboundFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub certificate_version: std::option::Option<crate::model::As2CertificateVersion>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl GetAs2ConnectionOutput {
    /// The name of the connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_as2_id(&self) -> std::option::Option<&str> {
        self.local_as2_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_as2_id(&self) -> std::option::Option<&str> {
        self.partner_as2_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_settings(&self) -> std::option::Option<&crate::model::As2InboundFields> {
        self.inbound_settings.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_settings(&self) -> std::option::Option<&crate::model::As2OutboundFields> {
        self.outbound_settings.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn certificate_version(&self) -> std::option::Option<&crate::model::As2CertificateVersion> {
        self.certificate_version.as_ref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`GetAs2ConnectionOutput`](crate::output::GetAs2ConnectionOutput).
pub mod get_as2_connection_output {

    /// A builder for [`GetAs2ConnectionOutput`](crate::output::GetAs2ConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) local_as2_id: std::option::Option<std::string::String>,
        pub(crate) partner_as2_id: std::option::Option<std::string::String>,
        pub(crate) inbound_settings: std::option::Option<crate::model::As2InboundFields>,
        pub(crate) outbound_settings: std::option::Option<crate::model::As2OutboundFields>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) certificate_version: std::option::Option<crate::model::As2CertificateVersion>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_as2_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_as2_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_as2_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.local_as2_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_as2_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_as2_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_as2_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_as2_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn inbound_settings(mut self, input: crate::model::As2InboundFields) -> Self {
            self.inbound_settings = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_settings(
            mut self,
            input: std::option::Option<crate::model::As2InboundFields>,
        ) -> Self {
            self.inbound_settings = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn outbound_settings(mut self, input: crate::model::As2OutboundFields) -> Self {
            self.outbound_settings = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_settings(
            mut self,
            input: std::option::Option<crate::model::As2OutboundFields>,
        ) -> Self {
            self.outbound_settings = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn certificate_version(mut self, input: crate::model::As2CertificateVersion) -> Self {
            self.certificate_version = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_certificate_version(
            mut self,
            input: std::option::Option<crate::model::As2CertificateVersion>,
        ) -> Self {
            self.certificate_version = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`GetAs2ConnectionOutput`](crate::output::GetAs2ConnectionOutput).
        pub fn build(self) -> crate::output::GetAs2ConnectionOutput {
            crate::output::GetAs2ConnectionOutput {
                name: self.name,
                local_as2_id: self.local_as2_id,
                partner_as2_id: self.partner_as2_id,
                inbound_settings: self.inbound_settings,
                outbound_settings: self.outbound_settings,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                certificate_version: self.certificate_version,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl GetAs2ConnectionOutput {
    /// Creates a new builder-style object to manufacture [`GetAs2ConnectionOutput`](crate::output::GetAs2ConnectionOutput).
    pub fn builder() -> crate::output::get_as2_connection_output::Builder {
        crate::output::get_as2_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListGlobalConnectionsOutput {
    /// The token used for pagination
    #[doc(hidden)]
    pub next_page_token: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::GlobalConnectionSummary>>,
}
impl ListGlobalConnectionsOutput {
    /// The token used for pagination
    pub fn next_page_token(&self) -> std::option::Option<&str> {
        self.next_page_token.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn items(&self) -> std::option::Option<&[crate::model::GlobalConnectionSummary]> {
        self.items.as_deref()
    }
}
/// See [`ListGlobalConnectionsOutput`](crate::output::ListGlobalConnectionsOutput).
pub mod list_global_connections_output {

    /// A builder for [`ListGlobalConnectionsOutput`](crate::output::ListGlobalConnectionsOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_page_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::GlobalConnectionSummary>>,
    }
    impl Builder {
        /// The token used for pagination
        pub fn next_page_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_page_token = Some(input.into());
            self
        }
        /// The token used for pagination
        pub fn set_next_page_token(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.next_page_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        pub fn items(mut self, input: crate::model::GlobalConnectionSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::GlobalConnectionSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListGlobalConnectionsOutput`](crate::output::ListGlobalConnectionsOutput).
        pub fn build(self) -> crate::output::ListGlobalConnectionsOutput {
            crate::output::ListGlobalConnectionsOutput {
                next_page_token: self.next_page_token,
                items: self.items,
            }
        }
    }
}
impl ListGlobalConnectionsOutput {
    /// Creates a new builder-style object to manufacture [`ListGlobalConnectionsOutput`](crate::output::ListGlobalConnectionsOutput).
    pub fn builder() -> crate::output::list_global_connections_output::Builder {
        crate::output::list_global_connections_output::Builder::default()
    }
}

/// The set of fields that are editable by the user for a global connection
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateGlobalConnectionOutput {
    /// The name of the global connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// The name of the stedi bucket
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl CreateGlobalConnectionOutput {
    /// The name of the global connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// The name of the stedi bucket
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`CreateGlobalConnectionOutput`](crate::output::CreateGlobalConnectionOutput).
pub mod create_global_connection_output {

    /// A builder for [`CreateGlobalConnectionOutput`](crate::output::CreateGlobalConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the global connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the global connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// The name of the stedi bucket
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The name of the stedi bucket
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateGlobalConnectionOutput`](crate::output::CreateGlobalConnectionOutput).
        pub fn build(self) -> crate::output::CreateGlobalConnectionOutput {
            crate::output::CreateGlobalConnectionOutput {
                name: self.name,
                bucket_name: self.bucket_name,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl CreateGlobalConnectionOutput {
    /// Creates a new builder-style object to manufacture [`CreateGlobalConnectionOutput`](crate::output::CreateGlobalConnectionOutput).
    pub fn builder() -> crate::output::create_global_connection_output::Builder {
        crate::output::create_global_connection_output::Builder::default()
    }
}

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

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

/// The set of fields that are editable by the user for a global connection
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateGlobalConnectionOutput {
    /// The name of the global connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// The name of the stedi bucket
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl UpdateGlobalConnectionOutput {
    /// The name of the global connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// The name of the stedi bucket
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`UpdateGlobalConnectionOutput`](crate::output::UpdateGlobalConnectionOutput).
pub mod update_global_connection_output {

    /// A builder for [`UpdateGlobalConnectionOutput`](crate::output::UpdateGlobalConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the global connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the global connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// The name of the stedi bucket
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The name of the stedi bucket
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateGlobalConnectionOutput`](crate::output::UpdateGlobalConnectionOutput).
        pub fn build(self) -> crate::output::UpdateGlobalConnectionOutput {
            crate::output::UpdateGlobalConnectionOutput {
                name: self.name,
                bucket_name: self.bucket_name,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl UpdateGlobalConnectionOutput {
    /// Creates a new builder-style object to manufacture [`UpdateGlobalConnectionOutput`](crate::output::UpdateGlobalConnectionOutput).
    pub fn builder() -> crate::output::update_global_connection_output::Builder {
        crate::output::update_global_connection_output::Builder::default()
    }
}

/// The set of fields that are editable by the user for a global connection
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetGlobalConnectionOutput {
    /// The name of the global connection
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// The name of the stedi bucket
    #[doc(hidden)]
    pub bucket_name: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    /// Autogenerated identifier for a connection
    #[doc(hidden)]
    pub connection_id: std::option::Option<std::string::String>,
    /// Connection Status
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::StackStatus>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub enabled: std::option::Option<bool>,
}
impl GetGlobalConnectionOutput {
    /// The name of the global connection
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// The name of the stedi bucket
    pub fn bucket_name(&self) -> std::option::Option<&str> {
        self.bucket_name.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    /// Autogenerated identifier for a connection
    pub fn connection_id(&self) -> std::option::Option<&str> {
        self.connection_id.as_deref()
    }
    /// Connection Status
    pub fn status(&self) -> std::option::Option<&crate::model::StackStatus> {
        self.status.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn enabled(&self) -> std::option::Option<bool> {
        self.enabled
    }
}
/// See [`GetGlobalConnectionOutput`](crate::output::GetGlobalConnectionOutput).
pub mod get_global_connection_output {

    /// A builder for [`GetGlobalConnectionOutput`](crate::output::GetGlobalConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) bucket_name: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) connection_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::StackStatus>,
        pub(crate) enabled: std::option::Option<bool>,
    }
    impl Builder {
        /// The name of the global connection
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// The name of the global connection
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// The name of the stedi bucket
        pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        /// The name of the stedi bucket
        pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.bucket_name = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Autogenerated identifier for a connection
        pub fn connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_id = Some(input.into());
            self
        }
        /// Autogenerated identifier for a connection
        pub fn set_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_id = input;
            self
        }
        /// Connection Status
        pub fn status(mut self, input: crate::model::StackStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// Connection Status
        pub fn set_status(mut self, input: std::option::Option<crate::model::StackStatus>) -> Self {
            self.status = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn enabled(mut self, input: bool) -> Self {
            self.enabled = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_enabled(mut self, input: std::option::Option<bool>) -> Self {
            self.enabled = input;
            self
        }
        /// Consumes the builder and constructs a [`GetGlobalConnectionOutput`](crate::output::GetGlobalConnectionOutput).
        pub fn build(self) -> crate::output::GetGlobalConnectionOutput {
            crate::output::GetGlobalConnectionOutput {
                name: self.name,
                bucket_name: self.bucket_name,
                created_at: self.created_at,
                updated_at: self.updated_at,
                connection_id: self.connection_id,
                status: self.status,
                enabled: self.enabled,
            }
        }
    }
}
impl GetGlobalConnectionOutput {
    /// Creates a new builder-style object to manufacture [`GetGlobalConnectionOutput`](crate::output::GetGlobalConnectionOutput).
    pub fn builder() -> crate::output::get_global_connection_output::Builder {
        crate::output::get_global_connection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct IncrementX12ControlNumberOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub x12_control_number: std::option::Option<i64>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub control_number_type: std::option::Option<crate::model::X12ControlNumberType>,
}
impl IncrementX12ControlNumberOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn x12_control_number(&self) -> std::option::Option<i64> {
        self.x12_control_number
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn control_number_type(&self) -> std::option::Option<&crate::model::X12ControlNumberType> {
        self.control_number_type.as_ref()
    }
}
/// See [`IncrementX12ControlNumberOutput`](crate::output::IncrementX12ControlNumberOutput).
pub mod increment_x12_control_number_output {

    /// A builder for [`IncrementX12ControlNumberOutput`](crate::output::IncrementX12ControlNumberOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) x12_control_number: std::option::Option<i64>,
        pub(crate) control_number_type: std::option::Option<crate::model::X12ControlNumberType>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn x12_control_number(mut self, input: i64) -> Self {
            self.x12_control_number = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_x12_control_number(mut self, input: std::option::Option<i64>) -> Self {
            self.x12_control_number = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn control_number_type(mut self, input: crate::model::X12ControlNumberType) -> Self {
            self.control_number_type = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_control_number_type(
            mut self,
            input: std::option::Option<crate::model::X12ControlNumberType>,
        ) -> Self {
            self.control_number_type = input;
            self
        }
        /// Consumes the builder and constructs a [`IncrementX12ControlNumberOutput`](crate::output::IncrementX12ControlNumberOutput).
        pub fn build(self) -> crate::output::IncrementX12ControlNumberOutput {
            crate::output::IncrementX12ControlNumberOutput {
                x12_control_number: self.x12_control_number,
                control_number_type: self.control_number_type,
            }
        }
    }
}
impl IncrementX12ControlNumberOutput {
    /// Creates a new builder-style object to manufacture [`IncrementX12ControlNumberOutput`](crate::output::IncrementX12ControlNumberOutput).
    pub fn builder() -> crate::output::increment_x12_control_number_output::Builder {
        crate::output::increment_x12_control_number_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetX12ProfileByInterchangeOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_qualifier: std::option::Option<crate::model::X12InterchangeQualifier>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub profile_type: std::option::Option<crate::model::ProfileType>,
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    #[doc(hidden)]
    pub application_identifiers: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl GetX12ProfileByInterchangeOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_qualifier(
        &self,
    ) -> std::option::Option<&crate::model::X12InterchangeQualifier> {
        self.interchange_qualifier.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_id(&self) -> std::option::Option<&str> {
        self.interchange_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_id(&self) -> std::option::Option<&str> {
        self.profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn profile_type(&self) -> std::option::Option<&crate::model::ProfileType> {
        self.profile_type.as_ref()
    }
    /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
    pub fn application_identifiers(
        &self,
    ) -> std::option::Option<&[crate::model::X12ApplicationId]> {
        self.application_identifiers.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
}
/// See [`GetX12ProfileByInterchangeOutput`](crate::output::GetX12ProfileByInterchangeOutput).
pub mod get_x12_profile_by_interchange_output {

    /// A builder for [`GetX12ProfileByInterchangeOutput`](crate::output::GetX12ProfileByInterchangeOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) interchange_qualifier:
            std::option::Option<crate::model::X12InterchangeQualifier>,
        pub(crate) interchange_id: std::option::Option<std::string::String>,
        pub(crate) profile_id: std::option::Option<std::string::String>,
        pub(crate) profile_type: std::option::Option<crate::model::ProfileType>,
        pub(crate) application_identifiers:
            std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_qualifier(
            mut self,
            input: crate::model::X12InterchangeQualifier,
        ) -> Self {
            self.interchange_qualifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_qualifier(
            mut self,
            input: std::option::Option<crate::model::X12InterchangeQualifier>,
        ) -> Self {
            self.interchange_qualifier = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.interchange_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.interchange_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn profile_type(mut self, input: crate::model::ProfileType) -> Self {
            self.profile_type = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_profile_type(
            mut self,
            input: std::option::Option<crate::model::ProfileType>,
        ) -> Self {
            self.profile_type = input;
            self
        }
        /// Appends an item to `application_identifiers`.
        ///
        /// To override the contents of this collection use [`set_application_identifiers`](Self::set_application_identifiers).
        ///
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn application_identifiers(mut self, input: crate::model::X12ApplicationId) -> Self {
            let mut v = self.application_identifiers.unwrap_or_default();
            v.push(input);
            self.application_identifiers = Some(v);
            self
        }
        /// Store the application ids provided by your partner, with the ability to select one as the default. These values can be used to configure the GS-02, GS-03 of the outbound transaction settings.
        pub fn set_application_identifiers(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::X12ApplicationId>>,
        ) -> Self {
            self.application_identifiers = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        /// Consumes the builder and constructs a [`GetX12ProfileByInterchangeOutput`](crate::output::GetX12ProfileByInterchangeOutput).
        pub fn build(self) -> crate::output::GetX12ProfileByInterchangeOutput {
            crate::output::GetX12ProfileByInterchangeOutput {
                interchange_qualifier: self.interchange_qualifier,
                interchange_id: self.interchange_id,
                profile_id: self.profile_id,
                profile_type: self.profile_type,
                application_identifiers: self.application_identifiers,
                created_at: self.created_at,
                updated_at: self.updated_at,
            }
        }
    }
}
impl GetX12ProfileByInterchangeOutput {
    /// Creates a new builder-style object to manufacture [`GetX12ProfileByInterchangeOutput`](crate::output::GetX12ProfileByInterchangeOutput).
    pub fn builder() -> crate::output::get_x12_profile_by_interchange_output::Builder {
        crate::output::get_x12_profile_by_interchange_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetX12PartnershipByInterchangesOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partnership_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_profile_id: std::option::Option<std::string::String>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub interchange_usage_indicator: std::option::Option<crate::model::X12UsageIndicator>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub timezone: std::option::Option<crate::model::Timezone>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub time_format: std::option::Option<crate::model::X12TimeFormat>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub ack_configuration: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub updated_at: std::option::Option<aws_smithy_types::DateTime>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub local_profile: std::option::Option<crate::model::X12ProfileFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub partner_profile: std::option::Option<crate::model::X12ProfileFields>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub inbound_transactions:
        std::option::Option<std::vec::Vec<crate::model::InboundX12TransactionSettingsSummary>>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub outbound_transactions:
        std::option::Option<std::vec::Vec<crate::model::OutboundX12TransactionSettingsSummary>>,
}
impl GetX12PartnershipByInterchangesOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn partnership_id(&self) -> std::option::Option<&str> {
        self.partnership_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_profile_id(&self) -> std::option::Option<&str> {
        self.local_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_profile_id(&self) -> std::option::Option<&str> {
        self.partner_profile_id.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn interchange_usage_indicator(
        &self,
    ) -> std::option::Option<&crate::model::X12UsageIndicator> {
        self.interchange_usage_indicator.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn timezone(&self) -> std::option::Option<&crate::model::Timezone> {
        self.timezone.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn time_format(&self) -> std::option::Option<&crate::model::X12TimeFormat> {
        self.time_format.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn ack_configuration(
        &self,
    ) -> std::option::Option<&crate::model::X12PartnershipAckConfiguration> {
        self.ack_configuration.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn updated_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.updated_at.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn local_profile(&self) -> std::option::Option<&crate::model::X12ProfileFields> {
        self.local_profile.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn partner_profile(&self) -> std::option::Option<&crate::model::X12ProfileFields> {
        self.partner_profile.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn inbound_transactions(
        &self,
    ) -> std::option::Option<&[crate::model::InboundX12TransactionSettingsSummary]> {
        self.inbound_transactions.as_deref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn outbound_transactions(
        &self,
    ) -> std::option::Option<&[crate::model::OutboundX12TransactionSettingsSummary]> {
        self.outbound_transactions.as_deref()
    }
}
/// See [`GetX12PartnershipByInterchangesOutput`](crate::output::GetX12PartnershipByInterchangesOutput).
pub mod get_x12_partnership_by_interchanges_output {

    /// A builder for [`GetX12PartnershipByInterchangesOutput`](crate::output::GetX12PartnershipByInterchangesOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) partnership_id: std::option::Option<std::string::String>,
        pub(crate) local_profile_id: std::option::Option<std::string::String>,
        pub(crate) partner_profile_id: std::option::Option<std::string::String>,
        pub(crate) interchange_usage_indicator:
            std::option::Option<crate::model::X12UsageIndicator>,
        pub(crate) timezone: std::option::Option<crate::model::Timezone>,
        pub(crate) time_format: std::option::Option<crate::model::X12TimeFormat>,
        pub(crate) ack_configuration:
            std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) local_profile: std::option::Option<crate::model::X12ProfileFields>,
        pub(crate) partner_profile: std::option::Option<crate::model::X12ProfileFields>,
        pub(crate) inbound_transactions:
            std::option::Option<std::vec::Vec<crate::model::InboundX12TransactionSettingsSummary>>,
        pub(crate) outbound_transactions:
            std::option::Option<std::vec::Vec<crate::model::OutboundX12TransactionSettingsSummary>>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn partnership_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partnership_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partnership_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partnership_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.local_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.local_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_profile_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.partner_profile_id = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_profile_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.partner_profile_id = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn interchange_usage_indicator(
            mut self,
            input: crate::model::X12UsageIndicator,
        ) -> Self {
            self.interchange_usage_indicator = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_interchange_usage_indicator(
            mut self,
            input: std::option::Option<crate::model::X12UsageIndicator>,
        ) -> Self {
            self.interchange_usage_indicator = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn timezone(mut self, input: crate::model::Timezone) -> Self {
            self.timezone = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_timezone(mut self, input: std::option::Option<crate::model::Timezone>) -> Self {
            self.timezone = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn time_format(mut self, input: crate::model::X12TimeFormat) -> Self {
            self.time_format = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_time_format(
            mut self,
            input: std::option::Option<crate::model::X12TimeFormat>,
        ) -> Self {
            self.time_format = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn ack_configuration(
            mut self,
            input: crate::model::X12PartnershipAckConfiguration,
        ) -> Self {
            self.ack_configuration = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_ack_configuration(
            mut self,
            input: std::option::Option<crate::model::X12PartnershipAckConfiguration>,
        ) -> Self {
            self.ack_configuration = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn updated_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.updated_at = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_updated_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.updated_at = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn local_profile(mut self, input: crate::model::X12ProfileFields) -> Self {
            self.local_profile = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_local_profile(
            mut self,
            input: std::option::Option<crate::model::X12ProfileFields>,
        ) -> Self {
            self.local_profile = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn partner_profile(mut self, input: crate::model::X12ProfileFields) -> Self {
            self.partner_profile = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_partner_profile(
            mut self,
            input: std::option::Option<crate::model::X12ProfileFields>,
        ) -> Self {
            self.partner_profile = input;
            self
        }
        /// Appends an item to `inbound_transactions`.
        ///
        /// To override the contents of this collection use [`set_inbound_transactions`](Self::set_inbound_transactions).
        ///
        pub fn inbound_transactions(
            mut self,
            input: crate::model::InboundX12TransactionSettingsSummary,
        ) -> Self {
            let mut v = self.inbound_transactions.unwrap_or_default();
            v.push(input);
            self.inbound_transactions = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_inbound_transactions(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::InboundX12TransactionSettingsSummary>,
            >,
        ) -> Self {
            self.inbound_transactions = input;
            self
        }
        /// Appends an item to `outbound_transactions`.
        ///
        /// To override the contents of this collection use [`set_outbound_transactions`](Self::set_outbound_transactions).
        ///
        pub fn outbound_transactions(
            mut self,
            input: crate::model::OutboundX12TransactionSettingsSummary,
        ) -> Self {
            let mut v = self.outbound_transactions.unwrap_or_default();
            v.push(input);
            self.outbound_transactions = Some(v);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_outbound_transactions(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::OutboundX12TransactionSettingsSummary>,
            >,
        ) -> Self {
            self.outbound_transactions = input;
            self
        }
        /// Consumes the builder and constructs a [`GetX12PartnershipByInterchangesOutput`](crate::output::GetX12PartnershipByInterchangesOutput).
        pub fn build(self) -> crate::output::GetX12PartnershipByInterchangesOutput {
            crate::output::GetX12PartnershipByInterchangesOutput {
                partnership_id: self.partnership_id,
                local_profile_id: self.local_profile_id,
                partner_profile_id: self.partner_profile_id,
                interchange_usage_indicator: self.interchange_usage_indicator,
                timezone: self.timezone,
                time_format: self.time_format,
                ack_configuration: self.ack_configuration,
                created_at: self.created_at,
                updated_at: self.updated_at,
                local_profile: self.local_profile,
                partner_profile: self.partner_profile,
                inbound_transactions: self.inbound_transactions,
                outbound_transactions: self.outbound_transactions,
            }
        }
    }
}
impl GetX12PartnershipByInterchangesOutput {
    /// Creates a new builder-style object to manufacture [`GetX12PartnershipByInterchangesOutput`](crate::output::GetX12PartnershipByInterchangesOutput).
    pub fn builder() -> crate::output::get_x12_partnership_by_interchanges_output::Builder {
        crate::output::get_x12_partnership_by_interchanges_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GenerateEdiOutput {
    /// The edi that was generated
    #[doc(hidden)]
    pub edi: std::option::Option<std::string::String>,
    /// The id of the artifact placed in the customer's Core
    #[doc(hidden)]
    pub artifact_id: std::option::Option<std::string::String>,
    /// The file execution id used when placing the file in Core's outbound queue
    #[doc(hidden)]
    pub file_execution_id: std::option::Option<std::string::String>,
}
impl GenerateEdiOutput {
    /// The edi that was generated
    pub fn edi(&self) -> std::option::Option<&str> {
        self.edi.as_deref()
    }
    /// The id of the artifact placed in the customer's Core
    pub fn artifact_id(&self) -> std::option::Option<&str> {
        self.artifact_id.as_deref()
    }
    /// The file execution id used when placing the file in Core's outbound queue
    pub fn file_execution_id(&self) -> std::option::Option<&str> {
        self.file_execution_id.as_deref()
    }
}
/// See [`GenerateEdiOutput`](crate::output::GenerateEdiOutput).
pub mod generate_edi_output {

    /// A builder for [`GenerateEdiOutput`](crate::output::GenerateEdiOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) edi: std::option::Option<std::string::String>,
        pub(crate) artifact_id: std::option::Option<std::string::String>,
        pub(crate) file_execution_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// The edi that was generated
        pub fn edi(mut self, input: impl Into<std::string::String>) -> Self {
            self.edi = Some(input.into());
            self
        }
        /// The edi that was generated
        pub fn set_edi(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.edi = input;
            self
        }
        /// The id of the artifact placed in the customer's Core
        pub fn artifact_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.artifact_id = Some(input.into());
            self
        }
        /// The id of the artifact placed in the customer's Core
        pub fn set_artifact_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.artifact_id = input;
            self
        }
        /// The file execution id used when placing the file in Core's outbound queue
        pub fn file_execution_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.file_execution_id = Some(input.into());
            self
        }
        /// The file execution id used when placing the file in Core's outbound queue
        pub fn set_file_execution_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.file_execution_id = input;
            self
        }
        /// Consumes the builder and constructs a [`GenerateEdiOutput`](crate::output::GenerateEdiOutput).
        pub fn build(self) -> crate::output::GenerateEdiOutput {
            crate::output::GenerateEdiOutput {
                edi: self.edi,
                artifact_id: self.artifact_id,
                file_execution_id: self.file_execution_id,
            }
        }
    }
}
impl GenerateEdiOutput {
    /// Creates a new builder-style object to manufacture [`GenerateEdiOutput`](crate::output::GenerateEdiOutput).
    pub fn builder() -> crate::output::generate_edi_output::Builder {
        crate::output::generate_edi_output::Builder::default()
    }
}
