aws-sdk-codecatalyst 0.2.0

AWS SDK for Amazon CodeCatalyst
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 ListSpacesOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>Information about the space. </p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::SpaceSummary>>,
}
impl ListSpacesOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Information about the space. </p>
    pub fn items(&self) -> std::option::Option<&[crate::model::SpaceSummary]> {
        self.items.as_deref()
    }
}
/// See [`ListSpacesOutput`](crate::output::ListSpacesOutput).
pub mod list_spaces_output {

    /// A builder for [`ListSpacesOutput`](crate::output::ListSpacesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::SpaceSummary>>,
    }
    impl Builder {
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>Information about the space. </p>
        pub fn items(mut self, input: crate::model::SpaceSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>Information about the space. </p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::SpaceSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListSpacesOutput`](crate::output::ListSpacesOutput).
        pub fn build(self) -> crate::output::ListSpacesOutput {
            crate::output::ListSpacesOutput {
                next_token: self.next_token,
                items: self.items,
            }
        }
    }
}
impl ListSpacesOutput {
    /// Creates a new builder-style object to manufacture [`ListSpacesOutput`](crate::output::ListSpacesOutput).
    pub fn builder() -> crate::output::list_spaces_output::Builder {
        crate::output::list_spaces_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetSpaceOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The Amazon Web Services Region where the space exists.</p>
    #[doc(hidden)]
    pub region_name: std::option::Option<std::string::String>,
    /// <p>The friendly name of the space displayed to users.</p>
    #[doc(hidden)]
    pub display_name: std::option::Option<std::string::String>,
    /// <p>The description of the space.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
}
impl GetSpaceOutput {
    /// <p>The name of the space.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The Amazon Web Services Region where the space exists.</p>
    pub fn region_name(&self) -> std::option::Option<&str> {
        self.region_name.as_deref()
    }
    /// <p>The friendly name of the space displayed to users.</p>
    pub fn display_name(&self) -> std::option::Option<&str> {
        self.display_name.as_deref()
    }
    /// <p>The description of the space.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
}
/// See [`GetSpaceOutput`](crate::output::GetSpaceOutput).
pub mod get_space_output {

    /// A builder for [`GetSpaceOutput`](crate::output::GetSpaceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) region_name: std::option::Option<std::string::String>,
        pub(crate) display_name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The Amazon Web Services Region where the space exists.</p>
        pub fn region_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.region_name = Some(input.into());
            self
        }
        /// <p>The Amazon Web Services Region where the space exists.</p>
        pub fn set_region_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.region_name = input;
            self
        }
        /// <p>The friendly name of the space displayed to users.</p>
        pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.display_name = Some(input.into());
            self
        }
        /// <p>The friendly name of the space displayed to users.</p>
        pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.display_name = input;
            self
        }
        /// <p>The description of the space.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the space.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// Consumes the builder and constructs a [`GetSpaceOutput`](crate::output::GetSpaceOutput).
        pub fn build(self) -> crate::output::GetSpaceOutput {
            crate::output::GetSpaceOutput {
                name: self.name,
                region_name: self.region_name,
                display_name: self.display_name,
                description: self.description,
            }
        }
    }
}
impl GetSpaceOutput {
    /// Creates a new builder-style object to manufacture [`GetSpaceOutput`](crate::output::GetSpaceOutput).
    pub fn builder() -> crate::output::get_space_output::Builder {
        crate::output::get_space_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetSubscriptionOutput {
    /// <p>The type of the billing plan for the space.</p>
    #[doc(hidden)]
    pub subscription_type: std::option::Option<std::string::String>,
    /// <p>The display name of the Amazon Web Services account used for billing for the space.</p>
    #[doc(hidden)]
    pub aws_account_name: std::option::Option<std::string::String>,
}
impl GetSubscriptionOutput {
    /// <p>The type of the billing plan for the space.</p>
    pub fn subscription_type(&self) -> std::option::Option<&str> {
        self.subscription_type.as_deref()
    }
    /// <p>The display name of the Amazon Web Services account used for billing for the space.</p>
    pub fn aws_account_name(&self) -> std::option::Option<&str> {
        self.aws_account_name.as_deref()
    }
}
/// See [`GetSubscriptionOutput`](crate::output::GetSubscriptionOutput).
pub mod get_subscription_output {

    /// A builder for [`GetSubscriptionOutput`](crate::output::GetSubscriptionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) subscription_type: std::option::Option<std::string::String>,
        pub(crate) aws_account_name: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The type of the billing plan for the space.</p>
        pub fn subscription_type(mut self, input: impl Into<std::string::String>) -> Self {
            self.subscription_type = Some(input.into());
            self
        }
        /// <p>The type of the billing plan for the space.</p>
        pub fn set_subscription_type(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.subscription_type = input;
            self
        }
        /// <p>The display name of the Amazon Web Services account used for billing for the space.</p>
        pub fn aws_account_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.aws_account_name = Some(input.into());
            self
        }
        /// <p>The display name of the Amazon Web Services account used for billing for the space.</p>
        pub fn set_aws_account_name(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.aws_account_name = input;
            self
        }
        /// Consumes the builder and constructs a [`GetSubscriptionOutput`](crate::output::GetSubscriptionOutput).
        pub fn build(self) -> crate::output::GetSubscriptionOutput {
            crate::output::GetSubscriptionOutput {
                subscription_type: self.subscription_type,
                aws_account_name: self.aws_account_name,
            }
        }
    }
}
impl GetSubscriptionOutput {
    /// Creates a new builder-style object to manufacture [`GetSubscriptionOutput`](crate::output::GetSubscriptionOutput).
    pub fn builder() -> crate::output::get_subscription_output::Builder {
        crate::output::get_subscription_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListProjectsOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>Information about the projects.</p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::ProjectSummary>>,
}
impl ListProjectsOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Information about the projects.</p>
    pub fn items(&self) -> std::option::Option<&[crate::model::ProjectSummary]> {
        self.items.as_deref()
    }
}
/// See [`ListProjectsOutput`](crate::output::ListProjectsOutput).
pub mod list_projects_output {

    /// A builder for [`ListProjectsOutput`](crate::output::ListProjectsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::ProjectSummary>>,
    }
    impl Builder {
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>Information about the projects.</p>
        pub fn items(mut self, input: crate::model::ProjectSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>Information about the projects.</p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ProjectSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListProjectsOutput`](crate::output::ListProjectsOutput).
        pub fn build(self) -> crate::output::ListProjectsOutput {
            crate::output::ListProjectsOutput {
                next_token: self.next_token,
                items: self.items,
            }
        }
    }
}
impl ListProjectsOutput {
    /// Creates a new builder-style object to manufacture [`ListProjectsOutput`](crate::output::ListProjectsOutput).
    pub fn builder() -> crate::output::list_projects_output::Builder {
        crate::output::list_projects_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateProjectOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The friendly name of the project.</p>
    #[doc(hidden)]
    pub display_name: std::option::Option<std::string::String>,
    /// <p>The description of the project.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
}
impl CreateProjectOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The friendly name of the project.</p>
    pub fn display_name(&self) -> std::option::Option<&str> {
        self.display_name.as_deref()
    }
    /// <p>The description of the project.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
}
/// See [`CreateProjectOutput`](crate::output::CreateProjectOutput).
pub mod create_project_output {

    /// A builder for [`CreateProjectOutput`](crate::output::CreateProjectOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) display_name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The friendly name of the project.</p>
        pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.display_name = Some(input.into());
            self
        }
        /// <p>The friendly name of the project.</p>
        pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.display_name = input;
            self
        }
        /// <p>The description of the project.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the project.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateProjectOutput`](crate::output::CreateProjectOutput).
        pub fn build(self) -> crate::output::CreateProjectOutput {
            crate::output::CreateProjectOutput {
                space_name: self.space_name,
                name: self.name,
                display_name: self.display_name,
                description: self.description,
            }
        }
    }
}
impl CreateProjectOutput {
    /// Creates a new builder-style object to manufacture [`CreateProjectOutput`](crate::output::CreateProjectOutput).
    pub fn builder() -> crate::output::create_project_output::Builder {
        crate::output::create_project_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetProjectOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The friendly name of the project displayed to users in Amazon CodeCatalyst.</p>
    #[doc(hidden)]
    pub display_name: std::option::Option<std::string::String>,
    /// <p>The description of the project.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
}
impl GetProjectOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The friendly name of the project displayed to users in Amazon CodeCatalyst.</p>
    pub fn display_name(&self) -> std::option::Option<&str> {
        self.display_name.as_deref()
    }
    /// <p>The description of the project.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
}
/// See [`GetProjectOutput`](crate::output::GetProjectOutput).
pub mod get_project_output {

    /// A builder for [`GetProjectOutput`](crate::output::GetProjectOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) display_name: std::option::Option<std::string::String>,
        pub(crate) description: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The friendly name of the project displayed to users in Amazon CodeCatalyst.</p>
        pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.display_name = Some(input.into());
            self
        }
        /// <p>The friendly name of the project displayed to users in Amazon CodeCatalyst.</p>
        pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.display_name = input;
            self
        }
        /// <p>The description of the project.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>The description of the project.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// Consumes the builder and constructs a [`GetProjectOutput`](crate::output::GetProjectOutput).
        pub fn build(self) -> crate::output::GetProjectOutput {
            crate::output::GetProjectOutput {
                space_name: self.space_name,
                name: self.name,
                display_name: self.display_name,
                description: self.description,
            }
        }
    }
}
impl GetProjectOutput {
    /// Creates a new builder-style object to manufacture [`GetProjectOutput`](crate::output::GetProjectOutput).
    pub fn builder() -> crate::output::get_project_output::Builder {
        crate::output::get_project_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetSourceRepositoryCloneUrlsOutput {
    /// <p>The HTTPS URL to use when cloning the source repository.</p>
    #[doc(hidden)]
    pub https: std::option::Option<std::string::String>,
}
impl GetSourceRepositoryCloneUrlsOutput {
    /// <p>The HTTPS URL to use when cloning the source repository.</p>
    pub fn https(&self) -> std::option::Option<&str> {
        self.https.as_deref()
    }
}
/// See [`GetSourceRepositoryCloneUrlsOutput`](crate::output::GetSourceRepositoryCloneUrlsOutput).
pub mod get_source_repository_clone_urls_output {

    /// A builder for [`GetSourceRepositoryCloneUrlsOutput`](crate::output::GetSourceRepositoryCloneUrlsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) https: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The HTTPS URL to use when cloning the source repository.</p>
        pub fn https(mut self, input: impl Into<std::string::String>) -> Self {
            self.https = Some(input.into());
            self
        }
        /// <p>The HTTPS URL to use when cloning the source repository.</p>
        pub fn set_https(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.https = input;
            self
        }
        /// Consumes the builder and constructs a [`GetSourceRepositoryCloneUrlsOutput`](crate::output::GetSourceRepositoryCloneUrlsOutput).
        pub fn build(self) -> crate::output::GetSourceRepositoryCloneUrlsOutput {
            crate::output::GetSourceRepositoryCloneUrlsOutput { https: self.https }
        }
    }
}
impl GetSourceRepositoryCloneUrlsOutput {
    /// Creates a new builder-style object to manufacture [`GetSourceRepositoryCloneUrlsOutput`](crate::output::GetSourceRepositoryCloneUrlsOutput).
    pub fn builder() -> crate::output::get_source_repository_clone_urls_output::Builder {
        crate::output::get_source_repository_clone_urls_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListSourceRepositoriesOutput {
    /// <p>Information about the source repositories.</p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::ListSourceRepositoriesItem>>,
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListSourceRepositoriesOutput {
    /// <p>Information about the source repositories.</p>
    pub fn items(&self) -> std::option::Option<&[crate::model::ListSourceRepositoriesItem]> {
        self.items.as_deref()
    }
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`ListSourceRepositoriesOutput`](crate::output::ListSourceRepositoriesOutput).
pub mod list_source_repositories_output {

    /// A builder for [`ListSourceRepositoriesOutput`](crate::output::ListSourceRepositoriesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) items:
            std::option::Option<std::vec::Vec<crate::model::ListSourceRepositoriesItem>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>Information about the source repositories.</p>
        pub fn items(mut self, input: crate::model::ListSourceRepositoriesItem) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>Information about the source repositories.</p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ListSourceRepositoriesItem>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</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 [`ListSourceRepositoriesOutput`](crate::output::ListSourceRepositoriesOutput).
        pub fn build(self) -> crate::output::ListSourceRepositoriesOutput {
            crate::output::ListSourceRepositoriesOutput {
                items: self.items,
                next_token: self.next_token,
            }
        }
    }
}
impl ListSourceRepositoriesOutput {
    /// Creates a new builder-style object to manufacture [`ListSourceRepositoriesOutput`](crate::output::ListSourceRepositoriesOutput).
    pub fn builder() -> crate::output::list_source_repositories_output::Builder {
        crate::output::list_source_repositories_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListSourceRepositoryBranchesOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>Information about the source branches.</p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::ListSourceRepositoryBranchesItem>>,
}
impl ListSourceRepositoryBranchesOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Information about the source branches.</p>
    pub fn items(&self) -> std::option::Option<&[crate::model::ListSourceRepositoryBranchesItem]> {
        self.items.as_deref()
    }
}
/// See [`ListSourceRepositoryBranchesOutput`](crate::output::ListSourceRepositoryBranchesOutput).
pub mod list_source_repository_branches_output {

    /// A builder for [`ListSourceRepositoryBranchesOutput`](crate::output::ListSourceRepositoryBranchesOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) items:
            std::option::Option<std::vec::Vec<crate::model::ListSourceRepositoryBranchesItem>>,
    }
    impl Builder {
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>Information about the source branches.</p>
        pub fn items(mut self, input: crate::model::ListSourceRepositoryBranchesItem) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>Information about the source branches.</p>
        pub fn set_items(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::ListSourceRepositoryBranchesItem>,
            >,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListSourceRepositoryBranchesOutput`](crate::output::ListSourceRepositoryBranchesOutput).
        pub fn build(self) -> crate::output::ListSourceRepositoryBranchesOutput {
            crate::output::ListSourceRepositoryBranchesOutput {
                next_token: self.next_token,
                items: self.items,
            }
        }
    }
}
impl ListSourceRepositoryBranchesOutput {
    /// Creates a new builder-style object to manufacture [`ListSourceRepositoryBranchesOutput`](crate::output::ListSourceRepositoryBranchesOutput).
    pub fn builder() -> crate::output::list_source_repository_branches_output::Builder {
        crate::output::list_source_repository_branches_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateSourceRepositoryBranchOutput {
    /// <p>The Git reference name of the branch.</p>
    #[doc(hidden)]
    pub r#ref: std::option::Option<std::string::String>,
    /// <p>The name of the newly created branch.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The time the branch was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
    #[doc(hidden)]
    pub last_updated_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The commit ID of the tip of the newly created branch.</p>
    #[doc(hidden)]
    pub head_commit_id: std::option::Option<std::string::String>,
}
impl CreateSourceRepositoryBranchOutput {
    /// <p>The Git reference name of the branch.</p>
    pub fn r#ref(&self) -> std::option::Option<&str> {
        self.r#ref.as_deref()
    }
    /// <p>The name of the newly created branch.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The time the branch was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
    pub fn last_updated_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_updated_time.as_ref()
    }
    /// <p>The commit ID of the tip of the newly created branch.</p>
    pub fn head_commit_id(&self) -> std::option::Option<&str> {
        self.head_commit_id.as_deref()
    }
}
/// See [`CreateSourceRepositoryBranchOutput`](crate::output::CreateSourceRepositoryBranchOutput).
pub mod create_source_repository_branch_output {

    /// A builder for [`CreateSourceRepositoryBranchOutput`](crate::output::CreateSourceRepositoryBranchOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) r#ref: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) last_updated_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) head_commit_id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The Git reference name of the branch.</p>
        pub fn r#ref(mut self, input: impl Into<std::string::String>) -> Self {
            self.r#ref = Some(input.into());
            self
        }
        /// <p>The Git reference name of the branch.</p>
        pub fn set_ref(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.r#ref = input;
            self
        }
        /// <p>The name of the newly created branch.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the newly created branch.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The time the branch was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
        pub fn last_updated_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_updated_time = Some(input);
            self
        }
        /// <p>The time the branch was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
        pub fn set_last_updated_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_updated_time = input;
            self
        }
        /// <p>The commit ID of the tip of the newly created branch.</p>
        pub fn head_commit_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.head_commit_id = Some(input.into());
            self
        }
        /// <p>The commit ID of the tip of the newly created branch.</p>
        pub fn set_head_commit_id(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.head_commit_id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateSourceRepositoryBranchOutput`](crate::output::CreateSourceRepositoryBranchOutput).
        pub fn build(self) -> crate::output::CreateSourceRepositoryBranchOutput {
            crate::output::CreateSourceRepositoryBranchOutput {
                r#ref: self.r#ref,
                name: self.name,
                last_updated_time: self.last_updated_time,
                head_commit_id: self.head_commit_id,
            }
        }
    }
}
impl CreateSourceRepositoryBranchOutput {
    /// Creates a new builder-style object to manufacture [`CreateSourceRepositoryBranchOutput`](crate::output::CreateSourceRepositoryBranchOutput).
    pub fn builder() -> crate::output::create_source_repository_branch_output::Builder {
        crate::output::create_source_repository_branch_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StopDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The status of the Dev Environment. </p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::DevEnvironmentStatus>,
}
impl StopDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The status of the Dev Environment. </p>
    pub fn status(&self) -> std::option::Option<&crate::model::DevEnvironmentStatus> {
        self.status.as_ref()
    }
}
/// See [`StopDevEnvironmentOutput`](crate::output::StopDevEnvironmentOutput).
pub mod stop_dev_environment_output {

    /// A builder for [`StopDevEnvironmentOutput`](crate::output::StopDevEnvironmentOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::DevEnvironmentStatus>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The status of the Dev Environment. </p>
        pub fn status(mut self, input: crate::model::DevEnvironmentStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the Dev Environment. </p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::DevEnvironmentStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// Consumes the builder and constructs a [`StopDevEnvironmentOutput`](crate::output::StopDevEnvironmentOutput).
        pub fn build(self) -> crate::output::StopDevEnvironmentOutput {
            crate::output::StopDevEnvironmentOutput {
                space_name: self.space_name,
                project_name: self.project_name,
                id: self.id,
                status: self.status,
            }
        }
    }
}
impl StopDevEnvironmentOutput {
    /// Creates a new builder-style object to manufacture [`StopDevEnvironmentOutput`](crate::output::StopDevEnvironmentOutput).
    pub fn builder() -> crate::output::stop_dev_environment_output::Builder {
        crate::output::stop_dev_environment_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct StartDevEnvironmentSessionOutput {
    /// <p>Information about connection details for a Dev Environment.</p>
    #[doc(hidden)]
    pub access_details: std::option::Option<crate::model::DevEnvironmentAccessDetails>,
    /// <p>The system-generated unique ID of the Dev Environment session.</p>
    #[doc(hidden)]
    pub session_id: std::option::Option<std::string::String>,
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The system-generated unique ID of the Dev Environment.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl StartDevEnvironmentSessionOutput {
    /// <p>Information about connection details for a Dev Environment.</p>
    pub fn access_details(
        &self,
    ) -> std::option::Option<&crate::model::DevEnvironmentAccessDetails> {
        self.access_details.as_ref()
    }
    /// <p>The system-generated unique ID of the Dev Environment session.</p>
    pub fn session_id(&self) -> std::option::Option<&str> {
        self.session_id.as_deref()
    }
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The system-generated unique ID of the Dev Environment.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
impl std::fmt::Debug for StartDevEnvironmentSessionOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("StartDevEnvironmentSessionOutput");
        formatter.field("access_details", &"*** Sensitive Data Redacted ***");
        formatter.field("session_id", &self.session_id);
        formatter.field("space_name", &self.space_name);
        formatter.field("project_name", &self.project_name);
        formatter.field("id", &self.id);
        formatter.finish()
    }
}
/// See [`StartDevEnvironmentSessionOutput`](crate::output::StartDevEnvironmentSessionOutput).
pub mod start_dev_environment_session_output {

    /// A builder for [`StartDevEnvironmentSessionOutput`](crate::output::StartDevEnvironmentSessionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) access_details: std::option::Option<crate::model::DevEnvironmentAccessDetails>,
        pub(crate) session_id: std::option::Option<std::string::String>,
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>Information about connection details for a Dev Environment.</p>
        pub fn access_details(mut self, input: crate::model::DevEnvironmentAccessDetails) -> Self {
            self.access_details = Some(input);
            self
        }
        /// <p>Information about connection details for a Dev Environment.</p>
        pub fn set_access_details(
            mut self,
            input: std::option::Option<crate::model::DevEnvironmentAccessDetails>,
        ) -> Self {
            self.access_details = input;
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment session.</p>
        pub fn session_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.session_id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment session.</p>
        pub fn set_session_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.session_id = input;
            self
        }
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment.</p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment.</p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`StartDevEnvironmentSessionOutput`](crate::output::StartDevEnvironmentSessionOutput).
        pub fn build(self) -> crate::output::StartDevEnvironmentSessionOutput {
            crate::output::StartDevEnvironmentSessionOutput {
                access_details: self.access_details,
                session_id: self.session_id,
                space_name: self.space_name,
                project_name: self.project_name,
                id: self.id,
            }
        }
    }
    impl std::fmt::Debug for Builder {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
            let mut formatter = f.debug_struct("Builder");
            formatter.field("access_details", &"*** Sensitive Data Redacted ***");
            formatter.field("session_id", &self.session_id);
            formatter.field("space_name", &self.space_name);
            formatter.field("project_name", &self.project_name);
            formatter.field("id", &self.id);
            formatter.finish()
        }
    }
}
impl StartDevEnvironmentSessionOutput {
    /// Creates a new builder-style object to manufacture [`StartDevEnvironmentSessionOutput`](crate::output::StartDevEnvironmentSessionOutput).
    pub fn builder() -> crate::output::start_dev_environment_session_output::Builder {
        crate::output::start_dev_environment_session_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StartDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The status of the Dev Environment. </p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::DevEnvironmentStatus>,
}
impl StartDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The status of the Dev Environment. </p>
    pub fn status(&self) -> std::option::Option<&crate::model::DevEnvironmentStatus> {
        self.status.as_ref()
    }
}
/// See [`StartDevEnvironmentOutput`](crate::output::StartDevEnvironmentOutput).
pub mod start_dev_environment_output {

    /// A builder for [`StartDevEnvironmentOutput`](crate::output::StartDevEnvironmentOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::DevEnvironmentStatus>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The status of the Dev Environment. </p>
        pub fn status(mut self, input: crate::model::DevEnvironmentStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the Dev Environment. </p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::DevEnvironmentStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// Consumes the builder and constructs a [`StartDevEnvironmentOutput`](crate::output::StartDevEnvironmentOutput).
        pub fn build(self) -> crate::output::StartDevEnvironmentOutput {
            crate::output::StartDevEnvironmentOutput {
                space_name: self.space_name,
                project_name: self.project_name,
                id: self.id,
                status: self.status,
            }
        }
    }
}
impl StartDevEnvironmentOutput {
    /// Creates a new builder-style object to manufacture [`StartDevEnvironmentOutput`](crate::output::StartDevEnvironmentOutput).
    pub fn builder() -> crate::output::start_dev_environment_output::Builder {
        crate::output::start_dev_environment_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListDevEnvironmentsOutput {
    /// <p>Information about the Dev Environments in a project.</p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::DevEnvironmentSummary>>,
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListDevEnvironmentsOutput {
    /// <p>Information about the Dev Environments in a project.</p>
    pub fn items(&self) -> std::option::Option<&[crate::model::DevEnvironmentSummary]> {
        self.items.as_deref()
    }
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`ListDevEnvironmentsOutput`](crate::output::ListDevEnvironmentsOutput).
pub mod list_dev_environments_output {

    /// A builder for [`ListDevEnvironmentsOutput`](crate::output::ListDevEnvironmentsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::DevEnvironmentSummary>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>Information about the Dev Environments in a project.</p>
        pub fn items(mut self, input: crate::model::DevEnvironmentSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>Information about the Dev Environments in a project.</p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::DevEnvironmentSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</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 [`ListDevEnvironmentsOutput`](crate::output::ListDevEnvironmentsOutput).
        pub fn build(self) -> crate::output::ListDevEnvironmentsOutput {
            crate::output::ListDevEnvironmentsOutput {
                items: self.items,
                next_token: self.next_token,
            }
        }
    }
}
impl ListDevEnvironmentsOutput {
    /// Creates a new builder-style object to manufacture [`ListDevEnvironmentsOutput`](crate::output::ListDevEnvironmentsOutput).
    pub fn builder() -> crate::output::list_dev_environments_output::Builder {
        crate::output::list_dev_environments_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl CreateDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`CreateDevEnvironmentOutput`](crate::output::CreateDevEnvironmentOutput).
pub mod create_dev_environment_output {

    /// A builder for [`CreateDevEnvironmentOutput`](crate::output::CreateDevEnvironmentOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateDevEnvironmentOutput`](crate::output::CreateDevEnvironmentOutput).
        pub fn build(self) -> crate::output::CreateDevEnvironmentOutput {
            crate::output::CreateDevEnvironmentOutput {
                space_name: self.space_name,
                project_name: self.project_name,
                id: self.id,
            }
        }
    }
}
impl CreateDevEnvironmentOutput {
    /// Creates a new builder-style object to manufacture [`CreateDevEnvironmentOutput`](crate::output::CreateDevEnvironmentOutput).
    pub fn builder() -> crate::output::create_dev_environment_output::Builder {
        crate::output::create_dev_environment_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DeleteDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The system-generated unique ID of the deleted Dev Environment. </p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
}
impl DeleteDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The system-generated unique ID of the deleted Dev Environment. </p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
}
/// See [`DeleteDevEnvironmentOutput`](crate::output::DeleteDevEnvironmentOutput).
pub mod delete_dev_environment_output {

    /// A builder for [`DeleteDevEnvironmentOutput`](crate::output::DeleteDevEnvironmentOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The system-generated unique ID of the deleted Dev Environment. </p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the deleted Dev Environment. </p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// Consumes the builder and constructs a [`DeleteDevEnvironmentOutput`](crate::output::DeleteDevEnvironmentOutput).
        pub fn build(self) -> crate::output::DeleteDevEnvironmentOutput {
            crate::output::DeleteDevEnvironmentOutput {
                space_name: self.space_name,
                project_name: self.project_name,
                id: self.id,
            }
        }
    }
}
impl DeleteDevEnvironmentOutput {
    /// Creates a new builder-style object to manufacture [`DeleteDevEnvironmentOutput`](crate::output::DeleteDevEnvironmentOutput).
    pub fn builder() -> crate::output::delete_dev_environment_output::Builder {
        crate::output::delete_dev_environment_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateDevEnvironmentOutput {
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The user-specified alias for the Dev Environment.</p>
    #[doc(hidden)]
    pub alias: std::option::Option<std::string::String>,
    /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment.</p>
    #[doc(hidden)]
    pub ides: std::option::Option<std::vec::Vec<crate::model::IdeConfiguration>>,
    /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
    #[doc(hidden)]
    pub instance_type: std::option::Option<crate::model::InstanceType>,
    /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. </p>
    #[doc(hidden)]
    pub inactivity_timeout_minutes: i32,
    /// <p>A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries return the result from the original successful request and have no additional effect.</p>
    #[doc(hidden)]
    pub client_token: std::option::Option<std::string::String>,
}
impl UpdateDevEnvironmentOutput {
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The user-specified alias for the Dev Environment.</p>
    pub fn alias(&self) -> std::option::Option<&str> {
        self.alias.as_deref()
    }
    /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment.</p>
    pub fn ides(&self) -> std::option::Option<&[crate::model::IdeConfiguration]> {
        self.ides.as_deref()
    }
    /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
    pub fn instance_type(&self) -> std::option::Option<&crate::model::InstanceType> {
        self.instance_type.as_ref()
    }
    /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. </p>
    pub fn inactivity_timeout_minutes(&self) -> i32 {
        self.inactivity_timeout_minutes
    }
    /// <p>A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries return the result from the original successful request and have no additional effect.</p>
    pub fn client_token(&self) -> std::option::Option<&str> {
        self.client_token.as_deref()
    }
}
/// See [`UpdateDevEnvironmentOutput`](crate::output::UpdateDevEnvironmentOutput).
pub mod update_dev_environment_output {

    /// A builder for [`UpdateDevEnvironmentOutput`](crate::output::UpdateDevEnvironmentOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) alias: std::option::Option<std::string::String>,
        pub(crate) ides: std::option::Option<std::vec::Vec<crate::model::IdeConfiguration>>,
        pub(crate) instance_type: std::option::Option<crate::model::InstanceType>,
        pub(crate) inactivity_timeout_minutes: std::option::Option<i32>,
        pub(crate) client_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The user-specified alias for the Dev Environment.</p>
        pub fn alias(mut self, input: impl Into<std::string::String>) -> Self {
            self.alias = Some(input.into());
            self
        }
        /// <p>The user-specified alias for the Dev Environment.</p>
        pub fn set_alias(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.alias = input;
            self
        }
        /// Appends an item to `ides`.
        ///
        /// To override the contents of this collection use [`set_ides`](Self::set_ides).
        ///
        /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment.</p>
        pub fn ides(mut self, input: crate::model::IdeConfiguration) -> Self {
            let mut v = self.ides.unwrap_or_default();
            v.push(input);
            self.ides = Some(v);
            self
        }
        /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment.</p>
        pub fn set_ides(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::IdeConfiguration>>,
        ) -> Self {
            self.ides = input;
            self
        }
        /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
        pub fn instance_type(mut self, input: crate::model::InstanceType) -> Self {
            self.instance_type = Some(input);
            self
        }
        /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
        pub fn set_instance_type(
            mut self,
            input: std::option::Option<crate::model::InstanceType>,
        ) -> Self {
            self.instance_type = input;
            self
        }
        /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. </p>
        pub fn inactivity_timeout_minutes(mut self, input: i32) -> Self {
            self.inactivity_timeout_minutes = Some(input);
            self
        }
        /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. </p>
        pub fn set_inactivity_timeout_minutes(mut self, input: std::option::Option<i32>) -> Self {
            self.inactivity_timeout_minutes = input;
            self
        }
        /// <p>A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries return the result from the original successful request and have no additional effect.</p>
        pub fn client_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.client_token = Some(input.into());
            self
        }
        /// <p>A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries return the result from the original successful request and have no additional effect.</p>
        pub fn set_client_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.client_token = input;
            self
        }
        /// Consumes the builder and constructs a [`UpdateDevEnvironmentOutput`](crate::output::UpdateDevEnvironmentOutput).
        pub fn build(self) -> crate::output::UpdateDevEnvironmentOutput {
            crate::output::UpdateDevEnvironmentOutput {
                id: self.id,
                space_name: self.space_name,
                project_name: self.project_name,
                alias: self.alias,
                ides: self.ides,
                instance_type: self.instance_type,
                inactivity_timeout_minutes: self.inactivity_timeout_minutes.unwrap_or_default(),
                client_token: self.client_token,
            }
        }
    }
}
impl UpdateDevEnvironmentOutput {
    /// Creates a new builder-style object to manufacture [`UpdateDevEnvironmentOutput`](crate::output::UpdateDevEnvironmentOutput).
    pub fn builder() -> crate::output::update_dev_environment_output::Builder {
        crate::output::update_dev_environment_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    #[doc(hidden)]
    pub space_name: std::option::Option<std::string::String>,
    /// <p>The name of the project in the space.</p>
    #[doc(hidden)]
    pub project_name: std::option::Option<std::string::String>,
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The time when the Dev Environment was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
    #[doc(hidden)]
    pub last_updated_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The system-generated unique ID of the user who created the Dev Environment. </p>
    #[doc(hidden)]
    pub creator_id: std::option::Option<std::string::String>,
    /// <p>The current status of the Dev Environment.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::DevEnvironmentStatus>,
    /// <p>The reason for the status.</p>
    #[doc(hidden)]
    pub status_reason: std::option::Option<std::string::String>,
    /// <p>The source repository that contains the branch cloned into the Dev Environment. </p>
    #[doc(hidden)]
    pub repositories:
        std::option::Option<std::vec::Vec<crate::model::DevEnvironmentRepositorySummary>>,
    /// <p>The user-specified alias for the Dev Environment. </p>
    #[doc(hidden)]
    pub alias: std::option::Option<std::string::String>,
    /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment. </p>
    #[doc(hidden)]
    pub ides: std::option::Option<std::vec::Vec<crate::model::Ide>>,
    /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
    #[doc(hidden)]
    pub instance_type: std::option::Option<crate::model::InstanceType>,
    /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes.</p>
    #[doc(hidden)]
    pub inactivity_timeout_minutes: i32,
    /// <p>Information about the amount of storage allocated to the Dev Environment. By default, a Dev Environment is configured to have 16GB of persistent storage.</p>
    #[doc(hidden)]
    pub persistent_storage: std::option::Option<crate::model::PersistentStorage>,
}
impl GetDevEnvironmentOutput {
    /// <p>The name of the space.</p>
    pub fn space_name(&self) -> std::option::Option<&str> {
        self.space_name.as_deref()
    }
    /// <p>The name of the project in the space.</p>
    pub fn project_name(&self) -> std::option::Option<&str> {
        self.project_name.as_deref()
    }
    /// <p>The system-generated unique ID of the Dev Environment. </p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The time when the Dev Environment was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
    pub fn last_updated_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.last_updated_time.as_ref()
    }
    /// <p>The system-generated unique ID of the user who created the Dev Environment. </p>
    pub fn creator_id(&self) -> std::option::Option<&str> {
        self.creator_id.as_deref()
    }
    /// <p>The current status of the Dev Environment.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::DevEnvironmentStatus> {
        self.status.as_ref()
    }
    /// <p>The reason for the status.</p>
    pub fn status_reason(&self) -> std::option::Option<&str> {
        self.status_reason.as_deref()
    }
    /// <p>The source repository that contains the branch cloned into the Dev Environment. </p>
    pub fn repositories(
        &self,
    ) -> std::option::Option<&[crate::model::DevEnvironmentRepositorySummary]> {
        self.repositories.as_deref()
    }
    /// <p>The user-specified alias for the Dev Environment. </p>
    pub fn alias(&self) -> std::option::Option<&str> {
        self.alias.as_deref()
    }
    /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment. </p>
    pub fn ides(&self) -> std::option::Option<&[crate::model::Ide]> {
        self.ides.as_deref()
    }
    /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
    pub fn instance_type(&self) -> std::option::Option<&crate::model::InstanceType> {
        self.instance_type.as_ref()
    }
    /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes.</p>
    pub fn inactivity_timeout_minutes(&self) -> i32 {
        self.inactivity_timeout_minutes
    }
    /// <p>Information about the amount of storage allocated to the Dev Environment. By default, a Dev Environment is configured to have 16GB of persistent storage.</p>
    pub fn persistent_storage(&self) -> std::option::Option<&crate::model::PersistentStorage> {
        self.persistent_storage.as_ref()
    }
}
/// See [`GetDevEnvironmentOutput`](crate::output::GetDevEnvironmentOutput).
pub mod get_dev_environment_output {

    /// A builder for [`GetDevEnvironmentOutput`](crate::output::GetDevEnvironmentOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) space_name: std::option::Option<std::string::String>,
        pub(crate) project_name: std::option::Option<std::string::String>,
        pub(crate) id: std::option::Option<std::string::String>,
        pub(crate) last_updated_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) creator_id: std::option::Option<std::string::String>,
        pub(crate) status: std::option::Option<crate::model::DevEnvironmentStatus>,
        pub(crate) status_reason: std::option::Option<std::string::String>,
        pub(crate) repositories:
            std::option::Option<std::vec::Vec<crate::model::DevEnvironmentRepositorySummary>>,
        pub(crate) alias: std::option::Option<std::string::String>,
        pub(crate) ides: std::option::Option<std::vec::Vec<crate::model::Ide>>,
        pub(crate) instance_type: std::option::Option<crate::model::InstanceType>,
        pub(crate) inactivity_timeout_minutes: std::option::Option<i32>,
        pub(crate) persistent_storage: std::option::Option<crate::model::PersistentStorage>,
    }
    impl Builder {
        /// <p>The name of the space.</p>
        pub fn space_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.space_name = Some(input.into());
            self
        }
        /// <p>The name of the space.</p>
        pub fn set_space_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.space_name = input;
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn project_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.project_name = Some(input.into());
            self
        }
        /// <p>The name of the project in the space.</p>
        pub fn set_project_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.project_name = input;
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
            self.id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the Dev Environment. </p>
        pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.id = input;
            self
        }
        /// <p>The time when the Dev Environment was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
        pub fn last_updated_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.last_updated_time = Some(input);
            self
        }
        /// <p>The time when the Dev Environment was last updated, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>.</p>
        pub fn set_last_updated_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.last_updated_time = input;
            self
        }
        /// <p>The system-generated unique ID of the user who created the Dev Environment. </p>
        pub fn creator_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.creator_id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the user who created the Dev Environment. </p>
        pub fn set_creator_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.creator_id = input;
            self
        }
        /// <p>The current status of the Dev Environment.</p>
        pub fn status(mut self, input: crate::model::DevEnvironmentStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The current status of the Dev Environment.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::DevEnvironmentStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// <p>The reason for the status.</p>
        pub fn status_reason(mut self, input: impl Into<std::string::String>) -> Self {
            self.status_reason = Some(input.into());
            self
        }
        /// <p>The reason for the status.</p>
        pub fn set_status_reason(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.status_reason = input;
            self
        }
        /// Appends an item to `repositories`.
        ///
        /// To override the contents of this collection use [`set_repositories`](Self::set_repositories).
        ///
        /// <p>The source repository that contains the branch cloned into the Dev Environment. </p>
        pub fn repositories(
            mut self,
            input: crate::model::DevEnvironmentRepositorySummary,
        ) -> Self {
            let mut v = self.repositories.unwrap_or_default();
            v.push(input);
            self.repositories = Some(v);
            self
        }
        /// <p>The source repository that contains the branch cloned into the Dev Environment. </p>
        pub fn set_repositories(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::DevEnvironmentRepositorySummary>,
            >,
        ) -> Self {
            self.repositories = input;
            self
        }
        /// <p>The user-specified alias for the Dev Environment. </p>
        pub fn alias(mut self, input: impl Into<std::string::String>) -> Self {
            self.alias = Some(input.into());
            self
        }
        /// <p>The user-specified alias for the Dev Environment. </p>
        pub fn set_alias(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.alias = input;
            self
        }
        /// Appends an item to `ides`.
        ///
        /// To override the contents of this collection use [`set_ides`](Self::set_ides).
        ///
        /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment. </p>
        pub fn ides(mut self, input: crate::model::Ide) -> Self {
            let mut v = self.ides.unwrap_or_default();
            v.push(input);
            self.ides = Some(v);
            self
        }
        /// <p>Information about the integrated development environment (IDE) configured for the Dev Environment. </p>
        pub fn set_ides(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Ide>>,
        ) -> Self {
            self.ides = input;
            self
        }
        /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
        pub fn instance_type(mut self, input: crate::model::InstanceType) -> Self {
            self.instance_type = Some(input);
            self
        }
        /// <p>The Amazon EC2 instace type to use for the Dev Environment. </p>
        pub fn set_instance_type(
            mut self,
            input: std::option::Option<crate::model::InstanceType>,
        ) -> Self {
            self.instance_type = input;
            self
        }
        /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes.</p>
        pub fn inactivity_timeout_minutes(mut self, input: i32) -> Self {
            self.inactivity_timeout_minutes = Some(input);
            self
        }
        /// <p>The amount of time the Dev Environment will run without any activity detected before stopping, in minutes.</p>
        pub fn set_inactivity_timeout_minutes(mut self, input: std::option::Option<i32>) -> Self {
            self.inactivity_timeout_minutes = input;
            self
        }
        /// <p>Information about the amount of storage allocated to the Dev Environment. By default, a Dev Environment is configured to have 16GB of persistent storage.</p>
        pub fn persistent_storage(mut self, input: crate::model::PersistentStorage) -> Self {
            self.persistent_storage = Some(input);
            self
        }
        /// <p>Information about the amount of storage allocated to the Dev Environment. By default, a Dev Environment is configured to have 16GB of persistent storage.</p>
        pub fn set_persistent_storage(
            mut self,
            input: std::option::Option<crate::model::PersistentStorage>,
        ) -> Self {
            self.persistent_storage = input;
            self
        }
        /// Consumes the builder and constructs a [`GetDevEnvironmentOutput`](crate::output::GetDevEnvironmentOutput).
        pub fn build(self) -> crate::output::GetDevEnvironmentOutput {
            crate::output::GetDevEnvironmentOutput {
                space_name: self.space_name,
                project_name: self.project_name,
                id: self.id,
                last_updated_time: self.last_updated_time,
                creator_id: self.creator_id,
                status: self.status,
                status_reason: self.status_reason,
                repositories: self.repositories,
                alias: self.alias,
                ides: self.ides,
                instance_type: self.instance_type,
                inactivity_timeout_minutes: self.inactivity_timeout_minutes.unwrap_or_default(),
                persistent_storage: self.persistent_storage,
            }
        }
    }
}
impl GetDevEnvironmentOutput {
    /// Creates a new builder-style object to manufacture [`GetDevEnvironmentOutput`](crate::output::GetDevEnvironmentOutput).
    pub fn builder() -> crate::output::get_dev_environment_output::Builder {
        crate::output::get_dev_environment_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListEventLogsOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p>Information about each event retrieved in the list.</p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::EventLogEntry>>,
}
impl ListEventLogsOutput {
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Information about each event retrieved in the list.</p>
    pub fn items(&self) -> std::option::Option<&[crate::model::EventLogEntry]> {
        self.items.as_deref()
    }
}
/// See [`ListEventLogsOutput`](crate::output::ListEventLogsOutput).
pub mod list_event_logs_output {

    /// A builder for [`ListEventLogsOutput`](crate::output::ListEventLogsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::EventLogEntry>>,
    }
    impl Builder {
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>Information about each event retrieved in the list.</p>
        pub fn items(mut self, input: crate::model::EventLogEntry) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>Information about each event retrieved in the list.</p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::EventLogEntry>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`ListEventLogsOutput`](crate::output::ListEventLogsOutput).
        pub fn build(self) -> crate::output::ListEventLogsOutput {
            crate::output::ListEventLogsOutput {
                next_token: self.next_token,
                items: self.items,
            }
        }
    }
}
impl ListEventLogsOutput {
    /// Creates a new builder-style object to manufacture [`ListEventLogsOutput`](crate::output::ListEventLogsOutput).
    pub fn builder() -> crate::output::list_event_logs_output::Builder {
        crate::output::list_event_logs_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListAccessTokensOutput {
    /// <p>A list of personal access tokens (PATs) associated with the calling user.</p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::AccessTokenSummary>>,
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListAccessTokensOutput {
    /// <p>A list of personal access tokens (PATs) associated with the calling user.</p>
    pub fn items(&self) -> std::option::Option<&[crate::model::AccessTokenSummary]> {
        self.items.as_deref()
    }
    /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
/// See [`ListAccessTokensOutput`](crate::output::ListAccessTokensOutput).
pub mod list_access_tokens_output {

    /// A builder for [`ListAccessTokensOutput`](crate::output::ListAccessTokensOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::AccessTokenSummary>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p>A list of personal access tokens (PATs) associated with the calling user.</p>
        pub fn items(mut self, input: crate::model::AccessTokenSummary) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p>A list of personal access tokens (PATs) associated with the calling user.</p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::AccessTokenSummary>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>A token returned from a call to this API to indicate the next batch of results to return, if any.</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 [`ListAccessTokensOutput`](crate::output::ListAccessTokensOutput).
        pub fn build(self) -> crate::output::ListAccessTokensOutput {
            crate::output::ListAccessTokensOutput {
                items: self.items,
                next_token: self.next_token,
            }
        }
    }
}
impl ListAccessTokensOutput {
    /// Creates a new builder-style object to manufacture [`ListAccessTokensOutput`](crate::output::ListAccessTokensOutput).
    pub fn builder() -> crate::output::list_access_tokens_output::Builder {
        crate::output::list_access_tokens_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct CreateAccessTokenOutput {
    /// <p>The secret value of the personal access token.</p>
    #[doc(hidden)]
    pub secret: std::option::Option<std::string::String>,
    /// <p>The friendly name of the personal access token.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The date and time the personal access token expires, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>. If not specified, the default is one year from creation.</p>
    #[doc(hidden)]
    pub expires_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl CreateAccessTokenOutput {
    /// <p>The secret value of the personal access token.</p>
    pub fn secret(&self) -> std::option::Option<&str> {
        self.secret.as_deref()
    }
    /// <p>The friendly name of the personal access token.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The date and time the personal access token expires, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>. If not specified, the default is one year from creation.</p>
    pub fn expires_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.expires_time.as_ref()
    }
}
impl std::fmt::Debug for CreateAccessTokenOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("CreateAccessTokenOutput");
        formatter.field("secret", &"*** Sensitive Data Redacted ***");
        formatter.field("name", &self.name);
        formatter.field("expires_time", &self.expires_time);
        formatter.finish()
    }
}
/// See [`CreateAccessTokenOutput`](crate::output::CreateAccessTokenOutput).
pub mod create_access_token_output {

    /// A builder for [`CreateAccessTokenOutput`](crate::output::CreateAccessTokenOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) secret: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) expires_time: std::option::Option<aws_smithy_types::DateTime>,
    }
    impl Builder {
        /// <p>The secret value of the personal access token.</p>
        pub fn secret(mut self, input: impl Into<std::string::String>) -> Self {
            self.secret = Some(input.into());
            self
        }
        /// <p>The secret value of the personal access token.</p>
        pub fn set_secret(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.secret = input;
            self
        }
        /// <p>The friendly name of the personal access token.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The friendly name of the personal access token.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The date and time the personal access token expires, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>. If not specified, the default is one year from creation.</p>
        pub fn expires_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.expires_time = Some(input);
            self
        }
        /// <p>The date and time the personal access token expires, in coordinated universal time (UTC) timestamp format as specified in <a href="https://www.rfc-editor.org/rfc/rfc3339#section-5.6">RFC 3339</a>. If not specified, the default is one year from creation.</p>
        pub fn set_expires_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.expires_time = input;
            self
        }
        /// Consumes the builder and constructs a [`CreateAccessTokenOutput`](crate::output::CreateAccessTokenOutput).
        pub fn build(self) -> crate::output::CreateAccessTokenOutput {
            crate::output::CreateAccessTokenOutput {
                secret: self.secret,
                name: self.name,
                expires_time: self.expires_time,
            }
        }
    }
    impl std::fmt::Debug for Builder {
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
            let mut formatter = f.debug_struct("Builder");
            formatter.field("secret", &"*** Sensitive Data Redacted ***");
            formatter.field("name", &self.name);
            formatter.field("expires_time", &self.expires_time);
            formatter.finish()
        }
    }
}
impl CreateAccessTokenOutput {
    /// Creates a new builder-style object to manufacture [`CreateAccessTokenOutput`](crate::output::CreateAccessTokenOutput).
    pub fn builder() -> crate::output::create_access_token_output::Builder {
        crate::output::create_access_token_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct VerifySessionOutput {
    /// <p>The system-generated unique ID of the user in Amazon CodeCatalyst.</p>
    #[doc(hidden)]
    pub identity: std::option::Option<std::string::String>,
}
impl VerifySessionOutput {
    /// <p>The system-generated unique ID of the user in Amazon CodeCatalyst.</p>
    pub fn identity(&self) -> std::option::Option<&str> {
        self.identity.as_deref()
    }
}
/// See [`VerifySessionOutput`](crate::output::VerifySessionOutput).
pub mod verify_session_output {

    /// A builder for [`VerifySessionOutput`](crate::output::VerifySessionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) identity: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The system-generated unique ID of the user in Amazon CodeCatalyst.</p>
        pub fn identity(mut self, input: impl Into<std::string::String>) -> Self {
            self.identity = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the user in Amazon CodeCatalyst.</p>
        pub fn set_identity(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.identity = input;
            self
        }
        /// Consumes the builder and constructs a [`VerifySessionOutput`](crate::output::VerifySessionOutput).
        pub fn build(self) -> crate::output::VerifySessionOutput {
            crate::output::VerifySessionOutput {
                identity: self.identity,
            }
        }
    }
}
impl VerifySessionOutput {
    /// Creates a new builder-style object to manufacture [`VerifySessionOutput`](crate::output::VerifySessionOutput).
    pub fn builder() -> crate::output::verify_session_output::Builder {
        crate::output::verify_session_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetUserDetailsOutput {
    /// <p>The system-generated unique ID of the user.</p>
    #[doc(hidden)]
    pub user_id: std::option::Option<std::string::String>,
    /// <p>The name of the user as displayed in Amazon CodeCatalyst.</p>
    #[doc(hidden)]
    pub user_name: std::option::Option<std::string::String>,
    /// <p>The friendly name displayed for the user in Amazon CodeCatalyst.</p>
    #[doc(hidden)]
    pub display_name: std::option::Option<std::string::String>,
    /// <p>The email address provided by the user when they signed up.</p>
    #[doc(hidden)]
    pub primary_email: std::option::Option<crate::model::EmailAddress>,
    /// <p></p>
    #[doc(hidden)]
    pub version: std::option::Option<std::string::String>,
}
impl GetUserDetailsOutput {
    /// <p>The system-generated unique ID of the user.</p>
    pub fn user_id(&self) -> std::option::Option<&str> {
        self.user_id.as_deref()
    }
    /// <p>The name of the user as displayed in Amazon CodeCatalyst.</p>
    pub fn user_name(&self) -> std::option::Option<&str> {
        self.user_name.as_deref()
    }
    /// <p>The friendly name displayed for the user in Amazon CodeCatalyst.</p>
    pub fn display_name(&self) -> std::option::Option<&str> {
        self.display_name.as_deref()
    }
    /// <p>The email address provided by the user when they signed up.</p>
    pub fn primary_email(&self) -> std::option::Option<&crate::model::EmailAddress> {
        self.primary_email.as_ref()
    }
    /// <p></p>
    pub fn version(&self) -> std::option::Option<&str> {
        self.version.as_deref()
    }
}
/// See [`GetUserDetailsOutput`](crate::output::GetUserDetailsOutput).
pub mod get_user_details_output {

    /// A builder for [`GetUserDetailsOutput`](crate::output::GetUserDetailsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) user_id: std::option::Option<std::string::String>,
        pub(crate) user_name: std::option::Option<std::string::String>,
        pub(crate) display_name: std::option::Option<std::string::String>,
        pub(crate) primary_email: std::option::Option<crate::model::EmailAddress>,
        pub(crate) version: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// <p>The system-generated unique ID of the user.</p>
        pub fn user_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.user_id = Some(input.into());
            self
        }
        /// <p>The system-generated unique ID of the user.</p>
        pub fn set_user_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.user_id = input;
            self
        }
        /// <p>The name of the user as displayed in Amazon CodeCatalyst.</p>
        pub fn user_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.user_name = Some(input.into());
            self
        }
        /// <p>The name of the user as displayed in Amazon CodeCatalyst.</p>
        pub fn set_user_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.user_name = input;
            self
        }
        /// <p>The friendly name displayed for the user in Amazon CodeCatalyst.</p>
        pub fn display_name(mut self, input: impl Into<std::string::String>) -> Self {
            self.display_name = Some(input.into());
            self
        }
        /// <p>The friendly name displayed for the user in Amazon CodeCatalyst.</p>
        pub fn set_display_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.display_name = input;
            self
        }
        /// <p>The email address provided by the user when they signed up.</p>
        pub fn primary_email(mut self, input: crate::model::EmailAddress) -> Self {
            self.primary_email = Some(input);
            self
        }
        /// <p>The email address provided by the user when they signed up.</p>
        pub fn set_primary_email(
            mut self,
            input: std::option::Option<crate::model::EmailAddress>,
        ) -> Self {
            self.primary_email = input;
            self
        }
        /// <p></p>
        pub fn version(mut self, input: impl Into<std::string::String>) -> Self {
            self.version = Some(input.into());
            self
        }
        /// <p></p>
        pub fn set_version(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.version = input;
            self
        }
        /// Consumes the builder and constructs a [`GetUserDetailsOutput`](crate::output::GetUserDetailsOutput).
        pub fn build(self) -> crate::output::GetUserDetailsOutput {
            crate::output::GetUserDetailsOutput {
                user_id: self.user_id,
                user_name: self.user_name,
                display_name: self.display_name,
                primary_email: self.primary_email,
                version: self.version,
            }
        }
    }
}
impl GetUserDetailsOutput {
    /// Creates a new builder-style object to manufacture [`GetUserDetailsOutput`](crate::output::GetUserDetailsOutput).
    pub fn builder() -> crate::output::get_user_details_output::Builder {
        crate::output::get_user_details_output::Builder::default()
    }
}