aws-sdk-applicationsignals 1.80.0

AWS SDK for Amazon CloudWatch Application Signals
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::list_grouping_attribute_definitions::_list_grouping_attribute_definitions_input::ListGroupingAttributeDefinitionsInputBuilder;

pub use crate::operation::list_grouping_attribute_definitions::_list_grouping_attribute_definitions_output::ListGroupingAttributeDefinitionsOutputBuilder;

impl crate::operation::list_grouping_attribute_definitions::builders::ListGroupingAttributeDefinitionsInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.list_grouping_attribute_definitions();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `ListGroupingAttributeDefinitions`.
///
/// <p>Returns the current grouping configuration for this account, including all custom grouping attribute definitions that have been configured. These definitions determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct ListGroupingAttributeDefinitionsFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::list_grouping_attribute_definitions::builders::ListGroupingAttributeDefinitionsInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsOutput,
        crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsError,
    > for ListGroupingAttributeDefinitionsFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsOutput,
            crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl ListGroupingAttributeDefinitionsFluentBuilder {
    /// Creates a new `ListGroupingAttributeDefinitionsFluentBuilder`.
    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 ListGroupingAttributeDefinitions as a reference.
    pub fn as_input(&self) -> &crate::operation::list_grouping_attribute_definitions::builders::ListGroupingAttributeDefinitionsInputBuilder {
        &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::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsError,
            ::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::list_grouping_attribute_definitions::ListGroupingAttributeDefinitions::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitions::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::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsOutput,
        crate::operation::list_grouping_attribute_definitions::ListGroupingAttributeDefinitionsError,
        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>Include this value, if it was returned by the previous operation, to get the next set of grouping attribute definitions.</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.next_token(input.into());
        self
    }
    /// <p>Include this value, if it was returned by the previous operation, to get the next set of grouping attribute definitions.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_next_token(input);
        self
    }
    /// <p>Include this value, if it was returned by the previous operation, to get the next set of grouping attribute definitions.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_next_token()
    }
    /// <p>The Amazon Web Services account ID to retrieve grouping attribute definitions for. Use this when accessing grouping configurations from a different account in cross-account monitoring scenarios.</p>
    pub fn aws_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.aws_account_id(input.into());
        self
    }
    /// <p>The Amazon Web Services account ID to retrieve grouping attribute definitions for. Use this when accessing grouping configurations from a different account in cross-account monitoring scenarios.</p>
    pub fn set_aws_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_aws_account_id(input);
        self
    }
    /// <p>The Amazon Web Services account ID to retrieve grouping attribute definitions for. Use this when accessing grouping configurations from a different account in cross-account monitoring scenarios.</p>
    pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_aws_account_id()
    }
    /// <p>If you are using this operation in a monitoring account, specify <code>true</code> to include grouping attributes from source accounts in the returned data.</p>
    pub fn include_linked_accounts(mut self, input: bool) -> Self {
        self.inner = self.inner.include_linked_accounts(input);
        self
    }
    /// <p>If you are using this operation in a monitoring account, specify <code>true</code> to include grouping attributes from source accounts in the returned data.</p>
    pub fn set_include_linked_accounts(mut self, input: ::std::option::Option<bool>) -> Self {
        self.inner = self.inner.set_include_linked_accounts(input);
        self
    }
    /// <p>If you are using this operation in a monitoring account, specify <code>true</code> to include grouping attributes from source accounts in the returned data.</p>
    pub fn get_include_linked_accounts(&self) -> &::std::option::Option<bool> {
        self.inner.get_include_linked_accounts()
    }
}