aws-sdk-bedrock 1.141.0

AWS SDK for Amazon Bedrock
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_marketplace_model_endpoint::_create_marketplace_model_endpoint_input::CreateMarketplaceModelEndpointInputBuilder;

pub use crate::operation::create_marketplace_model_endpoint::_create_marketplace_model_endpoint_output::CreateMarketplaceModelEndpointOutputBuilder;

impl crate::operation::create_marketplace_model_endpoint::builders::CreateMarketplaceModelEndpointInputBuilder {
    /// 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_marketplace_model_endpoint::CreateMarketplaceModelEndpointOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.create_marketplace_model_endpoint();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `CreateMarketplaceModelEndpoint`.
///
/// <p>Creates an endpoint for a model from Amazon Bedrock Marketplace. The endpoint is hosted by Amazon SageMaker.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct CreateMarketplaceModelEndpointFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::create_marketplace_model_endpoint::builders::CreateMarketplaceModelEndpointInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointOutput,
        crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointError,
    > for CreateMarketplaceModelEndpointFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointOutput,
            crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl CreateMarketplaceModelEndpointFluentBuilder {
    /// Creates a new `CreateMarketplaceModelEndpointFluentBuilder`.
    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 CreateMarketplaceModelEndpoint as a reference.
    pub fn as_input(&self) -> &crate::operation::create_marketplace_model_endpoint::builders::CreateMarketplaceModelEndpointInputBuilder {
        &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_marketplace_model_endpoint::CreateMarketplaceModelEndpointOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointError,
            ::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_marketplace_model_endpoint::CreateMarketplaceModelEndpoint::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpoint::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_marketplace_model_endpoint::CreateMarketplaceModelEndpointOutput,
        crate::operation::create_marketplace_model_endpoint::CreateMarketplaceModelEndpointError,
        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 ARN of the model from Amazon Bedrock Marketplace that you want to deploy to the endpoint.</p>
    pub fn model_source_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.model_source_identifier(input.into());
        self
    }
    /// <p>The ARN of the model from Amazon Bedrock Marketplace that you want to deploy to the endpoint.</p>
    pub fn set_model_source_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_model_source_identifier(input);
        self
    }
    /// <p>The ARN of the model from Amazon Bedrock Marketplace that you want to deploy to the endpoint.</p>
    pub fn get_model_source_identifier(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_model_source_identifier()
    }
    /// <p>The configuration for the endpoint, including the number and type of instances to use.</p>
    pub fn endpoint_config(mut self, input: crate::types::EndpointConfig) -> Self {
        self.inner = self.inner.endpoint_config(input);
        self
    }
    /// <p>The configuration for the endpoint, including the number and type of instances to use.</p>
    pub fn set_endpoint_config(mut self, input: ::std::option::Option<crate::types::EndpointConfig>) -> Self {
        self.inner = self.inner.set_endpoint_config(input);
        self
    }
    /// <p>The configuration for the endpoint, including the number and type of instances to use.</p>
    pub fn get_endpoint_config(&self) -> &::std::option::Option<crate::types::EndpointConfig> {
        self.inner.get_endpoint_config()
    }
    /// <p>Indicates whether you accept the end-user license agreement (EULA) for the model. Set to <code>true</code> to accept the EULA.</p>
    pub fn accept_eula(mut self, input: bool) -> Self {
        self.inner = self.inner.accept_eula(input);
        self
    }
    /// <p>Indicates whether you accept the end-user license agreement (EULA) for the model. Set to <code>true</code> to accept the EULA.</p>
    pub fn set_accept_eula(mut self, input: ::std::option::Option<bool>) -> Self {
        self.inner = self.inner.set_accept_eula(input);
        self
    }
    /// <p>Indicates whether you accept the end-user license agreement (EULA) for the model. Set to <code>true</code> to accept the EULA.</p>
    pub fn get_accept_eula(&self) -> &::std::option::Option<bool> {
        self.inner.get_accept_eula()
    }
    /// <p>The name of the endpoint. This name must be unique within your Amazon Web Services account and region.</p>
    pub fn endpoint_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.endpoint_name(input.into());
        self
    }
    /// <p>The name of the endpoint. This name must be unique within your Amazon Web Services account and region.</p>
    pub fn set_endpoint_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_endpoint_name(input);
        self
    }
    /// <p>The name of the endpoint. This name must be unique within your Amazon Web Services account and region.</p>
    pub fn get_endpoint_name(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_endpoint_name()
    }
    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is listed as not required because Amazon Web Services SDKs automatically generate it for you and set this parameter. If you're not using the Amazon Web Services SDK or the CLI, you must provide this token or the action will fail.</p>
    pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.client_request_token(input.into());
        self
    }
    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is listed as not required because Amazon Web Services SDKs automatically generate it for you and set this parameter. If you're not using the Amazon Web Services SDK or the CLI, you must provide this token or the action will fail.</p>
    pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_client_request_token(input);
        self
    }
    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token is listed as not required because Amazon Web Services SDKs automatically generate it for you and set this parameter. If you're not using the Amazon Web Services SDK or the CLI, you must provide this token or the action will fail.</p>
    pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_client_request_token()
    }
    ///
    /// Appends an item to `tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>An array of key-value pairs to apply to the underlying Amazon SageMaker endpoint. You can use these tags to organize and identify your Amazon Web Services resources.</p>
    pub fn tags(mut self, input: crate::types::Tag) -> Self {
        self.inner = self.inner.tags(input);
        self
    }
    /// <p>An array of key-value pairs to apply to the underlying Amazon SageMaker endpoint. You can use these tags to organize and identify your Amazon Web Services resources.</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>An array of key-value pairs to apply to the underlying Amazon SageMaker endpoint. You can use these tags to organize and identify your Amazon Web Services resources.</p>
    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
        self.inner.get_tags()
    }
}