aws-sdk-licensemanagerusersubscriptions 1.95.0

AWS SDK for AWS License Manager User Subscriptions
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_license_server_endpoint::_create_license_server_endpoint_output::CreateLicenseServerEndpointOutputBuilder;

pub use crate::operation::create_license_server_endpoint::_create_license_server_endpoint_input::CreateLicenseServerEndpointInputBuilder;

impl crate::operation::create_license_server_endpoint::builders::CreateLicenseServerEndpointInputBuilder {
    /// 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_license_server_endpoint::CreateLicenseServerEndpointOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.create_license_server_endpoint();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `CreateLicenseServerEndpoint`.
///
/// <p>Creates a network endpoint for the Remote Desktop Services (RDS) license server.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct CreateLicenseServerEndpointFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::create_license_server_endpoint::builders::CreateLicenseServerEndpointInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointOutput,
        crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointError,
    > for CreateLicenseServerEndpointFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointOutput,
            crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl CreateLicenseServerEndpointFluentBuilder {
    /// Creates a new `CreateLicenseServerEndpointFluentBuilder`.
    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 CreateLicenseServerEndpoint as a reference.
    pub fn as_input(&self) -> &crate::operation::create_license_server_endpoint::builders::CreateLicenseServerEndpointInputBuilder {
        &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_license_server_endpoint::CreateLicenseServerEndpointOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointError,
            ::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_license_server_endpoint::CreateLicenseServerEndpoint::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::create_license_server_endpoint::CreateLicenseServerEndpoint::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_license_server_endpoint::CreateLicenseServerEndpointOutput,
        crate::operation::create_license_server_endpoint::CreateLicenseServerEndpointError,
        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 Resource Name (ARN) that identifies the <code>IdentityProvider</code> resource that contains details about a registered identity provider. In the case of Active Directory, that can be a self-managed Active Directory or an Amazon Web Services Managed Active Directory that contains user identity details.</p>
    pub fn identity_provider_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.identity_provider_arn(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) that identifies the <code>IdentityProvider</code> resource that contains details about a registered identity provider. In the case of Active Directory, that can be a self-managed Active Directory or an Amazon Web Services Managed Active Directory that contains user identity details.</p>
    pub fn set_identity_provider_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_identity_provider_arn(input);
        self
    }
    /// <p>The Amazon Resource Name (ARN) that identifies the <code>IdentityProvider</code> resource that contains details about a registered identity provider. In the case of Active Directory, that can be a self-managed Active Directory or an Amazon Web Services Managed Active Directory that contains user identity details.</p>
    pub fn get_identity_provider_arn(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_identity_provider_arn()
    }
    /// <p>The <code>LicenseServerSettings</code> resource to create for the endpoint. The settings include the type of license server and the Secrets Manager secret that enables administrators to add or remove users associated with the license server.</p>
    pub fn license_server_settings(mut self, input: crate::types::LicenseServerSettings) -> Self {
        self.inner = self.inner.license_server_settings(input);
        self
    }
    /// <p>The <code>LicenseServerSettings</code> resource to create for the endpoint. The settings include the type of license server and the Secrets Manager secret that enables administrators to add or remove users associated with the license server.</p>
    pub fn set_license_server_settings(mut self, input: ::std::option::Option<crate::types::LicenseServerSettings>) -> Self {
        self.inner = self.inner.set_license_server_settings(input);
        self
    }
    /// <p>The <code>LicenseServerSettings</code> resource to create for the endpoint. The settings include the type of license server and the Secrets Manager secret that enables administrators to add or remove users associated with the license server.</p>
    pub fn get_license_server_settings(&self) -> &::std::option::Option<crate::types::LicenseServerSettings> {
        self.inner.get_license_server_settings()
    }
    ///
    /// Adds a key-value pair to `Tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>The tags that apply for the license server endpoint.</p>
    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.tags(k.into(), v.into());
        self
    }
    /// <p>The tags that apply for the license server endpoint.</p>
    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
        self.inner = self.inner.set_tags(input);
        self
    }
    /// <p>The tags that apply for the license server endpoint.</p>
    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        self.inner.get_tags()
    }
}