1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateEndpointConfig`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`endpoint_config_name(impl Into<String>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::endpoint_config_name) / [`set_endpoint_config_name(Option<String>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_endpoint_config_name): <p>The name of the endpoint configuration. You specify this name in a <code>CreateEndpoint</code> request. </p>
    ///   - [`production_variants(Vec<ProductionVariant>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::production_variants) / [`set_production_variants(Option<Vec<ProductionVariant>>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_production_variants): <p>An array of <code>ProductionVariant</code> objects, one for each model that you want to host at this endpoint.</p>
    ///   - [`data_capture_config(DataCaptureConfig)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::data_capture_config) / [`set_data_capture_config(Option<DataCaptureConfig>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_data_capture_config): <p>Configuration to control how SageMaker captures inference data.</p>
    ///   - [`tags(Vec<Tag>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_tags): <p>An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services Resources</a>.</p>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_kms_key_id): <p>The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key that SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.</p>  <p>The KmsKeyId can be any of the following formats: </p>  <ul>   <li> <p>Key ID: <code>1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> </li>   <li> <p>Key ARN: <code>arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab</code> </p> </li>   <li> <p>Alias name: <code>alias/ExampleAlias</code> </p> </li>   <li> <p>Alias name ARN: <code>arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias</code> </p> </li>  </ul>  <p>The KMS key policy must grant permission to the IAM role that you specify in your <code>CreateEndpoint</code>, <code>UpdateEndpoint</code> requests. For more information, refer to the Amazon Web Services Key Management Service section<a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html"> Using Key Policies in Amazon Web Services KMS </a> </p> <note>   <p>Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a <code>KmsKeyId</code> when using an instance type with local storage. If any of the models that you specify in the <code>ProductionVariants</code> parameter use nitro-based instances with local storage, do not specify a value for the <code>KmsKeyId</code> parameter. If you specify a value for <code>KmsKeyId</code> when using any nitro-based instances with local storage, the call to <code>CreateEndpointConfig</code> fails.</p>   <p>For a list of instance types that support local instance storage, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes">Instance Store Volumes</a>.</p>   <p>For more information about local instance storage encryption, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html">SSD Instance Store Volumes</a>.</p>  </note>
    ///   - [`async_inference_config(AsyncInferenceConfig)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::async_inference_config) / [`set_async_inference_config(Option<AsyncInferenceConfig>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_async_inference_config): <p>Specifies configuration for how an endpoint performs asynchronous inference. This is a required field in order for your Endpoint to be invoked using <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpointAsync.html">InvokeEndpointAsync</a>.</p>
    ///   - [`explainer_config(ExplainerConfig)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::explainer_config) / [`set_explainer_config(Option<ExplainerConfig>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_explainer_config): <p>A member of <code>CreateEndpointConfig</code> that enables explainers.</p>
    ///   - [`shadow_production_variants(Vec<ProductionVariant>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::shadow_production_variants) / [`set_shadow_production_variants(Option<Vec<ProductionVariant>>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_shadow_production_variants): <p>An array of <code>ProductionVariant</code> objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on <code>ProductionVariants</code>. If you use this field, you can only specify one variant for <code>ProductionVariants</code> and one variant for <code>ShadowProductionVariants</code>.</p>
    /// - On success, responds with [`CreateEndpointConfigOutput`](crate::operation::create_endpoint_config::CreateEndpointConfigOutput) with field(s):
    ///   - [`endpoint_config_arn(Option<String>)`](crate::operation::create_endpoint_config::CreateEndpointConfigOutput::endpoint_config_arn): <p>The Amazon Resource Name (ARN) of the endpoint configuration. </p>
    /// - On failure, responds with [`SdkError<CreateEndpointConfigError>`](crate::operation::create_endpoint_config::CreateEndpointConfigError)
    pub fn create_endpoint_config(
        &self,
    ) -> crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder {
        crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::new(
            self.handle.clone(),
        )
    }
}