This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateEndpointConfigRequest.h

508 lines
28 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/sagemaker/SageMaker_EXPORTS.h>
#include <aws/sagemaker/SageMakerRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/sagemaker/model/DataCaptureConfig.h>
#include <aws/sagemaker/model/ProductionVariant.h>
#include <aws/sagemaker/model/Tag.h>
#include <utility>
namespace Aws
{
namespace SageMaker
{
namespace Model
{
/**
*/
class AWS_SAGEMAKER_API CreateEndpointConfigRequest : public SageMakerRequest
{
public:
CreateEndpointConfigRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateEndpointConfig"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline const Aws::String& GetEndpointConfigName() const{ return m_endpointConfigName; }
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline bool EndpointConfigNameHasBeenSet() const { return m_endpointConfigNameHasBeenSet; }
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline void SetEndpointConfigName(const Aws::String& value) { m_endpointConfigNameHasBeenSet = true; m_endpointConfigName = value; }
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline void SetEndpointConfigName(Aws::String&& value) { m_endpointConfigNameHasBeenSet = true; m_endpointConfigName = std::move(value); }
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline void SetEndpointConfigName(const char* value) { m_endpointConfigNameHasBeenSet = true; m_endpointConfigName.assign(value); }
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline CreateEndpointConfigRequest& WithEndpointConfigName(const Aws::String& value) { SetEndpointConfigName(value); return *this;}
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline CreateEndpointConfigRequest& WithEndpointConfigName(Aws::String&& value) { SetEndpointConfigName(std::move(value)); return *this;}
/**
* <p>The name of the endpoint configuration. You specify this name in a
* <a>CreateEndpoint</a> request. </p>
*/
inline CreateEndpointConfigRequest& WithEndpointConfigName(const char* value) { SetEndpointConfigName(value); return *this;}
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline const Aws::Vector<ProductionVariant>& GetProductionVariants() const{ return m_productionVariants; }
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline bool ProductionVariantsHasBeenSet() const { return m_productionVariantsHasBeenSet; }
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline void SetProductionVariants(const Aws::Vector<ProductionVariant>& value) { m_productionVariantsHasBeenSet = true; m_productionVariants = value; }
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline void SetProductionVariants(Aws::Vector<ProductionVariant>&& value) { m_productionVariantsHasBeenSet = true; m_productionVariants = std::move(value); }
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline CreateEndpointConfigRequest& WithProductionVariants(const Aws::Vector<ProductionVariant>& value) { SetProductionVariants(value); return *this;}
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline CreateEndpointConfigRequest& WithProductionVariants(Aws::Vector<ProductionVariant>&& value) { SetProductionVariants(std::move(value)); return *this;}
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline CreateEndpointConfigRequest& AddProductionVariants(const ProductionVariant& value) { m_productionVariantsHasBeenSet = true; m_productionVariants.push_back(value); return *this; }
/**
* <p>An list of <code>ProductionVariant</code> objects, one for each model that
* you want to host at this endpoint.</p>
*/
inline CreateEndpointConfigRequest& AddProductionVariants(ProductionVariant&& value) { m_productionVariantsHasBeenSet = true; m_productionVariants.push_back(std::move(value)); return *this; }
inline const DataCaptureConfig& GetDataCaptureConfig() const{ return m_dataCaptureConfig; }
inline bool DataCaptureConfigHasBeenSet() const { return m_dataCaptureConfigHasBeenSet; }
inline void SetDataCaptureConfig(const DataCaptureConfig& value) { m_dataCaptureConfigHasBeenSet = true; m_dataCaptureConfig = value; }
inline void SetDataCaptureConfig(DataCaptureConfig&& value) { m_dataCaptureConfigHasBeenSet = true; m_dataCaptureConfig = std::move(value); }
inline CreateEndpointConfigRequest& WithDataCaptureConfig(const DataCaptureConfig& value) { SetDataCaptureConfig(value); return *this;}
inline CreateEndpointConfigRequest& WithDataCaptureConfig(DataCaptureConfig&& value) { SetDataCaptureConfig(std::move(value)); return *this;}
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline CreateEndpointConfigRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline CreateEndpointConfigRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline CreateEndpointConfigRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of key-value pairs. For more information, see <a
* href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what">Using
* Cost Allocation Tags</a> in the <i> AWS Billing and Cost Management User
* Guide</i>. </p>
*/
inline CreateEndpointConfigRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline CreateEndpointConfigRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline CreateEndpointConfigRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of a AWS Key Management Service key that
* Amazon 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 AWS Key Management Service
* section<a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html">
* Using Key Policies in AWS KMS </a> </p> <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>
*/
inline CreateEndpointConfigRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
private:
Aws::String m_endpointConfigName;
bool m_endpointConfigNameHasBeenSet;
Aws::Vector<ProductionVariant> m_productionVariants;
bool m_productionVariantsHasBeenSet;
DataCaptureConfig m_dataCaptureConfig;
bool m_dataCaptureConfigHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
Aws::String m_kmsKeyId;
bool m_kmsKeyIdHasBeenSet;
};
} // namespace Model
} // namespace SageMaker
} // namespace Aws