// 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 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 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) 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 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,
                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 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 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) 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 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,
                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 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 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) 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 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,
                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 GetX12ConnectionsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub buckets: std::option::Option<std::vec::Vec<crate::model::X12BucketConnectionFields>>,
}
impl GetX12ConnectionsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn buckets(&self) -> std::option::Option<&[crate::model::X12BucketConnectionFields]> {
        self.buckets.as_deref()
    }
}
/// See [`GetX12ConnectionsOutput`](crate::output::GetX12ConnectionsOutput).
pub mod get_x12_connections_output {

    /// A builder for [`GetX12ConnectionsOutput`](crate::output::GetX12ConnectionsOutput).
    #[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::X12BucketConnectionFields>>,
    }
    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::X12BucketConnectionFields) -> 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::X12BucketConnectionFields>>,
        ) -> Self {
            self.buckets = input;
            self
        }
        /// Consumes the builder and constructs a [`GetX12ConnectionsOutput`](crate::output::GetX12ConnectionsOutput).
        pub fn build(self) -> crate::output::GetX12ConnectionsOutput {
            crate::output::GetX12ConnectionsOutput {
                buckets: self.buckets,
            }
        }
    }
}
impl GetX12ConnectionsOutput {
    /// Creates a new builder-style object to manufacture [`GetX12ConnectionsOutput`](crate::output::GetX12ConnectionsOutput).
    pub fn builder() -> crate::output::get_x12_connections_output::Builder {
        crate::output::get_x12_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 CreateX12BucketConnectionOutput {
    #[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 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>,
    /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
    #[doc(hidden)]
    pub bucket_connection_id: std::option::Option<std::string::String>,
}
impl CreateX12BucketConnectionOutput {
    #[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 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()
    }
    /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
    pub fn bucket_connection_id(&self) -> std::option::Option<&str> {
        self.bucket_connection_id.as_deref()
    }
}
/// See [`CreateX12BucketConnectionOutput`](crate::output::CreateX12BucketConnectionOutput).
pub mod create_x12_bucket_connection_output {

    /// A builder for [`CreateX12BucketConnectionOutput`](crate::output::CreateX12BucketConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        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) bucket_connection_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[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 bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        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
        }
        /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
        pub fn bucket_connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_connection_id = Some(input.into());
            self
        }
        /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
        pub fn set_bucket_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.bucket_connection_id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateX12BucketConnectionOutput`](crate::output::CreateX12BucketConnectionOutput).
        pub fn build(self) -> crate::output::CreateX12BucketConnectionOutput {
            crate::output::CreateX12BucketConnectionOutput {
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                bucket_name: self.bucket_name,
                parent_directory: self.parent_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                bucket_connection_id: self.bucket_connection_id,
            }
        }
    }
}
impl CreateX12BucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`CreateX12BucketConnectionOutput`](crate::output::CreateX12BucketConnectionOutput).
    pub fn builder() -> crate::output::create_x12_bucket_connection_output::Builder {
        crate::output::create_x12_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 DeleteX12BucketConnectionOutput {}
/// See [`DeleteX12BucketConnectionOutput`](crate::output::DeleteX12BucketConnectionOutput).
pub mod delete_x12_bucket_connection_output {

    /// A builder for [`DeleteX12BucketConnectionOutput`](crate::output::DeleteX12BucketConnectionOutput).
    #[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 [`DeleteX12BucketConnectionOutput`](crate::output::DeleteX12BucketConnectionOutput).
        pub fn build(self) -> crate::output::DeleteX12BucketConnectionOutput {
            crate::output::DeleteX12BucketConnectionOutput {}
        }
    }
}
impl DeleteX12BucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`DeleteX12BucketConnectionOutput`](crate::output::DeleteX12BucketConnectionOutput).
    pub fn builder() -> crate::output::delete_x12_bucket_connection_output::Builder {
        crate::output::delete_x12_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 UpdateX12BucketConnectionOutput {
    #[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 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>,
    /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
    #[doc(hidden)]
    pub bucket_connection_id: std::option::Option<std::string::String>,
}
impl UpdateX12BucketConnectionOutput {
    #[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 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()
    }
    /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
    pub fn bucket_connection_id(&self) -> std::option::Option<&str> {
        self.bucket_connection_id.as_deref()
    }
}
/// See [`UpdateX12BucketConnectionOutput`](crate::output::UpdateX12BucketConnectionOutput).
pub mod update_x12_bucket_connection_output {

    /// A builder for [`UpdateX12BucketConnectionOutput`](crate::output::UpdateX12BucketConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        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) bucket_connection_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[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 bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        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
        }
        /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
        pub fn bucket_connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_connection_id = Some(input.into());
            self
        }
        /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
        pub fn set_bucket_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.bucket_connection_id = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateX12BucketConnectionOutput`](crate::output::UpdateX12BucketConnectionOutput).
        pub fn build(self) -> crate::output::UpdateX12BucketConnectionOutput {
            crate::output::UpdateX12BucketConnectionOutput {
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                bucket_name: self.bucket_name,
                parent_directory: self.parent_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                bucket_connection_id: self.bucket_connection_id,
            }
        }
    }
}
impl UpdateX12BucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`UpdateX12BucketConnectionOutput`](crate::output::UpdateX12BucketConnectionOutput).
    pub fn builder() -> crate::output::update_x12_bucket_connection_output::Builder {
        crate::output::update_x12_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 GetX12BucketConnectionOutput {
    #[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 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>,
    /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
    #[doc(hidden)]
    pub bucket_connection_id: std::option::Option<std::string::String>,
}
impl GetX12BucketConnectionOutput {
    #[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 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()
    }
    /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
    pub fn bucket_connection_id(&self) -> std::option::Option<&str> {
        self.bucket_connection_id.as_deref()
    }
}
/// See [`GetX12BucketConnectionOutput`](crate::output::GetX12BucketConnectionOutput).
pub mod get_x12_bucket_connection_output {

    /// A builder for [`GetX12BucketConnectionOutput`](crate::output::GetX12BucketConnectionOutput).
    #[non_exhaustive]
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) inbound_subdirectory: std::option::Option<std::string::String>,
        pub(crate) outbound_subdirectory: std::option::Option<std::string::String>,
        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) bucket_connection_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        #[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 bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_name = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        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
        }
        /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
        pub fn bucket_connection_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.bucket_connection_id = Some(input.into());
            self
        }
        /// ------------------------------------------- Connections ------------------------------------------- Autogenerated identifier for a bucket connection
        pub fn set_bucket_connection_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.bucket_connection_id = input;
            self
        }
        /// Consumes the builder and constructs a [`GetX12BucketConnectionOutput`](crate::output::GetX12BucketConnectionOutput).
        pub fn build(self) -> crate::output::GetX12BucketConnectionOutput {
            crate::output::GetX12BucketConnectionOutput {
                inbound_subdirectory: self.inbound_subdirectory,
                outbound_subdirectory: self.outbound_subdirectory,
                bucket_name: self.bucket_name,
                parent_directory: self.parent_directory,
                created_at: self.created_at,
                updated_at: self.updated_at,
                bucket_connection_id: self.bucket_connection_id,
            }
        }
    }
}
impl GetX12BucketConnectionOutput {
    /// Creates a new builder-style object to manufacture [`GetX12BucketConnectionOutput`](crate::output::GetX12BucketConnectionOutput).
    pub fn builder() -> crate::output::get_x12_bucket_connection_output::Builder {
        crate::output::get_x12_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 CreateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub release: std::option::Option<crate::model::X12Release>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<crate::model::X12TransactionSetCode>,
    #[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 bucket_connection:
        std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
    #[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 outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
}
impl CreateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&crate::model::X12Release> {
        self.release.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn transaction_set_identifier(
        &self,
    ) -> std::option::Option<&crate::model::X12TransactionSetCode> {
        self.transaction_set_identifier.as_ref()
    }
    #[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 bucket_connection(
        &self,
    ) -> std::option::Option<&crate::model::X12OutboundTransactionBucketConnection> {
        self.bucket_connection.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 outbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.outbound_x12_transaction_settings_id.as_deref()
    }
}
/// 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<crate::model::X12Release>,
        pub(crate) transaction_set_identifier:
            std::option::Option<crate::model::X12TransactionSetCode>,
        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) bucket_connection:
            std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) outbound_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: crate::model::X12Release) -> Self {
            self.release = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<crate::model::X12Release>) -> Self {
            self.release = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn transaction_set_identifier(
            mut self,
            input: crate::model::X12TransactionSetCode,
        ) -> Self {
            self.transaction_set_identifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<crate::model::X12TransactionSetCode>,
        ) -> 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 bucket_connection(
            mut self,
            input: crate::model::X12OutboundTransactionBucketConnection,
        ) -> Self {
            self.bucket_connection = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_bucket_connection(
            mut self,
            input: std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
        ) -> Self {
            self.bucket_connection = 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 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
        }
        /// 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,
                bucket_connection: self.bucket_connection,
                created_at: self.created_at,
                updated_at: self.updated_at,
                outbound_x12_transaction_settings_id: self.outbound_x12_transaction_settings_id,
            }
        }
    }
}
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<crate::model::X12Release>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<crate::model::X12TransactionSetCode>,
    #[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 bucket_connection:
        std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
    #[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 outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
}
impl UpdateOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&crate::model::X12Release> {
        self.release.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn transaction_set_identifier(
        &self,
    ) -> std::option::Option<&crate::model::X12TransactionSetCode> {
        self.transaction_set_identifier.as_ref()
    }
    #[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 bucket_connection(
        &self,
    ) -> std::option::Option<&crate::model::X12OutboundTransactionBucketConnection> {
        self.bucket_connection.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 outbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.outbound_x12_transaction_settings_id.as_deref()
    }
}
/// 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<crate::model::X12Release>,
        pub(crate) transaction_set_identifier:
            std::option::Option<crate::model::X12TransactionSetCode>,
        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) bucket_connection:
            std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) updated_at: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) outbound_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: crate::model::X12Release) -> Self {
            self.release = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<crate::model::X12Release>) -> Self {
            self.release = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn transaction_set_identifier(
            mut self,
            input: crate::model::X12TransactionSetCode,
        ) -> Self {
            self.transaction_set_identifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<crate::model::X12TransactionSetCode>,
        ) -> 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 bucket_connection(
            mut self,
            input: crate::model::X12OutboundTransactionBucketConnection,
        ) -> Self {
            self.bucket_connection = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_bucket_connection(
            mut self,
            input: std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
        ) -> Self {
            self.bucket_connection = 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 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
        }
        /// 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,
                bucket_connection: self.bucket_connection,
                created_at: self.created_at,
                updated_at: self.updated_at,
                outbound_x12_transaction_settings_id: self.outbound_x12_transaction_settings_id,
            }
        }
    }
}
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<crate::model::X12Release>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<crate::model::X12TransactionSetCode>,
    #[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 bucket_connection:
        std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
    #[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 outbound_x12_transaction_settings_id: std::option::Option<std::string::String>,
}
impl GetOutboundX12TransactionSettingsOutput {
    #[allow(missing_docs)] // documentation missing in model
    pub fn release(&self) -> std::option::Option<&crate::model::X12Release> {
        self.release.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn transaction_set_identifier(
        &self,
    ) -> std::option::Option<&crate::model::X12TransactionSetCode> {
        self.transaction_set_identifier.as_ref()
    }
    #[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 bucket_connection(
        &self,
    ) -> std::option::Option<&crate::model::X12OutboundTransactionBucketConnection> {
        self.bucket_connection.as_ref()
    }
    #[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 outbound_x12_transaction_settings_id(&self) -> std::option::Option<&str> {
        self.outbound_x12_transaction_settings_id.as_deref()
    }
}
/// 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<crate::model::X12Release>,
        pub(crate) transaction_set_identifier:
            std::option::Option<crate::model::X12TransactionSetCode>,
        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) bucket_connection:
            std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
        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) outbound_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: crate::model::X12Release) -> Self {
            self.release = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<crate::model::X12Release>) -> Self {
            self.release = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn transaction_set_identifier(
            mut self,
            input: crate::model::X12TransactionSetCode,
        ) -> Self {
            self.transaction_set_identifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<crate::model::X12TransactionSetCode>,
        ) -> 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 bucket_connection(
            mut self,
            input: crate::model::X12OutboundTransactionBucketConnection,
        ) -> Self {
            self.bucket_connection = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_bucket_connection(
            mut self,
            input: std::option::Option<crate::model::X12OutboundTransactionBucketConnection>,
        ) -> Self {
            self.bucket_connection = 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 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
        }
        /// 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,
                bucket_connection: self.bucket_connection,
                partnership_id: self.partnership_id,
                created_at: self.created_at,
                updated_at: self.updated_at,
                outbound_x12_transaction_settings_id: self.outbound_x12_transaction_settings_id,
            }
        }
    }
}
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<crate::model::X12Release>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<crate::model::X12TransactionSetCode>,
    #[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 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<&crate::model::X12Release> {
        self.release.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn transaction_set_identifier(
        &self,
    ) -> std::option::Option<&crate::model::X12TransactionSetCode> {
        self.transaction_set_identifier.as_ref()
    }
    #[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 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<crate::model::X12Release>,
        pub(crate) transaction_set_identifier:
            std::option::Option<crate::model::X12TransactionSetCode>,
        pub(crate) guide_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: crate::model::X12Release) -> Self {
            self.release = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<crate::model::X12Release>) -> Self {
            self.release = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn transaction_set_identifier(
            mut self,
            input: crate::model::X12TransactionSetCode,
        ) -> Self {
            self.transaction_set_identifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<crate::model::X12TransactionSetCode>,
        ) -> 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 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,
                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<crate::model::X12Release>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<crate::model::X12TransactionSetCode>,
    #[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 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<&crate::model::X12Release> {
        self.release.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn transaction_set_identifier(
        &self,
    ) -> std::option::Option<&crate::model::X12TransactionSetCode> {
        self.transaction_set_identifier.as_ref()
    }
    #[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 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<crate::model::X12Release>,
        pub(crate) transaction_set_identifier:
            std::option::Option<crate::model::X12TransactionSetCode>,
        pub(crate) guide_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: crate::model::X12Release) -> Self {
            self.release = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<crate::model::X12Release>) -> Self {
            self.release = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn transaction_set_identifier(
            mut self,
            input: crate::model::X12TransactionSetCode,
        ) -> Self {
            self.transaction_set_identifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<crate::model::X12TransactionSetCode>,
        ) -> 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 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,
                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<crate::model::X12Release>,
    #[allow(missing_docs)] // documentation missing in model
    #[doc(hidden)]
    pub transaction_set_identifier: std::option::Option<crate::model::X12TransactionSetCode>,
    #[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 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<&crate::model::X12Release> {
        self.release.as_ref()
    }
    #[allow(missing_docs)] // documentation missing in model
    pub fn transaction_set_identifier(
        &self,
    ) -> std::option::Option<&crate::model::X12TransactionSetCode> {
        self.transaction_set_identifier.as_ref()
    }
    #[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 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<crate::model::X12Release>,
        pub(crate) transaction_set_identifier:
            std::option::Option<crate::model::X12TransactionSetCode>,
        pub(crate) guide_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>,
        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: crate::model::X12Release) -> Self {
            self.release = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_release(mut self, input: std::option::Option<crate::model::X12Release>) -> Self {
            self.release = input;
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn transaction_set_identifier(
            mut self,
            input: crate::model::X12TransactionSetCode,
        ) -> Self {
            self.transaction_set_identifier = Some(input);
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        pub fn set_transaction_set_identifier(
            mut self,
            input: std::option::Option<crate::model::X12TransactionSetCode>,
        ) -> 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 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,
                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 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 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 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) 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 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,
                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 {
    #[allow(missing_docs)] // documentation missing in model
    #[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>,
}
impl GenerateEdiOutput {
    #[allow(missing_docs)] // documentation missing in model
    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()
    }
}
/// 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>,
    }
    impl Builder {
        #[allow(missing_docs)] // documentation missing in model
        pub fn edi(mut self, input: impl Into<std::string::String>) -> Self {
            self.edi = Some(input.into());
            self
        }
        #[allow(missing_docs)] // documentation missing in model
        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
        }
        /// 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,
            }
        }
    }
}
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()
    }
}
