aws-sdk-quicksight 1.131.0

AWS SDK for Amazon QuickSight
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_action_connector::_create_action_connector_input::CreateActionConnectorInputBuilder;

pub use crate::operation::create_action_connector::_create_action_connector_output::CreateActionConnectorOutputBuilder;

impl crate::operation::create_action_connector::builders::CreateActionConnectorInputBuilder {
    /// 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_action_connector::CreateActionConnectorOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_action_connector::CreateActionConnectorError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.create_action_connector();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `CreateActionConnector`.
///
/// <p>Creates an action connector that enables Amazon Quick Sight to connect to external services and perform actions. Action connectors support various authentication methods and can be configured with specific actions from supported connector types like Amazon S3, Salesforce, JIRA.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct CreateActionConnectorFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::create_action_connector::builders::CreateActionConnectorInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::create_action_connector::CreateActionConnectorOutput,
        crate::operation::create_action_connector::CreateActionConnectorError,
    > for CreateActionConnectorFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::create_action_connector::CreateActionConnectorOutput,
            crate::operation::create_action_connector::CreateActionConnectorError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl CreateActionConnectorFluentBuilder {
    /// Creates a new `CreateActionConnectorFluentBuilder`.
    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 CreateActionConnector as a reference.
    pub fn as_input(&self) -> &crate::operation::create_action_connector::builders::CreateActionConnectorInputBuilder {
        &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_action_connector::CreateActionConnectorOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_action_connector::CreateActionConnectorError,
            ::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_action_connector::CreateActionConnector::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::create_action_connector::CreateActionConnector::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_action_connector::CreateActionConnectorOutput,
        crate::operation::create_action_connector::CreateActionConnectorError,
        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 Amazon Web Services account ID associated with the action connector.</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 associated with the action connector.</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 associated with the action connector.</p>
    pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_aws_account_id()
    }
    /// <p>A unique identifier for the action connector. This ID must be unique within the Amazon Web Services account. The <code>ActionConnectorId</code> must not start with the prefix <code>quicksuite-</code></p>
    pub fn action_connector_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.action_connector_id(input.into());
        self
    }
    /// <p>A unique identifier for the action connector. This ID must be unique within the Amazon Web Services account. The <code>ActionConnectorId</code> must not start with the prefix <code>quicksuite-</code></p>
    pub fn set_action_connector_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_action_connector_id(input);
        self
    }
    /// <p>A unique identifier for the action connector. This ID must be unique within the Amazon Web Services account. The <code>ActionConnectorId</code> must not start with the prefix <code>quicksuite-</code></p>
    pub fn get_action_connector_id(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_action_connector_id()
    }
    /// <p>A descriptive name for the action connector.</p>
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.name(input.into());
        self
    }
    /// <p>A descriptive name for the action connector.</p>
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_name(input);
        self
    }
    /// <p>A descriptive name for the action connector.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_name()
    }
    /// <p>The type of action connector.</p>
    pub fn r#type(mut self, input: crate::types::ActionConnectorType) -> Self {
        self.inner = self.inner.r#type(input);
        self
    }
    /// <p>The type of action connector.</p>
    pub fn set_type(mut self, input: ::std::option::Option<crate::types::ActionConnectorType>) -> Self {
        self.inner = self.inner.set_type(input);
        self
    }
    /// <p>The type of action connector.</p>
    pub fn get_type(&self) -> &::std::option::Option<crate::types::ActionConnectorType> {
        self.inner.get_type()
    }
    /// <p>The authentication configuration for connecting to the external service. This includes the authentication type, base URL, and authentication metadata such as client credentials or API keys.</p>
    pub fn authentication_config(mut self, input: crate::types::AuthConfig) -> Self {
        self.inner = self.inner.authentication_config(input);
        self
    }
    /// <p>The authentication configuration for connecting to the external service. This includes the authentication type, base URL, and authentication metadata such as client credentials or API keys.</p>
    pub fn set_authentication_config(mut self, input: ::std::option::Option<crate::types::AuthConfig>) -> Self {
        self.inner = self.inner.set_authentication_config(input);
        self
    }
    /// <p>The authentication configuration for connecting to the external service. This includes the authentication type, base URL, and authentication metadata such as client credentials or API keys.</p>
    pub fn get_authentication_config(&self) -> &::std::option::Option<crate::types::AuthConfig> {
        self.inner.get_authentication_config()
    }
    /// <p>An optional description of the action connector.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.description(input.into());
        self
    }
    /// <p>An optional description of the action connector.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_description(input);
        self
    }
    /// <p>An optional description of the action connector.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_description()
    }
    ///
    /// Appends an item to `Permissions`.
    ///
    /// To override the contents of this collection use [`set_permissions`](Self::set_permissions).
    ///
    /// <p>The permissions configuration that defines which users, groups, or namespaces can access this action connector and what operations they can perform.</p>
    pub fn permissions(mut self, input: crate::types::ResourcePermission) -> Self {
        self.inner = self.inner.permissions(input);
        self
    }
    /// <p>The permissions configuration that defines which users, groups, or namespaces can access this action connector and what operations they can perform.</p>
    pub fn set_permissions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>>) -> Self {
        self.inner = self.inner.set_permissions(input);
        self
    }
    /// <p>The permissions configuration that defines which users, groups, or namespaces can access this action connector and what operations they can perform.</p>
    pub fn get_permissions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ResourcePermission>> {
        self.inner.get_permissions()
    }
    /// <p>The ARN of the VPC connection to use for secure connectivity to the external service.</p>
    pub fn vpc_connection_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.vpc_connection_arn(input.into());
        self
    }
    /// <p>The ARN of the VPC connection to use for secure connectivity to the external service.</p>
    pub fn set_vpc_connection_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_vpc_connection_arn(input);
        self
    }
    /// <p>The ARN of the VPC connection to use for secure connectivity to the external service.</p>
    pub fn get_vpc_connection_arn(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_vpc_connection_arn()
    }
    ///
    /// Appends an item to `Tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>A list of tags to apply to the action connector for resource management and organization.</p>
    pub fn tags(mut self, input: crate::types::Tag) -> Self {
        self.inner = self.inner.tags(input);
        self
    }
    /// <p>A list of tags to apply to the action connector for resource management and organization.</p>
    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
        self.inner = self.inner.set_tags(input);
        self
    }
    /// <p>A list of tags to apply to the action connector for resource management and organization.</p>
    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
        self.inner.get_tags()
    }
}