/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Specifies mandatory fields for running an Inference Recommender job directly * in the CreateInferenceRecommendationsJob * API. The fields specified in ContainerConfig override the * corresponding fields in the model package. Use ContainerConfig if * you want to specify these fields for the recommendation job but don't want to * edit them in your model package.

See Also:

AWS * API Reference

*/ class RecommendationJobContainerConfig { public: AWS_SAGEMAKER_API RecommendationJobContainerConfig(); AWS_SAGEMAKER_API RecommendationJobContainerConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API RecommendationJobContainerConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline RecommendationJobContainerConfig& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline RecommendationJobContainerConfig& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The machine learning domain of the model and its components.

Valid * Values: COMPUTER_VISION | NATURAL_LANGUAGE_PROCESSING | * MACHINE_LEARNING

*/ inline RecommendationJobContainerConfig& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline const Aws::String& GetTask() const{ return m_task; } /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline bool TaskHasBeenSet() const { return m_taskHasBeenSet; } /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline void SetTask(const Aws::String& value) { m_taskHasBeenSet = true; m_task = value; } /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline void SetTask(Aws::String&& value) { m_taskHasBeenSet = true; m_task = std::move(value); } /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline void SetTask(const char* value) { m_taskHasBeenSet = true; m_task.assign(value); } /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline RecommendationJobContainerConfig& WithTask(const Aws::String& value) { SetTask(value); return *this;} /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline RecommendationJobContainerConfig& WithTask(Aws::String&& value) { SetTask(std::move(value)); return *this;} /** *

The machine learning task that the model accomplishes.

Valid Values: * IMAGE_CLASSIFICATION | OBJECT_DETECTION | TEXT_GENERATION | * IMAGE_SEGMENTATION | FILL_MASK | CLASSIFICATION | REGRESSION | OTHER

*/ inline RecommendationJobContainerConfig& WithTask(const char* value) { SetTask(value); return *this;} /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline const Aws::String& GetFramework() const{ return m_framework; } /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline bool FrameworkHasBeenSet() const { return m_frameworkHasBeenSet; } /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline void SetFramework(const Aws::String& value) { m_frameworkHasBeenSet = true; m_framework = value; } /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline void SetFramework(Aws::String&& value) { m_frameworkHasBeenSet = true; m_framework = std::move(value); } /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline void SetFramework(const char* value) { m_frameworkHasBeenSet = true; m_framework.assign(value); } /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline RecommendationJobContainerConfig& WithFramework(const Aws::String& value) { SetFramework(value); return *this;} /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline RecommendationJobContainerConfig& WithFramework(Aws::String&& value) { SetFramework(std::move(value)); return *this;} /** *

The machine learning framework of the container image.

Valid Values: * TENSORFLOW | PYTORCH | XGBOOST | SAGEMAKER-SCIKIT-LEARN

*/ inline RecommendationJobContainerConfig& WithFramework(const char* value) { SetFramework(value); return *this;} /** *

The framework version of the container image.

*/ inline const Aws::String& GetFrameworkVersion() const{ return m_frameworkVersion; } /** *

The framework version of the container image.

*/ inline bool FrameworkVersionHasBeenSet() const { return m_frameworkVersionHasBeenSet; } /** *

The framework version of the container image.

*/ inline void SetFrameworkVersion(const Aws::String& value) { m_frameworkVersionHasBeenSet = true; m_frameworkVersion = value; } /** *

The framework version of the container image.

*/ inline void SetFrameworkVersion(Aws::String&& value) { m_frameworkVersionHasBeenSet = true; m_frameworkVersion = std::move(value); } /** *

The framework version of the container image.

*/ inline void SetFrameworkVersion(const char* value) { m_frameworkVersionHasBeenSet = true; m_frameworkVersion.assign(value); } /** *

The framework version of the container image.

*/ inline RecommendationJobContainerConfig& WithFrameworkVersion(const Aws::String& value) { SetFrameworkVersion(value); return *this;} /** *

The framework version of the container image.

*/ inline RecommendationJobContainerConfig& WithFrameworkVersion(Aws::String&& value) { SetFrameworkVersion(std::move(value)); return *this;} /** *

The framework version of the container image.

*/ inline RecommendationJobContainerConfig& WithFrameworkVersion(const char* value) { SetFrameworkVersion(value); return *this;} /** *

Specifies the SamplePayloadUrl and all other sample * payload-related fields.

*/ inline const RecommendationJobPayloadConfig& GetPayloadConfig() const{ return m_payloadConfig; } /** *

Specifies the SamplePayloadUrl and all other sample * payload-related fields.

*/ inline bool PayloadConfigHasBeenSet() const { return m_payloadConfigHasBeenSet; } /** *

Specifies the SamplePayloadUrl and all other sample * payload-related fields.

*/ inline void SetPayloadConfig(const RecommendationJobPayloadConfig& value) { m_payloadConfigHasBeenSet = true; m_payloadConfig = value; } /** *

Specifies the SamplePayloadUrl and all other sample * payload-related fields.

*/ inline void SetPayloadConfig(RecommendationJobPayloadConfig&& value) { m_payloadConfigHasBeenSet = true; m_payloadConfig = std::move(value); } /** *

Specifies the SamplePayloadUrl and all other sample * payload-related fields.

*/ inline RecommendationJobContainerConfig& WithPayloadConfig(const RecommendationJobPayloadConfig& value) { SetPayloadConfig(value); return *this;} /** *

Specifies the SamplePayloadUrl and all other sample * payload-related fields.

*/ inline RecommendationJobContainerConfig& WithPayloadConfig(RecommendationJobPayloadConfig&& value) { SetPayloadConfig(std::move(value)); return *this;} /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline const Aws::String& GetNearestModelName() const{ return m_nearestModelName; } /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline bool NearestModelNameHasBeenSet() const { return m_nearestModelNameHasBeenSet; } /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline void SetNearestModelName(const Aws::String& value) { m_nearestModelNameHasBeenSet = true; m_nearestModelName = value; } /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline void SetNearestModelName(Aws::String&& value) { m_nearestModelNameHasBeenSet = true; m_nearestModelName = std::move(value); } /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline void SetNearestModelName(const char* value) { m_nearestModelNameHasBeenSet = true; m_nearestModelName.assign(value); } /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline RecommendationJobContainerConfig& WithNearestModelName(const Aws::String& value) { SetNearestModelName(value); return *this;} /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline RecommendationJobContainerConfig& WithNearestModelName(Aws::String&& value) { SetNearestModelName(std::move(value)); return *this;} /** *

The name of a pre-trained machine learning model benchmarked by Amazon * SageMaker Inference Recommender that matches your model.

Valid Values: * efficientnetb7 | unet | xgboost | faster-rcnn-resnet101 | nasnetlarge | * vgg16 | inception-v3 | mask-rcnn | sagemaker-scikit-learn | densenet201-gluon | * resnet18v2-gluon | xception | densenet201 | yolov4 | resnet152 | bert-base-cased * | xceptionV1-keras | resnet50 | retinanet

*/ inline RecommendationJobContainerConfig& WithNearestModelName(const char* value) { SetNearestModelName(value); return *this;} /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline const Aws::Vector& GetSupportedInstanceTypes() const{ return m_supportedInstanceTypes; } /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline bool SupportedInstanceTypesHasBeenSet() const { return m_supportedInstanceTypesHasBeenSet; } /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline void SetSupportedInstanceTypes(const Aws::Vector& value) { m_supportedInstanceTypesHasBeenSet = true; m_supportedInstanceTypes = value; } /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline void SetSupportedInstanceTypes(Aws::Vector&& value) { m_supportedInstanceTypesHasBeenSet = true; m_supportedInstanceTypes = std::move(value); } /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline RecommendationJobContainerConfig& WithSupportedInstanceTypes(const Aws::Vector& value) { SetSupportedInstanceTypes(value); return *this;} /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline RecommendationJobContainerConfig& WithSupportedInstanceTypes(Aws::Vector&& value) { SetSupportedInstanceTypes(std::move(value)); return *this;} /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline RecommendationJobContainerConfig& AddSupportedInstanceTypes(const Aws::String& value) { m_supportedInstanceTypesHasBeenSet = true; m_supportedInstanceTypes.push_back(value); return *this; } /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline RecommendationJobContainerConfig& AddSupportedInstanceTypes(Aws::String&& value) { m_supportedInstanceTypesHasBeenSet = true; m_supportedInstanceTypes.push_back(std::move(value)); return *this; } /** *

A list of the instance types that are used to generate inferences in * real-time.

*/ inline RecommendationJobContainerConfig& AddSupportedInstanceTypes(const char* value) { m_supportedInstanceTypesHasBeenSet = true; m_supportedInstanceTypes.push_back(value); return *this; } /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline const Aws::String& GetDataInputConfig() const{ return m_dataInputConfig; } /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline bool DataInputConfigHasBeenSet() const { return m_dataInputConfigHasBeenSet; } /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline void SetDataInputConfig(const Aws::String& value) { m_dataInputConfigHasBeenSet = true; m_dataInputConfig = value; } /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline void SetDataInputConfig(Aws::String&& value) { m_dataInputConfigHasBeenSet = true; m_dataInputConfig = std::move(value); } /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline void SetDataInputConfig(const char* value) { m_dataInputConfigHasBeenSet = true; m_dataInputConfig.assign(value); } /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline RecommendationJobContainerConfig& WithDataInputConfig(const Aws::String& value) { SetDataInputConfig(value); return *this;} /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline RecommendationJobContainerConfig& WithDataInputConfig(Aws::String&& value) { SetDataInputConfig(std::move(value)); return *this;} /** *

Specifies the name and shape of the expected data inputs for your trained * model with a JSON dictionary form. This field is used for optimizing your model * using SageMaker Neo. For more information, see DataInputConfig.

*/ inline RecommendationJobContainerConfig& WithDataInputConfig(const char* value) { SetDataInputConfig(value); return *this;} /** *

The endpoint type to receive recommendations for. By default this is null, * and the results of the inference recommendation job return a combined list of * both real-time and serverless benchmarks. By specifying a value for this field, * you can receive a longer list of benchmarks for the desired endpoint type.

*/ inline const RecommendationJobSupportedEndpointType& GetSupportedEndpointType() const{ return m_supportedEndpointType; } /** *

The endpoint type to receive recommendations for. By default this is null, * and the results of the inference recommendation job return a combined list of * both real-time and serverless benchmarks. By specifying a value for this field, * you can receive a longer list of benchmarks for the desired endpoint type.

*/ inline bool SupportedEndpointTypeHasBeenSet() const { return m_supportedEndpointTypeHasBeenSet; } /** *

The endpoint type to receive recommendations for. By default this is null, * and the results of the inference recommendation job return a combined list of * both real-time and serverless benchmarks. By specifying a value for this field, * you can receive a longer list of benchmarks for the desired endpoint type.

*/ inline void SetSupportedEndpointType(const RecommendationJobSupportedEndpointType& value) { m_supportedEndpointTypeHasBeenSet = true; m_supportedEndpointType = value; } /** *

The endpoint type to receive recommendations for. By default this is null, * and the results of the inference recommendation job return a combined list of * both real-time and serverless benchmarks. By specifying a value for this field, * you can receive a longer list of benchmarks for the desired endpoint type.

*/ inline void SetSupportedEndpointType(RecommendationJobSupportedEndpointType&& value) { m_supportedEndpointTypeHasBeenSet = true; m_supportedEndpointType = std::move(value); } /** *

The endpoint type to receive recommendations for. By default this is null, * and the results of the inference recommendation job return a combined list of * both real-time and serverless benchmarks. By specifying a value for this field, * you can receive a longer list of benchmarks for the desired endpoint type.

*/ inline RecommendationJobContainerConfig& WithSupportedEndpointType(const RecommendationJobSupportedEndpointType& value) { SetSupportedEndpointType(value); return *this;} /** *

The endpoint type to receive recommendations for. By default this is null, * and the results of the inference recommendation job return a combined list of * both real-time and serverless benchmarks. By specifying a value for this field, * you can receive a longer list of benchmarks for the desired endpoint type.

*/ inline RecommendationJobContainerConfig& WithSupportedEndpointType(RecommendationJobSupportedEndpointType&& value) { SetSupportedEndpointType(std::move(value)); return *this;} private: Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_task; bool m_taskHasBeenSet = false; Aws::String m_framework; bool m_frameworkHasBeenSet = false; Aws::String m_frameworkVersion; bool m_frameworkVersionHasBeenSet = false; RecommendationJobPayloadConfig m_payloadConfig; bool m_payloadConfigHasBeenSet = false; Aws::String m_nearestModelName; bool m_nearestModelNameHasBeenSet = false; Aws::Vector m_supportedInstanceTypes; bool m_supportedInstanceTypesHasBeenSet = false; Aws::String m_dataInputConfig; bool m_dataInputConfigHasBeenSet = false; RecommendationJobSupportedEndpointType m_supportedEndpointType; bool m_supportedEndpointTypeHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws