aws-sdk-sagemakergeospatial 0.2.0

AWS SDK for Amazon SageMaker geospatial capabilities
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 StopVectorEnrichmentJobOutput {}
/// See [`StopVectorEnrichmentJobOutput`](crate::output::StopVectorEnrichmentJobOutput).
pub mod stop_vector_enrichment_job_output {

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExportVectorEnrichmentJobOutput {
    /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job being exported.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The creation time.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The Amazon Resource Name (ARN) of the IAM role with permission to upload to the location in OutputConfig.</p>
    #[doc(hidden)]
    pub execution_role_arn: std::option::Option<std::string::String>,
    /// <p>The status of the results the Vector Enrichment job being exported.</p>
    #[doc(hidden)]
    pub export_status: std::option::Option<crate::model::VectorEnrichmentJobExportStatus>,
    /// <p>Output location information for exporting Vector Enrichment Job results. </p>
    #[doc(hidden)]
    pub output_config: std::option::Option<crate::model::ExportVectorEnrichmentJobOutputConfig>,
}
impl ExportVectorEnrichmentJobOutput {
    /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job being exported.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The creation time.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>The Amazon Resource Name (ARN) of the IAM role with permission to upload to the location in OutputConfig.</p>
    pub fn execution_role_arn(&self) -> std::option::Option<&str> {
        self.execution_role_arn.as_deref()
    }
    /// <p>The status of the results the Vector Enrichment job being exported.</p>
    pub fn export_status(
        &self,
    ) -> std::option::Option<&crate::model::VectorEnrichmentJobExportStatus> {
        self.export_status.as_ref()
    }
    /// <p>Output location information for exporting Vector Enrichment Job results. </p>
    pub fn output_config(
        &self,
    ) -> std::option::Option<&crate::model::ExportVectorEnrichmentJobOutputConfig> {
        self.output_config.as_ref()
    }
}
/// See [`ExportVectorEnrichmentJobOutput`](crate::output::ExportVectorEnrichmentJobOutput).
pub mod export_vector_enrichment_job_output {

    /// A builder for [`ExportVectorEnrichmentJobOutput`](crate::output::ExportVectorEnrichmentJobOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) execution_role_arn: std::option::Option<std::string::String>,
        pub(crate) export_status:
            std::option::Option<crate::model::VectorEnrichmentJobExportStatus>,
        pub(crate) output_config:
            std::option::Option<crate::model::ExportVectorEnrichmentJobOutputConfig>,
    }
    impl Builder {
        /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job being exported.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job being exported.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The creation time.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The creation time.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role with permission to upload to the location in OutputConfig.</p>
        pub fn execution_role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.execution_role_arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role with permission to upload to the location in OutputConfig.</p>
        pub fn set_execution_role_arn(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.execution_role_arn = input;
            self
        }
        /// <p>The status of the results the Vector Enrichment job being exported.</p>
        pub fn export_status(
            mut self,
            input: crate::model::VectorEnrichmentJobExportStatus,
        ) -> Self {
            self.export_status = Some(input);
            self
        }
        /// <p>The status of the results the Vector Enrichment job being exported.</p>
        pub fn set_export_status(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobExportStatus>,
        ) -> Self {
            self.export_status = input;
            self
        }
        /// <p>Output location information for exporting Vector Enrichment Job results. </p>
        pub fn output_config(
            mut self,
            input: crate::model::ExportVectorEnrichmentJobOutputConfig,
        ) -> Self {
            self.output_config = Some(input);
            self
        }
        /// <p>Output location information for exporting Vector Enrichment Job results. </p>
        pub fn set_output_config(
            mut self,
            input: std::option::Option<crate::model::ExportVectorEnrichmentJobOutputConfig>,
        ) -> Self {
            self.output_config = input;
            self
        }
        /// Consumes the builder and constructs a [`ExportVectorEnrichmentJobOutput`](crate::output::ExportVectorEnrichmentJobOutput).
        pub fn build(self) -> crate::output::ExportVectorEnrichmentJobOutput {
            crate::output::ExportVectorEnrichmentJobOutput {
                arn: self.arn,
                creation_time: self.creation_time,
                execution_role_arn: self.execution_role_arn,
                export_status: self.export_status,
                output_config: self.output_config,
            }
        }
    }
}
impl ExportVectorEnrichmentJobOutput {
    /// Creates a new builder-style object to manufacture [`ExportVectorEnrichmentJobOutput`](crate::output::ExportVectorEnrichmentJobOutput).
    pub fn builder() -> crate::output::export_vector_enrichment_job_output::Builder {
        crate::output::export_vector_enrichment_job_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ListVectorEnrichmentJobsOutput {
    /// <p>Contains summary information about the Vector Enrichment jobs.</p>
    #[doc(hidden)]
    pub vector_enrichment_job_summaries:
        std::option::Option<std::vec::Vec<crate::model::ListVectorEnrichmentJobOutputConfig>>,
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListVectorEnrichmentJobsOutput {
    /// <p>Contains summary information about the Vector Enrichment jobs.</p>
    pub fn vector_enrichment_job_summaries(
        &self,
    ) -> std::option::Option<&[crate::model::ListVectorEnrichmentJobOutputConfig]> {
        self.vector_enrichment_job_summaries.as_deref()
    }
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl std::fmt::Debug for ListVectorEnrichmentJobsOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("ListVectorEnrichmentJobsOutput");
        formatter.field(
            "vector_enrichment_job_summaries",
            &self.vector_enrichment_job_summaries,
        );
        formatter.field("next_token", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
/// See [`ListVectorEnrichmentJobsOutput`](crate::output::ListVectorEnrichmentJobsOutput).
pub mod list_vector_enrichment_jobs_output {

    /// A builder for [`ListVectorEnrichmentJobsOutput`](crate::output::ListVectorEnrichmentJobsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) vector_enrichment_job_summaries:
            std::option::Option<std::vec::Vec<crate::model::ListVectorEnrichmentJobOutputConfig>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `vector_enrichment_job_summaries`.
        ///
        /// To override the contents of this collection use [`set_vector_enrichment_job_summaries`](Self::set_vector_enrichment_job_summaries).
        ///
        /// <p>Contains summary information about the Vector Enrichment jobs.</p>
        pub fn vector_enrichment_job_summaries(
            mut self,
            input: crate::model::ListVectorEnrichmentJobOutputConfig,
        ) -> Self {
            let mut v = self.vector_enrichment_job_summaries.unwrap_or_default();
            v.push(input);
            self.vector_enrichment_job_summaries = Some(v);
            self
        }
        /// <p>Contains summary information about the Vector Enrichment jobs.</p>
        pub fn set_vector_enrichment_job_summaries(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::ListVectorEnrichmentJobOutputConfig>,
            >,
        ) -> Self {
            self.vector_enrichment_job_summaries = input;
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Consumes the builder and constructs a [`ListVectorEnrichmentJobsOutput`](crate::output::ListVectorEnrichmentJobsOutput).
        pub fn build(self) -> crate::output::ListVectorEnrichmentJobsOutput {
            crate::output::ListVectorEnrichmentJobsOutput {
                vector_enrichment_job_summaries: self.vector_enrichment_job_summaries,
                next_token: self.next_token,
            }
        }
    }
    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(
                "vector_enrichment_job_summaries",
                &self.vector_enrichment_job_summaries,
            );
            formatter.field("next_token", &"*** Sensitive Data Redacted ***");
            formatter.finish()
        }
    }
}
impl ListVectorEnrichmentJobsOutput {
    /// Creates a new builder-style object to manufacture [`ListVectorEnrichmentJobsOutput`](crate::output::ListVectorEnrichmentJobsOutput).
    pub fn builder() -> crate::output::list_vector_enrichment_jobs_output::Builder {
        crate::output::list_vector_enrichment_jobs_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StartVectorEnrichmentJobOutput {
    /// <p>The name of the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The type of the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub r#type: std::option::Option<crate::model::VectorEnrichmentJobType>,
    /// <p>The creation time.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The duration of the Vector Enrichment job, in seconds.</p>
    #[doc(hidden)]
    pub duration_in_seconds: std::option::Option<i32>,
    /// <p>The status of the Vector Enrichment job being started.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::VectorEnrichmentJobStatus>,
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    #[doc(hidden)]
    pub kms_key_id: std::option::Option<std::string::String>,
    /// <p>Input configuration information for starting the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub input_config: std::option::Option<crate::model::VectorEnrichmentJobInputConfig>,
    /// <p>An object containing information about the job configuration.</p>
    #[doc(hidden)]
    pub job_config: std::option::Option<crate::model::VectorEnrichmentJobConfig>,
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    #[doc(hidden)]
    pub execution_role_arn: std::option::Option<std::string::String>,
    /// <p>Each tag consists of a key and a value.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl StartVectorEnrichmentJobOutput {
    /// <p>The name of the Vector Enrichment job.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The type of the Vector Enrichment job.</p>
    pub fn r#type(&self) -> std::option::Option<&crate::model::VectorEnrichmentJobType> {
        self.r#type.as_ref()
    }
    /// <p>The creation time.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>The duration of the Vector Enrichment job, in seconds.</p>
    pub fn duration_in_seconds(&self) -> std::option::Option<i32> {
        self.duration_in_seconds
    }
    /// <p>The status of the Vector Enrichment job being started.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::VectorEnrichmentJobStatus> {
        self.status.as_ref()
    }
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    pub fn kms_key_id(&self) -> std::option::Option<&str> {
        self.kms_key_id.as_deref()
    }
    /// <p>Input configuration information for starting the Vector Enrichment job.</p>
    pub fn input_config(
        &self,
    ) -> std::option::Option<&crate::model::VectorEnrichmentJobInputConfig> {
        self.input_config.as_ref()
    }
    /// <p>An object containing information about the job configuration.</p>
    pub fn job_config(&self) -> std::option::Option<&crate::model::VectorEnrichmentJobConfig> {
        self.job_config.as_ref()
    }
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    pub fn execution_role_arn(&self) -> std::option::Option<&str> {
        self.execution_role_arn.as_deref()
    }
    /// <p>Each tag consists of a key and a value.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`StartVectorEnrichmentJobOutput`](crate::output::StartVectorEnrichmentJobOutput).
pub mod start_vector_enrichment_job_output {

    /// A builder for [`StartVectorEnrichmentJobOutput`](crate::output::StartVectorEnrichmentJobOutput).
    #[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) arn: std::option::Option<std::string::String>,
        pub(crate) r#type: std::option::Option<crate::model::VectorEnrichmentJobType>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) duration_in_seconds: std::option::Option<i32>,
        pub(crate) status: std::option::Option<crate::model::VectorEnrichmentJobStatus>,
        pub(crate) kms_key_id: std::option::Option<std::string::String>,
        pub(crate) input_config: std::option::Option<crate::model::VectorEnrichmentJobInputConfig>,
        pub(crate) job_config: std::option::Option<crate::model::VectorEnrichmentJobConfig>,
        pub(crate) execution_role_arn: std::option::Option<std::string::String>,
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// <p>The name of the Vector Enrichment job.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the Vector Enrichment job.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The type of the Vector Enrichment job.</p>
        pub fn r#type(mut self, input: crate::model::VectorEnrichmentJobType) -> Self {
            self.r#type = Some(input);
            self
        }
        /// <p>The type of the Vector Enrichment job.</p>
        pub fn set_type(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobType>,
        ) -> Self {
            self.r#type = input;
            self
        }
        /// <p>The creation time.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The creation time.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>The duration of the Vector Enrichment job, in seconds.</p>
        pub fn duration_in_seconds(mut self, input: i32) -> Self {
            self.duration_in_seconds = Some(input);
            self
        }
        /// <p>The duration of the Vector Enrichment job, in seconds.</p>
        pub fn set_duration_in_seconds(mut self, input: std::option::Option<i32>) -> Self {
            self.duration_in_seconds = input;
            self
        }
        /// <p>The status of the Vector Enrichment job being started.</p>
        pub fn status(mut self, input: crate::model::VectorEnrichmentJobStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the Vector Enrichment job being started.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.kms_key_id = Some(input.into());
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.kms_key_id = input;
            self
        }
        /// <p>Input configuration information for starting the Vector Enrichment job.</p>
        pub fn input_config(mut self, input: crate::model::VectorEnrichmentJobInputConfig) -> Self {
            self.input_config = Some(input);
            self
        }
        /// <p>Input configuration information for starting the Vector Enrichment job.</p>
        pub fn set_input_config(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobInputConfig>,
        ) -> Self {
            self.input_config = input;
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn job_config(mut self, input: crate::model::VectorEnrichmentJobConfig) -> Self {
            self.job_config = Some(input);
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn set_job_config(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobConfig>,
        ) -> Self {
            self.job_config = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn execution_role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.execution_role_arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn set_execution_role_arn(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.execution_role_arn = input;
            self
        }
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>Each tag consists of a key and a value.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>Each tag consists of a key and a value.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`StartVectorEnrichmentJobOutput`](crate::output::StartVectorEnrichmentJobOutput).
        pub fn build(self) -> crate::output::StartVectorEnrichmentJobOutput {
            crate::output::StartVectorEnrichmentJobOutput {
                name: self.name,
                arn: self.arn,
                r#type: self.r#type,
                creation_time: self.creation_time,
                duration_in_seconds: self.duration_in_seconds,
                status: self.status,
                kms_key_id: self.kms_key_id,
                input_config: self.input_config,
                job_config: self.job_config,
                execution_role_arn: self.execution_role_arn,
                tags: self.tags,
            }
        }
    }
}
impl StartVectorEnrichmentJobOutput {
    /// Creates a new builder-style object to manufacture [`StartVectorEnrichmentJobOutput`](crate::output::StartVectorEnrichmentJobOutput).
    pub fn builder() -> crate::output::start_vector_enrichment_job_output::Builder {
        crate::output::start_vector_enrichment_job_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetVectorEnrichmentJobOutput {
    /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The type of the Vector Enrichment job being initiated.</p>
    #[doc(hidden)]
    pub r#type: std::option::Option<crate::model::VectorEnrichmentJobType>,
    /// <p>The name of the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The creation time.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The duration of the Vector Enrichment job, in seconds.</p>
    #[doc(hidden)]
    pub duration_in_seconds: std::option::Option<i32>,
    /// <p>The status of the initiated Vector Enrichment job.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::VectorEnrichmentJobStatus>,
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    #[doc(hidden)]
    pub kms_key_id: std::option::Option<std::string::String>,
    /// <p>Input configuration information for the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub input_config: std::option::Option<crate::model::VectorEnrichmentJobInputConfig>,
    /// <p>An object containing information about the job configuration.</p>
    #[doc(hidden)]
    pub job_config: std::option::Option<crate::model::VectorEnrichmentJobConfig>,
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    #[doc(hidden)]
    pub execution_role_arn: std::option::Option<std::string::String>,
    /// <p>Details about the errors generated during the Vector Enrichment job.</p>
    #[doc(hidden)]
    pub error_details: std::option::Option<crate::model::VectorEnrichmentJobErrorDetails>,
    /// <p>The export status of the Vector Enrichment job being initiated.</p>
    #[doc(hidden)]
    pub export_status: std::option::Option<crate::model::VectorEnrichmentJobExportStatus>,
    /// <p>Details about the errors generated during the ExportVectorEnrichmentJob.</p>
    #[doc(hidden)]
    pub export_error_details:
        std::option::Option<crate::model::VectorEnrichmentJobExportErrorDetails>,
    /// <p>Each tag consists of a key and a value.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl GetVectorEnrichmentJobOutput {
    /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The type of the Vector Enrichment job being initiated.</p>
    pub fn r#type(&self) -> std::option::Option<&crate::model::VectorEnrichmentJobType> {
        self.r#type.as_ref()
    }
    /// <p>The name of the Vector Enrichment job.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The creation time.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>The duration of the Vector Enrichment job, in seconds.</p>
    pub fn duration_in_seconds(&self) -> std::option::Option<i32> {
        self.duration_in_seconds
    }
    /// <p>The status of the initiated Vector Enrichment job.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::VectorEnrichmentJobStatus> {
        self.status.as_ref()
    }
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    pub fn kms_key_id(&self) -> std::option::Option<&str> {
        self.kms_key_id.as_deref()
    }
    /// <p>Input configuration information for the Vector Enrichment job.</p>
    pub fn input_config(
        &self,
    ) -> std::option::Option<&crate::model::VectorEnrichmentJobInputConfig> {
        self.input_config.as_ref()
    }
    /// <p>An object containing information about the job configuration.</p>
    pub fn job_config(&self) -> std::option::Option<&crate::model::VectorEnrichmentJobConfig> {
        self.job_config.as_ref()
    }
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    pub fn execution_role_arn(&self) -> std::option::Option<&str> {
        self.execution_role_arn.as_deref()
    }
    /// <p>Details about the errors generated during the Vector Enrichment job.</p>
    pub fn error_details(
        &self,
    ) -> std::option::Option<&crate::model::VectorEnrichmentJobErrorDetails> {
        self.error_details.as_ref()
    }
    /// <p>The export status of the Vector Enrichment job being initiated.</p>
    pub fn export_status(
        &self,
    ) -> std::option::Option<&crate::model::VectorEnrichmentJobExportStatus> {
        self.export_status.as_ref()
    }
    /// <p>Details about the errors generated during the ExportVectorEnrichmentJob.</p>
    pub fn export_error_details(
        &self,
    ) -> std::option::Option<&crate::model::VectorEnrichmentJobExportErrorDetails> {
        self.export_error_details.as_ref()
    }
    /// <p>Each tag consists of a key and a value.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`GetVectorEnrichmentJobOutput`](crate::output::GetVectorEnrichmentJobOutput).
pub mod get_vector_enrichment_job_output {

    /// A builder for [`GetVectorEnrichmentJobOutput`](crate::output::GetVectorEnrichmentJobOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) r#type: std::option::Option<crate::model::VectorEnrichmentJobType>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) duration_in_seconds: std::option::Option<i32>,
        pub(crate) status: std::option::Option<crate::model::VectorEnrichmentJobStatus>,
        pub(crate) kms_key_id: std::option::Option<std::string::String>,
        pub(crate) input_config: std::option::Option<crate::model::VectorEnrichmentJobInputConfig>,
        pub(crate) job_config: std::option::Option<crate::model::VectorEnrichmentJobConfig>,
        pub(crate) execution_role_arn: std::option::Option<std::string::String>,
        pub(crate) error_details:
            std::option::Option<crate::model::VectorEnrichmentJobErrorDetails>,
        pub(crate) export_status:
            std::option::Option<crate::model::VectorEnrichmentJobExportStatus>,
        pub(crate) export_error_details:
            std::option::Option<crate::model::VectorEnrichmentJobExportErrorDetails>,
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Vector Enrichment job.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The type of the Vector Enrichment job being initiated.</p>
        pub fn r#type(mut self, input: crate::model::VectorEnrichmentJobType) -> Self {
            self.r#type = Some(input);
            self
        }
        /// <p>The type of the Vector Enrichment job being initiated.</p>
        pub fn set_type(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobType>,
        ) -> Self {
            self.r#type = input;
            self
        }
        /// <p>The name of the Vector Enrichment job.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the Vector Enrichment job.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The creation time.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The creation time.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>The duration of the Vector Enrichment job, in seconds.</p>
        pub fn duration_in_seconds(mut self, input: i32) -> Self {
            self.duration_in_seconds = Some(input);
            self
        }
        /// <p>The duration of the Vector Enrichment job, in seconds.</p>
        pub fn set_duration_in_seconds(mut self, input: std::option::Option<i32>) -> Self {
            self.duration_in_seconds = input;
            self
        }
        /// <p>The status of the initiated Vector Enrichment job.</p>
        pub fn status(mut self, input: crate::model::VectorEnrichmentJobStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the initiated Vector Enrichment job.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.kms_key_id = Some(input.into());
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.kms_key_id = input;
            self
        }
        /// <p>Input configuration information for the Vector Enrichment job.</p>
        pub fn input_config(mut self, input: crate::model::VectorEnrichmentJobInputConfig) -> Self {
            self.input_config = Some(input);
            self
        }
        /// <p>Input configuration information for the Vector Enrichment job.</p>
        pub fn set_input_config(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobInputConfig>,
        ) -> Self {
            self.input_config = input;
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn job_config(mut self, input: crate::model::VectorEnrichmentJobConfig) -> Self {
            self.job_config = Some(input);
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn set_job_config(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobConfig>,
        ) -> Self {
            self.job_config = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn execution_role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.execution_role_arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn set_execution_role_arn(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.execution_role_arn = input;
            self
        }
        /// <p>Details about the errors generated during the Vector Enrichment job.</p>
        pub fn error_details(
            mut self,
            input: crate::model::VectorEnrichmentJobErrorDetails,
        ) -> Self {
            self.error_details = Some(input);
            self
        }
        /// <p>Details about the errors generated during the Vector Enrichment job.</p>
        pub fn set_error_details(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobErrorDetails>,
        ) -> Self {
            self.error_details = input;
            self
        }
        /// <p>The export status of the Vector Enrichment job being initiated.</p>
        pub fn export_status(
            mut self,
            input: crate::model::VectorEnrichmentJobExportStatus,
        ) -> Self {
            self.export_status = Some(input);
            self
        }
        /// <p>The export status of the Vector Enrichment job being initiated.</p>
        pub fn set_export_status(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobExportStatus>,
        ) -> Self {
            self.export_status = input;
            self
        }
        /// <p>Details about the errors generated during the ExportVectorEnrichmentJob.</p>
        pub fn export_error_details(
            mut self,
            input: crate::model::VectorEnrichmentJobExportErrorDetails,
        ) -> Self {
            self.export_error_details = Some(input);
            self
        }
        /// <p>Details about the errors generated during the ExportVectorEnrichmentJob.</p>
        pub fn set_export_error_details(
            mut self,
            input: std::option::Option<crate::model::VectorEnrichmentJobExportErrorDetails>,
        ) -> Self {
            self.export_error_details = input;
            self
        }
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>Each tag consists of a key and a value.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>Each tag consists of a key and a value.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`GetVectorEnrichmentJobOutput`](crate::output::GetVectorEnrichmentJobOutput).
        pub fn build(self) -> crate::output::GetVectorEnrichmentJobOutput {
            crate::output::GetVectorEnrichmentJobOutput {
                arn: self.arn,
                r#type: self.r#type,
                name: self.name,
                creation_time: self.creation_time,
                duration_in_seconds: self.duration_in_seconds,
                status: self.status,
                kms_key_id: self.kms_key_id,
                input_config: self.input_config,
                job_config: self.job_config,
                execution_role_arn: self.execution_role_arn,
                error_details: self.error_details,
                export_status: self.export_status,
                export_error_details: self.export_error_details,
                tags: self.tags,
            }
        }
    }
}
impl GetVectorEnrichmentJobOutput {
    /// Creates a new builder-style object to manufacture [`GetVectorEnrichmentJobOutput`](crate::output::GetVectorEnrichmentJobOutput).
    pub fn builder() -> crate::output::get_vector_enrichment_job_output::Builder {
        crate::output::get_vector_enrichment_job_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct SearchRasterDataCollectionOutput {
    /// <p></p>
    #[doc(hidden)]
    pub approximate_result_count: std::option::Option<i32>,
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
    /// <p></p>
    #[doc(hidden)]
    pub items: std::option::Option<std::vec::Vec<crate::model::ItemSource>>,
}
impl SearchRasterDataCollectionOutput {
    /// <p></p>
    pub fn approximate_result_count(&self) -> std::option::Option<i32> {
        self.approximate_result_count
    }
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p></p>
    pub fn items(&self) -> std::option::Option<&[crate::model::ItemSource]> {
        self.items.as_deref()
    }
}
impl std::fmt::Debug for SearchRasterDataCollectionOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("SearchRasterDataCollectionOutput");
        formatter.field("approximate_result_count", &self.approximate_result_count);
        formatter.field("next_token", &"*** Sensitive Data Redacted ***");
        formatter.field("items", &self.items);
        formatter.finish()
    }
}
/// See [`SearchRasterDataCollectionOutput`](crate::output::SearchRasterDataCollectionOutput).
pub mod search_raster_data_collection_output {

    /// A builder for [`SearchRasterDataCollectionOutput`](crate::output::SearchRasterDataCollectionOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) approximate_result_count: std::option::Option<i32>,
        pub(crate) next_token: std::option::Option<std::string::String>,
        pub(crate) items: std::option::Option<std::vec::Vec<crate::model::ItemSource>>,
    }
    impl Builder {
        /// <p></p>
        pub fn approximate_result_count(mut self, input: i32) -> Self {
            self.approximate_result_count = Some(input);
            self
        }
        /// <p></p>
        pub fn set_approximate_result_count(mut self, input: std::option::Option<i32>) -> Self {
            self.approximate_result_count = input;
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Appends an item to `items`.
        ///
        /// To override the contents of this collection use [`set_items`](Self::set_items).
        ///
        /// <p></p>
        pub fn items(mut self, input: crate::model::ItemSource) -> Self {
            let mut v = self.items.unwrap_or_default();
            v.push(input);
            self.items = Some(v);
            self
        }
        /// <p></p>
        pub fn set_items(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::ItemSource>>,
        ) -> Self {
            self.items = input;
            self
        }
        /// Consumes the builder and constructs a [`SearchRasterDataCollectionOutput`](crate::output::SearchRasterDataCollectionOutput).
        pub fn build(self) -> crate::output::SearchRasterDataCollectionOutput {
            crate::output::SearchRasterDataCollectionOutput {
                approximate_result_count: self.approximate_result_count,
                next_token: self.next_token,
                items: self.items,
            }
        }
    }
    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("approximate_result_count", &self.approximate_result_count);
            formatter.field("next_token", &"*** Sensitive Data Redacted ***");
            formatter.field("items", &self.items);
            formatter.finish()
        }
    }
}
impl SearchRasterDataCollectionOutput {
    /// Creates a new builder-style object to manufacture [`SearchRasterDataCollectionOutput`](crate::output::SearchRasterDataCollectionOutput).
    pub fn builder() -> crate::output::search_raster_data_collection_output::Builder {
        crate::output::search_raster_data_collection_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ListRasterDataCollectionsOutput {
    /// <p>Contains summary information about the raster data collection.</p>
    #[doc(hidden)]
    pub raster_data_collection_summaries:
        std::option::Option<std::vec::Vec<crate::model::RasterDataCollectionMetadata>>,
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListRasterDataCollectionsOutput {
    /// <p>Contains summary information about the raster data collection.</p>
    pub fn raster_data_collection_summaries(
        &self,
    ) -> std::option::Option<&[crate::model::RasterDataCollectionMetadata]> {
        self.raster_data_collection_summaries.as_deref()
    }
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl std::fmt::Debug for ListRasterDataCollectionsOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("ListRasterDataCollectionsOutput");
        formatter.field(
            "raster_data_collection_summaries",
            &self.raster_data_collection_summaries,
        );
        formatter.field("next_token", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
/// See [`ListRasterDataCollectionsOutput`](crate::output::ListRasterDataCollectionsOutput).
pub mod list_raster_data_collections_output {

    /// A builder for [`ListRasterDataCollectionsOutput`](crate::output::ListRasterDataCollectionsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) raster_data_collection_summaries:
            std::option::Option<std::vec::Vec<crate::model::RasterDataCollectionMetadata>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `raster_data_collection_summaries`.
        ///
        /// To override the contents of this collection use [`set_raster_data_collection_summaries`](Self::set_raster_data_collection_summaries).
        ///
        /// <p>Contains summary information about the raster data collection.</p>
        pub fn raster_data_collection_summaries(
            mut self,
            input: crate::model::RasterDataCollectionMetadata,
        ) -> Self {
            let mut v = self.raster_data_collection_summaries.unwrap_or_default();
            v.push(input);
            self.raster_data_collection_summaries = Some(v);
            self
        }
        /// <p>Contains summary information about the raster data collection.</p>
        pub fn set_raster_data_collection_summaries(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::RasterDataCollectionMetadata>>,
        ) -> Self {
            self.raster_data_collection_summaries = input;
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Consumes the builder and constructs a [`ListRasterDataCollectionsOutput`](crate::output::ListRasterDataCollectionsOutput).
        pub fn build(self) -> crate::output::ListRasterDataCollectionsOutput {
            crate::output::ListRasterDataCollectionsOutput {
                raster_data_collection_summaries: self.raster_data_collection_summaries,
                next_token: self.next_token,
            }
        }
    }
    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(
                "raster_data_collection_summaries",
                &self.raster_data_collection_summaries,
            );
            formatter.field("next_token", &"*** Sensitive Data Redacted ***");
            formatter.finish()
        }
    }
}
impl ListRasterDataCollectionsOutput {
    /// Creates a new builder-style object to manufacture [`ListRasterDataCollectionsOutput`](crate::output::ListRasterDataCollectionsOutput).
    pub fn builder() -> crate::output::list_raster_data_collections_output::Builder {
        crate::output::list_raster_data_collections_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetRasterDataCollectionOutput {
    /// <p>The name of the raster data collection.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The Amazon Resource Name (ARN) of the raster data collection.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The raster data collection type.</p>
    #[doc(hidden)]
    pub r#type: std::option::Option<crate::model::DataCollectionType>,
    /// <p>A description of the raster data collection.</p>
    #[doc(hidden)]
    pub description: std::option::Option<std::string::String>,
    /// <p>The URL of the description page.</p>
    #[doc(hidden)]
    pub description_page_url: std::option::Option<std::string::String>,
    /// <p>The filters supported by the raster data collection.</p>
    #[doc(hidden)]
    pub supported_filters: std::option::Option<std::vec::Vec<crate::model::Filter>>,
    /// <p></p>
    #[doc(hidden)]
    pub image_source_bands: std::option::Option<std::vec::Vec<std::string::String>>,
    /// <p>Each tag consists of a key and a value.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl GetRasterDataCollectionOutput {
    /// <p>The name of the raster data collection.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the raster data collection.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The raster data collection type.</p>
    pub fn r#type(&self) -> std::option::Option<&crate::model::DataCollectionType> {
        self.r#type.as_ref()
    }
    /// <p>A description of the raster data collection.</p>
    pub fn description(&self) -> std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The URL of the description page.</p>
    pub fn description_page_url(&self) -> std::option::Option<&str> {
        self.description_page_url.as_deref()
    }
    /// <p>The filters supported by the raster data collection.</p>
    pub fn supported_filters(&self) -> std::option::Option<&[crate::model::Filter]> {
        self.supported_filters.as_deref()
    }
    /// <p></p>
    pub fn image_source_bands(&self) -> std::option::Option<&[std::string::String]> {
        self.image_source_bands.as_deref()
    }
    /// <p>Each tag consists of a key and a value.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`GetRasterDataCollectionOutput`](crate::output::GetRasterDataCollectionOutput).
pub mod get_raster_data_collection_output {

    /// A builder for [`GetRasterDataCollectionOutput`](crate::output::GetRasterDataCollectionOutput).
    #[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) arn: std::option::Option<std::string::String>,
        pub(crate) r#type: std::option::Option<crate::model::DataCollectionType>,
        pub(crate) description: std::option::Option<std::string::String>,
        pub(crate) description_page_url: std::option::Option<std::string::String>,
        pub(crate) supported_filters: std::option::Option<std::vec::Vec<crate::model::Filter>>,
        pub(crate) image_source_bands: std::option::Option<std::vec::Vec<std::string::String>>,
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// <p>The name of the raster data collection.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the raster data collection.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the raster data collection.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the raster data collection.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The raster data collection type.</p>
        pub fn r#type(mut self, input: crate::model::DataCollectionType) -> Self {
            self.r#type = Some(input);
            self
        }
        /// <p>The raster data collection type.</p>
        pub fn set_type(
            mut self,
            input: std::option::Option<crate::model::DataCollectionType>,
        ) -> Self {
            self.r#type = input;
            self
        }
        /// <p>A description of the raster data collection.</p>
        pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
            self.description = Some(input.into());
            self
        }
        /// <p>A description of the raster data collection.</p>
        pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.description = input;
            self
        }
        /// <p>The URL of the description page.</p>
        pub fn description_page_url(mut self, input: impl Into<std::string::String>) -> Self {
            self.description_page_url = Some(input.into());
            self
        }
        /// <p>The URL of the description page.</p>
        pub fn set_description_page_url(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.description_page_url = input;
            self
        }
        /// Appends an item to `supported_filters`.
        ///
        /// To override the contents of this collection use [`set_supported_filters`](Self::set_supported_filters).
        ///
        /// <p>The filters supported by the raster data collection.</p>
        pub fn supported_filters(mut self, input: crate::model::Filter) -> Self {
            let mut v = self.supported_filters.unwrap_or_default();
            v.push(input);
            self.supported_filters = Some(v);
            self
        }
        /// <p>The filters supported by the raster data collection.</p>
        pub fn set_supported_filters(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::Filter>>,
        ) -> Self {
            self.supported_filters = input;
            self
        }
        /// Appends an item to `image_source_bands`.
        ///
        /// To override the contents of this collection use [`set_image_source_bands`](Self::set_image_source_bands).
        ///
        /// <p></p>
        pub fn image_source_bands(mut self, input: impl Into<std::string::String>) -> Self {
            let mut v = self.image_source_bands.unwrap_or_default();
            v.push(input.into());
            self.image_source_bands = Some(v);
            self
        }
        /// <p></p>
        pub fn set_image_source_bands(
            mut self,
            input: std::option::Option<std::vec::Vec<std::string::String>>,
        ) -> Self {
            self.image_source_bands = input;
            self
        }
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>Each tag consists of a key and a value.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>Each tag consists of a key and a value.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`GetRasterDataCollectionOutput`](crate::output::GetRasterDataCollectionOutput).
        pub fn build(self) -> crate::output::GetRasterDataCollectionOutput {
            crate::output::GetRasterDataCollectionOutput {
                name: self.name,
                arn: self.arn,
                r#type: self.r#type,
                description: self.description,
                description_page_url: self.description_page_url,
                supported_filters: self.supported_filters,
                image_source_bands: self.image_source_bands,
                tags: self.tags,
            }
        }
    }
}
impl GetRasterDataCollectionOutput {
    /// Creates a new builder-style object to manufacture [`GetRasterDataCollectionOutput`](crate::output::GetRasterDataCollectionOutput).
    pub fn builder() -> crate::output::get_raster_data_collection_output::Builder {
        crate::output::get_raster_data_collection_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::fmt::Debug)]
pub struct GetTileOutput {
    /// <p>The output binary file.</p>
    pub binary_file: aws_smithy_http::byte_stream::ByteStream,
}
impl GetTileOutput {
    /// <p>The output binary file.</p>
    pub fn binary_file(&self) -> &aws_smithy_http::byte_stream::ByteStream {
        &self.binary_file
    }
}
/// See [`GetTileOutput`](crate::output::GetTileOutput).
pub mod get_tile_output {

    /// A builder for [`GetTileOutput`](crate::output::GetTileOutput).
    #[derive(std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) binary_file: std::option::Option<aws_smithy_http::byte_stream::ByteStream>,
    }
    impl Builder {
        /// <p>The output binary file.</p>
        pub fn binary_file(mut self, input: aws_smithy_http::byte_stream::ByteStream) -> Self {
            self.binary_file = Some(input);
            self
        }
        /// <p>The output binary file.</p>
        pub fn set_binary_file(
            mut self,
            input: std::option::Option<aws_smithy_http::byte_stream::ByteStream>,
        ) -> Self {
            self.binary_file = input;
            self
        }
        /// Consumes the builder and constructs a [`GetTileOutput`](crate::output::GetTileOutput).
        pub fn build(self) -> crate::output::GetTileOutput {
            crate::output::GetTileOutput {
                binary_file: self.binary_file.unwrap_or_default(),
            }
        }
    }
}
impl GetTileOutput {
    /// Creates a new builder-style object to manufacture [`GetTileOutput`](crate::output::GetTileOutput).
    pub fn builder() -> crate::output::get_tile_output::Builder {
        crate::output::get_tile_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExportEarthObservationJobOutput {
    /// <p>The output Amazon Resource Name (ARN) of the Earth Observation job being exported.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The creation time.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The status of the results of the Earth Observation job being exported.</p>
    #[doc(hidden)]
    pub export_status: std::option::Option<crate::model::EarthObservationJobExportStatus>,
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    #[doc(hidden)]
    pub execution_role_arn: std::option::Option<std::string::String>,
    /// <p>An object containing information about the output file.</p>
    #[doc(hidden)]
    pub output_config: std::option::Option<crate::model::OutputConfigInput>,
    /// <p>The source images provided to the Earth Observation job being exported.</p>
    #[doc(hidden)]
    pub export_source_images: std::option::Option<bool>,
}
impl ExportEarthObservationJobOutput {
    /// <p>The output Amazon Resource Name (ARN) of the Earth Observation job being exported.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The creation time.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>The status of the results of the Earth Observation job being exported.</p>
    pub fn export_status(
        &self,
    ) -> std::option::Option<&crate::model::EarthObservationJobExportStatus> {
        self.export_status.as_ref()
    }
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    pub fn execution_role_arn(&self) -> std::option::Option<&str> {
        self.execution_role_arn.as_deref()
    }
    /// <p>An object containing information about the output file.</p>
    pub fn output_config(&self) -> std::option::Option<&crate::model::OutputConfigInput> {
        self.output_config.as_ref()
    }
    /// <p>The source images provided to the Earth Observation job being exported.</p>
    pub fn export_source_images(&self) -> std::option::Option<bool> {
        self.export_source_images
    }
}
/// See [`ExportEarthObservationJobOutput`](crate::output::ExportEarthObservationJobOutput).
pub mod export_earth_observation_job_output {

    /// A builder for [`ExportEarthObservationJobOutput`](crate::output::ExportEarthObservationJobOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) export_status:
            std::option::Option<crate::model::EarthObservationJobExportStatus>,
        pub(crate) execution_role_arn: std::option::Option<std::string::String>,
        pub(crate) output_config: std::option::Option<crate::model::OutputConfigInput>,
        pub(crate) export_source_images: std::option::Option<bool>,
    }
    impl Builder {
        /// <p>The output Amazon Resource Name (ARN) of the Earth Observation job being exported.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The output Amazon Resource Name (ARN) of the Earth Observation job being exported.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The creation time.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The creation time.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>The status of the results of the Earth Observation job being exported.</p>
        pub fn export_status(
            mut self,
            input: crate::model::EarthObservationJobExportStatus,
        ) -> Self {
            self.export_status = Some(input);
            self
        }
        /// <p>The status of the results of the Earth Observation job being exported.</p>
        pub fn set_export_status(
            mut self,
            input: std::option::Option<crate::model::EarthObservationJobExportStatus>,
        ) -> Self {
            self.export_status = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn execution_role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.execution_role_arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn set_execution_role_arn(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.execution_role_arn = input;
            self
        }
        /// <p>An object containing information about the output file.</p>
        pub fn output_config(mut self, input: crate::model::OutputConfigInput) -> Self {
            self.output_config = Some(input);
            self
        }
        /// <p>An object containing information about the output file.</p>
        pub fn set_output_config(
            mut self,
            input: std::option::Option<crate::model::OutputConfigInput>,
        ) -> Self {
            self.output_config = input;
            self
        }
        /// <p>The source images provided to the Earth Observation job being exported.</p>
        pub fn export_source_images(mut self, input: bool) -> Self {
            self.export_source_images = Some(input);
            self
        }
        /// <p>The source images provided to the Earth Observation job being exported.</p>
        pub fn set_export_source_images(mut self, input: std::option::Option<bool>) -> Self {
            self.export_source_images = input;
            self
        }
        /// Consumes the builder and constructs a [`ExportEarthObservationJobOutput`](crate::output::ExportEarthObservationJobOutput).
        pub fn build(self) -> crate::output::ExportEarthObservationJobOutput {
            crate::output::ExportEarthObservationJobOutput {
                arn: self.arn,
                creation_time: self.creation_time,
                export_status: self.export_status,
                execution_role_arn: self.execution_role_arn,
                output_config: self.output_config,
                export_source_images: self.export_source_images,
            }
        }
    }
}
impl ExportEarthObservationJobOutput {
    /// Creates a new builder-style object to manufacture [`ExportEarthObservationJobOutput`](crate::output::ExportEarthObservationJobOutput).
    pub fn builder() -> crate::output::export_earth_observation_job_output::Builder {
        crate::output::export_earth_observation_job_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ListEarthObservationJobsOutput {
    /// <p>Contains summary information about the Earth Observation jobs.</p>
    #[doc(hidden)]
    pub earth_observation_job_summaries:
        std::option::Option<std::vec::Vec<crate::model::ListEarthObservationJobOutputConfig>>,
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    #[doc(hidden)]
    pub next_token: std::option::Option<std::string::String>,
}
impl ListEarthObservationJobsOutput {
    /// <p>Contains summary information about the Earth Observation jobs.</p>
    pub fn earth_observation_job_summaries(
        &self,
    ) -> std::option::Option<&[crate::model::ListEarthObservationJobOutputConfig]> {
        self.earth_observation_job_summaries.as_deref()
    }
    /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
    pub fn next_token(&self) -> std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl std::fmt::Debug for ListEarthObservationJobsOutput {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut formatter = f.debug_struct("ListEarthObservationJobsOutput");
        formatter.field(
            "earth_observation_job_summaries",
            &self.earth_observation_job_summaries,
        );
        formatter.field("next_token", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
/// See [`ListEarthObservationJobsOutput`](crate::output::ListEarthObservationJobsOutput).
pub mod list_earth_observation_jobs_output {

    /// A builder for [`ListEarthObservationJobsOutput`](crate::output::ListEarthObservationJobsOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default)]
    pub struct Builder {
        pub(crate) earth_observation_job_summaries:
            std::option::Option<std::vec::Vec<crate::model::ListEarthObservationJobOutputConfig>>,
        pub(crate) next_token: std::option::Option<std::string::String>,
    }
    impl Builder {
        /// Appends an item to `earth_observation_job_summaries`.
        ///
        /// To override the contents of this collection use [`set_earth_observation_job_summaries`](Self::set_earth_observation_job_summaries).
        ///
        /// <p>Contains summary information about the Earth Observation jobs.</p>
        pub fn earth_observation_job_summaries(
            mut self,
            input: crate::model::ListEarthObservationJobOutputConfig,
        ) -> Self {
            let mut v = self.earth_observation_job_summaries.unwrap_or_default();
            v.push(input);
            self.earth_observation_job_summaries = Some(v);
            self
        }
        /// <p>Contains summary information about the Earth Observation jobs.</p>
        pub fn set_earth_observation_job_summaries(
            mut self,
            input: std::option::Option<
                std::vec::Vec<crate::model::ListEarthObservationJobOutputConfig>,
            >,
        ) -> Self {
            self.earth_observation_job_summaries = input;
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn next_token(mut self, input: impl Into<std::string::String>) -> Self {
            self.next_token = Some(input.into());
            self
        }
        /// <p>If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.</p>
        pub fn set_next_token(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.next_token = input;
            self
        }
        /// Consumes the builder and constructs a [`ListEarthObservationJobsOutput`](crate::output::ListEarthObservationJobsOutput).
        pub fn build(self) -> crate::output::ListEarthObservationJobsOutput {
            crate::output::ListEarthObservationJobsOutput {
                earth_observation_job_summaries: self.earth_observation_job_summaries,
                next_token: self.next_token,
            }
        }
    }
    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(
                "earth_observation_job_summaries",
                &self.earth_observation_job_summaries,
            );
            formatter.field("next_token", &"*** Sensitive Data Redacted ***");
            formatter.finish()
        }
    }
}
impl ListEarthObservationJobsOutput {
    /// Creates a new builder-style object to manufacture [`ListEarthObservationJobsOutput`](crate::output::ListEarthObservationJobsOutput).
    pub fn builder() -> crate::output::list_earth_observation_jobs_output::Builder {
        crate::output::list_earth_observation_jobs_output::Builder::default()
    }
}

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct StartEarthObservationJobOutput {
    /// <p>The name of the Earth Observation job.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The creation time.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The duration of the session, in seconds.</p>
    #[doc(hidden)]
    pub duration_in_seconds: std::option::Option<i32>,
    /// <p>The status of the Earth Observation job.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::EarthObservationJobStatus>,
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    #[doc(hidden)]
    pub kms_key_id: std::option::Option<std::string::String>,
    /// <p>Input configuration information for the Earth Observation job.</p>
    #[doc(hidden)]
    pub input_config: std::option::Option<crate::model::InputConfigOutput>,
    /// <p>An object containing information about the job configuration.</p>
    #[doc(hidden)]
    pub job_config: std::option::Option<crate::model::JobConfigInput>,
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    #[doc(hidden)]
    pub execution_role_arn: std::option::Option<std::string::String>,
    /// <p>Each tag consists of a key and a value.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl StartEarthObservationJobOutput {
    /// <p>The name of the Earth Observation job.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The creation time.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>The duration of the session, in seconds.</p>
    pub fn duration_in_seconds(&self) -> std::option::Option<i32> {
        self.duration_in_seconds
    }
    /// <p>The status of the Earth Observation job.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::EarthObservationJobStatus> {
        self.status.as_ref()
    }
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    pub fn kms_key_id(&self) -> std::option::Option<&str> {
        self.kms_key_id.as_deref()
    }
    /// <p>Input configuration information for the Earth Observation job.</p>
    pub fn input_config(&self) -> std::option::Option<&crate::model::InputConfigOutput> {
        self.input_config.as_ref()
    }
    /// <p>An object containing information about the job configuration.</p>
    pub fn job_config(&self) -> std::option::Option<&crate::model::JobConfigInput> {
        self.job_config.as_ref()
    }
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    pub fn execution_role_arn(&self) -> std::option::Option<&str> {
        self.execution_role_arn.as_deref()
    }
    /// <p>Each tag consists of a key and a value.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`StartEarthObservationJobOutput`](crate::output::StartEarthObservationJobOutput).
pub mod start_earth_observation_job_output {

    /// A builder for [`StartEarthObservationJobOutput`](crate::output::StartEarthObservationJobOutput).
    #[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) arn: std::option::Option<std::string::String>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) duration_in_seconds: std::option::Option<i32>,
        pub(crate) status: std::option::Option<crate::model::EarthObservationJobStatus>,
        pub(crate) kms_key_id: std::option::Option<std::string::String>,
        pub(crate) input_config: std::option::Option<crate::model::InputConfigOutput>,
        pub(crate) job_config: std::option::Option<crate::model::JobConfigInput>,
        pub(crate) execution_role_arn: std::option::Option<std::string::String>,
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// <p>The name of the Earth Observation job.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the Earth Observation job.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The creation time.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The creation time.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>The duration of the session, in seconds.</p>
        pub fn duration_in_seconds(mut self, input: i32) -> Self {
            self.duration_in_seconds = Some(input);
            self
        }
        /// <p>The duration of the session, in seconds.</p>
        pub fn set_duration_in_seconds(mut self, input: std::option::Option<i32>) -> Self {
            self.duration_in_seconds = input;
            self
        }
        /// <p>The status of the Earth Observation job.</p>
        pub fn status(mut self, input: crate::model::EarthObservationJobStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of the Earth Observation job.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::EarthObservationJobStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.kms_key_id = Some(input.into());
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.kms_key_id = input;
            self
        }
        /// <p>Input configuration information for the Earth Observation job.</p>
        pub fn input_config(mut self, input: crate::model::InputConfigOutput) -> Self {
            self.input_config = Some(input);
            self
        }
        /// <p>Input configuration information for the Earth Observation job.</p>
        pub fn set_input_config(
            mut self,
            input: std::option::Option<crate::model::InputConfigOutput>,
        ) -> Self {
            self.input_config = input;
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn job_config(mut self, input: crate::model::JobConfigInput) -> Self {
            self.job_config = Some(input);
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn set_job_config(
            mut self,
            input: std::option::Option<crate::model::JobConfigInput>,
        ) -> Self {
            self.job_config = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn execution_role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.execution_role_arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn set_execution_role_arn(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.execution_role_arn = input;
            self
        }
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>Each tag consists of a key and a value.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>Each tag consists of a key and a value.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`StartEarthObservationJobOutput`](crate::output::StartEarthObservationJobOutput).
        pub fn build(self) -> crate::output::StartEarthObservationJobOutput {
            crate::output::StartEarthObservationJobOutput {
                name: self.name,
                arn: self.arn,
                creation_time: self.creation_time,
                duration_in_seconds: self.duration_in_seconds,
                status: self.status,
                kms_key_id: self.kms_key_id,
                input_config: self.input_config,
                job_config: self.job_config,
                execution_role_arn: self.execution_role_arn,
                tags: self.tags,
            }
        }
    }
}
impl StartEarthObservationJobOutput {
    /// Creates a new builder-style object to manufacture [`StartEarthObservationJobOutput`](crate::output::StartEarthObservationJobOutput).
    pub fn builder() -> crate::output::start_earth_observation_job_output::Builder {
        crate::output::start_earth_observation_job_output::Builder::default()
    }
}

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetEarthObservationJobOutput {
    /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// <p>The name of the Earth Observation job.</p>
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// <p>The creation time of the initiated Earth Observation job.</p>
    #[doc(hidden)]
    pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
    /// <p>The duration of Earth Observation job, in seconds.</p>
    #[doc(hidden)]
    pub duration_in_seconds: std::option::Option<i32>,
    /// <p>The status of a previously initiated Earth Observation job.</p>
    #[doc(hidden)]
    pub status: std::option::Option<crate::model::EarthObservationJobStatus>,
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    #[doc(hidden)]
    pub kms_key_id: std::option::Option<std::string::String>,
    /// <p>Input data for the Earth Observation job.</p>
    #[doc(hidden)]
    pub input_config: std::option::Option<crate::model::InputConfigOutput>,
    /// <p>An object containing information about the job configuration.</p>
    #[doc(hidden)]
    pub job_config: std::option::Option<crate::model::JobConfigInput>,
    /// <p></p>
    #[doc(hidden)]
    pub output_bands: std::option::Option<std::vec::Vec<crate::model::OutputBand>>,
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    #[doc(hidden)]
    pub execution_role_arn: std::option::Option<std::string::String>,
    /// <p>Details about the errors generated during the Earth Observation job.</p>
    #[doc(hidden)]
    pub error_details: std::option::Option<crate::model::EarthObservationJobErrorDetails>,
    /// <p>The status of the Earth Observation job.</p>
    #[doc(hidden)]
    pub export_status: std::option::Option<crate::model::EarthObservationJobExportStatus>,
    /// <p>Details about the errors generated during ExportEarthObservationJob.</p>
    #[doc(hidden)]
    pub export_error_details: std::option::Option<crate::model::ExportErrorDetails>,
    /// <p>Each tag consists of a key and a value.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl GetEarthObservationJobOutput {
    /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// <p>The name of the Earth Observation job.</p>
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The creation time of the initiated Earth Observation job.</p>
    pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
        self.creation_time.as_ref()
    }
    /// <p>The duration of Earth Observation job, in seconds.</p>
    pub fn duration_in_seconds(&self) -> std::option::Option<i32> {
        self.duration_in_seconds
    }
    /// <p>The status of a previously initiated Earth Observation job.</p>
    pub fn status(&self) -> std::option::Option<&crate::model::EarthObservationJobStatus> {
        self.status.as_ref()
    }
    /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
    pub fn kms_key_id(&self) -> std::option::Option<&str> {
        self.kms_key_id.as_deref()
    }
    /// <p>Input data for the Earth Observation job.</p>
    pub fn input_config(&self) -> std::option::Option<&crate::model::InputConfigOutput> {
        self.input_config.as_ref()
    }
    /// <p>An object containing information about the job configuration.</p>
    pub fn job_config(&self) -> std::option::Option<&crate::model::JobConfigInput> {
        self.job_config.as_ref()
    }
    /// <p></p>
    pub fn output_bands(&self) -> std::option::Option<&[crate::model::OutputBand]> {
        self.output_bands.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
    pub fn execution_role_arn(&self) -> std::option::Option<&str> {
        self.execution_role_arn.as_deref()
    }
    /// <p>Details about the errors generated during the Earth Observation job.</p>
    pub fn error_details(
        &self,
    ) -> std::option::Option<&crate::model::EarthObservationJobErrorDetails> {
        self.error_details.as_ref()
    }
    /// <p>The status of the Earth Observation job.</p>
    pub fn export_status(
        &self,
    ) -> std::option::Option<&crate::model::EarthObservationJobExportStatus> {
        self.export_status.as_ref()
    }
    /// <p>Details about the errors generated during ExportEarthObservationJob.</p>
    pub fn export_error_details(&self) -> std::option::Option<&crate::model::ExportErrorDetails> {
        self.export_error_details.as_ref()
    }
    /// <p>Each tag consists of a key and a value.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`GetEarthObservationJobOutput`](crate::output::GetEarthObservationJobOutput).
pub mod get_earth_observation_job_output {

    /// A builder for [`GetEarthObservationJobOutput`](crate::output::GetEarthObservationJobOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) arn: std::option::Option<std::string::String>,
        pub(crate) name: std::option::Option<std::string::String>,
        pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
        pub(crate) duration_in_seconds: std::option::Option<i32>,
        pub(crate) status: std::option::Option<crate::model::EarthObservationJobStatus>,
        pub(crate) kms_key_id: std::option::Option<std::string::String>,
        pub(crate) input_config: std::option::Option<crate::model::InputConfigOutput>,
        pub(crate) job_config: std::option::Option<crate::model::JobConfigInput>,
        pub(crate) output_bands: std::option::Option<std::vec::Vec<crate::model::OutputBand>>,
        pub(crate) execution_role_arn: std::option::Option<std::string::String>,
        pub(crate) error_details:
            std::option::Option<crate::model::EarthObservationJobErrorDetails>,
        pub(crate) export_status:
            std::option::Option<crate::model::EarthObservationJobExportStatus>,
        pub(crate) export_error_details: std::option::Option<crate::model::ExportErrorDetails>,
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
        pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the Earth Observation job.</p>
        pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.arn = input;
            self
        }
        /// <p>The name of the Earth Observation job.</p>
        pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
            self.name = Some(input.into());
            self
        }
        /// <p>The name of the Earth Observation job.</p>
        pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.name = input;
            self
        }
        /// <p>The creation time of the initiated Earth Observation job.</p>
        pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
            self.creation_time = Some(input);
            self
        }
        /// <p>The creation time of the initiated Earth Observation job.</p>
        pub fn set_creation_time(
            mut self,
            input: std::option::Option<aws_smithy_types::DateTime>,
        ) -> Self {
            self.creation_time = input;
            self
        }
        /// <p>The duration of Earth Observation job, in seconds.</p>
        pub fn duration_in_seconds(mut self, input: i32) -> Self {
            self.duration_in_seconds = Some(input);
            self
        }
        /// <p>The duration of Earth Observation job, in seconds.</p>
        pub fn set_duration_in_seconds(mut self, input: std::option::Option<i32>) -> Self {
            self.duration_in_seconds = input;
            self
        }
        /// <p>The status of a previously initiated Earth Observation job.</p>
        pub fn status(mut self, input: crate::model::EarthObservationJobStatus) -> Self {
            self.status = Some(input);
            self
        }
        /// <p>The status of a previously initiated Earth Observation job.</p>
        pub fn set_status(
            mut self,
            input: std::option::Option<crate::model::EarthObservationJobStatus>,
        ) -> Self {
            self.status = input;
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
            self.kms_key_id = Some(input.into());
            self
        }
        /// <p>The Amazon Key Management Service (KMS) key ID for server-side encryption.</p>
        pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
            self.kms_key_id = input;
            self
        }
        /// <p>Input data for the Earth Observation job.</p>
        pub fn input_config(mut self, input: crate::model::InputConfigOutput) -> Self {
            self.input_config = Some(input);
            self
        }
        /// <p>Input data for the Earth Observation job.</p>
        pub fn set_input_config(
            mut self,
            input: std::option::Option<crate::model::InputConfigOutput>,
        ) -> Self {
            self.input_config = input;
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn job_config(mut self, input: crate::model::JobConfigInput) -> Self {
            self.job_config = Some(input);
            self
        }
        /// <p>An object containing information about the job configuration.</p>
        pub fn set_job_config(
            mut self,
            input: std::option::Option<crate::model::JobConfigInput>,
        ) -> Self {
            self.job_config = input;
            self
        }
        /// Appends an item to `output_bands`.
        ///
        /// To override the contents of this collection use [`set_output_bands`](Self::set_output_bands).
        ///
        /// <p></p>
        pub fn output_bands(mut self, input: crate::model::OutputBand) -> Self {
            let mut v = self.output_bands.unwrap_or_default();
            v.push(input);
            self.output_bands = Some(v);
            self
        }
        /// <p></p>
        pub fn set_output_bands(
            mut self,
            input: std::option::Option<std::vec::Vec<crate::model::OutputBand>>,
        ) -> Self {
            self.output_bands = input;
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn execution_role_arn(mut self, input: impl Into<std::string::String>) -> Self {
            self.execution_role_arn = Some(input.into());
            self
        }
        /// <p>The Amazon Resource Name (ARN) of the IAM role that you specified for the job.</p>
        pub fn set_execution_role_arn(
            mut self,
            input: std::option::Option<std::string::String>,
        ) -> Self {
            self.execution_role_arn = input;
            self
        }
        /// <p>Details about the errors generated during the Earth Observation job.</p>
        pub fn error_details(
            mut self,
            input: crate::model::EarthObservationJobErrorDetails,
        ) -> Self {
            self.error_details = Some(input);
            self
        }
        /// <p>Details about the errors generated during the Earth Observation job.</p>
        pub fn set_error_details(
            mut self,
            input: std::option::Option<crate::model::EarthObservationJobErrorDetails>,
        ) -> Self {
            self.error_details = input;
            self
        }
        /// <p>The status of the Earth Observation job.</p>
        pub fn export_status(
            mut self,
            input: crate::model::EarthObservationJobExportStatus,
        ) -> Self {
            self.export_status = Some(input);
            self
        }
        /// <p>The status of the Earth Observation job.</p>
        pub fn set_export_status(
            mut self,
            input: std::option::Option<crate::model::EarthObservationJobExportStatus>,
        ) -> Self {
            self.export_status = input;
            self
        }
        /// <p>Details about the errors generated during ExportEarthObservationJob.</p>
        pub fn export_error_details(mut self, input: crate::model::ExportErrorDetails) -> Self {
            self.export_error_details = Some(input);
            self
        }
        /// <p>Details about the errors generated during ExportEarthObservationJob.</p>
        pub fn set_export_error_details(
            mut self,
            input: std::option::Option<crate::model::ExportErrorDetails>,
        ) -> Self {
            self.export_error_details = input;
            self
        }
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>Each tag consists of a key and a value.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>Each tag consists of a key and a value.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`GetEarthObservationJobOutput`](crate::output::GetEarthObservationJobOutput).
        pub fn build(self) -> crate::output::GetEarthObservationJobOutput {
            crate::output::GetEarthObservationJobOutput {
                arn: self.arn,
                name: self.name,
                creation_time: self.creation_time,
                duration_in_seconds: self.duration_in_seconds,
                status: self.status,
                kms_key_id: self.kms_key_id,
                input_config: self.input_config,
                job_config: self.job_config,
                output_bands: self.output_bands,
                execution_role_arn: self.execution_role_arn,
                error_details: self.error_details,
                export_status: self.export_status,
                export_error_details: self.export_error_details,
                tags: self.tags,
            }
        }
    }
}
impl GetEarthObservationJobOutput {
    /// Creates a new builder-style object to manufacture [`GetEarthObservationJobOutput`](crate::output::GetEarthObservationJobOutput).
    pub fn builder() -> crate::output::get_earth_observation_job_output::Builder {
        crate::output::get_earth_observation_job_output::Builder::default()
    }
}

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

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

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

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

#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ListTagsForResourceOutput {
    /// <p>Each tag consists of a key and a value.</p>
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ListTagsForResourceOutput {
    /// <p>Each tag consists of a key and a value.</p>
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
/// See [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
pub mod list_tags_for_resource_output {

    /// A builder for [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
    #[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
    pub struct Builder {
        pub(crate) tags: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    }
    impl Builder {
        /// Adds a key-value pair to `tags`.
        ///
        /// To override the contents of this collection use [`set_tags`](Self::set_tags).
        ///
        /// <p>Each tag consists of a key and a value.</p>
        pub fn tags(
            mut self,
            k: impl Into<std::string::String>,
            v: impl Into<std::string::String>,
        ) -> Self {
            let mut hash_map = self.tags.unwrap_or_default();
            hash_map.insert(k.into(), v.into());
            self.tags = Some(hash_map);
            self
        }
        /// <p>Each tag consists of a key and a value.</p>
        pub fn set_tags(
            mut self,
            input: std::option::Option<
                std::collections::HashMap<std::string::String, std::string::String>,
            >,
        ) -> Self {
            self.tags = input;
            self
        }
        /// Consumes the builder and constructs a [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
        pub fn build(self) -> crate::output::ListTagsForResourceOutput {
            crate::output::ListTagsForResourceOutput { tags: self.tags }
        }
    }
}
impl ListTagsForResourceOutput {
    /// Creates a new builder-style object to manufacture [`ListTagsForResourceOutput`](crate::output::ListTagsForResourceOutput).
    pub fn builder() -> crate::output::list_tags_for_resource_output::Builder {
        crate::output::list_tags_for_resource_output::Builder::default()
    }
}