aws_sdk_sagemaker/client/create_endpoint_config.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateEndpointConfig`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`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):<br>required: **true**<br><p>The name of the endpoint configuration. You specify this name in a <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> request.</p><br>
7 /// - [`production_variants(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):<br>required: **true**<br><p>An array of <code>ProductionVariant</code> objects, one for each model that you want to host at this endpoint.</p><br>
8 /// - [`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):<br>required: **false**<br><p>Configuration to control how SageMaker AI captures inference data.</p><br>
9 /// - [`tags(Tag)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_tags):<br>required: **false**<br><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><br>
10 /// - [`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):<br>required: **false**<br><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><br>
11 /// - [`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):<br>required: **false**<br><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><br>
12 /// - [`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):<br>required: **false**<br><p>A member of <code>CreateEndpointConfig</code> that enables explainers.</p><br>
13 /// - [`shadow_production_variants(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):<br>required: **false**<br><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><br>
14 /// - [`execution_role_arn(impl Into<String>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_execution_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform actions on your behalf. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">SageMaker AI Roles</a>.</p><note> <p>To be able to pass this role to Amazon SageMaker AI, the caller of this action must have the <code>iam:PassRole</code> permission.</p> </note><br>
15 /// - [`vpc_config(VpcConfig)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::vpc_config) / [`set_vpc_config(Option<VpcConfig>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_vpc_config):<br>required: **false**<br><p>Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html">Give SageMaker Access to Resources in your Amazon VPC</a>.</p><br>
16 /// - [`enable_network_isolation(bool)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::enable_network_isolation) / [`set_enable_network_isolation(Option<bool>)`](crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::set_enable_network_isolation):<br>required: **false**<br><p>Sets whether all model containers deployed to the endpoint are isolated. If they are, no inbound or outbound network calls can be made to or from the model containers.</p><br>
17 /// - On success, responds with [`CreateEndpointConfigOutput`](crate::operation::create_endpoint_config::CreateEndpointConfigOutput) with field(s):
18 /// - [`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>
19 /// - On failure, responds with [`SdkError<CreateEndpointConfigError>`](crate::operation::create_endpoint_config::CreateEndpointConfigError)
20 pub fn create_endpoint_config(&self) -> crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder {
21 crate::operation::create_endpoint_config::builders::CreateEndpointConfigFluentBuilder::new(self.handle.clone())
22 }
23}