/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The input configuration of the recommendation job.See Also:
* AWS
* API Reference
The Amazon Resource Name (ARN) of a versioned model package.
*/ inline const Aws::String& GetModelPackageVersionArn() const{ return m_modelPackageVersionArn; } /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline bool ModelPackageVersionArnHasBeenSet() const { return m_modelPackageVersionArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline void SetModelPackageVersionArn(const Aws::String& value) { m_modelPackageVersionArnHasBeenSet = true; m_modelPackageVersionArn = value; } /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline void SetModelPackageVersionArn(Aws::String&& value) { m_modelPackageVersionArnHasBeenSet = true; m_modelPackageVersionArn = std::move(value); } /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline void SetModelPackageVersionArn(const char* value) { m_modelPackageVersionArnHasBeenSet = true; m_modelPackageVersionArn.assign(value); } /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline RecommendationJobInputConfig& WithModelPackageVersionArn(const Aws::String& value) { SetModelPackageVersionArn(value); return *this;} /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline RecommendationJobInputConfig& WithModelPackageVersionArn(Aws::String&& value) { SetModelPackageVersionArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of a versioned model package.
*/ inline RecommendationJobInputConfig& WithModelPackageVersionArn(const char* value) { SetModelPackageVersionArn(value); return *this;} /** *Specifies the maximum duration of the job, in seconds.>
*/ inline int GetJobDurationInSeconds() const{ return m_jobDurationInSeconds; } /** *Specifies the maximum duration of the job, in seconds.>
*/ inline bool JobDurationInSecondsHasBeenSet() const { return m_jobDurationInSecondsHasBeenSet; } /** *Specifies the maximum duration of the job, in seconds.>
*/ inline void SetJobDurationInSeconds(int value) { m_jobDurationInSecondsHasBeenSet = true; m_jobDurationInSeconds = value; } /** *Specifies the maximum duration of the job, in seconds.>
*/ inline RecommendationJobInputConfig& WithJobDurationInSeconds(int value) { SetJobDurationInSeconds(value); return *this;} /** *Specifies the traffic pattern of the job.
*/ inline const TrafficPattern& GetTrafficPattern() const{ return m_trafficPattern; } /** *Specifies the traffic pattern of the job.
*/ inline bool TrafficPatternHasBeenSet() const { return m_trafficPatternHasBeenSet; } /** *Specifies the traffic pattern of the job.
*/ inline void SetTrafficPattern(const TrafficPattern& value) { m_trafficPatternHasBeenSet = true; m_trafficPattern = value; } /** *Specifies the traffic pattern of the job.
*/ inline void SetTrafficPattern(TrafficPattern&& value) { m_trafficPatternHasBeenSet = true; m_trafficPattern = std::move(value); } /** *Specifies the traffic pattern of the job.
*/ inline RecommendationJobInputConfig& WithTrafficPattern(const TrafficPattern& value) { SetTrafficPattern(value); return *this;} /** *Specifies the traffic pattern of the job.
*/ inline RecommendationJobInputConfig& WithTrafficPattern(TrafficPattern&& value) { SetTrafficPattern(std::move(value)); return *this;} /** *Defines the resource limit of the job.
*/ inline const RecommendationJobResourceLimit& GetResourceLimit() const{ return m_resourceLimit; } /** *Defines the resource limit of the job.
*/ inline bool ResourceLimitHasBeenSet() const { return m_resourceLimitHasBeenSet; } /** *Defines the resource limit of the job.
*/ inline void SetResourceLimit(const RecommendationJobResourceLimit& value) { m_resourceLimitHasBeenSet = true; m_resourceLimit = value; } /** *Defines the resource limit of the job.
*/ inline void SetResourceLimit(RecommendationJobResourceLimit&& value) { m_resourceLimitHasBeenSet = true; m_resourceLimit = std::move(value); } /** *Defines the resource limit of the job.
*/ inline RecommendationJobInputConfig& WithResourceLimit(const RecommendationJobResourceLimit& value) { SetResourceLimit(value); return *this;} /** *Defines the resource limit of the job.
*/ inline RecommendationJobInputConfig& WithResourceLimit(RecommendationJobResourceLimit&& value) { SetResourceLimit(std::move(value)); return *this;} /** *Specifies the endpoint configuration to use for a job.
*/ inline const Aws::VectorSpecifies the endpoint configuration to use for a job.
*/ inline bool EndpointConfigurationsHasBeenSet() const { return m_endpointConfigurationsHasBeenSet; } /** *Specifies the endpoint configuration to use for a job.
*/ inline void SetEndpointConfigurations(const Aws::VectorSpecifies the endpoint configuration to use for a job.
*/ inline void SetEndpointConfigurations(Aws::VectorSpecifies the endpoint configuration to use for a job.
*/ inline RecommendationJobInputConfig& WithEndpointConfigurations(const Aws::VectorSpecifies the endpoint configuration to use for a job.
*/ inline RecommendationJobInputConfig& WithEndpointConfigurations(Aws::VectorSpecifies the endpoint configuration to use for a job.
*/ inline RecommendationJobInputConfig& AddEndpointConfigurations(const EndpointInputConfiguration& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations.push_back(value); return *this; } /** *Specifies the endpoint configuration to use for a job.
*/ inline RecommendationJobInputConfig& AddEndpointConfigurations(EndpointInputConfiguration&& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations.push_back(std::move(value)); return *this; } /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline const Aws::String& GetVolumeKmsKeyId() const{ return m_volumeKmsKeyId; } /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline bool VolumeKmsKeyIdHasBeenSet() const { return m_volumeKmsKeyIdHasBeenSet; } /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline void SetVolumeKmsKeyId(const Aws::String& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = value; } /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline void SetVolumeKmsKeyId(Aws::String&& value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId = std::move(value); } /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline void SetVolumeKmsKeyId(const char* value) { m_volumeKmsKeyIdHasBeenSet = true; m_volumeKmsKeyId.assign(value); } /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline RecommendationJobInputConfig& WithVolumeKmsKeyId(const Aws::String& value) { SetVolumeKmsKeyId(value); return *this;} /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline RecommendationJobInputConfig& WithVolumeKmsKeyId(Aws::String&& value) { SetVolumeKmsKeyId(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of a Amazon Web Services Key Management * Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data * on the storage volume attached to the ML compute instance that hosts the * endpoint. This key will be passed to SageMaker Hosting for endpoint creation. *
The SageMaker execution role must have kms:CreateGrant
* permission in order to encrypt data on the storage volume of the endpoints
* created for inference recommendation. The inference recommendation job will fail
* asynchronously during endpoint configuration creation if the role passed does
* not have kms:CreateGrant
permission.
The
* KmsKeyId
can be any of the following formats:
// * KMS Key ID
"1234abcd-12ab-34cd-56ef-1234567890ab"
// Amazon Resource Name (ARN) of a KMS Key
* "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>"
*
// KMS Key Alias
"alias/ExampleAlias"
*
// Amazon Resource Name (ARN) of a KMS Key Alias
* "arn:aws:kms:<region>:<account>:alias/<ExampleAlias>"
*
For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.
*/ inline RecommendationJobInputConfig& WithVolumeKmsKeyId(const char* value) { SetVolumeKmsKeyId(value); return *this;} /** *Specifies mandatory fields for running an Inference Recommender job. The
* fields specified in ContainerConfig
override the corresponding
* fields in the model package.
Specifies mandatory fields for running an Inference Recommender job. The
* fields specified in ContainerConfig
override the corresponding
* fields in the model package.
Specifies mandatory fields for running an Inference Recommender job. The
* fields specified in ContainerConfig
override the corresponding
* fields in the model package.
Specifies mandatory fields for running an Inference Recommender job. The
* fields specified in ContainerConfig
override the corresponding
* fields in the model package.
Specifies mandatory fields for running an Inference Recommender job. The
* fields specified in ContainerConfig
override the corresponding
* fields in the model package.
Specifies mandatory fields for running an Inference Recommender job. The
* fields specified in ContainerConfig
override the corresponding
* fields in the model package.
Existing customer endpoints on which to run an Inference Recommender job.
*/ inline const Aws::VectorExisting customer endpoints on which to run an Inference Recommender job.
*/ inline bool EndpointsHasBeenSet() const { return m_endpointsHasBeenSet; } /** *Existing customer endpoints on which to run an Inference Recommender job.
*/ inline void SetEndpoints(const Aws::VectorExisting customer endpoints on which to run an Inference Recommender job.
*/ inline void SetEndpoints(Aws::VectorExisting customer endpoints on which to run an Inference Recommender job.
*/ inline RecommendationJobInputConfig& WithEndpoints(const Aws::VectorExisting customer endpoints on which to run an Inference Recommender job.
*/ inline RecommendationJobInputConfig& WithEndpoints(Aws::VectorExisting customer endpoints on which to run an Inference Recommender job.
*/ inline RecommendationJobInputConfig& AddEndpoints(const EndpointInfo& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(value); return *this; } /** *Existing customer endpoints on which to run an Inference Recommender job.
*/ inline RecommendationJobInputConfig& AddEndpoints(EndpointInfo&& value) { m_endpointsHasBeenSet = true; m_endpoints.push_back(std::move(value)); return *this; } /** *Inference Recommender provisions SageMaker endpoints with access to VPC in * the inference recommendation job.
*/ inline const RecommendationJobVpcConfig& GetVpcConfig() const{ return m_vpcConfig; } /** *Inference Recommender provisions SageMaker endpoints with access to VPC in * the inference recommendation job.
*/ inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; } /** *Inference Recommender provisions SageMaker endpoints with access to VPC in * the inference recommendation job.
*/ inline void SetVpcConfig(const RecommendationJobVpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; } /** *Inference Recommender provisions SageMaker endpoints with access to VPC in * the inference recommendation job.
*/ inline void SetVpcConfig(RecommendationJobVpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); } /** *Inference Recommender provisions SageMaker endpoints with access to VPC in * the inference recommendation job.
*/ inline RecommendationJobInputConfig& WithVpcConfig(const RecommendationJobVpcConfig& value) { SetVpcConfig(value); return *this;} /** *Inference Recommender provisions SageMaker endpoints with access to VPC in * the inference recommendation job.
*/ inline RecommendationJobInputConfig& WithVpcConfig(RecommendationJobVpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;} /** *The name of the created model.
*/ inline const Aws::String& GetModelName() const{ return m_modelName; } /** *The name of the created model.
*/ inline bool ModelNameHasBeenSet() const { return m_modelNameHasBeenSet; } /** *The name of the created model.
*/ inline void SetModelName(const Aws::String& value) { m_modelNameHasBeenSet = true; m_modelName = value; } /** *The name of the created model.
*/ inline void SetModelName(Aws::String&& value) { m_modelNameHasBeenSet = true; m_modelName = std::move(value); } /** *The name of the created model.
*/ inline void SetModelName(const char* value) { m_modelNameHasBeenSet = true; m_modelName.assign(value); } /** *The name of the created model.
*/ inline RecommendationJobInputConfig& WithModelName(const Aws::String& value) { SetModelName(value); return *this;} /** *The name of the created model.
*/ inline RecommendationJobInputConfig& WithModelName(Aws::String&& value) { SetModelName(std::move(value)); return *this;} /** *The name of the created model.
*/ inline RecommendationJobInputConfig& WithModelName(const char* value) { SetModelName(value); return *this;} private: Aws::String m_modelPackageVersionArn; bool m_modelPackageVersionArnHasBeenSet = false; int m_jobDurationInSeconds; bool m_jobDurationInSecondsHasBeenSet = false; TrafficPattern m_trafficPattern; bool m_trafficPatternHasBeenSet = false; RecommendationJobResourceLimit m_resourceLimit; bool m_resourceLimitHasBeenSet = false; Aws::Vector