aws-sdk-iotwireless 0.24.0

AWS SDK for AWS IoT Wireless
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateWirelessGatewayOutput {}
/// See [`UpdateWirelessGatewayOutput`](crate::output::UpdateWirelessGatewayOutput).
pub mod update_wireless_gateway_output {

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

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[deprecated(note = "This operation is no longer supported.")]
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdatePositionOutput {}
/// See [`UpdatePositionOutput`](crate::output::UpdatePositionOutput).
pub mod update_position_output {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// A builder for [`TestWirelessDeviceOutput`](crate::output::TestWirelessDeviceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) result: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The result returned by the test.</p>
        pub fn result(mut self, input: impl Into<std::string::String>) -> Self {
            self.result = Some(input.into());
            self
        }
        /// <p>The result returned by the test.</p>
        pub fn set_result(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.result = input;
            self
        }
        /// Consumes the builder and constructs a [`TestWirelessDeviceOutput`](crate::output::TestWirelessDeviceOutput).
        pub fn build(self) -> crate::output::TestWirelessDeviceOutput {
            crate::output::TestWirelessDeviceOutput {
                result: self.result,
            }
        }
    }
}
impl TestWirelessDeviceOutput {
    /// Creates a new builder-style object to manufacture [`TestWirelessDeviceOutput`](crate::output::TestWirelessDeviceOutput).
    pub fn builder() -> crate::output::test_wireless_device_output::Builder {
        crate::output::test_wireless_device_output::Builder::default()
    }
}

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

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

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

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

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct SendDataToWirelessDeviceOutput {
    /// <p>The ID of the message sent to the wireless device.</p>
    #[doc(hidden)]
    pub message_id: std::option::Option<std::string::String>,
}
impl SendDataToWirelessDeviceOutput {
    /// <p>The ID of the message sent to the wireless device.</p>
    pub fn message_id(&self) -> std::option::Option<&str> {
        self.message_id.as_deref()
    }
}
/// See [`SendDataToWirelessDeviceOutput`](crate::output::SendDataToWirelessDeviceOutput).
pub mod send_data_to_wireless_device_output {

    /// A builder for [`SendDataToWirelessDeviceOutput`](crate::output::SendDataToWirelessDeviceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) message_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The ID of the message sent to the wireless device.</p>
        pub fn message_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.message_id = Some(input.into());
            self
        }
        /// <p>The ID of the message sent to the wireless device.</p>
        pub fn set_message_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.message_id = input;
            self
        }
        /// Consumes the builder and constructs a [`SendDataToWirelessDeviceOutput`](crate::output::SendDataToWirelessDeviceOutput).
        pub fn build(self) -> crate::output::SendDataToWirelessDeviceOutput {
            crate::output::SendDataToWirelessDeviceOutput {
                message_id: self.message_id,
            }
        }
    }
}
impl SendDataToWirelessDeviceOutput {
    /// Creates a new builder-style object to manufacture [`SendDataToWirelessDeviceOutput`](crate::output::SendDataToWirelessDeviceOutput).
    pub fn builder() -> crate::output::send_data_to_wireless_device_output::Builder {
        crate::output::send_data_to_wireless_device_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct SendDataToMulticastGroupOutput {
    /// <p>ID of a multicast group message.</p>
    #[doc(hidden)]
    pub message_id: std::option::Option<std::string::String>,
}
impl SendDataToMulticastGroupOutput {
    /// <p>ID of a multicast group message.</p>
    pub fn message_id(&self) -> std::option::Option<&str> {
        self.message_id.as_deref()
    }
}
/// See [`SendDataToMulticastGroupOutput`](crate::output::SendDataToMulticastGroupOutput).
pub mod send_data_to_multicast_group_output {

    /// A builder for [`SendDataToMulticastGroupOutput`](crate::output::SendDataToMulticastGroupOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) message_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>ID of a multicast group message.</p>
        pub fn message_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.message_id = Some(input.into());
            self
        }
        /// <p>ID of a multicast group message.</p>
        pub fn set_message_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.message_id = input;
            self
        }
        /// Consumes the builder and constructs a [`SendDataToMulticastGroupOutput`](crate::output::SendDataToMulticastGroupOutput).
        pub fn build(self) -> crate::output::SendDataToMulticastGroupOutput {
            crate::output::SendDataToMulticastGroupOutput {
                message_id: self.message_id,
            }
        }
    }
}
impl SendDataToMulticastGroupOutput {
    /// Creates a new builder-style object to manufacture [`SendDataToMulticastGroupOutput`](crate::output::SendDataToMulticastGroupOutput).
    pub fn builder() -> crate::output::send_data_to_multicast_group_output::Builder {
        crate::output::send_data_to_multicast_group_output::Builder::default()
    }
}

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[deprecated(note = "This operation is no longer supported.")]
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct PutPositionConfigurationOutput {}
/// See [`PutPositionConfigurationOutput`](crate::output::PutPositionConfigurationOutput).
pub mod put_position_configuration_output {

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListWirelessGatewayTaskDefinitionsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The list of task definitions.</p>
    #[doc(hidden)]
    pub task_definitions:
        std::option::Option<std::vec::Vec<crate::model::UpdateWirelessGatewayTaskEntry>>,
}
impl ListWirelessGatewayTaskDefinitionsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The list of task definitions.</p>
    pub fn task_definitions(
        &self,
    ) -> std::option::Option<&[crate::model::UpdateWirelessGatewayTaskEntry]> {
        self.task_definitions.as_deref()
    }
}
/// See [`ListWirelessGatewayTaskDefinitionsOutput`](crate::output::ListWirelessGatewayTaskDefinitionsOutput).
pub mod list_wireless_gateway_task_definitions_output {

    /// A builder for [`ListWirelessGatewayTaskDefinitionsOutput`](crate::output::ListWirelessGatewayTaskDefinitionsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) task_definitions:
            std::option::Option<std::vec::Vec<crate::model::UpdateWirelessGatewayTaskEntry>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `task_definitions`.
        ///
        /// To override the contents of this collection use [`set_task_definitions`](Self::set_task_definitions).
        ///
        /// <p>The list of task definitions.</p>
        pub fn task_definitions(
            mut self,
            input: crate::model::UpdateWirelessGatewayTaskEntry,
        ) -> Self {
            let mut v = self.task_definitions.unwrap_or_default();
            v.push(input);
            self.task_definitions = Some(v);
            self
        }
        /// <p>The list of task definitions.</p>
        pub fn set_task_definitions(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::UpdateWirelessGatewayTaskEntry>>,
        ) -> Self {
            self.task_definitions = input;
            self
        }
        /// Consumes the builder and constructs a [`ListWirelessGatewayTaskDefinitionsOutput`](crate::output::ListWirelessGatewayTaskDefinitionsOutput).
        pub fn build(self) -> crate::output::ListWirelessGatewayTaskDefinitionsOutput {
            crate::output::ListWirelessGatewayTaskDefinitionsOutput {
                next_token: self.next_token,
                task_definitions: self.task_definitions,
            }
        }
    }
}
impl ListWirelessGatewayTaskDefinitionsOutput {
    /// Creates a new builder-style object to manufacture [`ListWirelessGatewayTaskDefinitionsOutput`](crate::output::ListWirelessGatewayTaskDefinitionsOutput).
    pub fn builder() -> crate::output::list_wireless_gateway_task_definitions_output::Builder {
        crate::output::list_wireless_gateway_task_definitions_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListWirelessGatewaysOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The ID of the wireless gateway.</p>
    #[doc(hidden)]
    pub wireless_gateway_list:
        std::option::Option<std::vec::Vec<crate::model::WirelessGatewayStatistics>>,
}
impl ListWirelessGatewaysOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The ID of the wireless gateway.</p>
    pub fn wireless_gateway_list(
        &self,
    ) -> std::option::Option<&[crate::model::WirelessGatewayStatistics]> {
        self.wireless_gateway_list.as_deref()
    }
}
/// See [`ListWirelessGatewaysOutput`](crate::output::ListWirelessGatewaysOutput).
pub mod list_wireless_gateways_output {

    /// A builder for [`ListWirelessGatewaysOutput`](crate::output::ListWirelessGatewaysOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) wireless_gateway_list:
            std::option::Option<std::vec::Vec<crate::model::WirelessGatewayStatistics>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `wireless_gateway_list`.
        ///
        /// To override the contents of this collection use [`set_wireless_gateway_list`](Self::set_wireless_gateway_list).
        ///
        /// <p>The ID of the wireless gateway.</p>
        pub fn wireless_gateway_list(
            mut self,
            input: crate::model::WirelessGatewayStatistics,
        ) -> Self {
            let mut v = self.wireless_gateway_list.unwrap_or_default();
            v.push(input);
            self.wireless_gateway_list = Some(v);
            self
        }
        /// <p>The ID of the wireless gateway.</p>
        pub fn set_wireless_gateway_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WirelessGatewayStatistics>>,
        ) -> Self {
            self.wireless_gateway_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListWirelessGatewaysOutput`](crate::output::ListWirelessGatewaysOutput).
        pub fn build(self) -> crate::output::ListWirelessGatewaysOutput {
            crate::output::ListWirelessGatewaysOutput {
                next_token: self.next_token,
                wireless_gateway_list: self.wireless_gateway_list,
            }
        }
    }
}
impl ListWirelessGatewaysOutput {
    /// Creates a new builder-style object to manufacture [`ListWirelessGatewaysOutput`](crate::output::ListWirelessGatewaysOutput).
    pub fn builder() -> crate::output::list_wireless_gateways_output::Builder {
        crate::output::list_wireless_gateways_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListWirelessDevicesOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The ID of the wireless device.</p>
    #[doc(hidden)]
    pub wireless_device_list:
        std::option::Option<std::vec::Vec<crate::model::WirelessDeviceStatistics>>,
}
impl ListWirelessDevicesOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The ID of the wireless device.</p>
    pub fn wireless_device_list(
        &self,
    ) -> std::option::Option<&[crate::model::WirelessDeviceStatistics]> {
        self.wireless_device_list.as_deref()
    }
}
/// See [`ListWirelessDevicesOutput`](crate::output::ListWirelessDevicesOutput).
pub mod list_wireless_devices_output {

    /// A builder for [`ListWirelessDevicesOutput`](crate::output::ListWirelessDevicesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) wireless_device_list:
            std::option::Option<std::vec::Vec<crate::model::WirelessDeviceStatistics>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `wireless_device_list`.
        ///
        /// To override the contents of this collection use [`set_wireless_device_list`](Self::set_wireless_device_list).
        ///
        /// <p>The ID of the wireless device.</p>
        pub fn wireless_device_list(
            mut self,
            input: crate::model::WirelessDeviceStatistics,
        ) -> Self {
            let mut v = self.wireless_device_list.unwrap_or_default();
            v.push(input);
            self.wireless_device_list = Some(v);
            self
        }
        /// <p>The ID of the wireless device.</p>
        pub fn set_wireless_device_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WirelessDeviceStatistics>>,
        ) -> Self {
            self.wireless_device_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListWirelessDevicesOutput`](crate::output::ListWirelessDevicesOutput).
        pub fn build(self) -> crate::output::ListWirelessDevicesOutput {
            crate::output::ListWirelessDevicesOutput {
                next_token: self.next_token,
                wireless_device_list: self.wireless_device_list,
            }
        }
    }
}
impl ListWirelessDevicesOutput {
    /// Creates a new builder-style object to manufacture [`ListWirelessDevicesOutput`](crate::output::ListWirelessDevicesOutput).
    pub fn builder() -> crate::output::list_wireless_devices_output::Builder {
        crate::output::list_wireless_devices_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListTagsForResourceOutput {
    /// <p>The tags to attach to the specified resource. Tags are metadata that you can use to manage a resource.</p>
    #[doc(hidden)]
    pub tags: std::option::Option<std::vec::Vec<crate::model::Tag>>,
}
impl ListTagsForResourceOutput {
    /// <p>The tags to attach to the specified resource. Tags are metadata that you can use to manage a resource.</p>
    pub fn tags(&self) -> std::option::Option<&[crate::model::Tag]> {
        self.tags.as_deref()
    }
}
/// See [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
pub mod list_tags_for_resource_output {

    /// A builder for [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) tags: std::option::Option<std::vec::Vec<crate::model::Tag>>,
    }
    impl Builder {
        /// Appends an item to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>The tags to attach to the specified resource. Tags are metadata that you can use to manage a resource.</p>
        pub fn tags(mut self, input: crate::model::Tag) -> Self {
            let mut v = self.tags.unwrap_or_default();
            v.push(input);
            self.tags = Some(v);
            self
        }
        /// <p>The tags to attach to the specified resource. Tags are metadata that you can use to manage a resource.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Tag>>,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
        pub fn build(self) -> crate::output::ListTagsForResourceOutput {
            crate::output::ListTagsForResourceOutput { tags: self.tags }
        }
    }
}
impl ListTagsForResourceOutput {
    /// Creates a new builder-style object to manufacture [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
    pub fn builder() -> crate::output::list_tags_for_resource_output::Builder {
        crate::output::list_tags_for_resource_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListServiceProfilesOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The list of service profiles.</p>
    #[doc(hidden)]
    pub service_profile_list: std::option::Option<std::vec::Vec<crate::model::ServiceProfile>>,
}
impl ListServiceProfilesOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The list of service profiles.</p>
    pub fn service_profile_list(&self) -> std::option::Option<&[crate::model::ServiceProfile]> {
        self.service_profile_list.as_deref()
    }
}
/// See [`ListServiceProfilesOutput`](crate::output::ListServiceProfilesOutput).
pub mod list_service_profiles_output {

    /// A builder for [`ListServiceProfilesOutput`](crate::output::ListServiceProfilesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) service_profile_list:
            std::option::Option<std::vec::Vec<crate::model::ServiceProfile>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `service_profile_list`.
        ///
        /// To override the contents of this collection use [`set_service_profile_list`](Self::set_service_profile_list).
        ///
        /// <p>The list of service profiles.</p>
        pub fn service_profile_list(mut self, input: crate::model::ServiceProfile) -> Self {
            let mut v = self.service_profile_list.unwrap_or_default();
            v.push(input);
            self.service_profile_list = Some(v);
            self
        }
        /// <p>The list of service profiles.</p>
        pub fn set_service_profile_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ServiceProfile>>,
        ) -> Self {
            self.service_profile_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListServiceProfilesOutput`](crate::output::ListServiceProfilesOutput).
        pub fn build(self) -> crate::output::ListServiceProfilesOutput {
            crate::output::ListServiceProfilesOutput {
                next_token: self.next_token,
                service_profile_list: self.service_profile_list,
            }
        }
    }
}
impl ListServiceProfilesOutput {
    /// Creates a new builder-style object to manufacture [`ListServiceProfilesOutput`](crate::output::ListServiceProfilesOutput).
    pub fn builder() -> crate::output::list_service_profiles_output::Builder {
        crate::output::list_service_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 ListQueuedMessagesOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The messages in the downlink queue.</p>
    #[doc(hidden)]
    pub downlink_queue_messages_list:
        std::option::Option<std::vec::Vec<crate::model::DownlinkQueueMessage>>,
}
impl ListQueuedMessagesOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The messages in the downlink queue.</p>
    pub fn downlink_queue_messages_list(
        &self,
    ) -> std::option::Option<&[crate::model::DownlinkQueueMessage]> {
        self.downlink_queue_messages_list.as_deref()
    }
}
/// See [`ListQueuedMessagesOutput`](crate::output::ListQueuedMessagesOutput).
pub mod list_queued_messages_output {

    /// A builder for [`ListQueuedMessagesOutput`](crate::output::ListQueuedMessagesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) downlink_queue_messages_list:
            std::option::Option<std::vec::Vec<crate::model::DownlinkQueueMessage>>,
    }
    impl Builder {
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `downlink_queue_messages_list`.
        ///
        /// To override the contents of this collection use [`set_downlink_queue_messages_list`](Self::set_downlink_queue_messages_list).
        ///
        /// <p>The messages in the downlink queue.</p>
        pub fn downlink_queue_messages_list(
            mut self,
            input: crate::model::DownlinkQueueMessage,
        ) -> Self {
            let mut v = self.downlink_queue_messages_list.unwrap_or_default();
            v.push(input);
            self.downlink_queue_messages_list = Some(v);
            self
        }
        /// <p>The messages in the downlink queue.</p>
        pub fn set_downlink_queue_messages_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::DownlinkQueueMessage>>,
        ) -> Self {
            self.downlink_queue_messages_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListQueuedMessagesOutput`](crate::output::ListQueuedMessagesOutput).
        pub fn build(self) -> crate::output::ListQueuedMessagesOutput {
            crate::output::ListQueuedMessagesOutput {
                next_token: self.next_token,
                downlink_queue_messages_list: self.downlink_queue_messages_list,
            }
        }
    }
}
impl ListQueuedMessagesOutput {
    /// Creates a new builder-style object to manufacture [`ListQueuedMessagesOutput`](crate::output::ListQueuedMessagesOutput).
    pub fn builder() -> crate::output::list_queued_messages_output::Builder {
        crate::output::list_queued_messages_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[deprecated(note = "This operation is no longer supported.")]
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListPositionConfigurationsOutput {
    /// <p>A list of position configurations.</p>
    #[doc(hidden)]
    pub position_configuration_list:
        std::option::Option<std::vec::Vec<crate::model::PositionConfigurationItem>>,
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListPositionConfigurationsOutput {
    /// <p>A list of position configurations.</p>
    pub fn position_configuration_list(
        &self,
    ) -> std::option::Option<&[crate::model::PositionConfigurationItem]> {
        self.position_configuration_list.as_deref()
    }
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`ListPositionConfigurationsOutput`](crate::output::ListPositionConfigurationsOutput).
pub mod list_position_configurations_output {

    /// A builder for [`ListPositionConfigurationsOutput`](crate::output::ListPositionConfigurationsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) position_configuration_list:
            std::option::Option<std::vec::Vec<crate::model::PositionConfigurationItem>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `position_configuration_list`.
        ///
        /// To override the contents of this collection use [`set_position_configuration_list`](Self::set_position_configuration_list).
        ///
        /// <p>A list of position configurations.</p>
        pub fn position_configuration_list(
            mut self,
            input: crate::model::PositionConfigurationItem,
        ) -> Self {
            let mut v = self.position_configuration_list.unwrap_or_default();
            v.push(input);
            self.position_configuration_list = Some(v);
            self
        }
        /// <p>A list of position configurations.</p>
        pub fn set_position_configuration_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::PositionConfigurationItem>>,
        ) -> Self {
            self.position_configuration_list = input;
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Consumes the builder and constructs a [`ListPositionConfigurationsOutput`](crate::output::ListPositionConfigurationsOutput).
        pub fn build(self) -> crate::output::ListPositionConfigurationsOutput {
            crate::output::ListPositionConfigurationsOutput {
                position_configuration_list: self.position_configuration_list,
                next_token: self.next_token,
            }
        }
    }
}
impl ListPositionConfigurationsOutput {
    /// Creates a new builder-style object to manufacture [`ListPositionConfigurationsOutput`](crate::output::ListPositionConfigurationsOutput).
    pub fn builder() -> crate::output::list_position_configurations_output::Builder {
        crate::output::list_position_configurations_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListPartnerAccountsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The Sidewalk account credentials.</p>
    #[doc(hidden)]
    pub sidewalk:
        std::option::Option<std::vec::Vec<crate::model::SidewalkAccountInfoWithFingerprint>>,
}
impl ListPartnerAccountsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The Sidewalk account credentials.</p>
    pub fn sidewalk(
        &self,
    ) -> std::option::Option<&[crate::model::SidewalkAccountInfoWithFingerprint]> {
        self.sidewalk.as_deref()
    }
}
/// See [`ListPartnerAccountsOutput`](crate::output::ListPartnerAccountsOutput).
pub mod list_partner_accounts_output {

    /// A builder for [`ListPartnerAccountsOutput`](crate::output::ListPartnerAccountsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) sidewalk:
            std::option::Option<std::vec::Vec<crate::model::SidewalkAccountInfoWithFingerprint>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `sidewalk`.
        ///
        /// To override the contents of this collection use [`set_sidewalk`](Self::set_sidewalk).
        ///
        /// <p>The Sidewalk account credentials.</p>
        pub fn sidewalk(mut self, input: crate::model::SidewalkAccountInfoWithFingerprint) -> Self {
            let mut v = self.sidewalk.unwrap_or_default();
            v.push(input);
            self.sidewalk = Some(v);
            self
        }
        /// <p>The Sidewalk account credentials.</p>
        pub fn set_sidewalk(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::SidewalkAccountInfoWithFingerprint>,
            >,
        ) -> Self {
            self.sidewalk = input;
            self
        }
        /// Consumes the builder and constructs a [`ListPartnerAccountsOutput`](crate::output::ListPartnerAccountsOutput).
        pub fn build(self) -> crate::output::ListPartnerAccountsOutput {
            crate::output::ListPartnerAccountsOutput {
                next_token: self.next_token,
                sidewalk: self.sidewalk,
            }
        }
    }
}
impl ListPartnerAccountsOutput {
    /// Creates a new builder-style object to manufacture [`ListPartnerAccountsOutput`](crate::output::ListPartnerAccountsOutput).
    pub fn builder() -> crate::output::list_partner_accounts_output::Builder {
        crate::output::list_partner_accounts_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListNetworkAnalyzerConfigurationsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The list of network analyzer configurations.</p>
    #[doc(hidden)]
    pub network_analyzer_configuration_list:
        std::option::Option<std::vec::Vec<crate::model::NetworkAnalyzerConfigurations>>,
}
impl ListNetworkAnalyzerConfigurationsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The list of network analyzer configurations.</p>
    pub fn network_analyzer_configuration_list(
        &self,
    ) -> std::option::Option<&[crate::model::NetworkAnalyzerConfigurations]> {
        self.network_analyzer_configuration_list.as_deref()
    }
}
/// See [`ListNetworkAnalyzerConfigurationsOutput`](crate::output::ListNetworkAnalyzerConfigurationsOutput).
pub mod list_network_analyzer_configurations_output {

    /// A builder for [`ListNetworkAnalyzerConfigurationsOutput`](crate::output::ListNetworkAnalyzerConfigurationsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) network_analyzer_configuration_list:
            std::option::Option<std::vec::Vec<crate::model::NetworkAnalyzerConfigurations>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `network_analyzer_configuration_list`.
        ///
        /// To override the contents of this collection use [`set_network_analyzer_configuration_list`](Self::set_network_analyzer_configuration_list).
        ///
        /// <p>The list of network analyzer configurations.</p>
        pub fn network_analyzer_configuration_list(
            mut self,
            input: crate::model::NetworkAnalyzerConfigurations,
        ) -> Self {
            let mut v = self.network_analyzer_configuration_list.unwrap_or_default();
            v.push(input);
            self.network_analyzer_configuration_list = Some(v);
            self
        }
        /// <p>The list of network analyzer configurations.</p>
        pub fn set_network_analyzer_configuration_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::NetworkAnalyzerConfigurations>>,
        ) -> Self {
            self.network_analyzer_configuration_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListNetworkAnalyzerConfigurationsOutput`](crate::output::ListNetworkAnalyzerConfigurationsOutput).
        pub fn build(self) -> crate::output::ListNetworkAnalyzerConfigurationsOutput {
            crate::output::ListNetworkAnalyzerConfigurationsOutput {
                next_token: self.next_token,
                network_analyzer_configuration_list: self.network_analyzer_configuration_list,
            }
        }
    }
}
impl ListNetworkAnalyzerConfigurationsOutput {
    /// Creates a new builder-style object to manufacture [`ListNetworkAnalyzerConfigurationsOutput`](crate::output::ListNetworkAnalyzerConfigurationsOutput).
    pub fn builder() -> crate::output::list_network_analyzer_configurations_output::Builder {
        crate::output::list_network_analyzer_configurations_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListMulticastGroupsByFuotaTaskOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>List of multicast groups associated with a FUOTA task.</p>
    #[doc(hidden)]
    pub multicast_group_list:
        std::option::Option<std::vec::Vec<crate::model::MulticastGroupByFuotaTask>>,
}
impl ListMulticastGroupsByFuotaTaskOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>List of multicast groups associated with a FUOTA task.</p>
    pub fn multicast_group_list(
        &self,
    ) -> std::option::Option<&[crate::model::MulticastGroupByFuotaTask]> {
        self.multicast_group_list.as_deref()
    }
}
/// See [`ListMulticastGroupsByFuotaTaskOutput`](crate::output::ListMulticastGroupsByFuotaTaskOutput).
pub mod list_multicast_groups_by_fuota_task_output {

    /// A builder for [`ListMulticastGroupsByFuotaTaskOutput`](crate::output::ListMulticastGroupsByFuotaTaskOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) multicast_group_list:
            std::option::Option<std::vec::Vec<crate::model::MulticastGroupByFuotaTask>>,
    }
    impl Builder {
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `multicast_group_list`.
        ///
        /// To override the contents of this collection use [`set_multicast_group_list`](Self::set_multicast_group_list).
        ///
        /// <p>List of multicast groups associated with a FUOTA task.</p>
        pub fn multicast_group_list(
            mut self,
            input: crate::model::MulticastGroupByFuotaTask,
        ) -> Self {
            let mut v = self.multicast_group_list.unwrap_or_default();
            v.push(input);
            self.multicast_group_list = Some(v);
            self
        }
        /// <p>List of multicast groups associated with a FUOTA task.</p>
        pub fn set_multicast_group_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::MulticastGroupByFuotaTask>>,
        ) -> Self {
            self.multicast_group_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListMulticastGroupsByFuotaTaskOutput`](crate::output::ListMulticastGroupsByFuotaTaskOutput).
        pub fn build(self) -> crate::output::ListMulticastGroupsByFuotaTaskOutput {
            crate::output::ListMulticastGroupsByFuotaTaskOutput {
                next_token: self.next_token,
                multicast_group_list: self.multicast_group_list,
            }
        }
    }
}
impl ListMulticastGroupsByFuotaTaskOutput {
    /// Creates a new builder-style object to manufacture [`ListMulticastGroupsByFuotaTaskOutput`](crate::output::ListMulticastGroupsByFuotaTaskOutput).
    pub fn builder() -> crate::output::list_multicast_groups_by_fuota_task_output::Builder {
        crate::output::list_multicast_groups_by_fuota_task_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListMulticastGroupsOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>List of multicast groups.</p>
    #[doc(hidden)]
    pub multicast_group_list: std::option::Option<std::vec::Vec<crate::model::MulticastGroup>>,
}
impl ListMulticastGroupsOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>List of multicast groups.</p>
    pub fn multicast_group_list(&self) -> std::option::Option<&[crate::model::MulticastGroup]> {
        self.multicast_group_list.as_deref()
    }
}
/// See [`ListMulticastGroupsOutput`](crate::output::ListMulticastGroupsOutput).
pub mod list_multicast_groups_output {

    /// A builder for [`ListMulticastGroupsOutput`](crate::output::ListMulticastGroupsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) multicast_group_list:
            std::option::Option<std::vec::Vec<crate::model::MulticastGroup>>,
    }
    impl Builder {
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `multicast_group_list`.
        ///
        /// To override the contents of this collection use [`set_multicast_group_list`](Self::set_multicast_group_list).
        ///
        /// <p>List of multicast groups.</p>
        pub fn multicast_group_list(mut self, input: crate::model::MulticastGroup) -> Self {
            let mut v = self.multicast_group_list.unwrap_or_default();
            v.push(input);
            self.multicast_group_list = Some(v);
            self
        }
        /// <p>List of multicast groups.</p>
        pub fn set_multicast_group_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::MulticastGroup>>,
        ) -> Self {
            self.multicast_group_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListMulticastGroupsOutput`](crate::output::ListMulticastGroupsOutput).
        pub fn build(self) -> crate::output::ListMulticastGroupsOutput {
            crate::output::ListMulticastGroupsOutput {
                next_token: self.next_token,
                multicast_group_list: self.multicast_group_list,
            }
        }
    }
}
impl ListMulticastGroupsOutput {
    /// Creates a new builder-style object to manufacture [`ListMulticastGroupsOutput`](crate::output::ListMulticastGroupsOutput).
    pub fn builder() -> crate::output::list_multicast_groups_output::Builder {
        crate::output::list_multicast_groups_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListFuotaTasksOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>Lists the FUOTA tasks registered to your AWS account.</p>
    #[doc(hidden)]
    pub fuota_task_list: std::option::Option<std::vec::Vec<crate::model::FuotaTask>>,
}
impl ListFuotaTasksOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Lists the FUOTA tasks registered to your AWS account.</p>
    pub fn fuota_task_list(&self) -> std::option::Option<&[crate::model::FuotaTask]> {
        self.fuota_task_list.as_deref()
    }
}
/// See [`ListFuotaTasksOutput`](crate::output::ListFuotaTasksOutput).
pub mod list_fuota_tasks_output {

    /// A builder for [`ListFuotaTasksOutput`](crate::output::ListFuotaTasksOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) fuota_task_list: std::option::Option<std::vec::Vec<crate::model::FuotaTask>>,
    }
    impl Builder {
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `fuota_task_list`.
        ///
        /// To override the contents of this collection use [`set_fuota_task_list`](Self::set_fuota_task_list).
        ///
        /// <p>Lists the FUOTA tasks registered to your AWS account.</p>
        pub fn fuota_task_list(mut self, input: crate::model::FuotaTask) -> Self {
            let mut v = self.fuota_task_list.unwrap_or_default();
            v.push(input);
            self.fuota_task_list = Some(v);
            self
        }
        /// <p>Lists the FUOTA tasks registered to your AWS account.</p>
        pub fn set_fuota_task_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FuotaTask>>,
        ) -> Self {
            self.fuota_task_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListFuotaTasksOutput`](crate::output::ListFuotaTasksOutput).
        pub fn build(self) -> crate::output::ListFuotaTasksOutput {
            crate::output::ListFuotaTasksOutput {
                next_token: self.next_token,
                fuota_task_list: self.fuota_task_list,
            }
        }
    }
}
impl ListFuotaTasksOutput {
    /// Creates a new builder-style object to manufacture [`ListFuotaTasksOutput`](crate::output::ListFuotaTasksOutput).
    pub fn builder() -> crate::output::list_fuota_tasks_output::Builder {
        crate::output::list_fuota_tasks_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListEventConfigurationsOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>Event configurations of all events for a single resource.</p>
    #[doc(hidden)]
    pub event_configurations_list:
        std::option::Option<std::vec::Vec<crate::model::EventConfigurationItem>>,
}
impl ListEventConfigurationsOutput {
    /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Event configurations of all events for a single resource.</p>
    pub fn event_configurations_list(
        &self,
    ) -> std::option::Option<&[crate::model::EventConfigurationItem]> {
        self.event_configurations_list.as_deref()
    }
}
/// See [`ListEventConfigurationsOutput`](crate::output::ListEventConfigurationsOutput).
pub mod list_event_configurations_output {

    /// A builder for [`ListEventConfigurationsOutput`](crate::output::ListEventConfigurationsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) event_configurations_list:
            std::option::Option<std::vec::Vec<crate::model::EventConfigurationItem>>,
    }
    impl Builder {
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>To retrieve the next set of results, the <code>nextToken</code> value from a previous response; otherwise <b>null</b> to receive the first set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `event_configurations_list`.
        ///
        /// To override the contents of this collection use [`set_event_configurations_list`](Self::set_event_configurations_list).
        ///
        /// <p>Event configurations of all events for a single resource.</p>
        pub fn event_configurations_list(
            mut self,
            input: crate::model::EventConfigurationItem,
        ) -> Self {
            let mut v = self.event_configurations_list.unwrap_or_default();
            v.push(input);
            self.event_configurations_list = Some(v);
            self
        }
        /// <p>Event configurations of all events for a single resource.</p>
        pub fn set_event_configurations_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::EventConfigurationItem>>,
        ) -> Self {
            self.event_configurations_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListEventConfigurationsOutput`](crate::output::ListEventConfigurationsOutput).
        pub fn build(self) -> crate::output::ListEventConfigurationsOutput {
            crate::output::ListEventConfigurationsOutput {
                next_token: self.next_token,
                event_configurations_list: self.event_configurations_list,
            }
        }
    }
}
impl ListEventConfigurationsOutput {
    /// Creates a new builder-style object to manufacture [`ListEventConfigurationsOutput`](crate::output::ListEventConfigurationsOutput).
    pub fn builder() -> crate::output::list_event_configurations_output::Builder {
        crate::output::list_event_configurations_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListDeviceProfilesOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The list of device profiles.</p>
    #[doc(hidden)]
    pub device_profile_list: std::option::Option<std::vec::Vec<crate::model::DeviceProfile>>,
}
impl ListDeviceProfilesOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The list of device profiles.</p>
    pub fn device_profile_list(&self) -> std::option::Option<&[crate::model::DeviceProfile]> {
        self.device_profile_list.as_deref()
    }
}
/// See [`ListDeviceProfilesOutput`](crate::output::ListDeviceProfilesOutput).
pub mod list_device_profiles_output {

    /// A builder for [`ListDeviceProfilesOutput`](crate::output::ListDeviceProfilesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) device_profile_list:
            std::option::Option<std::vec::Vec<crate::model::DeviceProfile>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `device_profile_list`.
        ///
        /// To override the contents of this collection use [`set_device_profile_list`](Self::set_device_profile_list).
        ///
        /// <p>The list of device profiles.</p>
        pub fn device_profile_list(mut self, input: crate::model::DeviceProfile) -> Self {
            let mut v = self.device_profile_list.unwrap_or_default();
            v.push(input);
            self.device_profile_list = Some(v);
            self
        }
        /// <p>The list of device profiles.</p>
        pub fn set_device_profile_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::DeviceProfile>>,
        ) -> Self {
            self.device_profile_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListDeviceProfilesOutput`](crate::output::ListDeviceProfilesOutput).
        pub fn build(self) -> crate::output::ListDeviceProfilesOutput {
            crate::output::ListDeviceProfilesOutput {
                next_token: self.next_token,
                device_profile_list: self.device_profile_list,
            }
        }
    }
}
impl ListDeviceProfilesOutput {
    /// Creates a new builder-style object to manufacture [`ListDeviceProfilesOutput`](crate::output::ListDeviceProfilesOutput).
    pub fn builder() -> crate::output::list_device_profiles_output::Builder {
        crate::output::list_device_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 ListDestinationsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>The list of destinations.</p>
    #[doc(hidden)]
    pub destination_list: std::option::Option<std::vec::Vec<crate::model::Destinations>>,
}
impl ListDestinationsOutput {
    /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The list of destinations.</p>
    pub fn destination_list(&self) -> std::option::Option<&[crate::model::Destinations]> {
        self.destination_list.as_deref()
    }
}
/// See [`ListDestinationsOutput`](crate::output::ListDestinationsOutput).
pub mod list_destinations_output {

    /// A builder for [`ListDestinationsOutput`](crate::output::ListDestinationsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) destination_list: std::option::Option<std::vec::Vec<crate::model::Destinations>>,
    }
    impl Builder {
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>The token to use to get the next set of results, or <b>null</b> if there are no additional results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `destination_list`.
        ///
        /// To override the contents of this collection use [`set_destination_list`](Self::set_destination_list).
        ///
        /// <p>The list of destinations.</p>
        pub fn destination_list(mut self, input: crate::model::Destinations) -> Self {
            let mut v = self.destination_list.unwrap_or_default();
            v.push(input);
            self.destination_list = Some(v);
            self
        }
        /// <p>The list of destinations.</p>
        pub fn set_destination_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Destinations>>,
        ) -> Self {
            self.destination_list = input;
            self
        }
        /// Consumes the builder and constructs a [`ListDestinationsOutput`](crate::output::ListDestinationsOutput).
        pub fn build(self) -> crate::output::ListDestinationsOutput {
            crate::output::ListDestinationsOutput {
                next_token: self.next_token,
                destination_list: self.destination_list,
            }
        }
    }
}
impl ListDestinationsOutput {
    /// Creates a new builder-style object to manufacture [`ListDestinationsOutput`](crate::output::ListDestinationsOutput).
    pub fn builder() -> crate::output::list_destinations_output::Builder {
        crate::output::list_destinations_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessGatewayTaskDefinitionOutput {
    /// <p>Whether to automatically create tasks using this task definition for all gateways with the specified current version. If <code>false</code>, the task must me created by calling <code>CreateWirelessGatewayTask</code>.</p>
    #[doc(hidden)]
    pub auto_create_tasks: bool,
    /// <p>The name of the resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>Information about the gateways to update.</p>
    #[doc(hidden)]
    pub update: std::option::Option<crate::model::UpdateWirelessGatewayTaskCreate>,
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
}
impl GetWirelessGatewayTaskDefinitionOutput {
    /// <p>Whether to automatically create tasks using this task definition for all gateways with the specified current version. If <code>false</code>, the task must me created by calling <code>CreateWirelessGatewayTask</code>.</p>
    pub fn auto_create_tasks(&self) -> bool {
        self.auto_create_tasks
    }
    /// <p>The name of the resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>Information about the gateways to update.</p>
    pub fn update(&self) -> std::option::Option<&crate::model::UpdateWirelessGatewayTaskCreate> {
        self.update.as_ref()
    }
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
}
/// See [`GetWirelessGatewayTaskDefinitionOutput`](crate::output::GetWirelessGatewayTaskDefinitionOutput).
pub mod get_wireless_gateway_task_definition_output {

    /// A builder for [`GetWirelessGatewayTaskDefinitionOutput`](crate::output::GetWirelessGatewayTaskDefinitionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) auto_create_tasks: std::option::Option<bool>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) update: std::option::Option<crate::model::UpdateWirelessGatewayTaskCreate>,
        pub(crate) arn: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>Whether to automatically create tasks using this task definition for all gateways with the specified current version. If <code>false</code>, the task must me created by calling <code>CreateWirelessGatewayTask</code>.</p>
        pub fn auto_create_tasks(mut self, input: bool) -> Self {
            self.auto_create_tasks = Some(input);
            self
        }
        /// <p>Whether to automatically create tasks using this task definition for all gateways with the specified current version. If <code>false</code>, the task must me created by calling <code>CreateWirelessGatewayTask</code>.</p>
        pub fn set_auto_create_tasks(mut self, input: std::option::Option<bool>) -> Self {
            self.auto_create_tasks = input;
            self
        }
        /// <p>The name of the resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>Information about the gateways to update.</p>
        pub fn update(mut self, input: crate::model::UpdateWirelessGatewayTaskCreate) -> Self {
            self.update = Some(input);
            self
        }
        /// <p>Information about the gateways to update.</p>
        pub fn set_update(
            mut self,
            input: std::option::Option<crate::model::UpdateWirelessGatewayTaskCreate>,
        ) -> Self {
            self.update = input;
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessGatewayTaskDefinitionOutput`](crate::output::GetWirelessGatewayTaskDefinitionOutput).
        pub fn build(self) -> crate::output::GetWirelessGatewayTaskDefinitionOutput {
            crate::output::GetWirelessGatewayTaskDefinitionOutput {
                auto_create_tasks: self.auto_create_tasks.unwrap_or_default(),
                name: self.name,
                update: self.update,
                arn: self.arn,
            }
        }
    }
}
impl GetWirelessGatewayTaskDefinitionOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessGatewayTaskDefinitionOutput`](crate::output::GetWirelessGatewayTaskDefinitionOutput).
    pub fn builder() -> crate::output::get_wireless_gateway_task_definition_output::Builder {
        crate::output::get_wireless_gateway_task_definition_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessGatewayTaskOutput {
    /// <p>The ID of the wireless gateway.</p>
    #[doc(hidden)]
    pub wireless_gateway_id: std::option::Option<std::string::String>,
    /// <p>The ID of the WirelessGatewayTask.</p>
    #[doc(hidden)]
    pub wireless_gateway_task_definition_id: std::option::Option<std::string::String>,
    /// <p>The date and time when the most recent uplink was received.</p>
    #[doc(hidden)]
    pub last_uplink_received_at: std::option::Option<std::string::String>,
    /// <p>The date and time when the task was created.</p>
    #[doc(hidden)]
    pub task_created_at: std::option::Option<std::string::String>,
    /// <p>The status of the request.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::WirelessGatewayTaskStatus>,
}
impl GetWirelessGatewayTaskOutput {
    /// <p>The ID of the wireless gateway.</p>
    pub fn wireless_gateway_id(&self) -> std::option::Option<&str> {
        self.wireless_gateway_id.as_deref()
    }
    /// <p>The ID of the WirelessGatewayTask.</p>
    pub fn wireless_gateway_task_definition_id(&self) -> std::option::Option<&str> {
        self.wireless_gateway_task_definition_id.as_deref()
    }
    /// <p>The date and time when the most recent uplink was received.</p>
    pub fn last_uplink_received_at(&self) -> std::option::Option<&str> {
        self.last_uplink_received_at.as_deref()
    }
    /// <p>The date and time when the task was created.</p>
    pub fn task_created_at(&self) -> std::option::Option<&str> {
        self.task_created_at.as_deref()
    }
    /// <p>The status of the request.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::WirelessGatewayTaskStatus> {
        self.status.as_ref()
    }
}
/// See [`GetWirelessGatewayTaskOutput`](crate::output::GetWirelessGatewayTaskOutput).
pub mod get_wireless_gateway_task_output {

    /// A builder for [`GetWirelessGatewayTaskOutput`](crate::output::GetWirelessGatewayTaskOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) wireless_gateway_id: std::option::Option<std::string::String>,
        pub(crate) wireless_gateway_task_definition_id: std::option::Option<std::string::String>,
        pub(crate) last_uplink_received_at: std::option::Option<std::string::String>,
        pub(crate) task_created_at: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::WirelessGatewayTaskStatus>,
    }
    impl Builder {
        /// <p>The ID of the wireless gateway.</p>
        pub fn wireless_gateway_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.wireless_gateway_id = Some(input.into());
            self
        }
        /// <p>The ID of the wireless gateway.</p>
        pub fn set_wireless_gateway_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.wireless_gateway_id = input;
            self
        }
        /// <p>The ID of the WirelessGatewayTask.</p>
        pub fn wireless_gateway_task_definition_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.wireless_gateway_task_definition_id = Some(input.into());
            self
        }
        /// <p>The ID of the WirelessGatewayTask.</p>
        pub fn set_wireless_gateway_task_definition_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.wireless_gateway_task_definition_id = input;
            self
        }
        /// <p>The date and time when the most recent uplink was received.</p>
        pub fn last_uplink_received_at(mut self, input: impl Into<std::string::String>) -> Self {
            self.last_uplink_received_at = Some(input.into());
            self
        }
        /// <p>The date and time when the most recent uplink was received.</p>
        pub fn set_last_uplink_received_at(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.last_uplink_received_at = input;
            self
        }
        /// <p>The date and time when the task was created.</p>
        pub fn task_created_at(mut self, input: impl Into<std::string::String>) -> Self {
            self.task_created_at = Some(input.into());
            self
        }
        /// <p>The date and time when the task was created.</p>
        pub fn set_task_created_at(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.task_created_at = input;
            self
        }
        /// <p>The status of the request.</p>
        pub fn status(mut self, input: crate::model::WirelessGatewayTaskStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the request.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::WirelessGatewayTaskStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessGatewayTaskOutput`](crate::output::GetWirelessGatewayTaskOutput).
        pub fn build(self) -> crate::output::GetWirelessGatewayTaskOutput {
            crate::output::GetWirelessGatewayTaskOutput {
                wireless_gateway_id: self.wireless_gateway_id,
                wireless_gateway_task_definition_id: self.wireless_gateway_task_definition_id,
                last_uplink_received_at: self.last_uplink_received_at,
                task_created_at: self.task_created_at,
                status: self.status,
            }
        }
    }
}
impl GetWirelessGatewayTaskOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessGatewayTaskOutput`](crate::output::GetWirelessGatewayTaskOutput).
    pub fn builder() -> crate::output::get_wireless_gateway_task_output::Builder {
        crate::output::get_wireless_gateway_task_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessGatewayStatisticsOutput {
    /// <p>The ID of the wireless gateway.</p>
    #[doc(hidden)]
    pub wireless_gateway_id: std::option::Option<std::string::String>,
    /// <p>The date and time when the most recent uplink was received.</p>
    #[doc(hidden)]
    pub last_uplink_received_at: std::option::Option<std::string::String>,
    /// <p>The connection status of the wireless gateway.</p>
    #[doc(hidden)]
    pub connection_status: std::option::Option<crate::model::ConnectionStatus>,
}
impl GetWirelessGatewayStatisticsOutput {
    /// <p>The ID of the wireless gateway.</p>
    pub fn wireless_gateway_id(&self) -> std::option::Option<&str> {
        self.wireless_gateway_id.as_deref()
    }
    /// <p>The date and time when the most recent uplink was received.</p>
    pub fn last_uplink_received_at(&self) -> std::option::Option<&str> {
        self.last_uplink_received_at.as_deref()
    }
    /// <p>The connection status of the wireless gateway.</p>
    pub fn connection_status(&self) -> std::option::Option<&crate::model::ConnectionStatus> {
        self.connection_status.as_ref()
    }
}
/// See [`GetWirelessGatewayStatisticsOutput`](crate::output::GetWirelessGatewayStatisticsOutput).
pub mod get_wireless_gateway_statistics_output {

    /// A builder for [`GetWirelessGatewayStatisticsOutput`](crate::output::GetWirelessGatewayStatisticsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) wireless_gateway_id: std::option::Option<std::string::String>,
        pub(crate) last_uplink_received_at: std::option::Option<std::string::String>,
        pub(crate) connection_status: std::option::Option<crate::model::ConnectionStatus>,
    }
    impl Builder {
        /// <p>The ID of the wireless gateway.</p>
        pub fn wireless_gateway_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.wireless_gateway_id = Some(input.into());
            self
        }
        /// <p>The ID of the wireless gateway.</p>
        pub fn set_wireless_gateway_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.wireless_gateway_id = input;
            self
        }
        /// <p>The date and time when the most recent uplink was received.</p>
        pub fn last_uplink_received_at(mut self, input: impl Into<std::string::String>) -> Self {
            self.last_uplink_received_at = Some(input.into());
            self
        }
        /// <p>The date and time when the most recent uplink was received.</p>
        pub fn set_last_uplink_received_at(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.last_uplink_received_at = input;
            self
        }
        /// <p>The connection status of the wireless gateway.</p>
        pub fn connection_status(mut self, input: crate::model::ConnectionStatus) -> Self {
            self.connection_status = Some(input);
            self
        }
        /// <p>The connection status of the wireless gateway.</p>
        pub fn set_connection_status(
            mut self,
            input: std::option::Option<crate::model::ConnectionStatus>,
        ) -> Self {
            self.connection_status = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessGatewayStatisticsOutput`](crate::output::GetWirelessGatewayStatisticsOutput).
        pub fn build(self) -> crate::output::GetWirelessGatewayStatisticsOutput {
            crate::output::GetWirelessGatewayStatisticsOutput {
                wireless_gateway_id: self.wireless_gateway_id,
                last_uplink_received_at: self.last_uplink_received_at,
                connection_status: self.connection_status,
            }
        }
    }
}
impl GetWirelessGatewayStatisticsOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessGatewayStatisticsOutput`](crate::output::GetWirelessGatewayStatisticsOutput).
    pub fn builder() -> crate::output::get_wireless_gateway_statistics_output::Builder {
        crate::output::get_wireless_gateway_statistics_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessGatewayFirmwareInformationOutput {
    /// <p>Information about the wireless gateway's firmware.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanGatewayCurrentVersion>,
}
impl GetWirelessGatewayFirmwareInformationOutput {
    /// <p>Information about the wireless gateway's firmware.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanGatewayCurrentVersion> {
        self.lo_ra_wan.as_ref()
    }
}
/// See [`GetWirelessGatewayFirmwareInformationOutput`](crate::output::GetWirelessGatewayFirmwareInformationOutput).
pub mod get_wireless_gateway_firmware_information_output {

    /// A builder for [`GetWirelessGatewayFirmwareInformationOutput`](crate::output::GetWirelessGatewayFirmwareInformationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanGatewayCurrentVersion>,
    }
    impl Builder {
        /// <p>Information about the wireless gateway's firmware.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanGatewayCurrentVersion) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>Information about the wireless gateway's firmware.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanGatewayCurrentVersion>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessGatewayFirmwareInformationOutput`](crate::output::GetWirelessGatewayFirmwareInformationOutput).
        pub fn build(self) -> crate::output::GetWirelessGatewayFirmwareInformationOutput {
            crate::output::GetWirelessGatewayFirmwareInformationOutput {
                lo_ra_wan: self.lo_ra_wan,
            }
        }
    }
}
impl GetWirelessGatewayFirmwareInformationOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessGatewayFirmwareInformationOutput`](crate::output::GetWirelessGatewayFirmwareInformationOutput).
    pub fn builder() -> crate::output::get_wireless_gateway_firmware_information_output::Builder {
        crate::output::get_wireless_gateway_firmware_information_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessGatewayCertificateOutput {
    /// <p>The ID of the certificate associated with the wireless gateway.</p>
    #[doc(hidden)]
    pub iot_certificate_id: std::option::Option<std::string::String>,
    /// <p>The ID of the certificate that is associated with the wireless gateway and used for the LoRaWANNetworkServer endpoint.</p>
    #[doc(hidden)]
    pub lo_ra_wan_network_server_certificate_id: std::option::Option<std::string::String>,
}
impl GetWirelessGatewayCertificateOutput {
    /// <p>The ID of the certificate associated with the wireless gateway.</p>
    pub fn iot_certificate_id(&self) -> std::option::Option<&str> {
        self.iot_certificate_id.as_deref()
    }
    /// <p>The ID of the certificate that is associated with the wireless gateway and used for the LoRaWANNetworkServer endpoint.</p>
    pub fn lo_ra_wan_network_server_certificate_id(&self) -> std::option::Option<&str> {
        self.lo_ra_wan_network_server_certificate_id.as_deref()
    }
}
/// See [`GetWirelessGatewayCertificateOutput`](crate::output::GetWirelessGatewayCertificateOutput).
pub mod get_wireless_gateway_certificate_output {

    /// A builder for [`GetWirelessGatewayCertificateOutput`](crate::output::GetWirelessGatewayCertificateOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) iot_certificate_id: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan_network_server_certificate_id:
            std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The ID of the certificate associated with the wireless gateway.</p>
        pub fn iot_certificate_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.iot_certificate_id = Some(input.into());
            self
        }
        /// <p>The ID of the certificate associated with the wireless gateway.</p>
        pub fn set_iot_certificate_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.iot_certificate_id = input;
            self
        }
        /// <p>The ID of the certificate that is associated with the wireless gateway and used for the LoRaWANNetworkServer endpoint.</p>
        pub fn lo_ra_wan_network_server_certificate_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.lo_ra_wan_network_server_certificate_id = Some(input.into());
            self
        }
        /// <p>The ID of the certificate that is associated with the wireless gateway and used for the LoRaWANNetworkServer endpoint.</p>
        pub fn set_lo_ra_wan_network_server_certificate_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.lo_ra_wan_network_server_certificate_id = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessGatewayCertificateOutput`](crate::output::GetWirelessGatewayCertificateOutput).
        pub fn build(self) -> crate::output::GetWirelessGatewayCertificateOutput {
            crate::output::GetWirelessGatewayCertificateOutput {
                iot_certificate_id: self.iot_certificate_id,
                lo_ra_wan_network_server_certificate_id: self
                    .lo_ra_wan_network_server_certificate_id,
            }
        }
    }
}
impl GetWirelessGatewayCertificateOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessGatewayCertificateOutput`](crate::output::GetWirelessGatewayCertificateOutput).
    pub fn builder() -> crate::output::get_wireless_gateway_certificate_output::Builder {
        crate::output::get_wireless_gateway_certificate_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessGatewayOutput {
    /// <p>The name of the resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The ID of the wireless gateway.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The description of the resource.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>Information about the wireless gateway.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanGateway>,
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the thing associated with the wireless gateway. The value is empty if a thing isn't associated with the gateway.</p>
    #[doc(hidden)]
    pub thing_name: std::option::Option<std::string::String>,
    /// <p>The ARN of the thing associated with the wireless gateway.</p>
    #[doc(hidden)]
    pub thing_arn: std::option::Option<std::string::String>,
}
impl GetWirelessGatewayOutput {
    /// <p>The name of the resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The ID of the wireless gateway.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The description of the resource.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>Information about the wireless gateway.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanGateway> {
        self.lo_ra_wan.as_ref()
    }
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the thing associated with the wireless gateway. The value is empty if a thing isn't associated with the gateway.</p>
    pub fn thing_name(&self) -> std::option::Option<&str> {
        self.thing_name.as_deref()
    }
    /// <p>The ARN of the thing associated with the wireless gateway.</p>
    pub fn thing_arn(&self) -> std::option::Option<&str> {
        self.thing_arn.as_deref()
    }
}
/// See [`GetWirelessGatewayOutput`](crate::output::GetWirelessGatewayOutput).
pub mod get_wireless_gateway_output {

    /// A builder for [`GetWirelessGatewayOutput`](crate::output::GetWirelessGatewayOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanGateway>,
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) thing_name: std::option::Option<std::string::String>,
        pub(crate) thing_arn: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The name of the resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The ID of the wireless gateway.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the wireless gateway.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The description of the resource.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the resource.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>Information about the wireless gateway.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanGateway) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>Information about the wireless gateway.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanGateway>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the thing associated with the wireless gateway. The value is empty if a thing isn't associated with the gateway.</p>
        pub fn thing_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.thing_name = Some(input.into());
            self
        }
        /// <p>The name of the thing associated with the wireless gateway. The value is empty if a thing isn't associated with the gateway.</p>
        pub fn set_thing_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.thing_name = input;
            self
        }
        /// <p>The ARN of the thing associated with the wireless gateway.</p>
        pub fn thing_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.thing_arn = Some(input.into());
            self
        }
        /// <p>The ARN of the thing associated with the wireless gateway.</p>
        pub fn set_thing_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.thing_arn = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessGatewayOutput`](crate::output::GetWirelessGatewayOutput).
        pub fn build(self) -> crate::output::GetWirelessGatewayOutput {
            crate::output::GetWirelessGatewayOutput {
                name: self.name,
                id: self.id,
                description: self.description,
                lo_ra_wan: self.lo_ra_wan,
                arn: self.arn,
                thing_name: self.thing_name,
                thing_arn: self.thing_arn,
            }
        }
    }
}
impl GetWirelessGatewayOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessGatewayOutput`](crate::output::GetWirelessGatewayOutput).
    pub fn builder() -> crate::output::get_wireless_gateway_output::Builder {
        crate::output::get_wireless_gateway_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessDeviceStatisticsOutput {
    /// <p>The ID of the wireless device.</p>
    #[doc(hidden)]
    pub wireless_device_id: std::option::Option<std::string::String>,
    /// <p>The date and time when the most recent uplink was received.</p>
    #[doc(hidden)]
    pub last_uplink_received_at: std::option::Option<std::string::String>,
    /// <p>Information about the wireless device's operations.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanDeviceMetadata>,
    /// <p>MetaData for Sidewalk device.</p>
    #[doc(hidden)]
    pub sidewalk: std::option::Option<crate::model::SidewalkDeviceMetadata>,
}
impl GetWirelessDeviceStatisticsOutput {
    /// <p>The ID of the wireless device.</p>
    pub fn wireless_device_id(&self) -> std::option::Option<&str> {
        self.wireless_device_id.as_deref()
    }
    /// <p>The date and time when the most recent uplink was received.</p>
    pub fn last_uplink_received_at(&self) -> std::option::Option<&str> {
        self.last_uplink_received_at.as_deref()
    }
    /// <p>Information about the wireless device's operations.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanDeviceMetadata> {
        self.lo_ra_wan.as_ref()
    }
    /// <p>MetaData for Sidewalk device.</p>
    pub fn sidewalk(&self) -> std::option::Option<&crate::model::SidewalkDeviceMetadata> {
        self.sidewalk.as_ref()
    }
}
/// See [`GetWirelessDeviceStatisticsOutput`](crate::output::GetWirelessDeviceStatisticsOutput).
pub mod get_wireless_device_statistics_output {

    /// A builder for [`GetWirelessDeviceStatisticsOutput`](crate::output::GetWirelessDeviceStatisticsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) wireless_device_id: std::option::Option<std::string::String>,
        pub(crate) last_uplink_received_at: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanDeviceMetadata>,
        pub(crate) sidewalk: std::option::Option<crate::model::SidewalkDeviceMetadata>,
    }
    impl Builder {
        /// <p>The ID of the wireless device.</p>
        pub fn wireless_device_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.wireless_device_id = Some(input.into());
            self
        }
        /// <p>The ID of the wireless device.</p>
        pub fn set_wireless_device_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.wireless_device_id = input;
            self
        }
        /// <p>The date and time when the most recent uplink was received.</p>
        pub fn last_uplink_received_at(mut self, input: impl Into<std::string::String>) -> Self {
            self.last_uplink_received_at = Some(input.into());
            self
        }
        /// <p>The date and time when the most recent uplink was received.</p>
        pub fn set_last_uplink_received_at(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.last_uplink_received_at = input;
            self
        }
        /// <p>Information about the wireless device's operations.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanDeviceMetadata) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>Information about the wireless device's operations.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanDeviceMetadata>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// <p>MetaData for Sidewalk device.</p>
        pub fn sidewalk(mut self, input: crate::model::SidewalkDeviceMetadata) -> Self {
            self.sidewalk = Some(input);
            self
        }
        /// <p>MetaData for Sidewalk device.</p>
        pub fn set_sidewalk(
            mut self,
            input: std::option::Option<crate::model::SidewalkDeviceMetadata>,
        ) -> Self {
            self.sidewalk = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessDeviceStatisticsOutput`](crate::output::GetWirelessDeviceStatisticsOutput).
        pub fn build(self) -> crate::output::GetWirelessDeviceStatisticsOutput {
            crate::output::GetWirelessDeviceStatisticsOutput {
                wireless_device_id: self.wireless_device_id,
                last_uplink_received_at: self.last_uplink_received_at,
                lo_ra_wan: self.lo_ra_wan,
                sidewalk: self.sidewalk,
            }
        }
    }
}
impl GetWirelessDeviceStatisticsOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessDeviceStatisticsOutput`](crate::output::GetWirelessDeviceStatisticsOutput).
    pub fn builder() -> crate::output::get_wireless_device_statistics_output::Builder {
        crate::output::get_wireless_device_statistics_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetWirelessDeviceOutput {
    /// <p>The wireless device type.</p>
    #[doc(hidden)]
    pub r#type: std::option::Option<crate::model::WirelessDeviceType>,
    /// <p>The name of the resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The description of the resource.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The name of the destination to which the device is assigned.</p>
    #[doc(hidden)]
    pub destination_name: std::option::Option<std::string::String>,
    /// <p>The ID of the wireless device.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the thing associated with the wireless device. The value is empty if a thing isn't associated with the device.</p>
    #[doc(hidden)]
    pub thing_name: std::option::Option<std::string::String>,
    /// <p>The ARN of the thing associated with the wireless device.</p>
    #[doc(hidden)]
    pub thing_arn: std::option::Option<std::string::String>,
    /// <p>Information about the wireless device.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanDevice>,
    /// <p>Sidewalk device object.</p>
    #[doc(hidden)]
    pub sidewalk: std::option::Option<crate::model::SidewalkDevice>,
    /// <p>FPort values for the GNSS, stream, and ClockSync functions of the positioning information.</p>
    #[doc(hidden)]
    pub positioning: std::option::Option<crate::model::PositioningConfigStatus>,
}
impl GetWirelessDeviceOutput {
    /// <p>The wireless device type.</p>
    pub fn r#type(&self) -> std::option::Option<&crate::model::WirelessDeviceType> {
        self.r#type.as_ref()
    }
    /// <p>The name of the resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The description of the resource.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The name of the destination to which the device is assigned.</p>
    pub fn destination_name(&self) -> std::option::Option<&str> {
        self.destination_name.as_deref()
    }
    /// <p>The ID of the wireless device.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the thing associated with the wireless device. The value is empty if a thing isn't associated with the device.</p>
    pub fn thing_name(&self) -> std::option::Option<&str> {
        self.thing_name.as_deref()
    }
    /// <p>The ARN of the thing associated with the wireless device.</p>
    pub fn thing_arn(&self) -> std::option::Option<&str> {
        self.thing_arn.as_deref()
    }
    /// <p>Information about the wireless device.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanDevice> {
        self.lo_ra_wan.as_ref()
    }
    /// <p>Sidewalk device object.</p>
    pub fn sidewalk(&self) -> std::option::Option<&crate::model::SidewalkDevice> {
        self.sidewalk.as_ref()
    }
    /// <p>FPort values for the GNSS, stream, and ClockSync functions of the positioning information.</p>
    pub fn positioning(&self) -> std::option::Option<&crate::model::PositioningConfigStatus> {
        self.positioning.as_ref()
    }
}
/// See [`GetWirelessDeviceOutput`](crate::output::GetWirelessDeviceOutput).
pub mod get_wireless_device_output {

    /// A builder for [`GetWirelessDeviceOutput`](crate::output::GetWirelessDeviceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) r#type: std::option::Option<crate::model::WirelessDeviceType>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) destination_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) thing_name: std::option::Option<std::string::String>,
        pub(crate) thing_arn: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanDevice>,
        pub(crate) sidewalk: std::option::Option<crate::model::SidewalkDevice>,
        pub(crate) positioning: std::option::Option<crate::model::PositioningConfigStatus>,
    }
    impl Builder {
        /// <p>The wireless device type.</p>
        pub fn r#type(mut self, input: crate::model::WirelessDeviceType) -> Self {
            self.r#type = Some(input);
            self
        }
        /// <p>The wireless device type.</p>
        pub fn set_type(
            mut self,
            input: std::option::Option<crate::model::WirelessDeviceType>,
        ) -> Self {
            self.r#type = input;
            self
        }
        /// <p>The name of the resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The description of the resource.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the resource.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The name of the destination to which the device is assigned.</p>
        pub fn destination_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.destination_name = Some(input.into());
            self
        }
        /// <p>The name of the destination to which the device is assigned.</p>
        pub fn set_destination_name(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.destination_name = input;
            self
        }
        /// <p>The ID of the wireless device.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the wireless device.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the thing associated with the wireless device. The value is empty if a thing isn't associated with the device.</p>
        pub fn thing_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.thing_name = Some(input.into());
            self
        }
        /// <p>The name of the thing associated with the wireless device. The value is empty if a thing isn't associated with the device.</p>
        pub fn set_thing_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.thing_name = input;
            self
        }
        /// <p>The ARN of the thing associated with the wireless device.</p>
        pub fn thing_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.thing_arn = Some(input.into());
            self
        }
        /// <p>The ARN of the thing associated with the wireless device.</p>
        pub fn set_thing_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.thing_arn = input;
            self
        }
        /// <p>Information about the wireless device.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanDevice) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>Information about the wireless device.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanDevice>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// <p>Sidewalk device object.</p>
        pub fn sidewalk(mut self, input: crate::model::SidewalkDevice) -> Self {
            self.sidewalk = Some(input);
            self
        }
        /// <p>Sidewalk device object.</p>
        pub fn set_sidewalk(
            mut self,
            input: std::option::Option<crate::model::SidewalkDevice>,
        ) -> Self {
            self.sidewalk = input;
            self
        }
        /// <p>FPort values for the GNSS, stream, and ClockSync functions of the positioning information.</p>
        pub fn positioning(mut self, input: crate::model::PositioningConfigStatus) -> Self {
            self.positioning = Some(input);
            self
        }
        /// <p>FPort values for the GNSS, stream, and ClockSync functions of the positioning information.</p>
        pub fn set_positioning(
            mut self,
            input: std::option::Option<crate::model::PositioningConfigStatus>,
        ) -> Self {
            self.positioning = input;
            self
        }
        /// Consumes the builder and constructs a [`GetWirelessDeviceOutput`](crate::output::GetWirelessDeviceOutput).
        pub fn build(self) -> crate::output::GetWirelessDeviceOutput {
            crate::output::GetWirelessDeviceOutput {
                r#type: self.r#type,
                name: self.name,
                description: self.description,
                destination_name: self.destination_name,
                id: self.id,
                arn: self.arn,
                thing_name: self.thing_name,
                thing_arn: self.thing_arn,
                lo_ra_wan: self.lo_ra_wan,
                sidewalk: self.sidewalk,
                positioning: self.positioning,
            }
        }
    }
}
impl GetWirelessDeviceOutput {
    /// Creates a new builder-style object to manufacture [`GetWirelessDeviceOutput`](crate::output::GetWirelessDeviceOutput).
    pub fn builder() -> crate::output::get_wireless_device_output::Builder {
        crate::output::get_wireless_device_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetServiceProfileOutput {
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The ID of the service profile.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>Information about the service profile.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanGetServiceProfileInfo>,
}
impl GetServiceProfileOutput {
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The ID of the service profile.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>Information about the service profile.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanGetServiceProfileInfo> {
        self.lo_ra_wan.as_ref()
    }
}
/// See [`GetServiceProfileOutput`](crate::output::GetServiceProfileOutput).
pub mod get_service_profile_output {

    /// A builder for [`GetServiceProfileOutput`](crate::output::GetServiceProfileOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanGetServiceProfileInfo>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The ID of the service profile.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the service profile.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>Information about the service profile.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanGetServiceProfileInfo) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>Information about the service profile.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanGetServiceProfileInfo>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// Consumes the builder and constructs a [`GetServiceProfileOutput`](crate::output::GetServiceProfileOutput).
        pub fn build(self) -> crate::output::GetServiceProfileOutput {
            crate::output::GetServiceProfileOutput {
                arn: self.arn,
                name: self.name,
                id: self.id,
                lo_ra_wan: self.lo_ra_wan,
            }
        }
    }
}
impl GetServiceProfileOutput {
    /// Creates a new builder-style object to manufacture [`GetServiceProfileOutput`](crate::output::GetServiceProfileOutput).
    pub fn builder() -> crate::output::get_service_profile_output::Builder {
        crate::output::get_service_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 GetServiceEndpointOutput {
    /// <p>The endpoint's service type.</p>
    #[doc(hidden)]
    pub service_type: std::option::Option<crate::model::WirelessGatewayServiceType>,
    /// <p>The service endpoint value.</p>
    #[doc(hidden)]
    pub service_endpoint: std::option::Option<std::string::String>,
    /// <p>The Root CA of the server trust certificate.</p>
    #[doc(hidden)]
    pub server_trust: std::option::Option<std::string::String>,
}
impl GetServiceEndpointOutput {
    /// <p>The endpoint's service type.</p>
    pub fn service_type(&self) -> std::option::Option<&crate::model::WirelessGatewayServiceType> {
        self.service_type.as_ref()
    }
    /// <p>The service endpoint value.</p>
    pub fn service_endpoint(&self) -> std::option::Option<&str> {
        self.service_endpoint.as_deref()
    }
    /// <p>The Root CA of the server trust certificate.</p>
    pub fn server_trust(&self) -> std::option::Option<&str> {
        self.server_trust.as_deref()
    }
}
/// See [`GetServiceEndpointOutput`](crate::output::GetServiceEndpointOutput).
pub mod get_service_endpoint_output {

    /// A builder for [`GetServiceEndpointOutput`](crate::output::GetServiceEndpointOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) service_type: std::option::Option<crate::model::WirelessGatewayServiceType>,
        pub(crate) service_endpoint: std::option::Option<std::string::String>,
        pub(crate) server_trust: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The endpoint's service type.</p>
        pub fn service_type(mut self, input: crate::model::WirelessGatewayServiceType) -> Self {
            self.service_type = Some(input);
            self
        }
        /// <p>The endpoint's service type.</p>
        pub fn set_service_type(
            mut self,
            input: std::option::Option<crate::model::WirelessGatewayServiceType>,
        ) -> Self {
            self.service_type = input;
            self
        }
        /// <p>The service endpoint value.</p>
        pub fn service_endpoint(mut self, input: impl Into<std::string::String>) -> Self {
            self.service_endpoint = Some(input.into());
            self
        }
        /// <p>The service endpoint value.</p>
        pub fn set_service_endpoint(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.service_endpoint = input;
            self
        }
        /// <p>The Root CA of the server trust certificate.</p>
        pub fn server_trust(mut self, input: impl Into<std::string::String>) -> Self {
            self.server_trust = Some(input.into());
            self
        }
        /// <p>The Root CA of the server trust certificate.</p>
        pub fn set_server_trust(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.server_trust = input;
            self
        }
        /// Consumes the builder and constructs a [`GetServiceEndpointOutput`](crate::output::GetServiceEndpointOutput).
        pub fn build(self) -> crate::output::GetServiceEndpointOutput {
            crate::output::GetServiceEndpointOutput {
                service_type: self.service_type,
                service_endpoint: self.service_endpoint,
                server_trust: self.server_trust,
            }
        }
    }
}
impl GetServiceEndpointOutput {
    /// Creates a new builder-style object to manufacture [`GetServiceEndpointOutput`](crate::output::GetServiceEndpointOutput).
    pub fn builder() -> crate::output::get_service_endpoint_output::Builder {
        crate::output::get_service_endpoint_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetResourcePositionOutput {
    /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
    #[doc(hidden)]
    pub geo_json_payload: std::option::Option<aws_smithy_types::Blob>,
}
impl GetResourcePositionOutput {
    /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
    pub fn geo_json_payload(&self) -> std::option::Option<&aws_smithy_types::Blob> {
        self.geo_json_payload.as_ref()
    }
}
/// See [`GetResourcePositionOutput`](crate::output::GetResourcePositionOutput).
pub mod get_resource_position_output {

    /// A builder for [`GetResourcePositionOutput`](crate::output::GetResourcePositionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) geo_json_payload: std::option::Option<aws_smithy_types::Blob>,
    }
    impl Builder {
        /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
        pub fn geo_json_payload(mut self, input: aws_smithy_types::Blob) -> Self {
            self.geo_json_payload = Some(input);
            self
        }
        /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
        pub fn set_geo_json_payload(
            mut self,
            input: std::option::Option<aws_smithy_types::Blob>,
        ) -> Self {
            self.geo_json_payload = input;
            self
        }
        /// Consumes the builder and constructs a [`GetResourcePositionOutput`](crate::output::GetResourcePositionOutput).
        pub fn build(self) -> crate::output::GetResourcePositionOutput {
            crate::output::GetResourcePositionOutput {
                geo_json_payload: self.geo_json_payload,
            }
        }
    }
}
impl GetResourcePositionOutput {
    /// Creates a new builder-style object to manufacture [`GetResourcePositionOutput`](crate::output::GetResourcePositionOutput).
    pub fn builder() -> crate::output::get_resource_position_output::Builder {
        crate::output::get_resource_position_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetResourceLogLevelOutput {
    /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
    #[doc(hidden)]
    pub log_level: std::option::Option<crate::model::LogLevel>,
}
impl GetResourceLogLevelOutput {
    /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
    pub fn log_level(&self) -> std::option::Option<&crate::model::LogLevel> {
        self.log_level.as_ref()
    }
}
/// See [`GetResourceLogLevelOutput`](crate::output::GetResourceLogLevelOutput).
pub mod get_resource_log_level_output {

    /// A builder for [`GetResourceLogLevelOutput`](crate::output::GetResourceLogLevelOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) log_level: std::option::Option<crate::model::LogLevel>,
    }
    impl Builder {
        /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
        pub fn log_level(mut self, input: crate::model::LogLevel) -> Self {
            self.log_level = Some(input);
            self
        }
        /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
        pub fn set_log_level(mut self, input: std::option::Option<crate::model::LogLevel>) -> Self {
            self.log_level = input;
            self
        }
        /// Consumes the builder and constructs a [`GetResourceLogLevelOutput`](crate::output::GetResourceLogLevelOutput).
        pub fn build(self) -> crate::output::GetResourceLogLevelOutput {
            crate::output::GetResourceLogLevelOutput {
                log_level: self.log_level,
            }
        }
    }
}
impl GetResourceLogLevelOutput {
    /// Creates a new builder-style object to manufacture [`GetResourceLogLevelOutput`](crate::output::GetResourceLogLevelOutput).
    pub fn builder() -> crate::output::get_resource_log_level_output::Builder {
        crate::output::get_resource_log_level_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetResourceEventConfigurationOutput {
    /// <p>Event configuration for the device registration state event.</p>
    #[doc(hidden)]
    pub device_registration_state:
        std::option::Option<crate::model::DeviceRegistrationStateEventConfiguration>,
    /// <p>Event configuration for the proximity event.</p>
    #[doc(hidden)]
    pub proximity: std::option::Option<crate::model::ProximityEventConfiguration>,
    /// <p>Event configuration for the join event.</p>
    #[doc(hidden)]
    pub join: std::option::Option<crate::model::JoinEventConfiguration>,
    /// <p>Event configuration for the connection status event.</p>
    #[doc(hidden)]
    pub connection_status: std::option::Option<crate::model::ConnectionStatusEventConfiguration>,
    /// <p>Event configuration for the message delivery status event.</p>
    #[doc(hidden)]
    pub message_delivery_status:
        std::option::Option<crate::model::MessageDeliveryStatusEventConfiguration>,
}
impl GetResourceEventConfigurationOutput {
    /// <p>Event configuration for the device registration state event.</p>
    pub fn device_registration_state(
        &self,
    ) -> std::option::Option<&crate::model::DeviceRegistrationStateEventConfiguration> {
        self.device_registration_state.as_ref()
    }
    /// <p>Event configuration for the proximity event.</p>
    pub fn proximity(&self) -> std::option::Option<&crate::model::ProximityEventConfiguration> {
        self.proximity.as_ref()
    }
    /// <p>Event configuration for the join event.</p>
    pub fn join(&self) -> std::option::Option<&crate::model::JoinEventConfiguration> {
        self.join.as_ref()
    }
    /// <p>Event configuration for the connection status event.</p>
    pub fn connection_status(
        &self,
    ) -> std::option::Option<&crate::model::ConnectionStatusEventConfiguration> {
        self.connection_status.as_ref()
    }
    /// <p>Event configuration for the message delivery status event.</p>
    pub fn message_delivery_status(
        &self,
    ) -> std::option::Option<&crate::model::MessageDeliveryStatusEventConfiguration> {
        self.message_delivery_status.as_ref()
    }
}
/// See [`GetResourceEventConfigurationOutput`](crate::output::GetResourceEventConfigurationOutput).
pub mod get_resource_event_configuration_output {

    /// A builder for [`GetResourceEventConfigurationOutput`](crate::output::GetResourceEventConfigurationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) device_registration_state:
            std::option::Option<crate::model::DeviceRegistrationStateEventConfiguration>,
        pub(crate) proximity: std::option::Option<crate::model::ProximityEventConfiguration>,
        pub(crate) join: std::option::Option<crate::model::JoinEventConfiguration>,
        pub(crate) connection_status:
            std::option::Option<crate::model::ConnectionStatusEventConfiguration>,
        pub(crate) message_delivery_status:
            std::option::Option<crate::model::MessageDeliveryStatusEventConfiguration>,
    }
    impl Builder {
        /// <p>Event configuration for the device registration state event.</p>
        pub fn device_registration_state(
            mut self,
            input: crate::model::DeviceRegistrationStateEventConfiguration,
        ) -> Self {
            self.device_registration_state = Some(input);
            self
        }
        /// <p>Event configuration for the device registration state event.</p>
        pub fn set_device_registration_state(
            mut self,
            input: std::option::Option<crate::model::DeviceRegistrationStateEventConfiguration>,
        ) -> Self {
            self.device_registration_state = input;
            self
        }
        /// <p>Event configuration for the proximity event.</p>
        pub fn proximity(mut self, input: crate::model::ProximityEventConfiguration) -> Self {
            self.proximity = Some(input);
            self
        }
        /// <p>Event configuration for the proximity event.</p>
        pub fn set_proximity(
            mut self,
            input: std::option::Option<crate::model::ProximityEventConfiguration>,
        ) -> Self {
            self.proximity = input;
            self
        }
        /// <p>Event configuration for the join event.</p>
        pub fn join(mut self, input: crate::model::JoinEventConfiguration) -> Self {
            self.join = Some(input);
            self
        }
        /// <p>Event configuration for the join event.</p>
        pub fn set_join(
            mut self,
            input: std::option::Option<crate::model::JoinEventConfiguration>,
        ) -> Self {
            self.join = input;
            self
        }
        /// <p>Event configuration for the connection status event.</p>
        pub fn connection_status(
            mut self,
            input: crate::model::ConnectionStatusEventConfiguration,
        ) -> Self {
            self.connection_status = Some(input);
            self
        }
        /// <p>Event configuration for the connection status event.</p>
        pub fn set_connection_status(
            mut self,
            input: std::option::Option<crate::model::ConnectionStatusEventConfiguration>,
        ) -> Self {
            self.connection_status = input;
            self
        }
        /// <p>Event configuration for the message delivery status event.</p>
        pub fn message_delivery_status(
            mut self,
            input: crate::model::MessageDeliveryStatusEventConfiguration,
        ) -> Self {
            self.message_delivery_status = Some(input);
            self
        }
        /// <p>Event configuration for the message delivery status event.</p>
        pub fn set_message_delivery_status(
            mut self,
            input: std::option::Option<crate::model::MessageDeliveryStatusEventConfiguration>,
        ) -> Self {
            self.message_delivery_status = input;
            self
        }
        /// Consumes the builder and constructs a [`GetResourceEventConfigurationOutput`](crate::output::GetResourceEventConfigurationOutput).
        pub fn build(self) -> crate::output::GetResourceEventConfigurationOutput {
            crate::output::GetResourceEventConfigurationOutput {
                device_registration_state: self.device_registration_state,
                proximity: self.proximity,
                join: self.join,
                connection_status: self.connection_status,
                message_delivery_status: self.message_delivery_status,
            }
        }
    }
}
impl GetResourceEventConfigurationOutput {
    /// Creates a new builder-style object to manufacture [`GetResourceEventConfigurationOutput`](crate::output::GetResourceEventConfigurationOutput).
    pub fn builder() -> crate::output::get_resource_event_configuration_output::Builder {
        crate::output::get_resource_event_configuration_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetPositionEstimateOutput {
    /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
    #[doc(hidden)]
    pub geo_json_payload: std::option::Option<aws_smithy_types::Blob>,
}
impl GetPositionEstimateOutput {
    /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
    pub fn geo_json_payload(&self) -> std::option::Option<&aws_smithy_types::Blob> {
        self.geo_json_payload.as_ref()
    }
}
/// See [`GetPositionEstimateOutput`](crate::output::GetPositionEstimateOutput).
pub mod get_position_estimate_output {

    /// A builder for [`GetPositionEstimateOutput`](crate::output::GetPositionEstimateOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) geo_json_payload: std::option::Option<aws_smithy_types::Blob>,
    }
    impl Builder {
        /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
        pub fn geo_json_payload(mut self, input: aws_smithy_types::Blob) -> Self {
            self.geo_json_payload = Some(input);
            self
        }
        /// <p>The position information of the resource, displayed as a JSON payload. The payload uses the GeoJSON format, which a format that's used to encode geographic data structures. For more information, see <a href="https://geojson.org/">GeoJSON</a>.</p>
        pub fn set_geo_json_payload(
            mut self,
            input: std::option::Option<aws_smithy_types::Blob>,
        ) -> Self {
            self.geo_json_payload = input;
            self
        }
        /// Consumes the builder and constructs a [`GetPositionEstimateOutput`](crate::output::GetPositionEstimateOutput).
        pub fn build(self) -> crate::output::GetPositionEstimateOutput {
            crate::output::GetPositionEstimateOutput {
                geo_json_payload: self.geo_json_payload,
            }
        }
    }
}
impl GetPositionEstimateOutput {
    /// Creates a new builder-style object to manufacture [`GetPositionEstimateOutput`](crate::output::GetPositionEstimateOutput).
    pub fn builder() -> crate::output::get_position_estimate_output::Builder {
        crate::output::get_position_estimate_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[deprecated(note = "This operation is no longer supported.")]
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetPositionConfigurationOutput {
    /// <p>The wrapper for the solver configuration details object.</p>
    #[doc(hidden)]
    pub solvers: std::option::Option<crate::model::PositionSolverDetails>,
    /// <p>The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.</p>
    #[doc(hidden)]
    pub destination: std::option::Option<std::string::String>,
}
impl GetPositionConfigurationOutput {
    /// <p>The wrapper for the solver configuration details object.</p>
    pub fn solvers(&self) -> std::option::Option<&crate::model::PositionSolverDetails> {
        self.solvers.as_ref()
    }
    /// <p>The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.</p>
    pub fn destination(&self) -> std::option::Option<&str> {
        self.destination.as_deref()
    }
}
/// See [`GetPositionConfigurationOutput`](crate::output::GetPositionConfigurationOutput).
pub mod get_position_configuration_output {

    /// A builder for [`GetPositionConfigurationOutput`](crate::output::GetPositionConfigurationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) solvers: std::option::Option<crate::model::PositionSolverDetails>,
        pub(crate) destination: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The wrapper for the solver configuration details object.</p>
        pub fn solvers(mut self, input: crate::model::PositionSolverDetails) -> Self {
            self.solvers = Some(input);
            self
        }
        /// <p>The wrapper for the solver configuration details object.</p>
        pub fn set_solvers(
            mut self,
            input: std::option::Option<crate::model::PositionSolverDetails>,
        ) -> Self {
            self.solvers = input;
            self
        }
        /// <p>The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.</p>
        pub fn destination(mut self, input: impl Into<std::string::String>) -> Self {
            self.destination = Some(input.into());
            self
        }
        /// <p>The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.</p>
        pub fn set_destination(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.destination = input;
            self
        }
        /// Consumes the builder and constructs a [`GetPositionConfigurationOutput`](crate::output::GetPositionConfigurationOutput).
        pub fn build(self) -> crate::output::GetPositionConfigurationOutput {
            crate::output::GetPositionConfigurationOutput {
                solvers: self.solvers,
                destination: self.destination,
            }
        }
    }
}
impl GetPositionConfigurationOutput {
    /// Creates a new builder-style object to manufacture [`GetPositionConfigurationOutput`](crate::output::GetPositionConfigurationOutput).
    pub fn builder() -> crate::output::get_position_configuration_output::Builder {
        crate::output::get_position_configuration_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[deprecated(note = "This operation is no longer supported.")]
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetPositionOutput {
    /// <p>The position information of the resource.</p>
    #[doc(hidden)]
    pub position: std::option::Option<std::vec::Vec<f32>>,
    /// <p>The accuracy of the estimated position in meters. An empty value indicates that no position data is available. A value of ‘0.0’ value indicates that position data is available. This data corresponds to the position information that you specified instead of the position computed by solver.</p>
    #[doc(hidden)]
    pub accuracy: std::option::Option<crate::model::Accuracy>,
    /// <p>The type of solver used to identify the position of the resource.</p>
    #[doc(hidden)]
    pub solver_type: std::option::Option<crate::model::PositionSolverType>,
    /// <p>The vendor of the positioning solver.</p>
    #[doc(hidden)]
    pub solver_provider: std::option::Option<crate::model::PositionSolverProvider>,
    /// <p>The version of the positioning solver.</p>
    #[doc(hidden)]
    pub solver_version: std::option::Option<std::string::String>,
    /// <p>The timestamp at which the device's position was determined.</p>
    #[doc(hidden)]
    pub timestamp: std::option::Option<std::string::String>,
}
impl GetPositionOutput {
    /// <p>The position information of the resource.</p>
    pub fn position(&self) -> std::option::Option<&[f32]> {
        self.position.as_deref()
    }
    /// <p>The accuracy of the estimated position in meters. An empty value indicates that no position data is available. A value of ‘0.0’ value indicates that position data is available. This data corresponds to the position information that you specified instead of the position computed by solver.</p>
    pub fn accuracy(&self) -> std::option::Option<&crate::model::Accuracy> {
        self.accuracy.as_ref()
    }
    /// <p>The type of solver used to identify the position of the resource.</p>
    pub fn solver_type(&self) -> std::option::Option<&crate::model::PositionSolverType> {
        self.solver_type.as_ref()
    }
    /// <p>The vendor of the positioning solver.</p>
    pub fn solver_provider(&self) -> std::option::Option<&crate::model::PositionSolverProvider> {
        self.solver_provider.as_ref()
    }
    /// <p>The version of the positioning solver.</p>
    pub fn solver_version(&self) -> std::option::Option<&str> {
        self.solver_version.as_deref()
    }
    /// <p>The timestamp at which the device's position was determined.</p>
    pub fn timestamp(&self) -> std::option::Option<&str> {
        self.timestamp.as_deref()
    }
}
/// See [`GetPositionOutput`](crate::output::GetPositionOutput).
pub mod get_position_output {

    /// A builder for [`GetPositionOutput`](crate::output::GetPositionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) position: std::option::Option<std::vec::Vec<f32>>,
        pub(crate) accuracy: std::option::Option<crate::model::Accuracy>,
        pub(crate) solver_type: std::option::Option<crate::model::PositionSolverType>,
        pub(crate) solver_provider: std::option::Option<crate::model::PositionSolverProvider>,
        pub(crate) solver_version: std::option::Option<std::string::String>,
        pub(crate) timestamp: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `position`.
        ///
        /// To override the contents of this collection use [`set_position`](Self::set_position).
        ///
        /// <p>The position information of the resource.</p>
        pub fn position(mut self, input: f32) -> Self {
            let mut v = self.position.unwrap_or_default();
            v.push(input);
            self.position = Some(v);
            self
        }
        /// <p>The position information of the resource.</p>
        pub fn set_position(mut self, input: std::option::Option<std::vec::Vec<f32>>) -> Self {
            self.position = input;
            self
        }
        /// <p>The accuracy of the estimated position in meters. An empty value indicates that no position data is available. A value of ‘0.0’ value indicates that position data is available. This data corresponds to the position information that you specified instead of the position computed by solver.</p>
        pub fn accuracy(mut self, input: crate::model::Accuracy) -> Self {
            self.accuracy = Some(input);
            self
        }
        /// <p>The accuracy of the estimated position in meters. An empty value indicates that no position data is available. A value of ‘0.0’ value indicates that position data is available. This data corresponds to the position information that you specified instead of the position computed by solver.</p>
        pub fn set_accuracy(mut self, input: std::option::Option<crate::model::Accuracy>) -> Self {
            self.accuracy = input;
            self
        }
        /// <p>The type of solver used to identify the position of the resource.</p>
        pub fn solver_type(mut self, input: crate::model::PositionSolverType) -> Self {
            self.solver_type = Some(input);
            self
        }
        /// <p>The type of solver used to identify the position of the resource.</p>
        pub fn set_solver_type(
            mut self,
            input: std::option::Option<crate::model::PositionSolverType>,
        ) -> Self {
            self.solver_type = input;
            self
        }
        /// <p>The vendor of the positioning solver.</p>
        pub fn solver_provider(mut self, input: crate::model::PositionSolverProvider) -> Self {
            self.solver_provider = Some(input);
            self
        }
        /// <p>The vendor of the positioning solver.</p>
        pub fn set_solver_provider(
            mut self,
            input: std::option::Option<crate::model::PositionSolverProvider>,
        ) -> Self {
            self.solver_provider = input;
            self
        }
        /// <p>The version of the positioning solver.</p>
        pub fn solver_version(mut self, input: impl Into<std::string::String>) -> Self {
            self.solver_version = Some(input.into());
            self
        }
        /// <p>The version of the positioning solver.</p>
        pub fn set_solver_version(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.solver_version = input;
            self
        }
        /// <p>The timestamp at which the device's position was determined.</p>
        pub fn timestamp(mut self, input: impl Into<std::string::String>) -> Self {
            self.timestamp = Some(input.into());
            self
        }
        /// <p>The timestamp at which the device's position was determined.</p>
        pub fn set_timestamp(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.timestamp = input;
            self
        }
        /// Consumes the builder and constructs a [`GetPositionOutput`](crate::output::GetPositionOutput).
        pub fn build(self) -> crate::output::GetPositionOutput {
            crate::output::GetPositionOutput {
                position: self.position,
                accuracy: self.accuracy,
                solver_type: self.solver_type,
                solver_provider: self.solver_provider,
                solver_version: self.solver_version,
                timestamp: self.timestamp,
            }
        }
    }
}
impl GetPositionOutput {
    /// Creates a new builder-style object to manufacture [`GetPositionOutput`](crate::output::GetPositionOutput).
    pub fn builder() -> crate::output::get_position_output::Builder {
        crate::output::get_position_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetPartnerAccountOutput {
    /// <p>The Sidewalk account credentials.</p>
    #[doc(hidden)]
    pub sidewalk: std::option::Option<crate::model::SidewalkAccountInfoWithFingerprint>,
    /// <p>Whether the partner account is linked to the AWS account.</p>
    #[doc(hidden)]
    pub account_linked: bool,
}
impl GetPartnerAccountOutput {
    /// <p>The Sidewalk account credentials.</p>
    pub fn sidewalk(
        &self,
    ) -> std::option::Option<&crate::model::SidewalkAccountInfoWithFingerprint> {
        self.sidewalk.as_ref()
    }
    /// <p>Whether the partner account is linked to the AWS account.</p>
    pub fn account_linked(&self) -> bool {
        self.account_linked
    }
}
/// See [`GetPartnerAccountOutput`](crate::output::GetPartnerAccountOutput).
pub mod get_partner_account_output {

    /// A builder for [`GetPartnerAccountOutput`](crate::output::GetPartnerAccountOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) sidewalk: std::option::Option<crate::model::SidewalkAccountInfoWithFingerprint>,
        pub(crate) account_linked: std::option::Option<bool>,
    }
    impl Builder {
        /// <p>The Sidewalk account credentials.</p>
        pub fn sidewalk(mut self, input: crate::model::SidewalkAccountInfoWithFingerprint) -> Self {
            self.sidewalk = Some(input);
            self
        }
        /// <p>The Sidewalk account credentials.</p>
        pub fn set_sidewalk(
            mut self,
            input: std::option::Option<crate::model::SidewalkAccountInfoWithFingerprint>,
        ) -> Self {
            self.sidewalk = input;
            self
        }
        /// <p>Whether the partner account is linked to the AWS account.</p>
        pub fn account_linked(mut self, input: bool) -> Self {
            self.account_linked = Some(input);
            self
        }
        /// <p>Whether the partner account is linked to the AWS account.</p>
        pub fn set_account_linked(mut self, input: std::option::Option<bool>) -> Self {
            self.account_linked = input;
            self
        }
        /// Consumes the builder and constructs a [`GetPartnerAccountOutput`](crate::output::GetPartnerAccountOutput).
        pub fn build(self) -> crate::output::GetPartnerAccountOutput {
            crate::output::GetPartnerAccountOutput {
                sidewalk: self.sidewalk,
                account_linked: self.account_linked.unwrap_or_default(),
            }
        }
    }
}
impl GetPartnerAccountOutput {
    /// Creates a new builder-style object to manufacture [`GetPartnerAccountOutput`](crate::output::GetPartnerAccountOutput).
    pub fn builder() -> crate::output::get_partner_account_output::Builder {
        crate::output::get_partner_account_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetNetworkAnalyzerConfigurationOutput {
    /// <p>Trace content for your wireless gateway and wireless device resources.</p>
    #[doc(hidden)]
    pub trace_content: std::option::Option<crate::model::TraceContent>,
    /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
    #[doc(hidden)]
    pub wireless_devices: std::option::Option<std::vec::Vec<std::string::String>>,
    /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
    #[doc(hidden)]
    pub wireless_gateways: std::option::Option<std::vec::Vec<std::string::String>>,
    /// <p>The description of the new resource.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>Name of the network analyzer configuration.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
}
impl GetNetworkAnalyzerConfigurationOutput {
    /// <p>Trace content for your wireless gateway and wireless device resources.</p>
    pub fn trace_content(&self) -> std::option::Option<&crate::model::TraceContent> {
        self.trace_content.as_ref()
    }
    /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
    pub fn wireless_devices(&self) -> std::option::Option<&[std::string::String]> {
        self.wireless_devices.as_deref()
    }
    /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
    pub fn wireless_gateways(&self) -> std::option::Option<&[std::string::String]> {
        self.wireless_gateways.as_deref()
    }
    /// <p>The description of the new resource.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>Name of the network analyzer configuration.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
}
/// See [`GetNetworkAnalyzerConfigurationOutput`](crate::output::GetNetworkAnalyzerConfigurationOutput).
pub mod get_network_analyzer_configuration_output {

    /// A builder for [`GetNetworkAnalyzerConfigurationOutput`](crate::output::GetNetworkAnalyzerConfigurationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) trace_content: std::option::Option<crate::model::TraceContent>,
        pub(crate) wireless_devices: std::option::Option<std::vec::Vec<std::string::String>>,
        pub(crate) wireless_gateways: std::option::Option<std::vec::Vec<std::string::String>>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>Trace content for your wireless gateway and wireless device resources.</p>
        pub fn trace_content(mut self, input: crate::model::TraceContent) -> Self {
            self.trace_content = Some(input);
            self
        }
        /// <p>Trace content for your wireless gateway and wireless device resources.</p>
        pub fn set_trace_content(
            mut self,
            input: std::option::Option<crate::model::TraceContent>,
        ) -> Self {
            self.trace_content = input;
            self
        }
        /// Appends an item to `wireless_devices`.
        ///
        /// To override the contents of this collection use [`set_wireless_devices`](Self::set_wireless_devices).
        ///
        /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
        pub fn wireless_devices(mut self, input: impl Into<std::string::String>) -> Self {
            let mut v = self.wireless_devices.unwrap_or_default();
            v.push(input.into());
            self.wireless_devices = Some(v);
            self
        }
        /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
        pub fn set_wireless_devices(
            mut self,
            input: std::option::Option<std::vec::Vec<std::string::String>>,
        ) -> Self {
            self.wireless_devices = input;
            self
        }
        /// Appends an item to `wireless_gateways`.
        ///
        /// To override the contents of this collection use [`set_wireless_gateways`](Self::set_wireless_gateways).
        ///
        /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
        pub fn wireless_gateways(mut self, input: impl Into<std::string::String>) -> Self {
            let mut v = self.wireless_gateways.unwrap_or_default();
            v.push(input.into());
            self.wireless_gateways = Some(v);
            self
        }
        /// <p>List of wireless gateway resources that have been added to the network analyzer configuration.</p>
        pub fn set_wireless_gateways(
            mut self,
            input: std::option::Option<std::vec::Vec<std::string::String>>,
        ) -> Self {
            self.wireless_gateways = input;
            self
        }
        /// <p>The description of the new resource.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the new resource.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>Name of the network analyzer configuration.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>Name of the network analyzer configuration.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// Consumes the builder and constructs a [`GetNetworkAnalyzerConfigurationOutput`](crate::output::GetNetworkAnalyzerConfigurationOutput).
        pub fn build(self) -> crate::output::GetNetworkAnalyzerConfigurationOutput {
            crate::output::GetNetworkAnalyzerConfigurationOutput {
                trace_content: self.trace_content,
                wireless_devices: self.wireless_devices,
                wireless_gateways: self.wireless_gateways,
                description: self.description,
                arn: self.arn,
                name: self.name,
            }
        }
    }
}
impl GetNetworkAnalyzerConfigurationOutput {
    /// Creates a new builder-style object to manufacture [`GetNetworkAnalyzerConfigurationOutput`](crate::output::GetNetworkAnalyzerConfigurationOutput).
    pub fn builder() -> crate::output::get_network_analyzer_configuration_output::Builder {
        crate::output::get_network_analyzer_configuration_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetMulticastGroupSessionOutput {
    /// <p>The LoRaWAN information used with the multicast session.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanMulticastSession>,
}
impl GetMulticastGroupSessionOutput {
    /// <p>The LoRaWAN information used with the multicast session.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanMulticastSession> {
        self.lo_ra_wan.as_ref()
    }
}
/// See [`GetMulticastGroupSessionOutput`](crate::output::GetMulticastGroupSessionOutput).
pub mod get_multicast_group_session_output {

    /// A builder for [`GetMulticastGroupSessionOutput`](crate::output::GetMulticastGroupSessionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanMulticastSession>,
    }
    impl Builder {
        /// <p>The LoRaWAN information used with the multicast session.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanMulticastSession) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>The LoRaWAN information used with the multicast session.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanMulticastSession>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// Consumes the builder and constructs a [`GetMulticastGroupSessionOutput`](crate::output::GetMulticastGroupSessionOutput).
        pub fn build(self) -> crate::output::GetMulticastGroupSessionOutput {
            crate::output::GetMulticastGroupSessionOutput {
                lo_ra_wan: self.lo_ra_wan,
            }
        }
    }
}
impl GetMulticastGroupSessionOutput {
    /// Creates a new builder-style object to manufacture [`GetMulticastGroupSessionOutput`](crate::output::GetMulticastGroupSessionOutput).
    pub fn builder() -> crate::output::get_multicast_group_session_output::Builder {
        crate::output::get_multicast_group_session_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetMulticastGroupOutput {
    /// <p>The arn of the multicast group.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of the multicast group.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The name of the multicast group.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The description of the new resource.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The status of the multicast group.</p>
    #[doc(hidden)]
    pub status: std::option::Option<std::string::String>,
    /// <p>The LoRaWAN information that is to be returned from getting multicast group information.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanMulticastGet>,
    /// <p>Created at timestamp for the resource.</p>
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl GetMulticastGroupOutput {
    /// <p>The arn of the multicast group.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of the multicast group.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The name of the multicast group.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The description of the new resource.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The status of the multicast group.</p>
    pub fn status(&self) -> std::option::Option<&str> {
        self.status.as_deref()
    }
    /// <p>The LoRaWAN information that is to be returned from getting multicast group information.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanMulticastGet> {
        self.lo_ra_wan.as_ref()
    }
    /// <p>Created at timestamp for the resource.</p>
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
}
/// See [`GetMulticastGroupOutput`](crate::output::GetMulticastGroupOutput).
pub mod get_multicast_group_output {

    /// A builder for [`GetMulticastGroupOutput`](crate::output::GetMulticastGroupOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanMulticastGet>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The arn of the multicast group.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The arn of the multicast group.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of the multicast group.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the multicast group.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The name of the multicast group.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the multicast group.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The description of the new resource.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the new resource.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The status of the multicast group.</p>
        pub fn status(mut self, input: impl Into<std::string::String>) -> Self {
            self.status = Some(input.into());
            self
        }
        /// <p>The status of the multicast group.</p>
        pub fn set_status(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.status = input;
            self
        }
        /// <p>The LoRaWAN information that is to be returned from getting multicast group information.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanMulticastGet) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>The LoRaWAN information that is to be returned from getting multicast group information.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanMulticastGet>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// <p>Created at timestamp for the resource.</p>
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        /// <p>Created at timestamp for the resource.</p>
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        /// Consumes the builder and constructs a [`GetMulticastGroupOutput`](crate::output::GetMulticastGroupOutput).
        pub fn build(self) -> crate::output::GetMulticastGroupOutput {
            crate::output::GetMulticastGroupOutput {
                arn: self.arn,
                id: self.id,
                name: self.name,
                description: self.description,
                status: self.status,
                lo_ra_wan: self.lo_ra_wan,
                created_at: self.created_at,
            }
        }
    }
}
impl GetMulticastGroupOutput {
    /// Creates a new builder-style object to manufacture [`GetMulticastGroupOutput`](crate::output::GetMulticastGroupOutput).
    pub fn builder() -> crate::output::get_multicast_group_output::Builder {
        crate::output::get_multicast_group_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetLogLevelsByResourceTypesOutput {
    /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
    #[doc(hidden)]
    pub default_log_level: std::option::Option<crate::model::LogLevel>,
    /// <p>The list of wireless gateway log options.</p>
    #[doc(hidden)]
    pub wireless_gateway_log_options:
        std::option::Option<std::vec::Vec<crate::model::WirelessGatewayLogOption>>,
    /// <p>The list of wireless device log options.</p>
    #[doc(hidden)]
    pub wireless_device_log_options:
        std::option::Option<std::vec::Vec<crate::model::WirelessDeviceLogOption>>,
}
impl GetLogLevelsByResourceTypesOutput {
    /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
    pub fn default_log_level(&self) -> std::option::Option<&crate::model::LogLevel> {
        self.default_log_level.as_ref()
    }
    /// <p>The list of wireless gateway log options.</p>
    pub fn wireless_gateway_log_options(
        &self,
    ) -> std::option::Option<&[crate::model::WirelessGatewayLogOption]> {
        self.wireless_gateway_log_options.as_deref()
    }
    /// <p>The list of wireless device log options.</p>
    pub fn wireless_device_log_options(
        &self,
    ) -> std::option::Option<&[crate::model::WirelessDeviceLogOption]> {
        self.wireless_device_log_options.as_deref()
    }
}
/// See [`GetLogLevelsByResourceTypesOutput`](crate::output::GetLogLevelsByResourceTypesOutput).
pub mod get_log_levels_by_resource_types_output {

    /// A builder for [`GetLogLevelsByResourceTypesOutput`](crate::output::GetLogLevelsByResourceTypesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) default_log_level: std::option::Option<crate::model::LogLevel>,
        pub(crate) wireless_gateway_log_options:
            std::option::Option<std::vec::Vec<crate::model::WirelessGatewayLogOption>>,
        pub(crate) wireless_device_log_options:
            std::option::Option<std::vec::Vec<crate::model::WirelessDeviceLogOption>>,
    }
    impl Builder {
        /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
        pub fn default_log_level(mut self, input: crate::model::LogLevel) -> Self {
            self.default_log_level = Some(input);
            self
        }
        /// <p>The log level for a log message. The log levels can be disabled, or set to <code>ERROR</code> to display less verbose logs containing only error information, or to <code>INFO</code> for more detailed logs.</p>
        pub fn set_default_log_level(
            mut self,
            input: std::option::Option<crate::model::LogLevel>,
        ) -> Self {
            self.default_log_level = input;
            self
        }
        /// Appends an item to `wireless_gateway_log_options`.
        ///
        /// To override the contents of this collection use [`set_wireless_gateway_log_options`](Self::set_wireless_gateway_log_options).
        ///
        /// <p>The list of wireless gateway log options.</p>
        pub fn wireless_gateway_log_options(
            mut self,
            input: crate::model::WirelessGatewayLogOption,
        ) -> Self {
            let mut v = self.wireless_gateway_log_options.unwrap_or_default();
            v.push(input);
            self.wireless_gateway_log_options = Some(v);
            self
        }
        /// <p>The list of wireless gateway log options.</p>
        pub fn set_wireless_gateway_log_options(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WirelessGatewayLogOption>>,
        ) -> Self {
            self.wireless_gateway_log_options = input;
            self
        }
        /// Appends an item to `wireless_device_log_options`.
        ///
        /// To override the contents of this collection use [`set_wireless_device_log_options`](Self::set_wireless_device_log_options).
        ///
        /// <p>The list of wireless device log options.</p>
        pub fn wireless_device_log_options(
            mut self,
            input: crate::model::WirelessDeviceLogOption,
        ) -> Self {
            let mut v = self.wireless_device_log_options.unwrap_or_default();
            v.push(input);
            self.wireless_device_log_options = Some(v);
            self
        }
        /// <p>The list of wireless device log options.</p>
        pub fn set_wireless_device_log_options(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WirelessDeviceLogOption>>,
        ) -> Self {
            self.wireless_device_log_options = input;
            self
        }
        /// Consumes the builder and constructs a [`GetLogLevelsByResourceTypesOutput`](crate::output::GetLogLevelsByResourceTypesOutput).
        pub fn build(self) -> crate::output::GetLogLevelsByResourceTypesOutput {
            crate::output::GetLogLevelsByResourceTypesOutput {
                default_log_level: self.default_log_level,
                wireless_gateway_log_options: self.wireless_gateway_log_options,
                wireless_device_log_options: self.wireless_device_log_options,
            }
        }
    }
}
impl GetLogLevelsByResourceTypesOutput {
    /// Creates a new builder-style object to manufacture [`GetLogLevelsByResourceTypesOutput`](crate::output::GetLogLevelsByResourceTypesOutput).
    pub fn builder() -> crate::output::get_log_levels_by_resource_types_output::Builder {
        crate::output::get_log_levels_by_resource_types_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetFuotaTaskOutput {
    /// <p>The arn of a FUOTA task.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of a FUOTA task.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The status of a FUOTA task.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::FuotaTaskStatus>,
    /// <p>The name of a FUOTA task.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The description of the new resource.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The LoRaWAN information returned from getting a FUOTA task.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanFuotaTaskGetInfo>,
    /// <p>The S3 URI points to a firmware update image that is to be used with a FUOTA task.</p>
    #[doc(hidden)]
    pub firmware_update_image: std::option::Option<std::string::String>,
    /// <p>The firmware update role that is to be used with a FUOTA task.</p>
    #[doc(hidden)]
    pub firmware_update_role: std::option::Option<std::string::String>,
    /// <p>Created at timestamp for the resource.</p>
    #[doc(hidden)]
    pub created_at: std::option::Option<aws_smithy_types::DateTime>,
}
impl GetFuotaTaskOutput {
    /// <p>The arn of a FUOTA task.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of a FUOTA task.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The status of a FUOTA task.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::FuotaTaskStatus> {
        self.status.as_ref()
    }
    /// <p>The name of a FUOTA task.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The description of the new resource.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The LoRaWAN information returned from getting a FUOTA task.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanFuotaTaskGetInfo> {
        self.lo_ra_wan.as_ref()
    }
    /// <p>The S3 URI points to a firmware update image that is to be used with a FUOTA task.</p>
    pub fn firmware_update_image(&self) -> std::option::Option<&str> {
        self.firmware_update_image.as_deref()
    }
    /// <p>The firmware update role that is to be used with a FUOTA task.</p>
    pub fn firmware_update_role(&self) -> std::option::Option<&str> {
        self.firmware_update_role.as_deref()
    }
    /// <p>Created at timestamp for the resource.</p>
    pub fn created_at(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created_at.as_ref()
    }
}
/// See [`GetFuotaTaskOutput`](crate::output::GetFuotaTaskOutput).
pub mod get_fuota_task_output {

    /// A builder for [`GetFuotaTaskOutput`](crate::output::GetFuotaTaskOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::FuotaTaskStatus>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanFuotaTaskGetInfo>,
        pub(crate) firmware_update_image: std::option::Option<std::string::String>,
        pub(crate) firmware_update_role: std::option::Option<std::string::String>,
        pub(crate) created_at: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The arn of a FUOTA task.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The arn of a FUOTA task.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of a FUOTA task.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of a FUOTA task.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The status of a FUOTA task.</p>
        pub fn status(mut self, input: crate::model::FuotaTaskStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of a FUOTA task.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::FuotaTaskStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// <p>The name of a FUOTA task.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of a FUOTA task.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The description of the new resource.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the new resource.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The LoRaWAN information returned from getting a FUOTA task.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanFuotaTaskGetInfo) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>The LoRaWAN information returned from getting a FUOTA task.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanFuotaTaskGetInfo>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// <p>The S3 URI points to a firmware update image that is to be used with a FUOTA task.</p>
        pub fn firmware_update_image(mut self, input: impl Into<std::string::String>) -> Self {
            self.firmware_update_image = Some(input.into());
            self
        }
        /// <p>The S3 URI points to a firmware update image that is to be used with a FUOTA task.</p>
        pub fn set_firmware_update_image(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.firmware_update_image = input;
            self
        }
        /// <p>The firmware update role that is to be used with a FUOTA task.</p>
        pub fn firmware_update_role(mut self, input: impl Into<std::string::String>) -> Self {
            self.firmware_update_role = Some(input.into());
            self
        }
        /// <p>The firmware update role that is to be used with a FUOTA task.</p>
        pub fn set_firmware_update_role(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.firmware_update_role = input;
            self
        }
        /// <p>Created at timestamp for the resource.</p>
        pub fn created_at(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created_at = Some(input);
            self
        }
        /// <p>Created at timestamp for the resource.</p>
        pub fn set_created_at(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created_at = input;
            self
        }
        /// Consumes the builder and constructs a [`GetFuotaTaskOutput`](crate::output::GetFuotaTaskOutput).
        pub fn build(self) -> crate::output::GetFuotaTaskOutput {
            crate::output::GetFuotaTaskOutput {
                arn: self.arn,
                id: self.id,
                status: self.status,
                name: self.name,
                description: self.description,
                lo_ra_wan: self.lo_ra_wan,
                firmware_update_image: self.firmware_update_image,
                firmware_update_role: self.firmware_update_role,
                created_at: self.created_at,
            }
        }
    }
}
impl GetFuotaTaskOutput {
    /// Creates a new builder-style object to manufacture [`GetFuotaTaskOutput`](crate::output::GetFuotaTaskOutput).
    pub fn builder() -> crate::output::get_fuota_task_output::Builder {
        crate::output::get_fuota_task_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetEventConfigurationByResourceTypesOutput {
    /// <p>Resource type event configuration for the device registration state event.</p>
    #[doc(hidden)]
    pub device_registration_state:
        std::option::Option<crate::model::DeviceRegistrationStateResourceTypeEventConfiguration>,
    /// <p>Resource type event configuration for the proximity event.</p>
    #[doc(hidden)]
    pub proximity: std::option::Option<crate::model::ProximityResourceTypeEventConfiguration>,
    /// <p>Resource type event configuration for the join event.</p>
    #[doc(hidden)]
    pub join: std::option::Option<crate::model::JoinResourceTypeEventConfiguration>,
    /// <p>Resource type event configuration for the connection status event.</p>
    #[doc(hidden)]
    pub connection_status:
        std::option::Option<crate::model::ConnectionStatusResourceTypeEventConfiguration>,
    /// <p>Resource type event configuration object for the message delivery status event.</p>
    #[doc(hidden)]
    pub message_delivery_status:
        std::option::Option<crate::model::MessageDeliveryStatusResourceTypeEventConfiguration>,
}
impl GetEventConfigurationByResourceTypesOutput {
    /// <p>Resource type event configuration for the device registration state event.</p>
    pub fn device_registration_state(
        &self,
    ) -> std::option::Option<&crate::model::DeviceRegistrationStateResourceTypeEventConfiguration>
    {
        self.device_registration_state.as_ref()
    }
    /// <p>Resource type event configuration for the proximity event.</p>
    pub fn proximity(
        &self,
    ) -> std::option::Option<&crate::model::ProximityResourceTypeEventConfiguration> {
        self.proximity.as_ref()
    }
    /// <p>Resource type event configuration for the join event.</p>
    pub fn join(&self) -> std::option::Option<&crate::model::JoinResourceTypeEventConfiguration> {
        self.join.as_ref()
    }
    /// <p>Resource type event configuration for the connection status event.</p>
    pub fn connection_status(
        &self,
    ) -> std::option::Option<&crate::model::ConnectionStatusResourceTypeEventConfiguration> {
        self.connection_status.as_ref()
    }
    /// <p>Resource type event configuration object for the message delivery status event.</p>
    pub fn message_delivery_status(
        &self,
    ) -> std::option::Option<&crate::model::MessageDeliveryStatusResourceTypeEventConfiguration>
    {
        self.message_delivery_status.as_ref()
    }
}
/// See [`GetEventConfigurationByResourceTypesOutput`](crate::output::GetEventConfigurationByResourceTypesOutput).
pub mod get_event_configuration_by_resource_types_output {

    /// A builder for [`GetEventConfigurationByResourceTypesOutput`](crate::output::GetEventConfigurationByResourceTypesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) device_registration_state: std::option::Option<
            crate::model::DeviceRegistrationStateResourceTypeEventConfiguration,
        >,
        pub(crate) proximity:
            std::option::Option<crate::model::ProximityResourceTypeEventConfiguration>,
        pub(crate) join: std::option::Option<crate::model::JoinResourceTypeEventConfiguration>,
        pub(crate) connection_status:
            std::option::Option<crate::model::ConnectionStatusResourceTypeEventConfiguration>,
        pub(crate) message_delivery_status:
            std::option::Option<crate::model::MessageDeliveryStatusResourceTypeEventConfiguration>,
    }
    impl Builder {
        /// <p>Resource type event configuration for the device registration state event.</p>
        pub fn device_registration_state(
            mut self,
            input: crate::model::DeviceRegistrationStateResourceTypeEventConfiguration,
        ) -> Self {
            self.device_registration_state = Some(input);
            self
        }
        /// <p>Resource type event configuration for the device registration state event.</p>
        pub fn set_device_registration_state(
            mut self,
            input: std::option::Option<
                crate::model::DeviceRegistrationStateResourceTypeEventConfiguration,
            >,
        ) -> Self {
            self.device_registration_state = input;
            self
        }
        /// <p>Resource type event configuration for the proximity event.</p>
        pub fn proximity(
            mut self,
            input: crate::model::ProximityResourceTypeEventConfiguration,
        ) -> Self {
            self.proximity = Some(input);
            self
        }
        /// <p>Resource type event configuration for the proximity event.</p>
        pub fn set_proximity(
            mut self,
            input: std::option::Option<crate::model::ProximityResourceTypeEventConfiguration>,
        ) -> Self {
            self.proximity = input;
            self
        }
        /// <p>Resource type event configuration for the join event.</p>
        pub fn join(mut self, input: crate::model::JoinResourceTypeEventConfiguration) -> Self {
            self.join = Some(input);
            self
        }
        /// <p>Resource type event configuration for the join event.</p>
        pub fn set_join(
            mut self,
            input: std::option::Option<crate::model::JoinResourceTypeEventConfiguration>,
        ) -> Self {
            self.join = input;
            self
        }
        /// <p>Resource type event configuration for the connection status event.</p>
        pub fn connection_status(
            mut self,
            input: crate::model::ConnectionStatusResourceTypeEventConfiguration,
        ) -> Self {
            self.connection_status = Some(input);
            self
        }
        /// <p>Resource type event configuration for the connection status event.</p>
        pub fn set_connection_status(
            mut self,
            input: std::option::Option<
                crate::model::ConnectionStatusResourceTypeEventConfiguration,
            >,
        ) -> Self {
            self.connection_status = input;
            self
        }
        /// <p>Resource type event configuration object for the message delivery status event.</p>
        pub fn message_delivery_status(
            mut self,
            input: crate::model::MessageDeliveryStatusResourceTypeEventConfiguration,
        ) -> Self {
            self.message_delivery_status = Some(input);
            self
        }
        /// <p>Resource type event configuration object for the message delivery status event.</p>
        pub fn set_message_delivery_status(
            mut self,
            input: std::option::Option<
                crate::model::MessageDeliveryStatusResourceTypeEventConfiguration,
            >,
        ) -> Self {
            self.message_delivery_status = input;
            self
        }
        /// Consumes the builder and constructs a [`GetEventConfigurationByResourceTypesOutput`](crate::output::GetEventConfigurationByResourceTypesOutput).
        pub fn build(self) -> crate::output::GetEventConfigurationByResourceTypesOutput {
            crate::output::GetEventConfigurationByResourceTypesOutput {
                device_registration_state: self.device_registration_state,
                proximity: self.proximity,
                join: self.join,
                connection_status: self.connection_status,
                message_delivery_status: self.message_delivery_status,
            }
        }
    }
}
impl GetEventConfigurationByResourceTypesOutput {
    /// Creates a new builder-style object to manufacture [`GetEventConfigurationByResourceTypesOutput`](crate::output::GetEventConfigurationByResourceTypesOutput).
    pub fn builder() -> crate::output::get_event_configuration_by_resource_types_output::Builder {
        crate::output::get_event_configuration_by_resource_types_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetDeviceProfileOutput {
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The ID of the device profile.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>Information about the device profile.</p>
    #[doc(hidden)]
    pub lo_ra_wan: std::option::Option<crate::model::LoRaWanDeviceProfile>,
}
impl GetDeviceProfileOutput {
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The ID of the device profile.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>Information about the device profile.</p>
    pub fn lo_ra_wan(&self) -> std::option::Option<&crate::model::LoRaWanDeviceProfile> {
        self.lo_ra_wan.as_ref()
    }
}
/// See [`GetDeviceProfileOutput`](crate::output::GetDeviceProfileOutput).
pub mod get_device_profile_output {

    /// A builder for [`GetDeviceProfileOutput`](crate::output::GetDeviceProfileOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) lo_ra_wan: std::option::Option<crate::model::LoRaWanDeviceProfile>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The ID of the device profile.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the device profile.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>Information about the device profile.</p>
        pub fn lo_ra_wan(mut self, input: crate::model::LoRaWanDeviceProfile) -> Self {
            self.lo_ra_wan = Some(input);
            self
        }
        /// <p>Information about the device profile.</p>
        pub fn set_lo_ra_wan(
            mut self,
            input: std::option::Option<crate::model::LoRaWanDeviceProfile>,
        ) -> Self {
            self.lo_ra_wan = input;
            self
        }
        /// Consumes the builder and constructs a [`GetDeviceProfileOutput`](crate::output::GetDeviceProfileOutput).
        pub fn build(self) -> crate::output::GetDeviceProfileOutput {
            crate::output::GetDeviceProfileOutput {
                arn: self.arn,
                name: self.name,
                id: self.id,
                lo_ra_wan: self.lo_ra_wan,
            }
        }
    }
}
impl GetDeviceProfileOutput {
    /// Creates a new builder-style object to manufacture [`GetDeviceProfileOutput`](crate::output::GetDeviceProfileOutput).
    pub fn builder() -> crate::output::get_device_profile_output::Builder {
        crate::output::get_device_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 GetDestinationOutput {
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The rule name or topic rule to send messages to.</p>
    #[doc(hidden)]
    pub expression: std::option::Option<std::string::String>,
    /// <p>The type of value in <code>Expression</code>.</p>
    #[doc(hidden)]
    pub expression_type: std::option::Option<crate::model::ExpressionType>,
    /// <p>The description of the resource.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The ARN of the IAM Role that authorizes the destination.</p>
    #[doc(hidden)]
    pub role_arn: std::option::Option<std::string::String>,
}
impl GetDestinationOutput {
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The rule name or topic rule to send messages to.</p>
    pub fn expression(&self) -> std::option::Option<&str> {
        self.expression.as_deref()
    }
    /// <p>The type of value in <code>Expression</code>.</p>
    pub fn expression_type(&self) -> std::option::Option<&crate::model::ExpressionType> {
        self.expression_type.as_ref()
    }
    /// <p>The description of the resource.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The ARN of the IAM Role that authorizes the destination.</p>
    pub fn role_arn(&self) -> std::option::Option<&str> {
        self.role_arn.as_deref()
    }
}
/// See [`GetDestinationOutput`](crate::output::GetDestinationOutput).
pub mod get_destination_output {

    /// A builder for [`GetDestinationOutput`](crate::output::GetDestinationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) expression: std::option::Option<std::string::String>,
        pub(crate) expression_type: std::option::Option<crate::model::ExpressionType>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) role_arn: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The rule name or topic rule to send messages to.</p>
        pub fn expression(mut self, input: impl Into<std::string::String>) -> Self {
            self.expression = Some(input.into());
            self
        }
        /// <p>The rule name or topic rule to send messages to.</p>
        pub fn set_expression(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.expression = input;
            self
        }
        /// <p>The type of value in <code>Expression</code>.</p>
        pub fn expression_type(mut self, input: crate::model::ExpressionType) -> Self {
            self.expression_type = Some(input);
            self
        }
        /// <p>The type of value in <code>Expression</code>.</p>
        pub fn set_expression_type(
            mut self,
            input: std::option::Option<crate::model::ExpressionType>,
        ) -> Self {
            self.expression_type = input;
            self
        }
        /// <p>The description of the resource.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the resource.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The ARN of the IAM Role that authorizes the destination.</p>
        pub fn role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.role_arn = Some(input.into());
            self
        }
        /// <p>The ARN of the IAM Role that authorizes the destination.</p>
        pub fn set_role_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.role_arn = input;
            self
        }
        /// Consumes the builder and constructs a [`GetDestinationOutput`](crate::output::GetDestinationOutput).
        pub fn build(self) -> crate::output::GetDestinationOutput {
            crate::output::GetDestinationOutput {
                arn: self.arn,
                name: self.name,
                expression: self.expression,
                expression_type: self.expression_type,
                description: self.description,
                role_arn: self.role_arn,
            }
        }
    }
}
impl GetDestinationOutput {
    /// Creates a new builder-style object to manufacture [`GetDestinationOutput`](crate::output::GetDestinationOutput).
    pub fn builder() -> crate::output::get_destination_output::Builder {
        crate::output::get_destination_output::Builder::default()
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// A builder for [`DeleteServiceProfileOutput`](crate::output::DeleteServiceProfileOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {}
    impl Builder {
        /// Consumes the builder and constructs a [`DeleteServiceProfileOutput`](crate::output::DeleteServiceProfileOutput).
        pub fn build(self) -> crate::output::DeleteServiceProfileOutput {
            crate::output::DeleteServiceProfileOutput {}
        }
    }
}
impl DeleteServiceProfileOutput {
    /// Creates a new builder-style object to manufacture [`DeleteServiceProfileOutput`](crate::output::DeleteServiceProfileOutput).
    pub fn builder() -> crate::output::delete_service_profile_output::Builder {
        crate::output::delete_service_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 DeleteQueuedMessagesOutput {}
/// See [`DeleteQueuedMessagesOutput`](crate::output::DeleteQueuedMessagesOutput).
pub mod delete_queued_messages_output {

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

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

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

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

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

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

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

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

    /// A builder for [`DeleteDeviceProfileOutput`](crate::output::DeleteDeviceProfileOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {}
    impl Builder {
        /// Consumes the builder and constructs a [`DeleteDeviceProfileOutput`](crate::output::DeleteDeviceProfileOutput).
        pub fn build(self) -> crate::output::DeleteDeviceProfileOutput {
            crate::output::DeleteDeviceProfileOutput {}
        }
    }
}
impl DeleteDeviceProfileOutput {
    /// Creates a new builder-style object to manufacture [`DeleteDeviceProfileOutput`](crate::output::DeleteDeviceProfileOutput).
    pub fn builder() -> crate::output::delete_device_profile_output::Builder {
        crate::output::delete_device_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 DeleteDestinationOutput {}
/// See [`DeleteDestinationOutput`](crate::output::DeleteDestinationOutput).
pub mod delete_destination_output {

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWirelessGatewayTaskDefinitionOutput {
    /// <p>The ID of the new wireless gateway task definition.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
}
impl CreateWirelessGatewayTaskDefinitionOutput {
    /// <p>The ID of the new wireless gateway task definition.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
}
/// See [`CreateWirelessGatewayTaskDefinitionOutput`](crate::output::CreateWirelessGatewayTaskDefinitionOutput).
pub mod create_wireless_gateway_task_definition_output {

    /// A builder for [`CreateWirelessGatewayTaskDefinitionOutput`](crate::output::CreateWirelessGatewayTaskDefinitionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) arn: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The ID of the new wireless gateway task definition.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the new wireless gateway task definition.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWirelessGatewayTaskDefinitionOutput`](crate::output::CreateWirelessGatewayTaskDefinitionOutput).
        pub fn build(self) -> crate::output::CreateWirelessGatewayTaskDefinitionOutput {
            crate::output::CreateWirelessGatewayTaskDefinitionOutput {
                id: self.id,
                arn: self.arn,
            }
        }
    }
}
impl CreateWirelessGatewayTaskDefinitionOutput {
    /// Creates a new builder-style object to manufacture [`CreateWirelessGatewayTaskDefinitionOutput`](crate::output::CreateWirelessGatewayTaskDefinitionOutput).
    pub fn builder() -> crate::output::create_wireless_gateway_task_definition_output::Builder {
        crate::output::create_wireless_gateway_task_definition_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWirelessGatewayTaskOutput {
    /// <p>The ID of the WirelessGatewayTaskDefinition.</p>
    #[doc(hidden)]
    pub wireless_gateway_task_definition_id: std::option::Option<std::string::String>,
    /// <p>The status of the request.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::WirelessGatewayTaskStatus>,
}
impl CreateWirelessGatewayTaskOutput {
    /// <p>The ID of the WirelessGatewayTaskDefinition.</p>
    pub fn wireless_gateway_task_definition_id(&self) -> std::option::Option<&str> {
        self.wireless_gateway_task_definition_id.as_deref()
    }
    /// <p>The status of the request.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::WirelessGatewayTaskStatus> {
        self.status.as_ref()
    }
}
/// See [`CreateWirelessGatewayTaskOutput`](crate::output::CreateWirelessGatewayTaskOutput).
pub mod create_wireless_gateway_task_output {

    /// A builder for [`CreateWirelessGatewayTaskOutput`](crate::output::CreateWirelessGatewayTaskOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) wireless_gateway_task_definition_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::WirelessGatewayTaskStatus>,
    }
    impl Builder {
        /// <p>The ID of the WirelessGatewayTaskDefinition.</p>
        pub fn wireless_gateway_task_definition_id(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.wireless_gateway_task_definition_id = Some(input.into());
            self
        }
        /// <p>The ID of the WirelessGatewayTaskDefinition.</p>
        pub fn set_wireless_gateway_task_definition_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.wireless_gateway_task_definition_id = input;
            self
        }
        /// <p>The status of the request.</p>
        pub fn status(mut self, input: crate::model::WirelessGatewayTaskStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the request.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::WirelessGatewayTaskStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWirelessGatewayTaskOutput`](crate::output::CreateWirelessGatewayTaskOutput).
        pub fn build(self) -> crate::output::CreateWirelessGatewayTaskOutput {
            crate::output::CreateWirelessGatewayTaskOutput {
                wireless_gateway_task_definition_id: self.wireless_gateway_task_definition_id,
                status: self.status,
            }
        }
    }
}
impl CreateWirelessGatewayTaskOutput {
    /// Creates a new builder-style object to manufacture [`CreateWirelessGatewayTaskOutput`](crate::output::CreateWirelessGatewayTaskOutput).
    pub fn builder() -> crate::output::create_wireless_gateway_task_output::Builder {
        crate::output::create_wireless_gateway_task_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWirelessGatewayOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of the new wireless gateway.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateWirelessGatewayOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of the new wireless gateway.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateWirelessGatewayOutput`](crate::output::CreateWirelessGatewayOutput).
pub mod create_wireless_gateway_output {

    /// A builder for [`CreateWirelessGatewayOutput`](crate::output::CreateWirelessGatewayOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of the new wireless gateway.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the new wireless gateway.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWirelessGatewayOutput`](crate::output::CreateWirelessGatewayOutput).
        pub fn build(self) -> crate::output::CreateWirelessGatewayOutput {
            crate::output::CreateWirelessGatewayOutput {
                arn: self.arn,
                id: self.id,
            }
        }
    }
}
impl CreateWirelessGatewayOutput {
    /// Creates a new builder-style object to manufacture [`CreateWirelessGatewayOutput`](crate::output::CreateWirelessGatewayOutput).
    pub fn builder() -> crate::output::create_wireless_gateway_output::Builder {
        crate::output::create_wireless_gateway_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWirelessDeviceOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of the new wireless device.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateWirelessDeviceOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of the new wireless device.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateWirelessDeviceOutput`](crate::output::CreateWirelessDeviceOutput).
pub mod create_wireless_device_output {

    /// A builder for [`CreateWirelessDeviceOutput`](crate::output::CreateWirelessDeviceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of the new wireless device.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the new wireless device.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWirelessDeviceOutput`](crate::output::CreateWirelessDeviceOutput).
        pub fn build(self) -> crate::output::CreateWirelessDeviceOutput {
            crate::output::CreateWirelessDeviceOutput {
                arn: self.arn,
                id: self.id,
            }
        }
    }
}
impl CreateWirelessDeviceOutput {
    /// Creates a new builder-style object to manufacture [`CreateWirelessDeviceOutput`](crate::output::CreateWirelessDeviceOutput).
    pub fn builder() -> crate::output::create_wireless_device_output::Builder {
        crate::output::create_wireless_device_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateServiceProfileOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of the new service profile.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateServiceProfileOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of the new service profile.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateServiceProfileOutput`](crate::output::CreateServiceProfileOutput).
pub mod create_service_profile_output {

    /// A builder for [`CreateServiceProfileOutput`](crate::output::CreateServiceProfileOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of the new service profile.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the new service profile.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateServiceProfileOutput`](crate::output::CreateServiceProfileOutput).
        pub fn build(self) -> crate::output::CreateServiceProfileOutput {
            crate::output::CreateServiceProfileOutput {
                arn: self.arn,
                id: self.id,
            }
        }
    }
}
impl CreateServiceProfileOutput {
    /// Creates a new builder-style object to manufacture [`CreateServiceProfileOutput`](crate::output::CreateServiceProfileOutput).
    pub fn builder() -> crate::output::create_service_profile_output::Builder {
        crate::output::create_service_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 CreateNetworkAnalyzerConfigurationOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>Name of the network analyzer configuration.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
}
impl CreateNetworkAnalyzerConfigurationOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>Name of the network analyzer configuration.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
}
/// See [`CreateNetworkAnalyzerConfigurationOutput`](crate::output::CreateNetworkAnalyzerConfigurationOutput).
pub mod create_network_analyzer_configuration_output {

    /// A builder for [`CreateNetworkAnalyzerConfigurationOutput`](crate::output::CreateNetworkAnalyzerConfigurationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>Name of the network analyzer configuration.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>Name of the network analyzer configuration.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateNetworkAnalyzerConfigurationOutput`](crate::output::CreateNetworkAnalyzerConfigurationOutput).
        pub fn build(self) -> crate::output::CreateNetworkAnalyzerConfigurationOutput {
            crate::output::CreateNetworkAnalyzerConfigurationOutput {
                arn: self.arn,
                name: self.name,
            }
        }
    }
}
impl CreateNetworkAnalyzerConfigurationOutput {
    /// Creates a new builder-style object to manufacture [`CreateNetworkAnalyzerConfigurationOutput`](crate::output::CreateNetworkAnalyzerConfigurationOutput).
    pub fn builder() -> crate::output::create_network_analyzer_configuration_output::Builder {
        crate::output::create_network_analyzer_configuration_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateMulticastGroupOutput {
    /// <p>The arn of the multicast group.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of the multicast group.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateMulticastGroupOutput {
    /// <p>The arn of the multicast group.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of the multicast group.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateMulticastGroupOutput`](crate::output::CreateMulticastGroupOutput).
pub mod create_multicast_group_output {

    /// A builder for [`CreateMulticastGroupOutput`](crate::output::CreateMulticastGroupOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The arn of the multicast group.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The arn of the multicast group.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of the multicast group.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the multicast group.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateMulticastGroupOutput`](crate::output::CreateMulticastGroupOutput).
        pub fn build(self) -> crate::output::CreateMulticastGroupOutput {
            crate::output::CreateMulticastGroupOutput {
                arn: self.arn,
                id: self.id,
            }
        }
    }
}
impl CreateMulticastGroupOutput {
    /// Creates a new builder-style object to manufacture [`CreateMulticastGroupOutput`](crate::output::CreateMulticastGroupOutput).
    pub fn builder() -> crate::output::create_multicast_group_output::Builder {
        crate::output::create_multicast_group_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateFuotaTaskOutput {
    /// <p>The arn of a FUOTA task.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of a FUOTA task.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateFuotaTaskOutput {
    /// <p>The arn of a FUOTA task.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of a FUOTA task.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateFuotaTaskOutput`](crate::output::CreateFuotaTaskOutput).
pub mod create_fuota_task_output {

    /// A builder for [`CreateFuotaTaskOutput`](crate::output::CreateFuotaTaskOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The arn of a FUOTA task.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The arn of a FUOTA task.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of a FUOTA task.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of a FUOTA task.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateFuotaTaskOutput`](crate::output::CreateFuotaTaskOutput).
        pub fn build(self) -> crate::output::CreateFuotaTaskOutput {
            crate::output::CreateFuotaTaskOutput {
                arn: self.arn,
                id: self.id,
            }
        }
    }
}
impl CreateFuotaTaskOutput {
    /// Creates a new builder-style object to manufacture [`CreateFuotaTaskOutput`](crate::output::CreateFuotaTaskOutput).
    pub fn builder() -> crate::output::create_fuota_task_output::Builder {
        crate::output::create_fuota_task_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateDeviceProfileOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The ID of the new device profile.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateDeviceProfileOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The ID of the new device profile.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateDeviceProfileOutput`](crate::output::CreateDeviceProfileOutput).
pub mod create_device_profile_output {

    /// A builder for [`CreateDeviceProfileOutput`](crate::output::CreateDeviceProfileOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The ID of the new device profile.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The ID of the new device profile.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateDeviceProfileOutput`](crate::output::CreateDeviceProfileOutput).
        pub fn build(self) -> crate::output::CreateDeviceProfileOutput {
            crate::output::CreateDeviceProfileOutput {
                arn: self.arn,
                id: self.id,
            }
        }
    }
}
impl CreateDeviceProfileOutput {
    /// Creates a new builder-style object to manufacture [`CreateDeviceProfileOutput`](crate::output::CreateDeviceProfileOutput).
    pub fn builder() -> crate::output::create_device_profile_output::Builder {
        crate::output::create_device_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 CreateDestinationOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the new resource.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
}
impl CreateDestinationOutput {
    /// <p>The Amazon Resource Name of the new resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the new resource.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
}
/// See [`CreateDestinationOutput`](crate::output::CreateDestinationOutput).
pub mod create_destination_output {

    /// A builder for [`CreateDestinationOutput`](crate::output::CreateDestinationOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the new resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the new resource.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the new resource.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateDestinationOutput`](crate::output::CreateDestinationOutput).
        pub fn build(self) -> crate::output::CreateDestinationOutput {
            crate::output::CreateDestinationOutput {
                arn: self.arn,
                name: self.name,
            }
        }
    }
}
impl CreateDestinationOutput {
    /// Creates a new builder-style object to manufacture [`CreateDestinationOutput`](crate::output::CreateDestinationOutput).
    pub fn builder() -> crate::output::create_destination_output::Builder {
        crate::output::create_destination_output::Builder::default()
    }
}

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AssociateWirelessGatewayWithCertificateOutput {
    /// <p>The ID of the certificate associated with the wireless gateway.</p>
    #[doc(hidden)]
    pub iot_certificate_id: std::option::Option<std::string::String>,
}
impl AssociateWirelessGatewayWithCertificateOutput {
    /// <p>The ID of the certificate associated with the wireless gateway.</p>
    pub fn iot_certificate_id(&self) -> std::option::Option<&str> {
        self.iot_certificate_id.as_deref()
    }
}
/// See [`AssociateWirelessGatewayWithCertificateOutput`](crate::output::AssociateWirelessGatewayWithCertificateOutput).
pub mod associate_wireless_gateway_with_certificate_output {

    /// A builder for [`AssociateWirelessGatewayWithCertificateOutput`](crate::output::AssociateWirelessGatewayWithCertificateOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) iot_certificate_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The ID of the certificate associated with the wireless gateway.</p>
        pub fn iot_certificate_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.iot_certificate_id = Some(input.into());
            self
        }
        /// <p>The ID of the certificate associated with the wireless gateway.</p>
        pub fn set_iot_certificate_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.iot_certificate_id = input;
            self
        }
        /// Consumes the builder and constructs a [`AssociateWirelessGatewayWithCertificateOutput`](crate::output::AssociateWirelessGatewayWithCertificateOutput).
        pub fn build(self) -> crate::output::AssociateWirelessGatewayWithCertificateOutput {
            crate::output::AssociateWirelessGatewayWithCertificateOutput {
                iot_certificate_id: self.iot_certificate_id,
            }
        }
    }
}
impl AssociateWirelessGatewayWithCertificateOutput {
    /// Creates a new builder-style object to manufacture [`AssociateWirelessGatewayWithCertificateOutput`](crate::output::AssociateWirelessGatewayWithCertificateOutput).
    pub fn builder() -> crate::output::associate_wireless_gateway_with_certificate_output::Builder {
        crate::output::associate_wireless_gateway_with_certificate_output::Builder::default()
    }
}

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

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

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AssociateAwsAccountWithPartnerAccountOutput {
    /// <p>The Sidewalk account credentials.</p>
    #[doc(hidden)]
    pub sidewalk: std::option::Option<crate::model::SidewalkAccountInfo>,
    /// <p>The Amazon Resource Name of the resource.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
}
impl AssociateAwsAccountWithPartnerAccountOutput {
    /// <p>The Sidewalk account credentials.</p>
    pub fn sidewalk(&self) -> std::option::Option<&crate::model::SidewalkAccountInfo> {
        self.sidewalk.as_ref()
    }
    /// <p>The Amazon Resource Name of the resource.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
}
/// See [`AssociateAwsAccountWithPartnerAccountOutput`](crate::output::AssociateAwsAccountWithPartnerAccountOutput).
pub mod associate_aws_account_with_partner_account_output {

    /// A builder for [`AssociateAwsAccountWithPartnerAccountOutput`](crate::output::AssociateAwsAccountWithPartnerAccountOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) sidewalk: std::option::Option<crate::model::SidewalkAccountInfo>,
        pub(crate) arn: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Sidewalk account credentials.</p>
        pub fn sidewalk(mut self, input: crate::model::SidewalkAccountInfo) -> Self {
            self.sidewalk = Some(input);
            self
        }
        /// <p>The Sidewalk account credentials.</p>
        pub fn set_sidewalk(
            mut self,
            input: std::option::Option<crate::model::SidewalkAccountInfo>,
        ) -> Self {
            self.sidewalk = input;
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name of the resource.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// Consumes the builder and constructs a [`AssociateAwsAccountWithPartnerAccountOutput`](crate::output::AssociateAwsAccountWithPartnerAccountOutput).
        pub fn build(self) -> crate::output::AssociateAwsAccountWithPartnerAccountOutput {
            crate::output::AssociateAwsAccountWithPartnerAccountOutput {
                sidewalk: self.sidewalk,
                arn: self.arn,
            }
        }
    }
}
impl AssociateAwsAccountWithPartnerAccountOutput {
    /// Creates a new builder-style object to manufacture [`AssociateAwsAccountWithPartnerAccountOutput`](crate::output::AssociateAwsAccountWithPartnerAccountOutput).
    pub fn builder() -> crate::output::associate_aws_account_with_partner_account_output::Builder {
        crate::output::associate_aws_account_with_partner_account_output::Builder::default()
    }
}