aws-sdk-datazone 1.136.0

AWS SDK for Amazon DataZone
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_glossary_term::_create_glossary_term_input::CreateGlossaryTermInputBuilder;

pub use crate::operation::create_glossary_term::_create_glossary_term_output::CreateGlossaryTermOutputBuilder;

impl crate::operation::create_glossary_term::builders::CreateGlossaryTermInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::create_glossary_term::CreateGlossaryTermOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_glossary_term::CreateGlossaryTermError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.create_glossary_term();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `CreateGlossaryTerm`.
///
/// <p>Creates a business glossary term.</p>
/// <p>A glossary term represents an individual entry within the Amazon DataZone glossary, serving as a standardized definition for a specific business concept or data element. Each term can include rich metadata such as detailed definitions, synonyms, related terms, and usage examples. Glossary terms can be linked directly to data assets, providing business context to technical data elements. This linking capability helps users understand the business meaning of data fields and ensures consistent interpretation across different systems and teams. Terms can also have relationships with other terms, creating a semantic network that reflects the complexity of business concepts.</p>
/// <p>Prerequisites:</p>
/// <ul>
/// <li>
/// <p>Domain must exist.</p></li>
/// <li>
/// <p>Glossary must exist.</p></li>
/// <li>
/// <p>The term name must be unique within the glossary.</p></li>
/// <li>
/// <p>Ensure term does not conflict with existing terms in hierarchy.</p></li>
/// </ul>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct CreateGlossaryTermFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::create_glossary_term::builders::CreateGlossaryTermInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::create_glossary_term::CreateGlossaryTermOutput,
        crate::operation::create_glossary_term::CreateGlossaryTermError,
    > for CreateGlossaryTermFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::create_glossary_term::CreateGlossaryTermOutput,
            crate::operation::create_glossary_term::CreateGlossaryTermError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl CreateGlossaryTermFluentBuilder {
    /// Creates a new `CreateGlossaryTermFluentBuilder`.
    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: ::std::default::Default::default(),
            config_override: ::std::option::Option::None,
        }
    }
    /// Access the CreateGlossaryTerm as a reference.
    pub fn as_input(&self) -> &crate::operation::create_glossary_term::builders::CreateGlossaryTermInputBuilder {
        &self.inner
    }
    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
    pub async fn send(
        self,
    ) -> ::std::result::Result<
        crate::operation::create_glossary_term::CreateGlossaryTermOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_glossary_term::CreateGlossaryTermError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let input = self
            .inner
            .build()
            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
        let runtime_plugins = crate::operation::create_glossary_term::CreateGlossaryTerm::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::create_glossary_term::CreateGlossaryTerm::orchestrate(&runtime_plugins, input).await
    }

    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
    pub fn customize(
        self,
    ) -> crate::client::customize::CustomizableOperation<
        crate::operation::create_glossary_term::CreateGlossaryTermOutput,
        crate::operation::create_glossary_term::CreateGlossaryTermError,
        Self,
    > {
        crate::client::customize::CustomizableOperation::new(self)
    }
    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
        self.set_config_override(::std::option::Option::Some(config_override.into()));
        self
    }

    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
        self.config_override = config_override;
        self
    }
    /// <p>The ID of the Amazon DataZone domain in which this business glossary term is created.</p>
    pub fn domain_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.domain_identifier(input.into());
        self
    }
    /// <p>The ID of the Amazon DataZone domain in which this business glossary term is created.</p>
    pub fn set_domain_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_domain_identifier(input);
        self
    }
    /// <p>The ID of the Amazon DataZone domain in which this business glossary term is created.</p>
    pub fn get_domain_identifier(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_domain_identifier()
    }
    /// <p>The ID of the business glossary in which this term is created.</p>
    pub fn glossary_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.glossary_identifier(input.into());
        self
    }
    /// <p>The ID of the business glossary in which this term is created.</p>
    pub fn set_glossary_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_glossary_identifier(input);
        self
    }
    /// <p>The ID of the business glossary in which this term is created.</p>
    pub fn get_glossary_identifier(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_glossary_identifier()
    }
    /// <p>The name of this business glossary term.</p>
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.name(input.into());
        self
    }
    /// <p>The name of this business glossary term.</p>
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_name(input);
        self
    }
    /// <p>The name of this business glossary term.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_name()
    }
    /// <p>The status of this business glossary term.</p>
    pub fn status(mut self, input: crate::types::GlossaryTermStatus) -> Self {
        self.inner = self.inner.status(input);
        self
    }
    /// <p>The status of this business glossary term.</p>
    pub fn set_status(mut self, input: ::std::option::Option<crate::types::GlossaryTermStatus>) -> Self {
        self.inner = self.inner.set_status(input);
        self
    }
    /// <p>The status of this business glossary term.</p>
    pub fn get_status(&self) -> &::std::option::Option<crate::types::GlossaryTermStatus> {
        self.inner.get_status()
    }
    /// <p>The short description of this business glossary term.</p>
    pub fn short_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.short_description(input.into());
        self
    }
    /// <p>The short description of this business glossary term.</p>
    pub fn set_short_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_short_description(input);
        self
    }
    /// <p>The short description of this business glossary term.</p>
    pub fn get_short_description(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_short_description()
    }
    /// <p>The long description of this business glossary term.</p>
    pub fn long_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.long_description(input.into());
        self
    }
    /// <p>The long description of this business glossary term.</p>
    pub fn set_long_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_long_description(input);
        self
    }
    /// <p>The long description of this business glossary term.</p>
    pub fn get_long_description(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_long_description()
    }
    /// <p>The term relations of this business glossary term.</p>
    pub fn term_relations(mut self, input: crate::types::TermRelations) -> Self {
        self.inner = self.inner.term_relations(input);
        self
    }
    /// <p>The term relations of this business glossary term.</p>
    pub fn set_term_relations(mut self, input: ::std::option::Option<crate::types::TermRelations>) -> Self {
        self.inner = self.inner.set_term_relations(input);
        self
    }
    /// <p>The term relations of this business glossary term.</p>
    pub fn get_term_relations(&self) -> &::std::option::Option<crate::types::TermRelations> {
        self.inner.get_term_relations()
    }
    /// <p>A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.</p>
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.client_token(input.into());
        self
    }
    /// <p>A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.</p>
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_client_token(input);
        self
    }
    /// <p>A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.</p>
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_client_token()
    }
}