aws-sdk-workspaces 0.24.0

AWS SDK for Amazon WorkSpaces
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 UpdateWorkspaceImagePermissionOutput {}
/// See [`UpdateWorkspaceImagePermissionOutput`](crate::output::UpdateWorkspaceImagePermissionOutput).
pub mod update_workspace_image_permission_output {

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

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

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct TerminateWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be terminated.</p>
    #[doc(hidden)]
    pub failed_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
}
impl TerminateWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be terminated.</p>
    pub fn failed_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedWorkspaceChangeRequest]> {
        self.failed_requests.as_deref()
    }
}
/// See [`TerminateWorkspacesOutput`](crate::output::TerminateWorkspacesOutput).
pub mod terminate_workspaces_output {

    /// A builder for [`TerminateWorkspacesOutput`](crate::output::TerminateWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
    }
    impl Builder {
        /// Appends an item to `failed_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_requests`](Self::set_failed_requests).
        ///
        /// <p>Information about the WorkSpaces that could not be terminated.</p>
        pub fn failed_requests(
            mut self,
            input: crate::model::FailedWorkspaceChangeRequest,
        ) -> Self {
            let mut v = self.failed_requests.unwrap_or_default();
            v.push(input);
            self.failed_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces that could not be terminated.</p>
        pub fn set_failed_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
        ) -> Self {
            self.failed_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`TerminateWorkspacesOutput`](crate::output::TerminateWorkspacesOutput).
        pub fn build(self) -> crate::output::TerminateWorkspacesOutput {
            crate::output::TerminateWorkspacesOutput {
                failed_requests: self.failed_requests,
            }
        }
    }
}
impl TerminateWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`TerminateWorkspacesOutput`](crate::output::TerminateWorkspacesOutput).
    pub fn builder() -> crate::output::terminate_workspaces_output::Builder {
        crate::output::terminate_workspaces_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StopWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be stopped.</p>
    #[doc(hidden)]
    pub failed_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
}
impl StopWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be stopped.</p>
    pub fn failed_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedWorkspaceChangeRequest]> {
        self.failed_requests.as_deref()
    }
}
/// See [`StopWorkspacesOutput`](crate::output::StopWorkspacesOutput).
pub mod stop_workspaces_output {

    /// A builder for [`StopWorkspacesOutput`](crate::output::StopWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
    }
    impl Builder {
        /// Appends an item to `failed_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_requests`](Self::set_failed_requests).
        ///
        /// <p>Information about the WorkSpaces that could not be stopped.</p>
        pub fn failed_requests(
            mut self,
            input: crate::model::FailedWorkspaceChangeRequest,
        ) -> Self {
            let mut v = self.failed_requests.unwrap_or_default();
            v.push(input);
            self.failed_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces that could not be stopped.</p>
        pub fn set_failed_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
        ) -> Self {
            self.failed_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`StopWorkspacesOutput`](crate::output::StopWorkspacesOutput).
        pub fn build(self) -> crate::output::StopWorkspacesOutput {
            crate::output::StopWorkspacesOutput {
                failed_requests: self.failed_requests,
            }
        }
    }
}
impl StopWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`StopWorkspacesOutput`](crate::output::StopWorkspacesOutput).
    pub fn builder() -> crate::output::stop_workspaces_output::Builder {
        crate::output::stop_workspaces_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StartWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be started.</p>
    #[doc(hidden)]
    pub failed_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
}
impl StartWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be started.</p>
    pub fn failed_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedWorkspaceChangeRequest]> {
        self.failed_requests.as_deref()
    }
}
/// See [`StartWorkspacesOutput`](crate::output::StartWorkspacesOutput).
pub mod start_workspaces_output {

    /// A builder for [`StartWorkspacesOutput`](crate::output::StartWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
    }
    impl Builder {
        /// Appends an item to `failed_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_requests`](Self::set_failed_requests).
        ///
        /// <p>Information about the WorkSpaces that could not be started.</p>
        pub fn failed_requests(
            mut self,
            input: crate::model::FailedWorkspaceChangeRequest,
        ) -> Self {
            let mut v = self.failed_requests.unwrap_or_default();
            v.push(input);
            self.failed_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces that could not be started.</p>
        pub fn set_failed_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
        ) -> Self {
            self.failed_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`StartWorkspacesOutput`](crate::output::StartWorkspacesOutput).
        pub fn build(self) -> crate::output::StartWorkspacesOutput {
            crate::output::StartWorkspacesOutput {
                failed_requests: self.failed_requests,
            }
        }
    }
}
impl StartWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`StartWorkspacesOutput`](crate::output::StartWorkspacesOutput).
    pub fn builder() -> crate::output::start_workspaces_output::Builder {
        crate::output::start_workspaces_output::Builder::default()
    }
}

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct RebuildWorkspacesOutput {
    /// <p>Information about the WorkSpace that could not be rebuilt.</p>
    #[doc(hidden)]
    pub failed_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
}
impl RebuildWorkspacesOutput {
    /// <p>Information about the WorkSpace that could not be rebuilt.</p>
    pub fn failed_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedWorkspaceChangeRequest]> {
        self.failed_requests.as_deref()
    }
}
/// See [`RebuildWorkspacesOutput`](crate::output::RebuildWorkspacesOutput).
pub mod rebuild_workspaces_output {

    /// A builder for [`RebuildWorkspacesOutput`](crate::output::RebuildWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
    }
    impl Builder {
        /// Appends an item to `failed_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_requests`](Self::set_failed_requests).
        ///
        /// <p>Information about the WorkSpace that could not be rebuilt.</p>
        pub fn failed_requests(
            mut self,
            input: crate::model::FailedWorkspaceChangeRequest,
        ) -> Self {
            let mut v = self.failed_requests.unwrap_or_default();
            v.push(input);
            self.failed_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpace that could not be rebuilt.</p>
        pub fn set_failed_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
        ) -> Self {
            self.failed_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`RebuildWorkspacesOutput`](crate::output::RebuildWorkspacesOutput).
        pub fn build(self) -> crate::output::RebuildWorkspacesOutput {
            crate::output::RebuildWorkspacesOutput {
                failed_requests: self.failed_requests,
            }
        }
    }
}
impl RebuildWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`RebuildWorkspacesOutput`](crate::output::RebuildWorkspacesOutput).
    pub fn builder() -> crate::output::rebuild_workspaces_output::Builder {
        crate::output::rebuild_workspaces_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct RebootWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be rebooted.</p>
    #[doc(hidden)]
    pub failed_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
}
impl RebootWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be rebooted.</p>
    pub fn failed_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedWorkspaceChangeRequest]> {
        self.failed_requests.as_deref()
    }
}
/// See [`RebootWorkspacesOutput`](crate::output::RebootWorkspacesOutput).
pub mod reboot_workspaces_output {

    /// A builder for [`RebootWorkspacesOutput`](crate::output::RebootWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
    }
    impl Builder {
        /// Appends an item to `failed_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_requests`](Self::set_failed_requests).
        ///
        /// <p>Information about the WorkSpaces that could not be rebooted.</p>
        pub fn failed_requests(
            mut self,
            input: crate::model::FailedWorkspaceChangeRequest,
        ) -> Self {
            let mut v = self.failed_requests.unwrap_or_default();
            v.push(input);
            self.failed_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces that could not be rebooted.</p>
        pub fn set_failed_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FailedWorkspaceChangeRequest>>,
        ) -> Self {
            self.failed_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`RebootWorkspacesOutput`](crate::output::RebootWorkspacesOutput).
        pub fn build(self) -> crate::output::RebootWorkspacesOutput {
            crate::output::RebootWorkspacesOutput {
                failed_requests: self.failed_requests,
            }
        }
    }
}
impl RebootWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`RebootWorkspacesOutput`](crate::output::RebootWorkspacesOutput).
    pub fn builder() -> crate::output::reboot_workspaces_output::Builder {
        crate::output::reboot_workspaces_output::Builder::default()
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// A builder for [`ModifyAccountOutput`](crate::output::ModifyAccountOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {}
    impl Builder {
        /// Consumes the builder and constructs a [`ModifyAccountOutput`](crate::output::ModifyAccountOutput).
        pub fn build(self) -> crate::output::ModifyAccountOutput {
            crate::output::ModifyAccountOutput {}
        }
    }
}
impl ModifyAccountOutput {
    /// Creates a new builder-style object to manufacture [`ModifyAccountOutput`](crate::output::ModifyAccountOutput).
    pub fn builder() -> crate::output::modify_account_output::Builder {
        crate::output::modify_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 MigrateWorkspaceOutput {
    /// <p>The original identifier of the WorkSpace that is being migrated.</p>
    #[doc(hidden)]
    pub source_workspace_id: std::option::Option<std::string::String>,
    /// <p>The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.</p>
    #[doc(hidden)]
    pub target_workspace_id: std::option::Option<std::string::String>,
}
impl MigrateWorkspaceOutput {
    /// <p>The original identifier of the WorkSpace that is being migrated.</p>
    pub fn source_workspace_id(&self) -> std::option::Option<&str> {
        self.source_workspace_id.as_deref()
    }
    /// <p>The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.</p>
    pub fn target_workspace_id(&self) -> std::option::Option<&str> {
        self.target_workspace_id.as_deref()
    }
}
/// See [`MigrateWorkspaceOutput`](crate::output::MigrateWorkspaceOutput).
pub mod migrate_workspace_output {

    /// A builder for [`MigrateWorkspaceOutput`](crate::output::MigrateWorkspaceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) source_workspace_id: std::option::Option<std::string::String>,
        pub(crate) target_workspace_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The original identifier of the WorkSpace that is being migrated.</p>
        pub fn source_workspace_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.source_workspace_id = Some(input.into());
            self
        }
        /// <p>The original identifier of the WorkSpace that is being migrated.</p>
        pub fn set_source_workspace_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.source_workspace_id = input;
            self
        }
        /// <p>The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.</p>
        pub fn target_workspace_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.target_workspace_id = Some(input.into());
            self
        }
        /// <p>The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.</p>
        pub fn set_target_workspace_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.target_workspace_id = input;
            self
        }
        /// Consumes the builder and constructs a [`MigrateWorkspaceOutput`](crate::output::MigrateWorkspaceOutput).
        pub fn build(self) -> crate::output::MigrateWorkspaceOutput {
            crate::output::MigrateWorkspaceOutput {
                source_workspace_id: self.source_workspace_id,
                target_workspace_id: self.target_workspace_id,
            }
        }
    }
}
impl MigrateWorkspaceOutput {
    /// Creates a new builder-style object to manufacture [`MigrateWorkspaceOutput`](crate::output::MigrateWorkspaceOutput).
    pub fn builder() -> crate::output::migrate_workspace_output::Builder {
        crate::output::migrate_workspace_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListAvailableManagementCidrRangesOutput {
    /// <p>The list of available IP address ranges, specified as IPv4 CIDR blocks.</p>
    #[doc(hidden)]
    pub management_cidr_ranges: std::option::Option<std::vec::Vec<std::string::String>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListAvailableManagementCidrRangesOutput {
    /// <p>The list of available IP address ranges, specified as IPv4 CIDR blocks.</p>
    pub fn management_cidr_ranges(&self) -> std::option::Option<&[std::string::String]> {
        self.management_cidr_ranges.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`ListAvailableManagementCidrRangesOutput`](crate::output::ListAvailableManagementCidrRangesOutput).
pub mod list_available_management_cidr_ranges_output {

    /// A builder for [`ListAvailableManagementCidrRangesOutput`](crate::output::ListAvailableManagementCidrRangesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) management_cidr_ranges: std::option::Option<std::vec::Vec<std::string::String>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `management_cidr_ranges`.
        ///
        /// To override the contents of this collection use [`set_management_cidr_ranges`](Self::set_management_cidr_ranges).
        ///
        /// <p>The list of available IP address ranges, specified as IPv4 CIDR blocks.</p>
        pub fn management_cidr_ranges(mut self, input: impl Into<std::string::String>) -> Self {
            let mut v = self.management_cidr_ranges.unwrap_or_default();
            v.push(input.into());
            self.management_cidr_ranges = Some(v);
            self
        }
        /// <p>The list of available IP address ranges, specified as IPv4 CIDR blocks.</p>
        pub fn set_management_cidr_ranges(
            mut self,
            input: std::option::Option<std::vec::Vec<std::string::String>>,
        ) -> Self {
            self.management_cidr_ranges = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`ListAvailableManagementCidrRangesOutput`](crate::output::ListAvailableManagementCidrRangesOutput).
        pub fn build(self) -> crate::output::ListAvailableManagementCidrRangesOutput {
            crate::output::ListAvailableManagementCidrRangesOutput {
                management_cidr_ranges: self.management_cidr_ranges,
                next_token: self.next_token,
            }
        }
    }
}
impl ListAvailableManagementCidrRangesOutput {
    /// Creates a new builder-style object to manufacture [`ListAvailableManagementCidrRangesOutput`](crate::output::ListAvailableManagementCidrRangesOutput).
    pub fn builder() -> crate::output::list_available_management_cidr_ranges_output::Builder {
        crate::output::list_available_management_cidr_ranges_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ImportClientBrandingOutput {
    /// <p>The branding information configured for Windows devices.</p>
    #[doc(hidden)]
    pub device_type_windows: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information configured for macOS devices.</p>
    #[doc(hidden)]
    pub device_type_osx: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information configured for Android devices.</p>
    #[doc(hidden)]
    pub device_type_android: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information configured for iOS devices.</p>
    #[doc(hidden)]
    pub device_type_ios: std::option::Option<crate::model::IosClientBrandingAttributes>,
    /// <p>The branding information configured for Linux devices.</p>
    #[doc(hidden)]
    pub device_type_linux: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information configured for web access.</p>
    #[doc(hidden)]
    pub device_type_web: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
}
impl ImportClientBrandingOutput {
    /// <p>The branding information configured for Windows devices.</p>
    pub fn device_type_windows(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_windows.as_ref()
    }
    /// <p>The branding information configured for macOS devices.</p>
    pub fn device_type_osx(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_osx.as_ref()
    }
    /// <p>The branding information configured for Android devices.</p>
    pub fn device_type_android(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_android.as_ref()
    }
    /// <p>The branding information configured for iOS devices.</p>
    pub fn device_type_ios(
        &self,
    ) -> std::option::Option<&crate::model::IosClientBrandingAttributes> {
        self.device_type_ios.as_ref()
    }
    /// <p>The branding information configured for Linux devices.</p>
    pub fn device_type_linux(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_linux.as_ref()
    }
    /// <p>The branding information configured for web access.</p>
    pub fn device_type_web(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_web.as_ref()
    }
}
/// See [`ImportClientBrandingOutput`](crate::output::ImportClientBrandingOutput).
pub mod import_client_branding_output {

    /// A builder for [`ImportClientBrandingOutput`](crate::output::ImportClientBrandingOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) device_type_windows:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_osx:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_android:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_ios: std::option::Option<crate::model::IosClientBrandingAttributes>,
        pub(crate) device_type_linux:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_web:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    }
    impl Builder {
        /// <p>The branding information configured for Windows devices.</p>
        pub fn device_type_windows(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_windows = Some(input);
            self
        }
        /// <p>The branding information configured for Windows devices.</p>
        pub fn set_device_type_windows(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_windows = input;
            self
        }
        /// <p>The branding information configured for macOS devices.</p>
        pub fn device_type_osx(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_osx = Some(input);
            self
        }
        /// <p>The branding information configured for macOS devices.</p>
        pub fn set_device_type_osx(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_osx = input;
            self
        }
        /// <p>The branding information configured for Android devices.</p>
        pub fn device_type_android(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_android = Some(input);
            self
        }
        /// <p>The branding information configured for Android devices.</p>
        pub fn set_device_type_android(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_android = input;
            self
        }
        /// <p>The branding information configured for iOS devices.</p>
        pub fn device_type_ios(mut self, input: crate::model::IosClientBrandingAttributes) -> Self {
            self.device_type_ios = Some(input);
            self
        }
        /// <p>The branding information configured for iOS devices.</p>
        pub fn set_device_type_ios(
            mut self,
            input: std::option::Option<crate::model::IosClientBrandingAttributes>,
        ) -> Self {
            self.device_type_ios = input;
            self
        }
        /// <p>The branding information configured for Linux devices.</p>
        pub fn device_type_linux(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_linux = Some(input);
            self
        }
        /// <p>The branding information configured for Linux devices.</p>
        pub fn set_device_type_linux(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_linux = input;
            self
        }
        /// <p>The branding information configured for web access.</p>
        pub fn device_type_web(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_web = Some(input);
            self
        }
        /// <p>The branding information configured for web access.</p>
        pub fn set_device_type_web(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_web = input;
            self
        }
        /// Consumes the builder and constructs a [`ImportClientBrandingOutput`](crate::output::ImportClientBrandingOutput).
        pub fn build(self) -> crate::output::ImportClientBrandingOutput {
            crate::output::ImportClientBrandingOutput {
                device_type_windows: self.device_type_windows,
                device_type_osx: self.device_type_osx,
                device_type_android: self.device_type_android,
                device_type_ios: self.device_type_ios,
                device_type_linux: self.device_type_linux,
                device_type_web: self.device_type_web,
            }
        }
    }
}
impl ImportClientBrandingOutput {
    /// Creates a new builder-style object to manufacture [`ImportClientBrandingOutput`](crate::output::ImportClientBrandingOutput).
    pub fn builder() -> crate::output::import_client_branding_output::Builder {
        crate::output::import_client_branding_output::Builder::default()
    }
}

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspaceSnapshotsOutput {
    /// <p>Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include the user volume.</p>
    #[doc(hidden)]
    pub rebuild_snapshots: std::option::Option<std::vec::Vec<crate::model::Snapshot>>,
    /// <p>Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.</p>
    #[doc(hidden)]
    pub restore_snapshots: std::option::Option<std::vec::Vec<crate::model::Snapshot>>,
}
impl DescribeWorkspaceSnapshotsOutput {
    /// <p>Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include the user volume.</p>
    pub fn rebuild_snapshots(&self) -> std::option::Option<&[crate::model::Snapshot]> {
        self.rebuild_snapshots.as_deref()
    }
    /// <p>Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.</p>
    pub fn restore_snapshots(&self) -> std::option::Option<&[crate::model::Snapshot]> {
        self.restore_snapshots.as_deref()
    }
}
/// See [`DescribeWorkspaceSnapshotsOutput`](crate::output::DescribeWorkspaceSnapshotsOutput).
pub mod describe_workspace_snapshots_output {

    /// A builder for [`DescribeWorkspaceSnapshotsOutput`](crate::output::DescribeWorkspaceSnapshotsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) rebuild_snapshots: std::option::Option<std::vec::Vec<crate::model::Snapshot>>,
        pub(crate) restore_snapshots: std::option::Option<std::vec::Vec<crate::model::Snapshot>>,
    }
    impl Builder {
        /// Appends an item to `rebuild_snapshots`.
        ///
        /// To override the contents of this collection use [`set_rebuild_snapshots`](Self::set_rebuild_snapshots).
        ///
        /// <p>Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include the user volume.</p>
        pub fn rebuild_snapshots(mut self, input: crate::model::Snapshot) -> Self {
            let mut v = self.rebuild_snapshots.unwrap_or_default();
            v.push(input);
            self.rebuild_snapshots = Some(v);
            self
        }
        /// <p>Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include the user volume.</p>
        pub fn set_rebuild_snapshots(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Snapshot>>,
        ) -> Self {
            self.rebuild_snapshots = input;
            self
        }
        /// Appends an item to `restore_snapshots`.
        ///
        /// To override the contents of this collection use [`set_restore_snapshots`](Self::set_restore_snapshots).
        ///
        /// <p>Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.</p>
        pub fn restore_snapshots(mut self, input: crate::model::Snapshot) -> Self {
            let mut v = self.restore_snapshots.unwrap_or_default();
            v.push(input);
            self.restore_snapshots = Some(v);
            self
        }
        /// <p>Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.</p>
        pub fn set_restore_snapshots(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Snapshot>>,
        ) -> Self {
            self.restore_snapshots = input;
            self
        }
        /// Consumes the builder and constructs a [`DescribeWorkspaceSnapshotsOutput`](crate::output::DescribeWorkspaceSnapshotsOutput).
        pub fn build(self) -> crate::output::DescribeWorkspaceSnapshotsOutput {
            crate::output::DescribeWorkspaceSnapshotsOutput {
                rebuild_snapshots: self.rebuild_snapshots,
                restore_snapshots: self.restore_snapshots,
            }
        }
    }
}
impl DescribeWorkspaceSnapshotsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspaceSnapshotsOutput`](crate::output::DescribeWorkspaceSnapshotsOutput).
    pub fn builder() -> crate::output::describe_workspace_snapshots_output::Builder {
        crate::output::describe_workspace_snapshots_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspacesConnectionStatusOutput {
    /// <p>Information about the connection status of the WorkSpace.</p>
    #[doc(hidden)]
    pub workspaces_connection_status:
        std::option::Option<std::vec::Vec<crate::model::WorkspaceConnectionStatus>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeWorkspacesConnectionStatusOutput {
    /// <p>Information about the connection status of the WorkSpace.</p>
    pub fn workspaces_connection_status(
        &self,
    ) -> std::option::Option<&[crate::model::WorkspaceConnectionStatus]> {
        self.workspaces_connection_status.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeWorkspacesConnectionStatusOutput`](crate::output::DescribeWorkspacesConnectionStatusOutput).
pub mod describe_workspaces_connection_status_output {

    /// A builder for [`DescribeWorkspacesConnectionStatusOutput`](crate::output::DescribeWorkspacesConnectionStatusOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) workspaces_connection_status:
            std::option::Option<std::vec::Vec<crate::model::WorkspaceConnectionStatus>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `workspaces_connection_status`.
        ///
        /// To override the contents of this collection use [`set_workspaces_connection_status`](Self::set_workspaces_connection_status).
        ///
        /// <p>Information about the connection status of the WorkSpace.</p>
        pub fn workspaces_connection_status(
            mut self,
            input: crate::model::WorkspaceConnectionStatus,
        ) -> Self {
            let mut v = self.workspaces_connection_status.unwrap_or_default();
            v.push(input);
            self.workspaces_connection_status = Some(v);
            self
        }
        /// <p>Information about the connection status of the WorkSpace.</p>
        pub fn set_workspaces_connection_status(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WorkspaceConnectionStatus>>,
        ) -> Self {
            self.workspaces_connection_status = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeWorkspacesConnectionStatusOutput`](crate::output::DescribeWorkspacesConnectionStatusOutput).
        pub fn build(self) -> crate::output::DescribeWorkspacesConnectionStatusOutput {
            crate::output::DescribeWorkspacesConnectionStatusOutput {
                workspaces_connection_status: self.workspaces_connection_status,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeWorkspacesConnectionStatusOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspacesConnectionStatusOutput`](crate::output::DescribeWorkspacesConnectionStatusOutput).
    pub fn builder() -> crate::output::describe_workspaces_connection_status_output::Builder {
        crate::output::describe_workspaces_connection_status_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspacesOutput {
    /// <p>Information about the WorkSpaces.</p>
    /// <p>Because <code>CreateWorkspaces</code> is an asynchronous operation, some of the returned information could be incomplete.</p>
    #[doc(hidden)]
    pub workspaces: std::option::Option<std::vec::Vec<crate::model::Workspace>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeWorkspacesOutput {
    /// <p>Information about the WorkSpaces.</p>
    /// <p>Because <code>CreateWorkspaces</code> is an asynchronous operation, some of the returned information could be incomplete.</p>
    pub fn workspaces(&self) -> std::option::Option<&[crate::model::Workspace]> {
        self.workspaces.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeWorkspacesOutput`](crate::output::DescribeWorkspacesOutput).
pub mod describe_workspaces_output {

    /// A builder for [`DescribeWorkspacesOutput`](crate::output::DescribeWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) workspaces: std::option::Option<std::vec::Vec<crate::model::Workspace>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `workspaces`.
        ///
        /// To override the contents of this collection use [`set_workspaces`](Self::set_workspaces).
        ///
        /// <p>Information about the WorkSpaces.</p>
        /// <p>Because <code>CreateWorkspaces</code> is an asynchronous operation, some of the returned information could be incomplete.</p>
        pub fn workspaces(mut self, input: crate::model::Workspace) -> Self {
            let mut v = self.workspaces.unwrap_or_default();
            v.push(input);
            self.workspaces = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces.</p>
        /// <p>Because <code>CreateWorkspaces</code> is an asynchronous operation, some of the returned information could be incomplete.</p>
        pub fn set_workspaces(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Workspace>>,
        ) -> Self {
            self.workspaces = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeWorkspacesOutput`](crate::output::DescribeWorkspacesOutput).
        pub fn build(self) -> crate::output::DescribeWorkspacesOutput {
            crate::output::DescribeWorkspacesOutput {
                workspaces: self.workspaces,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspacesOutput`](crate::output::DescribeWorkspacesOutput).
    pub fn builder() -> crate::output::describe_workspaces_output::Builder {
        crate::output::describe_workspaces_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspaceImagesOutput {
    /// <p>Information about the images.</p>
    #[doc(hidden)]
    pub images: std::option::Option<std::vec::Vec<crate::model::WorkspaceImage>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeWorkspaceImagesOutput {
    /// <p>Information about the images.</p>
    pub fn images(&self) -> std::option::Option<&[crate::model::WorkspaceImage]> {
        self.images.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeWorkspaceImagesOutput`](crate::output::DescribeWorkspaceImagesOutput).
pub mod describe_workspace_images_output {

    /// A builder for [`DescribeWorkspaceImagesOutput`](crate::output::DescribeWorkspaceImagesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) images: std::option::Option<std::vec::Vec<crate::model::WorkspaceImage>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `images`.
        ///
        /// To override the contents of this collection use [`set_images`](Self::set_images).
        ///
        /// <p>Information about the images.</p>
        pub fn images(mut self, input: crate::model::WorkspaceImage) -> Self {
            let mut v = self.images.unwrap_or_default();
            v.push(input);
            self.images = Some(v);
            self
        }
        /// <p>Information about the images.</p>
        pub fn set_images(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WorkspaceImage>>,
        ) -> Self {
            self.images = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeWorkspaceImagesOutput`](crate::output::DescribeWorkspaceImagesOutput).
        pub fn build(self) -> crate::output::DescribeWorkspaceImagesOutput {
            crate::output::DescribeWorkspaceImagesOutput {
                images: self.images,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeWorkspaceImagesOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspaceImagesOutput`](crate::output::DescribeWorkspaceImagesOutput).
    pub fn builder() -> crate::output::describe_workspace_images_output::Builder {
        crate::output::describe_workspace_images_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspaceImagePermissionsOutput {
    /// <p>The identifier of the image.</p>
    #[doc(hidden)]
    pub image_id: std::option::Option<std::string::String>,
    /// <p>The identifiers of the Amazon Web Services accounts that the image has been shared with.</p>
    #[doc(hidden)]
    pub image_permissions: std::option::Option<std::vec::Vec<crate::model::ImagePermission>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeWorkspaceImagePermissionsOutput {
    /// <p>The identifier of the image.</p>
    pub fn image_id(&self) -> std::option::Option<&str> {
        self.image_id.as_deref()
    }
    /// <p>The identifiers of the Amazon Web Services accounts that the image has been shared with.</p>
    pub fn image_permissions(&self) -> std::option::Option<&[crate::model::ImagePermission]> {
        self.image_permissions.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeWorkspaceImagePermissionsOutput`](crate::output::DescribeWorkspaceImagePermissionsOutput).
pub mod describe_workspace_image_permissions_output {

    /// A builder for [`DescribeWorkspaceImagePermissionsOutput`](crate::output::DescribeWorkspaceImagePermissionsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) image_id: std::option::Option<std::string::String>,
        pub(crate) image_permissions:
            std::option::Option<std::vec::Vec<crate::model::ImagePermission>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The identifier of the image.</p>
        pub fn image_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.image_id = Some(input.into());
            self
        }
        /// <p>The identifier of the image.</p>
        pub fn set_image_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.image_id = input;
            self
        }
        /// Appends an item to `image_permissions`.
        ///
        /// To override the contents of this collection use [`set_image_permissions`](Self::set_image_permissions).
        ///
        /// <p>The identifiers of the Amazon Web Services accounts that the image has been shared with.</p>
        pub fn image_permissions(mut self, input: crate::model::ImagePermission) -> Self {
            let mut v = self.image_permissions.unwrap_or_default();
            v.push(input);
            self.image_permissions = Some(v);
            self
        }
        /// <p>The identifiers of the Amazon Web Services accounts that the image has been shared with.</p>
        pub fn set_image_permissions(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ImagePermission>>,
        ) -> Self {
            self.image_permissions = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeWorkspaceImagePermissionsOutput`](crate::output::DescribeWorkspaceImagePermissionsOutput).
        pub fn build(self) -> crate::output::DescribeWorkspaceImagePermissionsOutput {
            crate::output::DescribeWorkspaceImagePermissionsOutput {
                image_id: self.image_id,
                image_permissions: self.image_permissions,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeWorkspaceImagePermissionsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspaceImagePermissionsOutput`](crate::output::DescribeWorkspaceImagePermissionsOutput).
    pub fn builder() -> crate::output::describe_workspace_image_permissions_output::Builder {
        crate::output::describe_workspace_image_permissions_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspaceDirectoriesOutput {
    /// <p>Information about the directories.</p>
    #[doc(hidden)]
    pub directories: std::option::Option<std::vec::Vec<crate::model::WorkspaceDirectory>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeWorkspaceDirectoriesOutput {
    /// <p>Information about the directories.</p>
    pub fn directories(&self) -> std::option::Option<&[crate::model::WorkspaceDirectory]> {
        self.directories.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeWorkspaceDirectoriesOutput`](crate::output::DescribeWorkspaceDirectoriesOutput).
pub mod describe_workspace_directories_output {

    /// A builder for [`DescribeWorkspaceDirectoriesOutput`](crate::output::DescribeWorkspaceDirectoriesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) directories:
            std::option::Option<std::vec::Vec<crate::model::WorkspaceDirectory>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `directories`.
        ///
        /// To override the contents of this collection use [`set_directories`](Self::set_directories).
        ///
        /// <p>Information about the directories.</p>
        pub fn directories(mut self, input: crate::model::WorkspaceDirectory) -> Self {
            let mut v = self.directories.unwrap_or_default();
            v.push(input);
            self.directories = Some(v);
            self
        }
        /// <p>Information about the directories.</p>
        pub fn set_directories(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WorkspaceDirectory>>,
        ) -> Self {
            self.directories = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeWorkspaceDirectoriesOutput`](crate::output::DescribeWorkspaceDirectoriesOutput).
        pub fn build(self) -> crate::output::DescribeWorkspaceDirectoriesOutput {
            crate::output::DescribeWorkspaceDirectoriesOutput {
                directories: self.directories,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeWorkspaceDirectoriesOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspaceDirectoriesOutput`](crate::output::DescribeWorkspaceDirectoriesOutput).
    pub fn builder() -> crate::output::describe_workspace_directories_output::Builder {
        crate::output::describe_workspace_directories_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeWorkspaceBundlesOutput {
    /// <p>Information about the bundles.</p>
    #[doc(hidden)]
    pub bundles: std::option::Option<std::vec::Vec<crate::model::WorkspaceBundle>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. This token is valid for one day and must be used within that time frame.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeWorkspaceBundlesOutput {
    /// <p>Information about the bundles.</p>
    pub fn bundles(&self) -> std::option::Option<&[crate::model::WorkspaceBundle]> {
        self.bundles.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. This token is valid for one day and must be used within that time frame.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeWorkspaceBundlesOutput`](crate::output::DescribeWorkspaceBundlesOutput).
pub mod describe_workspace_bundles_output {

    /// A builder for [`DescribeWorkspaceBundlesOutput`](crate::output::DescribeWorkspaceBundlesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) bundles: std::option::Option<std::vec::Vec<crate::model::WorkspaceBundle>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `bundles`.
        ///
        /// To override the contents of this collection use [`set_bundles`](Self::set_bundles).
        ///
        /// <p>Information about the bundles.</p>
        pub fn bundles(mut self, input: crate::model::WorkspaceBundle) -> Self {
            let mut v = self.bundles.unwrap_or_default();
            v.push(input);
            self.bundles = Some(v);
            self
        }
        /// <p>Information about the bundles.</p>
        pub fn set_bundles(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WorkspaceBundle>>,
        ) -> Self {
            self.bundles = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. This token is valid for one day and must be used within that time frame.</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 retrieve the next page of results. This value is null when there are no more results to return. This token is valid for one day and must be used within that time frame.</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 [`DescribeWorkspaceBundlesOutput`](crate::output::DescribeWorkspaceBundlesOutput).
        pub fn build(self) -> crate::output::DescribeWorkspaceBundlesOutput {
            crate::output::DescribeWorkspaceBundlesOutput {
                bundles: self.bundles,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeWorkspaceBundlesOutput {
    /// Creates a new builder-style object to manufacture [`DescribeWorkspaceBundlesOutput`](crate::output::DescribeWorkspaceBundlesOutput).
    pub fn builder() -> crate::output::describe_workspace_bundles_output::Builder {
        crate::output::describe_workspace_bundles_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeTagsOutput {
    /// <p>The tags.</p>
    #[doc(hidden)]
    pub tag_list: std::option::Option<std::vec::Vec<crate::model::Tag>>,
}
impl DescribeTagsOutput {
    /// <p>The tags.</p>
    pub fn tag_list(&self) -> std::option::Option<&[crate::model::Tag]> {
        self.tag_list.as_deref()
    }
}
/// See [`DescribeTagsOutput`](crate::output::DescribeTagsOutput).
pub mod describe_tags_output {

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeIpGroupsOutput {
    /// <p>Information about the IP access control groups.</p>
    #[doc(hidden)]
    pub result: std::option::Option<std::vec::Vec<crate::model::WorkspacesIpGroup>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeIpGroupsOutput {
    /// <p>Information about the IP access control groups.</p>
    pub fn result(&self) -> std::option::Option<&[crate::model::WorkspacesIpGroup]> {
        self.result.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeIpGroupsOutput`](crate::output::DescribeIpGroupsOutput).
pub mod describe_ip_groups_output {

    /// A builder for [`DescribeIpGroupsOutput`](crate::output::DescribeIpGroupsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) result: std::option::Option<std::vec::Vec<crate::model::WorkspacesIpGroup>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `result`.
        ///
        /// To override the contents of this collection use [`set_result`](Self::set_result).
        ///
        /// <p>Information about the IP access control groups.</p>
        pub fn result(mut self, input: crate::model::WorkspacesIpGroup) -> Self {
            let mut v = self.result.unwrap_or_default();
            v.push(input);
            self.result = Some(v);
            self
        }
        /// <p>Information about the IP access control groups.</p>
        pub fn set_result(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::WorkspacesIpGroup>>,
        ) -> Self {
            self.result = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeIpGroupsOutput`](crate::output::DescribeIpGroupsOutput).
        pub fn build(self) -> crate::output::DescribeIpGroupsOutput {
            crate::output::DescribeIpGroupsOutput {
                result: self.result,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeIpGroupsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeIpGroupsOutput`](crate::output::DescribeIpGroupsOutput).
    pub fn builder() -> crate::output::describe_ip_groups_output::Builder {
        crate::output::describe_ip_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 DescribeConnectionAliasPermissionsOutput {
    /// <p>The identifier of the connection alias.</p>
    #[doc(hidden)]
    pub alias_id: std::option::Option<std::string::String>,
    /// <p>The permissions associated with a connection alias.</p>
    #[doc(hidden)]
    pub connection_alias_permissions:
        std::option::Option<std::vec::Vec<crate::model::ConnectionAliasPermission>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeConnectionAliasPermissionsOutput {
    /// <p>The identifier of the connection alias.</p>
    pub fn alias_id(&self) -> std::option::Option<&str> {
        self.alias_id.as_deref()
    }
    /// <p>The permissions associated with a connection alias.</p>
    pub fn connection_alias_permissions(
        &self,
    ) -> std::option::Option<&[crate::model::ConnectionAliasPermission]> {
        self.connection_alias_permissions.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeConnectionAliasPermissionsOutput`](crate::output::DescribeConnectionAliasPermissionsOutput).
pub mod describe_connection_alias_permissions_output {

    /// A builder for [`DescribeConnectionAliasPermissionsOutput`](crate::output::DescribeConnectionAliasPermissionsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) alias_id: std::option::Option<std::string::String>,
        pub(crate) connection_alias_permissions:
            std::option::Option<std::vec::Vec<crate::model::ConnectionAliasPermission>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The identifier of the connection alias.</p>
        pub fn alias_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.alias_id = Some(input.into());
            self
        }
        /// <p>The identifier of the connection alias.</p>
        pub fn set_alias_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.alias_id = input;
            self
        }
        /// Appends an item to `connection_alias_permissions`.
        ///
        /// To override the contents of this collection use [`set_connection_alias_permissions`](Self::set_connection_alias_permissions).
        ///
        /// <p>The permissions associated with a connection alias.</p>
        pub fn connection_alias_permissions(
            mut self,
            input: crate::model::ConnectionAliasPermission,
        ) -> Self {
            let mut v = self.connection_alias_permissions.unwrap_or_default();
            v.push(input);
            self.connection_alias_permissions = Some(v);
            self
        }
        /// <p>The permissions associated with a connection alias.</p>
        pub fn set_connection_alias_permissions(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ConnectionAliasPermission>>,
        ) -> Self {
            self.connection_alias_permissions = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeConnectionAliasPermissionsOutput`](crate::output::DescribeConnectionAliasPermissionsOutput).
        pub fn build(self) -> crate::output::DescribeConnectionAliasPermissionsOutput {
            crate::output::DescribeConnectionAliasPermissionsOutput {
                alias_id: self.alias_id,
                connection_alias_permissions: self.connection_alias_permissions,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeConnectionAliasPermissionsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeConnectionAliasPermissionsOutput`](crate::output::DescribeConnectionAliasPermissionsOutput).
    pub fn builder() -> crate::output::describe_connection_alias_permissions_output::Builder {
        crate::output::describe_connection_alias_permissions_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeConnectionAliasesOutput {
    /// <p>Information about the specified connection aliases.</p>
    #[doc(hidden)]
    pub connection_aliases: std::option::Option<std::vec::Vec<crate::model::ConnectionAlias>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeConnectionAliasesOutput {
    /// <p>Information about the specified connection aliases.</p>
    pub fn connection_aliases(&self) -> std::option::Option<&[crate::model::ConnectionAlias]> {
        self.connection_aliases.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeConnectionAliasesOutput`](crate::output::DescribeConnectionAliasesOutput).
pub mod describe_connection_aliases_output {

    /// A builder for [`DescribeConnectionAliasesOutput`](crate::output::DescribeConnectionAliasesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) connection_aliases:
            std::option::Option<std::vec::Vec<crate::model::ConnectionAlias>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `connection_aliases`.
        ///
        /// To override the contents of this collection use [`set_connection_aliases`](Self::set_connection_aliases).
        ///
        /// <p>Information about the specified connection aliases.</p>
        pub fn connection_aliases(mut self, input: crate::model::ConnectionAlias) -> Self {
            let mut v = self.connection_aliases.unwrap_or_default();
            v.push(input);
            self.connection_aliases = Some(v);
            self
        }
        /// <p>Information about the specified connection aliases.</p>
        pub fn set_connection_aliases(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ConnectionAlias>>,
        ) -> Self {
            self.connection_aliases = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeConnectionAliasesOutput`](crate::output::DescribeConnectionAliasesOutput).
        pub fn build(self) -> crate::output::DescribeConnectionAliasesOutput {
            crate::output::DescribeConnectionAliasesOutput {
                connection_aliases: self.connection_aliases,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeConnectionAliasesOutput {
    /// Creates a new builder-style object to manufacture [`DescribeConnectionAliasesOutput`](crate::output::DescribeConnectionAliasesOutput).
    pub fn builder() -> crate::output::describe_connection_aliases_output::Builder {
        crate::output::describe_connection_aliases_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeConnectClientAddInsOutput {
    /// <p>Information about client add-ins.</p>
    #[doc(hidden)]
    pub add_ins: std::option::Option<std::vec::Vec<crate::model::ConnectClientAddIn>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeConnectClientAddInsOutput {
    /// <p>Information about client add-ins.</p>
    pub fn add_ins(&self) -> std::option::Option<&[crate::model::ConnectClientAddIn]> {
        self.add_ins.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeConnectClientAddInsOutput`](crate::output::DescribeConnectClientAddInsOutput).
pub mod describe_connect_client_add_ins_output {

    /// A builder for [`DescribeConnectClientAddInsOutput`](crate::output::DescribeConnectClientAddInsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) add_ins: std::option::Option<std::vec::Vec<crate::model::ConnectClientAddIn>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `add_ins`.
        ///
        /// To override the contents of this collection use [`set_add_ins`](Self::set_add_ins).
        ///
        /// <p>Information about client add-ins.</p>
        pub fn add_ins(mut self, input: crate::model::ConnectClientAddIn) -> Self {
            let mut v = self.add_ins.unwrap_or_default();
            v.push(input);
            self.add_ins = Some(v);
            self
        }
        /// <p>Information about client add-ins.</p>
        pub fn set_add_ins(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ConnectClientAddIn>>,
        ) -> Self {
            self.add_ins = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeConnectClientAddInsOutput`](crate::output::DescribeConnectClientAddInsOutput).
        pub fn build(self) -> crate::output::DescribeConnectClientAddInsOutput {
            crate::output::DescribeConnectClientAddInsOutput {
                add_ins: self.add_ins,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeConnectClientAddInsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeConnectClientAddInsOutput`](crate::output::DescribeConnectClientAddInsOutput).
    pub fn builder() -> crate::output::describe_connect_client_add_ins_output::Builder {
        crate::output::describe_connect_client_add_ins_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeClientPropertiesOutput {
    /// <p>Information about the specified Amazon WorkSpaces clients.</p>
    #[doc(hidden)]
    pub client_properties_list:
        std::option::Option<std::vec::Vec<crate::model::ClientPropertiesResult>>,
}
impl DescribeClientPropertiesOutput {
    /// <p>Information about the specified Amazon WorkSpaces clients.</p>
    pub fn client_properties_list(
        &self,
    ) -> std::option::Option<&[crate::model::ClientPropertiesResult]> {
        self.client_properties_list.as_deref()
    }
}
/// See [`DescribeClientPropertiesOutput`](crate::output::DescribeClientPropertiesOutput).
pub mod describe_client_properties_output {

    /// A builder for [`DescribeClientPropertiesOutput`](crate::output::DescribeClientPropertiesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) client_properties_list:
            std::option::Option<std::vec::Vec<crate::model::ClientPropertiesResult>>,
    }
    impl Builder {
        /// Appends an item to `client_properties_list`.
        ///
        /// To override the contents of this collection use [`set_client_properties_list`](Self::set_client_properties_list).
        ///
        /// <p>Information about the specified Amazon WorkSpaces clients.</p>
        pub fn client_properties_list(
            mut self,
            input: crate::model::ClientPropertiesResult,
        ) -> Self {
            let mut v = self.client_properties_list.unwrap_or_default();
            v.push(input);
            self.client_properties_list = Some(v);
            self
        }
        /// <p>Information about the specified Amazon WorkSpaces clients.</p>
        pub fn set_client_properties_list(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ClientPropertiesResult>>,
        ) -> Self {
            self.client_properties_list = input;
            self
        }
        /// Consumes the builder and constructs a [`DescribeClientPropertiesOutput`](crate::output::DescribeClientPropertiesOutput).
        pub fn build(self) -> crate::output::DescribeClientPropertiesOutput {
            crate::output::DescribeClientPropertiesOutput {
                client_properties_list: self.client_properties_list,
            }
        }
    }
}
impl DescribeClientPropertiesOutput {
    /// Creates a new builder-style object to manufacture [`DescribeClientPropertiesOutput`](crate::output::DescribeClientPropertiesOutput).
    pub fn builder() -> crate::output::describe_client_properties_output::Builder {
        crate::output::describe_client_properties_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeClientBrandingOutput {
    /// <p>The branding information for Windows devices.</p>
    #[doc(hidden)]
    pub device_type_windows: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information for macOS devices.</p>
    #[doc(hidden)]
    pub device_type_osx: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information for Android devices.</p>
    #[doc(hidden)]
    pub device_type_android: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information for iOS devices.</p>
    #[doc(hidden)]
    pub device_type_ios: std::option::Option<crate::model::IosClientBrandingAttributes>,
    /// <p>The branding information for Linux devices.</p>
    #[doc(hidden)]
    pub device_type_linux: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    /// <p>The branding information for Web access.</p>
    #[doc(hidden)]
    pub device_type_web: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
}
impl DescribeClientBrandingOutput {
    /// <p>The branding information for Windows devices.</p>
    pub fn device_type_windows(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_windows.as_ref()
    }
    /// <p>The branding information for macOS devices.</p>
    pub fn device_type_osx(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_osx.as_ref()
    }
    /// <p>The branding information for Android devices.</p>
    pub fn device_type_android(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_android.as_ref()
    }
    /// <p>The branding information for iOS devices.</p>
    pub fn device_type_ios(
        &self,
    ) -> std::option::Option<&crate::model::IosClientBrandingAttributes> {
        self.device_type_ios.as_ref()
    }
    /// <p>The branding information for Linux devices.</p>
    pub fn device_type_linux(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_linux.as_ref()
    }
    /// <p>The branding information for Web access.</p>
    pub fn device_type_web(
        &self,
    ) -> std::option::Option<&crate::model::DefaultClientBrandingAttributes> {
        self.device_type_web.as_ref()
    }
}
/// See [`DescribeClientBrandingOutput`](crate::output::DescribeClientBrandingOutput).
pub mod describe_client_branding_output {

    /// A builder for [`DescribeClientBrandingOutput`](crate::output::DescribeClientBrandingOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) device_type_windows:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_osx:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_android:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_ios: std::option::Option<crate::model::IosClientBrandingAttributes>,
        pub(crate) device_type_linux:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        pub(crate) device_type_web:
            std::option::Option<crate::model::DefaultClientBrandingAttributes>,
    }
    impl Builder {
        /// <p>The branding information for Windows devices.</p>
        pub fn device_type_windows(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_windows = Some(input);
            self
        }
        /// <p>The branding information for Windows devices.</p>
        pub fn set_device_type_windows(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_windows = input;
            self
        }
        /// <p>The branding information for macOS devices.</p>
        pub fn device_type_osx(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_osx = Some(input);
            self
        }
        /// <p>The branding information for macOS devices.</p>
        pub fn set_device_type_osx(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_osx = input;
            self
        }
        /// <p>The branding information for Android devices.</p>
        pub fn device_type_android(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_android = Some(input);
            self
        }
        /// <p>The branding information for Android devices.</p>
        pub fn set_device_type_android(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_android = input;
            self
        }
        /// <p>The branding information for iOS devices.</p>
        pub fn device_type_ios(mut self, input: crate::model::IosClientBrandingAttributes) -> Self {
            self.device_type_ios = Some(input);
            self
        }
        /// <p>The branding information for iOS devices.</p>
        pub fn set_device_type_ios(
            mut self,
            input: std::option::Option<crate::model::IosClientBrandingAttributes>,
        ) -> Self {
            self.device_type_ios = input;
            self
        }
        /// <p>The branding information for Linux devices.</p>
        pub fn device_type_linux(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_linux = Some(input);
            self
        }
        /// <p>The branding information for Linux devices.</p>
        pub fn set_device_type_linux(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_linux = input;
            self
        }
        /// <p>The branding information for Web access.</p>
        pub fn device_type_web(
            mut self,
            input: crate::model::DefaultClientBrandingAttributes,
        ) -> Self {
            self.device_type_web = Some(input);
            self
        }
        /// <p>The branding information for Web access.</p>
        pub fn set_device_type_web(
            mut self,
            input: std::option::Option<crate::model::DefaultClientBrandingAttributes>,
        ) -> Self {
            self.device_type_web = input;
            self
        }
        /// Consumes the builder and constructs a [`DescribeClientBrandingOutput`](crate::output::DescribeClientBrandingOutput).
        pub fn build(self) -> crate::output::DescribeClientBrandingOutput {
            crate::output::DescribeClientBrandingOutput {
                device_type_windows: self.device_type_windows,
                device_type_osx: self.device_type_osx,
                device_type_android: self.device_type_android,
                device_type_ios: self.device_type_ios,
                device_type_linux: self.device_type_linux,
                device_type_web: self.device_type_web,
            }
        }
    }
}
impl DescribeClientBrandingOutput {
    /// Creates a new builder-style object to manufacture [`DescribeClientBrandingOutput`](crate::output::DescribeClientBrandingOutput).
    pub fn builder() -> crate::output::describe_client_branding_output::Builder {
        crate::output::describe_client_branding_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeAccountModificationsOutput {
    /// <p>The list of modifications to the configuration of BYOL.</p>
    #[doc(hidden)]
    pub account_modifications:
        std::option::Option<std::vec::Vec<crate::model::AccountModification>>,
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl DescribeAccountModificationsOutput {
    /// <p>The list of modifications to the configuration of BYOL.</p>
    pub fn account_modifications(
        &self,
    ) -> std::option::Option<&[crate::model::AccountModification]> {
        self.account_modifications.as_deref()
    }
    /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`DescribeAccountModificationsOutput`](crate::output::DescribeAccountModificationsOutput).
pub mod describe_account_modifications_output {

    /// A builder for [`DescribeAccountModificationsOutput`](crate::output::DescribeAccountModificationsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) account_modifications:
            std::option::Option<std::vec::Vec<crate::model::AccountModification>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `account_modifications`.
        ///
        /// To override the contents of this collection use [`set_account_modifications`](Self::set_account_modifications).
        ///
        /// <p>The list of modifications to the configuration of BYOL.</p>
        pub fn account_modifications(mut self, input: crate::model::AccountModification) -> Self {
            let mut v = self.account_modifications.unwrap_or_default();
            v.push(input);
            self.account_modifications = Some(v);
            self
        }
        /// <p>The list of modifications to the configuration of BYOL.</p>
        pub fn set_account_modifications(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::AccountModification>>,
        ) -> Self {
            self.account_modifications = input;
            self
        }
        /// <p>The token to use to retrieve the next page of results. This value is null when there are no more results to return. </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 retrieve the next page of results. This value is null when there are no more results to return. </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 [`DescribeAccountModificationsOutput`](crate::output::DescribeAccountModificationsOutput).
        pub fn build(self) -> crate::output::DescribeAccountModificationsOutput {
            crate::output::DescribeAccountModificationsOutput {
                account_modifications: self.account_modifications,
                next_token: self.next_token,
            }
        }
    }
}
impl DescribeAccountModificationsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeAccountModificationsOutput`](crate::output::DescribeAccountModificationsOutput).
    pub fn builder() -> crate::output::describe_account_modifications_output::Builder {
        crate::output::describe_account_modifications_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeAccountOutput {
    /// <p>The status of BYOL (whether BYOL is enabled or disabled).</p>
    #[doc(hidden)]
    pub dedicated_tenancy_support:
        std::option::Option<crate::model::DedicatedTenancySupportResultEnum>,
    /// <p>The IP address range, specified as an IPv4 CIDR block, used for the management network interface.</p>
    /// <p>The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.</p>
    #[doc(hidden)]
    pub dedicated_tenancy_management_cidr_range: std::option::Option<std::string::String>,
}
impl DescribeAccountOutput {
    /// <p>The status of BYOL (whether BYOL is enabled or disabled).</p>
    pub fn dedicated_tenancy_support(
        &self,
    ) -> std::option::Option<&crate::model::DedicatedTenancySupportResultEnum> {
        self.dedicated_tenancy_support.as_ref()
    }
    /// <p>The IP address range, specified as an IPv4 CIDR block, used for the management network interface.</p>
    /// <p>The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.</p>
    pub fn dedicated_tenancy_management_cidr_range(&self) -> std::option::Option<&str> {
        self.dedicated_tenancy_management_cidr_range.as_deref()
    }
}
/// See [`DescribeAccountOutput`](crate::output::DescribeAccountOutput).
pub mod describe_account_output {

    /// A builder for [`DescribeAccountOutput`](crate::output::DescribeAccountOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) dedicated_tenancy_support:
            std::option::Option<crate::model::DedicatedTenancySupportResultEnum>,
        pub(crate) dedicated_tenancy_management_cidr_range:
            std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The status of BYOL (whether BYOL is enabled or disabled).</p>
        pub fn dedicated_tenancy_support(
            mut self,
            input: crate::model::DedicatedTenancySupportResultEnum,
        ) -> Self {
            self.dedicated_tenancy_support = Some(input);
            self
        }
        /// <p>The status of BYOL (whether BYOL is enabled or disabled).</p>
        pub fn set_dedicated_tenancy_support(
            mut self,
            input: std::option::Option<crate::model::DedicatedTenancySupportResultEnum>,
        ) -> Self {
            self.dedicated_tenancy_support = input;
            self
        }
        /// <p>The IP address range, specified as an IPv4 CIDR block, used for the management network interface.</p>
        /// <p>The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.</p>
        pub fn dedicated_tenancy_management_cidr_range(
            mut self,
            input: impl Into<std::string::String>,
        ) -> Self {
            self.dedicated_tenancy_management_cidr_range = Some(input.into());
            self
        }
        /// <p>The IP address range, specified as an IPv4 CIDR block, used for the management network interface.</p>
        /// <p>The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.</p>
        pub fn set_dedicated_tenancy_management_cidr_range(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.dedicated_tenancy_management_cidr_range = input;
            self
        }
        /// Consumes the builder and constructs a [`DescribeAccountOutput`](crate::output::DescribeAccountOutput).
        pub fn build(self) -> crate::output::DescribeAccountOutput {
            crate::output::DescribeAccountOutput {
                dedicated_tenancy_support: self.dedicated_tenancy_support,
                dedicated_tenancy_management_cidr_range: self
                    .dedicated_tenancy_management_cidr_range,
            }
        }
    }
}
impl DescribeAccountOutput {
    /// Creates a new builder-style object to manufacture [`DescribeAccountOutput`](crate::output::DescribeAccountOutput).
    pub fn builder() -> crate::output::describe_account_output::Builder {
        crate::output::describe_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 DeregisterWorkspaceDirectoryOutput {}
/// See [`DeregisterWorkspaceDirectoryOutput`](crate::output::DeregisterWorkspaceDirectoryOutput).
pub mod deregister_workspace_directory_output {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be created.</p>
    #[doc(hidden)]
    pub failed_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedCreateWorkspaceRequest>>,
    /// <p>Information about the WorkSpaces that were created.</p>
    /// <p>Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call <code>DescribeWorkspaces</code> before the WorkSpace is created, the information returned can be incomplete.</p>
    #[doc(hidden)]
    pub pending_requests: std::option::Option<std::vec::Vec<crate::model::Workspace>>,
}
impl CreateWorkspacesOutput {
    /// <p>Information about the WorkSpaces that could not be created.</p>
    pub fn failed_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedCreateWorkspaceRequest]> {
        self.failed_requests.as_deref()
    }
    /// <p>Information about the WorkSpaces that were created.</p>
    /// <p>Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call <code>DescribeWorkspaces</code> before the WorkSpace is created, the information returned can be incomplete.</p>
    pub fn pending_requests(&self) -> std::option::Option<&[crate::model::Workspace]> {
        self.pending_requests.as_deref()
    }
}
/// See [`CreateWorkspacesOutput`](crate::output::CreateWorkspacesOutput).
pub mod create_workspaces_output {

    /// A builder for [`CreateWorkspacesOutput`](crate::output::CreateWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedCreateWorkspaceRequest>>,
        pub(crate) pending_requests: std::option::Option<std::vec::Vec<crate::model::Workspace>>,
    }
    impl Builder {
        /// Appends an item to `failed_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_requests`](Self::set_failed_requests).
        ///
        /// <p>Information about the WorkSpaces that could not be created.</p>
        pub fn failed_requests(
            mut self,
            input: crate::model::FailedCreateWorkspaceRequest,
        ) -> Self {
            let mut v = self.failed_requests.unwrap_or_default();
            v.push(input);
            self.failed_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces that could not be created.</p>
        pub fn set_failed_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::FailedCreateWorkspaceRequest>>,
        ) -> Self {
            self.failed_requests = input;
            self
        }
        /// Appends an item to `pending_requests`.
        ///
        /// To override the contents of this collection use [`set_pending_requests`](Self::set_pending_requests).
        ///
        /// <p>Information about the WorkSpaces that were created.</p>
        /// <p>Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call <code>DescribeWorkspaces</code> before the WorkSpace is created, the information returned can be incomplete.</p>
        pub fn pending_requests(mut self, input: crate::model::Workspace) -> Self {
            let mut v = self.pending_requests.unwrap_or_default();
            v.push(input);
            self.pending_requests = Some(v);
            self
        }
        /// <p>Information about the WorkSpaces that were created.</p>
        /// <p>Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call <code>DescribeWorkspaces</code> before the WorkSpace is created, the information returned can be incomplete.</p>
        pub fn set_pending_requests(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Workspace>>,
        ) -> Self {
            self.pending_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWorkspacesOutput`](crate::output::CreateWorkspacesOutput).
        pub fn build(self) -> crate::output::CreateWorkspacesOutput {
            crate::output::CreateWorkspacesOutput {
                failed_requests: self.failed_requests,
                pending_requests: self.pending_requests,
            }
        }
    }
}
impl CreateWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`CreateWorkspacesOutput`](crate::output::CreateWorkspacesOutput).
    pub fn builder() -> crate::output::create_workspaces_output::Builder {
        crate::output::create_workspaces_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWorkspaceImageOutput {
    /// <p>The identifier of the new WorkSpace image.</p>
    #[doc(hidden)]
    pub image_id: std::option::Option<std::string::String>,
    /// <p>The name of the image.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The description of the image.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The operating system that the image is running.</p>
    #[doc(hidden)]
    pub operating_system: std::option::Option<crate::model::OperatingSystem>,
    /// <p>The availability status of the image.</p>
    #[doc(hidden)]
    pub state: std::option::Option<crate::model::WorkspaceImageState>,
    /// <p>Specifies whether the image is running on dedicated hardware. When Bring Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.htm"> Bring Your Own Windows Desktop Images.</a>.</p>
    #[doc(hidden)]
    pub required_tenancy: std::option::Option<crate::model::WorkspaceImageRequiredTenancy>,
    /// <p>The date when the image was created.</p>
    #[doc(hidden)]
    pub created: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The identifier of the Amazon Web Services account that owns the image.</p>
    #[doc(hidden)]
    pub owner_account_id: std::option::Option<std::string::String>,
}
impl CreateWorkspaceImageOutput {
    /// <p>The identifier of the new WorkSpace image.</p>
    pub fn image_id(&self) -> std::option::Option<&str> {
        self.image_id.as_deref()
    }
    /// <p>The name of the image.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The description of the image.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The operating system that the image is running.</p>
    pub fn operating_system(&self) -> std::option::Option<&crate::model::OperatingSystem> {
        self.operating_system.as_ref()
    }
    /// <p>The availability status of the image.</p>
    pub fn state(&self) -> std::option::Option<&crate::model::WorkspaceImageState> {
        self.state.as_ref()
    }
    /// <p>Specifies whether the image is running on dedicated hardware. When Bring Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.htm"> Bring Your Own Windows Desktop Images.</a>.</p>
    pub fn required_tenancy(
        &self,
    ) -> std::option::Option<&crate::model::WorkspaceImageRequiredTenancy> {
        self.required_tenancy.as_ref()
    }
    /// <p>The date when the image was created.</p>
    pub fn created(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.created.as_ref()
    }
    /// <p>The identifier of the Amazon Web Services account that owns the image.</p>
    pub fn owner_account_id(&self) -> std::option::Option<&str> {
        self.owner_account_id.as_deref()
    }
}
/// See [`CreateWorkspaceImageOutput`](crate::output::CreateWorkspaceImageOutput).
pub mod create_workspace_image_output {

    /// A builder for [`CreateWorkspaceImageOutput`](crate::output::CreateWorkspaceImageOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) image_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) operating_system: std::option::Option<crate::model::OperatingSystem>,
        pub(crate) state: std::option::Option<crate::model::WorkspaceImageState>,
        pub(crate) required_tenancy:
            std::option::Option<crate::model::WorkspaceImageRequiredTenancy>,
        pub(crate) created: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) owner_account_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The identifier of the new WorkSpace image.</p>
        pub fn image_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.image_id = Some(input.into());
            self
        }
        /// <p>The identifier of the new WorkSpace image.</p>
        pub fn set_image_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.image_id = input;
            self
        }
        /// <p>The name of the image.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the image.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The description of the image.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the image.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The operating system that the image is running.</p>
        pub fn operating_system(mut self, input: crate::model::OperatingSystem) -> Self {
            self.operating_system = Some(input);
            self
        }
        /// <p>The operating system that the image is running.</p>
        pub fn set_operating_system(
            mut self,
            input: std::option::Option<crate::model::OperatingSystem>,
        ) -> Self {
            self.operating_system = input;
            self
        }
        /// <p>The availability status of the image.</p>
        pub fn state(mut self, input: crate::model::WorkspaceImageState) -> Self {
            self.state = Some(input);
            self
        }
        /// <p>The availability status of the image.</p>
        pub fn set_state(
            mut self,
            input: std::option::Option<crate::model::WorkspaceImageState>,
        ) -> Self {
            self.state = input;
            self
        }
        /// <p>Specifies whether the image is running on dedicated hardware. When Bring Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.htm"> Bring Your Own Windows Desktop Images.</a>.</p>
        pub fn required_tenancy(
            mut self,
            input: crate::model::WorkspaceImageRequiredTenancy,
        ) -> Self {
            self.required_tenancy = Some(input);
            self
        }
        /// <p>Specifies whether the image is running on dedicated hardware. When Bring Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more information, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.htm"> Bring Your Own Windows Desktop Images.</a>.</p>
        pub fn set_required_tenancy(
            mut self,
            input: std::option::Option<crate::model::WorkspaceImageRequiredTenancy>,
        ) -> Self {
            self.required_tenancy = input;
            self
        }
        /// <p>The date when the image was created.</p>
        pub fn created(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.created = Some(input);
            self
        }
        /// <p>The date when the image was created.</p>
        pub fn set_created(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.created = input;
            self
        }
        /// <p>The identifier of the Amazon Web Services account that owns the image.</p>
        pub fn owner_account_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.owner_account_id = Some(input.into());
            self
        }
        /// <p>The identifier of the Amazon Web Services account that owns the image.</p>
        pub fn set_owner_account_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.owner_account_id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWorkspaceImageOutput`](crate::output::CreateWorkspaceImageOutput).
        pub fn build(self) -> crate::output::CreateWorkspaceImageOutput {
            crate::output::CreateWorkspaceImageOutput {
                image_id: self.image_id,
                name: self.name,
                description: self.description,
                operating_system: self.operating_system,
                state: self.state,
                required_tenancy: self.required_tenancy,
                created: self.created,
                owner_account_id: self.owner_account_id,
            }
        }
    }
}
impl CreateWorkspaceImageOutput {
    /// Creates a new builder-style object to manufacture [`CreateWorkspaceImageOutput`](crate::output::CreateWorkspaceImageOutput).
    pub fn builder() -> crate::output::create_workspace_image_output::Builder {
        crate::output::create_workspace_image_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateWorkspaceBundleOutput {
    /// <p>Describes a WorkSpace bundle.</p>
    #[doc(hidden)]
    pub workspace_bundle: std::option::Option<crate::model::WorkspaceBundle>,
}
impl CreateWorkspaceBundleOutput {
    /// <p>Describes a WorkSpace bundle.</p>
    pub fn workspace_bundle(&self) -> std::option::Option<&crate::model::WorkspaceBundle> {
        self.workspace_bundle.as_ref()
    }
}
/// See [`CreateWorkspaceBundleOutput`](crate::output::CreateWorkspaceBundleOutput).
pub mod create_workspace_bundle_output {

    /// A builder for [`CreateWorkspaceBundleOutput`](crate::output::CreateWorkspaceBundleOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) workspace_bundle: std::option::Option<crate::model::WorkspaceBundle>,
    }
    impl Builder {
        /// <p>Describes a WorkSpace bundle.</p>
        pub fn workspace_bundle(mut self, input: crate::model::WorkspaceBundle) -> Self {
            self.workspace_bundle = Some(input);
            self
        }
        /// <p>Describes a WorkSpace bundle.</p>
        pub fn set_workspace_bundle(
            mut self,
            input: std::option::Option<crate::model::WorkspaceBundle>,
        ) -> Self {
            self.workspace_bundle = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateWorkspaceBundleOutput`](crate::output::CreateWorkspaceBundleOutput).
        pub fn build(self) -> crate::output::CreateWorkspaceBundleOutput {
            crate::output::CreateWorkspaceBundleOutput {
                workspace_bundle: self.workspace_bundle,
            }
        }
    }
}
impl CreateWorkspaceBundleOutput {
    /// Creates a new builder-style object to manufacture [`CreateWorkspaceBundleOutput`](crate::output::CreateWorkspaceBundleOutput).
    pub fn builder() -> crate::output::create_workspace_bundle_output::Builder {
        crate::output::create_workspace_bundle_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateUpdatedWorkspaceImageOutput {
    /// <p>The identifier of the new updated WorkSpace image.</p>
    #[doc(hidden)]
    pub image_id: std::option::Option<std::string::String>,
}
impl CreateUpdatedWorkspaceImageOutput {
    /// <p>The identifier of the new updated WorkSpace image.</p>
    pub fn image_id(&self) -> std::option::Option<&str> {
        self.image_id.as_deref()
    }
}
/// See [`CreateUpdatedWorkspaceImageOutput`](crate::output::CreateUpdatedWorkspaceImageOutput).
pub mod create_updated_workspace_image_output {

    /// A builder for [`CreateUpdatedWorkspaceImageOutput`](crate::output::CreateUpdatedWorkspaceImageOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) image_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The identifier of the new updated WorkSpace image.</p>
        pub fn image_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.image_id = Some(input.into());
            self
        }
        /// <p>The identifier of the new updated WorkSpace image.</p>
        pub fn set_image_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.image_id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateUpdatedWorkspaceImageOutput`](crate::output::CreateUpdatedWorkspaceImageOutput).
        pub fn build(self) -> crate::output::CreateUpdatedWorkspaceImageOutput {
            crate::output::CreateUpdatedWorkspaceImageOutput {
                image_id: self.image_id,
            }
        }
    }
}
impl CreateUpdatedWorkspaceImageOutput {
    /// Creates a new builder-style object to manufacture [`CreateUpdatedWorkspaceImageOutput`](crate::output::CreateUpdatedWorkspaceImageOutput).
    pub fn builder() -> crate::output::create_updated_workspace_image_output::Builder {
        crate::output::create_updated_workspace_image_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateStandbyWorkspacesOutput {
    /// <p>Information about the Standby WorkSpace that could not be created. </p>
    #[doc(hidden)]
    pub failed_standby_requests:
        std::option::Option<std::vec::Vec<crate::model::FailedCreateStandbyWorkspacesRequest>>,
    /// <p>Information about the Standby WorkSpace that was created.</p>
    #[doc(hidden)]
    pub pending_standby_requests:
        std::option::Option<std::vec::Vec<crate::model::PendingCreateStandbyWorkspacesRequest>>,
}
impl CreateStandbyWorkspacesOutput {
    /// <p>Information about the Standby WorkSpace that could not be created. </p>
    pub fn failed_standby_requests(
        &self,
    ) -> std::option::Option<&[crate::model::FailedCreateStandbyWorkspacesRequest]> {
        self.failed_standby_requests.as_deref()
    }
    /// <p>Information about the Standby WorkSpace that was created.</p>
    pub fn pending_standby_requests(
        &self,
    ) -> std::option::Option<&[crate::model::PendingCreateStandbyWorkspacesRequest]> {
        self.pending_standby_requests.as_deref()
    }
}
/// See [`CreateStandbyWorkspacesOutput`](crate::output::CreateStandbyWorkspacesOutput).
pub mod create_standby_workspaces_output {

    /// A builder for [`CreateStandbyWorkspacesOutput`](crate::output::CreateStandbyWorkspacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) failed_standby_requests:
            std::option::Option<std::vec::Vec<crate::model::FailedCreateStandbyWorkspacesRequest>>,
        pub(crate) pending_standby_requests:
            std::option::Option<std::vec::Vec<crate::model::PendingCreateStandbyWorkspacesRequest>>,
    }
    impl Builder {
        /// Appends an item to `failed_standby_requests`.
        ///
        /// To override the contents of this collection use [`set_failed_standby_requests`](Self::set_failed_standby_requests).
        ///
        /// <p>Information about the Standby WorkSpace that could not be created. </p>
        pub fn failed_standby_requests(
            mut self,
            input: crate::model::FailedCreateStandbyWorkspacesRequest,
        ) -> Self {
            let mut v = self.failed_standby_requests.unwrap_or_default();
            v.push(input);
            self.failed_standby_requests = Some(v);
            self
        }
        /// <p>Information about the Standby WorkSpace that could not be created. </p>
        pub fn set_failed_standby_requests(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::FailedCreateStandbyWorkspacesRequest>,
            >,
        ) -> Self {
            self.failed_standby_requests = input;
            self
        }
        /// Appends an item to `pending_standby_requests`.
        ///
        /// To override the contents of this collection use [`set_pending_standby_requests`](Self::set_pending_standby_requests).
        ///
        /// <p>Information about the Standby WorkSpace that was created.</p>
        pub fn pending_standby_requests(
            mut self,
            input: crate::model::PendingCreateStandbyWorkspacesRequest,
        ) -> Self {
            let mut v = self.pending_standby_requests.unwrap_or_default();
            v.push(input);
            self.pending_standby_requests = Some(v);
            self
        }
        /// <p>Information about the Standby WorkSpace that was created.</p>
        pub fn set_pending_standby_requests(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::PendingCreateStandbyWorkspacesRequest>,
            >,
        ) -> Self {
            self.pending_standby_requests = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateStandbyWorkspacesOutput`](crate::output::CreateStandbyWorkspacesOutput).
        pub fn build(self) -> crate::output::CreateStandbyWorkspacesOutput {
            crate::output::CreateStandbyWorkspacesOutput {
                failed_standby_requests: self.failed_standby_requests,
                pending_standby_requests: self.pending_standby_requests,
            }
        }
    }
}
impl CreateStandbyWorkspacesOutput {
    /// Creates a new builder-style object to manufacture [`CreateStandbyWorkspacesOutput`](crate::output::CreateStandbyWorkspacesOutput).
    pub fn builder() -> crate::output::create_standby_workspaces_output::Builder {
        crate::output::create_standby_workspaces_output::Builder::default()
    }
}

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

    /// A builder for [`CreateIpGroupOutput`](crate::output::CreateIpGroupOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) group_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The identifier of the group.</p>
        pub fn group_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.group_id = Some(input.into());
            self
        }
        /// <p>The identifier of the group.</p>
        pub fn set_group_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.group_id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateIpGroupOutput`](crate::output::CreateIpGroupOutput).
        pub fn build(self) -> crate::output::CreateIpGroupOutput {
            crate::output::CreateIpGroupOutput {
                group_id: self.group_id,
            }
        }
    }
}
impl CreateIpGroupOutput {
    /// Creates a new builder-style object to manufacture [`CreateIpGroupOutput`](crate::output::CreateIpGroupOutput).
    pub fn builder() -> crate::output::create_ip_group_output::Builder {
        crate::output::create_ip_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 CreateConnectionAliasOutput {
    /// <p>The identifier of the connection alias.</p>
    #[doc(hidden)]
    pub alias_id: std::option::Option<std::string::String>,
}
impl CreateConnectionAliasOutput {
    /// <p>The identifier of the connection alias.</p>
    pub fn alias_id(&self) -> std::option::Option<&str> {
        self.alias_id.as_deref()
    }
}
/// See [`CreateConnectionAliasOutput`](crate::output::CreateConnectionAliasOutput).
pub mod create_connection_alias_output {

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

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

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

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

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

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

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

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

    /// A builder for [`AssociateIpGroupsOutput`](crate::output::AssociateIpGroupsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {}
    impl Builder {
        /// Consumes the builder and constructs a [`AssociateIpGroupsOutput`](crate::output::AssociateIpGroupsOutput).
        pub fn build(self) -> crate::output::AssociateIpGroupsOutput {
            crate::output::AssociateIpGroupsOutput {}
        }
    }
}
impl AssociateIpGroupsOutput {
    /// Creates a new builder-style object to manufacture [`AssociateIpGroupsOutput`](crate::output::AssociateIpGroupsOutput).
    pub fn builder() -> crate::output::associate_ip_groups_output::Builder {
        crate::output::associate_ip_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 AssociateConnectionAliasOutput {
    /// <p>The identifier of the connection alias association. You use the connection identifier in the DNS TXT record when you're configuring your DNS routing policies. </p>
    #[doc(hidden)]
    pub connection_identifier: std::option::Option<std::string::String>,
}
impl AssociateConnectionAliasOutput {
    /// <p>The identifier of the connection alias association. You use the connection identifier in the DNS TXT record when you're configuring your DNS routing policies. </p>
    pub fn connection_identifier(&self) -> std::option::Option<&str> {
        self.connection_identifier.as_deref()
    }
}
/// See [`AssociateConnectionAliasOutput`](crate::output::AssociateConnectionAliasOutput).
pub mod associate_connection_alias_output {

    /// A builder for [`AssociateConnectionAliasOutput`](crate::output::AssociateConnectionAliasOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) connection_identifier: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The identifier of the connection alias association. You use the connection identifier in the DNS TXT record when you're configuring your DNS routing policies. </p>
        pub fn connection_identifier(mut self, input: impl Into<std::string::String>) -> Self {
            self.connection_identifier = Some(input.into());
            self
        }
        /// <p>The identifier of the connection alias association. You use the connection identifier in the DNS TXT record when you're configuring your DNS routing policies. </p>
        pub fn set_connection_identifier(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.connection_identifier = input;
            self
        }
        /// Consumes the builder and constructs a [`AssociateConnectionAliasOutput`](crate::output::AssociateConnectionAliasOutput).
        pub fn build(self) -> crate::output::AssociateConnectionAliasOutput {
            crate::output::AssociateConnectionAliasOutput {
                connection_identifier: self.connection_identifier,
            }
        }
    }
}
impl AssociateConnectionAliasOutput {
    /// Creates a new builder-style object to manufacture [`AssociateConnectionAliasOutput`](crate::output::AssociateConnectionAliasOutput).
    pub fn builder() -> crate::output::associate_connection_alias_output::Builder {
        crate::output::associate_connection_alias_output::Builder::default()
    }
}