aws-sdk-sagemaker 1.196.0

AWS SDK for Amazon SageMaker Service
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::update_hub_content_reference::_update_hub_content_reference_input::UpdateHubContentReferenceInputBuilder;

pub use crate::operation::update_hub_content_reference::_update_hub_content_reference_output::UpdateHubContentReferenceOutputBuilder;

impl crate::operation::update_hub_content_reference::builders::UpdateHubContentReferenceInputBuilder {
    /// Sends a request with this input using the given client.
    pub async fn send_with(
        self,
        client: &crate::Client,
    ) -> ::std::result::Result<
        crate::operation::update_hub_content_reference::UpdateHubContentReferenceOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::update_hub_content_reference::UpdateHubContentReferenceError,
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
        >,
    > {
        let mut fluent_builder = client.update_hub_content_reference();
        fluent_builder.inner = self;
        fluent_builder.send().await
    }
}
/// Fluent builder constructing a request to `UpdateHubContentReference`.
///
/// <p>Updates the contents of a SageMaker hub for a <code>ModelReference</code> resource. A <code>ModelReference</code> allows you to access public SageMaker JumpStart models from within your private hub.</p>
/// <p>When using this API, you can update the <code>MinVersion</code> field for additional flexibility in the model version. You shouldn't update any additional fields when using this API, because the metadata in your private hub should match the public JumpStart model's metadata.</p><note>
/// <p>If you want to update a <code>Model</code> or <code>Notebook</code> resource in your hub, use the <code>UpdateHubContent</code> API instead.</p>
/// </note>
/// <p>For more information about adding model references to your hub, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-curated-hubs-admin-guide-add-models.html"> Add models to a private hub</a>.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct UpdateHubContentReferenceFluentBuilder {
    handle: ::std::sync::Arc<crate::client::Handle>,
    inner: crate::operation::update_hub_content_reference::builders::UpdateHubContentReferenceInputBuilder,
    config_override: ::std::option::Option<crate::config::Builder>,
}
impl
    crate::client::customize::internal::CustomizableSend<
        crate::operation::update_hub_content_reference::UpdateHubContentReferenceOutput,
        crate::operation::update_hub_content_reference::UpdateHubContentReferenceError,
    > for UpdateHubContentReferenceFluentBuilder
{
    fn send(
        self,
        config_override: crate::config::Builder,
    ) -> crate::client::customize::internal::BoxFuture<
        crate::client::customize::internal::SendResult<
            crate::operation::update_hub_content_reference::UpdateHubContentReferenceOutput,
            crate::operation::update_hub_content_reference::UpdateHubContentReferenceError,
        >,
    > {
        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
    }
}
impl UpdateHubContentReferenceFluentBuilder {
    /// Creates a new `UpdateHubContentReferenceFluentBuilder`.
    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 UpdateHubContentReference as a reference.
    pub fn as_input(&self) -> &crate::operation::update_hub_content_reference::builders::UpdateHubContentReferenceInputBuilder {
        &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::update_hub_content_reference::UpdateHubContentReferenceOutput,
        ::aws_smithy_runtime_api::client::result::SdkError<
            crate::operation::update_hub_content_reference::UpdateHubContentReferenceError,
            ::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::update_hub_content_reference::UpdateHubContentReference::operation_runtime_plugins(
            self.handle.runtime_plugins.clone(),
            &self.handle.conf,
            self.config_override,
        );
        crate::operation::update_hub_content_reference::UpdateHubContentReference::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::update_hub_content_reference::UpdateHubContentReferenceOutput,
        crate::operation::update_hub_content_reference::UpdateHubContentReferenceError,
        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 name of the SageMaker hub that contains the hub content you want to update. You can optionally use the hub ARN instead.</p>
    pub fn hub_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.hub_name(input.into());
        self
    }
    /// <p>The name of the SageMaker hub that contains the hub content you want to update. You can optionally use the hub ARN instead.</p>
    pub fn set_hub_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_hub_name(input);
        self
    }
    /// <p>The name of the SageMaker hub that contains the hub content you want to update. You can optionally use the hub ARN instead.</p>
    pub fn get_hub_name(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_hub_name()
    }
    /// <p>The name of the hub content resource that you want to update.</p>
    pub fn hub_content_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.hub_content_name(input.into());
        self
    }
    /// <p>The name of the hub content resource that you want to update.</p>
    pub fn set_hub_content_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_hub_content_name(input);
        self
    }
    /// <p>The name of the hub content resource that you want to update.</p>
    pub fn get_hub_content_name(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_hub_content_name()
    }
    /// <p>The content type of the resource that you want to update. Only specify a <code>ModelReference</code> resource for this API. To update a <code>Model</code> or <code>Notebook</code> resource, use the <code>UpdateHubContent</code> API instead.</p>
    pub fn hub_content_type(mut self, input: crate::types::HubContentType) -> Self {
        self.inner = self.inner.hub_content_type(input);
        self
    }
    /// <p>The content type of the resource that you want to update. Only specify a <code>ModelReference</code> resource for this API. To update a <code>Model</code> or <code>Notebook</code> resource, use the <code>UpdateHubContent</code> API instead.</p>
    pub fn set_hub_content_type(mut self, input: ::std::option::Option<crate::types::HubContentType>) -> Self {
        self.inner = self.inner.set_hub_content_type(input);
        self
    }
    /// <p>The content type of the resource that you want to update. Only specify a <code>ModelReference</code> resource for this API. To update a <code>Model</code> or <code>Notebook</code> resource, use the <code>UpdateHubContent</code> API instead.</p>
    pub fn get_hub_content_type(&self) -> &::std::option::Option<crate::types::HubContentType> {
        self.inner.get_hub_content_type()
    }
    /// <p>The minimum hub content version of the referenced model that you want to use. The minimum version must be older than the latest available version of the referenced model. To support all versions of a model, set the value to <code>1.0.0</code>.</p>
    pub fn min_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.inner = self.inner.min_version(input.into());
        self
    }
    /// <p>The minimum hub content version of the referenced model that you want to use. The minimum version must be older than the latest available version of the referenced model. To support all versions of a model, set the value to <code>1.0.0</code>.</p>
    pub fn set_min_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.inner = self.inner.set_min_version(input);
        self
    }
    /// <p>The minimum hub content version of the referenced model that you want to use. The minimum version must be older than the latest available version of the referenced model. To support all versions of a model, set the value to <code>1.0.0</code>.</p>
    pub fn get_min_version(&self) -> &::std::option::Option<::std::string::String> {
        self.inner.get_min_version()
    }
}