/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace SageMaker { namespace Model { /** */ class UpdateInferenceExperimentRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API UpdateInferenceExperimentRequest(); // 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 "UpdateInferenceExperiment"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the inference experiment to be updated.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the inference experiment to be updated.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the inference experiment to be updated.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the inference experiment to be updated.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the inference experiment to be updated.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the inference experiment to be updated.

*/ inline UpdateInferenceExperimentRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the inference experiment to be updated.

*/ inline UpdateInferenceExperimentRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the inference experiment to be updated.

*/ inline UpdateInferenceExperimentRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The duration for which the inference experiment will run. If the status of * the inference experiment is Created, then you can update both the * start and end dates. If the status of the inference experiment is * Running, then you can update only the end date.

*/ inline const InferenceExperimentSchedule& GetSchedule() const{ return m_schedule; } /** *

The duration for which the inference experiment will run. If the status of * the inference experiment is Created, then you can update both the * start and end dates. If the status of the inference experiment is * Running, then you can update only the end date.

*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *

The duration for which the inference experiment will run. If the status of * the inference experiment is Created, then you can update both the * start and end dates. If the status of the inference experiment is * Running, then you can update only the end date.

*/ inline void SetSchedule(const InferenceExperimentSchedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *

The duration for which the inference experiment will run. If the status of * the inference experiment is Created, then you can update both the * start and end dates. If the status of the inference experiment is * Running, then you can update only the end date.

*/ inline void SetSchedule(InferenceExperimentSchedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *

The duration for which the inference experiment will run. If the status of * the inference experiment is Created, then you can update both the * start and end dates. If the status of the inference experiment is * Running, then you can update only the end date.

*/ inline UpdateInferenceExperimentRequest& WithSchedule(const InferenceExperimentSchedule& value) { SetSchedule(value); return *this;} /** *

The duration for which the inference experiment will run. If the status of * the inference experiment is Created, then you can update both the * start and end dates. If the status of the inference experiment is * Running, then you can update only the end date.

*/ inline UpdateInferenceExperimentRequest& WithSchedule(InferenceExperimentSchedule&& value) { SetSchedule(std::move(value)); return *this;} /** *

The description of the inference experiment.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the inference experiment.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the inference experiment.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the inference experiment.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the inference experiment.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the inference experiment.

*/ inline UpdateInferenceExperimentRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the inference experiment.

*/ inline UpdateInferenceExperimentRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the inference experiment.

*/ inline UpdateInferenceExperimentRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline const Aws::Vector& GetModelVariants() const{ return m_modelVariants; } /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline bool ModelVariantsHasBeenSet() const { return m_modelVariantsHasBeenSet; } /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline void SetModelVariants(const Aws::Vector& value) { m_modelVariantsHasBeenSet = true; m_modelVariants = value; } /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline void SetModelVariants(Aws::Vector&& value) { m_modelVariantsHasBeenSet = true; m_modelVariants = std::move(value); } /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline UpdateInferenceExperimentRequest& WithModelVariants(const Aws::Vector& value) { SetModelVariants(value); return *this;} /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline UpdateInferenceExperimentRequest& WithModelVariants(Aws::Vector&& value) { SetModelVariants(std::move(value)); return *this;} /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline UpdateInferenceExperimentRequest& AddModelVariants(const ModelVariantConfig& value) { m_modelVariantsHasBeenSet = true; m_modelVariants.push_back(value); return *this; } /** *

An array of ModelVariantConfig objects. There is one for each * variant, whose infrastructure configuration you want to update.

*/ inline UpdateInferenceExperimentRequest& AddModelVariants(ModelVariantConfig&& value) { m_modelVariantsHasBeenSet = true; m_modelVariants.push_back(std::move(value)); return *this; } /** *

The Amazon S3 location and configuration for storing inference request and * response data.

*/ inline const InferenceExperimentDataStorageConfig& GetDataStorageConfig() const{ return m_dataStorageConfig; } /** *

The Amazon S3 location and configuration for storing inference request and * response data.

*/ inline bool DataStorageConfigHasBeenSet() const { return m_dataStorageConfigHasBeenSet; } /** *

The Amazon S3 location and configuration for storing inference request and * response data.

*/ inline void SetDataStorageConfig(const InferenceExperimentDataStorageConfig& value) { m_dataStorageConfigHasBeenSet = true; m_dataStorageConfig = value; } /** *

The Amazon S3 location and configuration for storing inference request and * response data.

*/ inline void SetDataStorageConfig(InferenceExperimentDataStorageConfig&& value) { m_dataStorageConfigHasBeenSet = true; m_dataStorageConfig = std::move(value); } /** *

The Amazon S3 location and configuration for storing inference request and * response data.

*/ inline UpdateInferenceExperimentRequest& WithDataStorageConfig(const InferenceExperimentDataStorageConfig& value) { SetDataStorageConfig(value); return *this;} /** *

The Amazon S3 location and configuration for storing inference request and * response data.

*/ inline UpdateInferenceExperimentRequest& WithDataStorageConfig(InferenceExperimentDataStorageConfig&& value) { SetDataStorageConfig(std::move(value)); return *this;} /** *

The configuration of ShadowMode inference experiment type. Use * this field to specify a production variant which takes all the inference * requests, and a shadow variant to which Amazon SageMaker replicates a percentage * of the inference requests. For the shadow variant also specify the percentage of * requests that Amazon SageMaker replicates.

*/ inline const ShadowModeConfig& GetShadowModeConfig() const{ return m_shadowModeConfig; } /** *

The configuration of ShadowMode inference experiment type. Use * this field to specify a production variant which takes all the inference * requests, and a shadow variant to which Amazon SageMaker replicates a percentage * of the inference requests. For the shadow variant also specify the percentage of * requests that Amazon SageMaker replicates.

*/ inline bool ShadowModeConfigHasBeenSet() const { return m_shadowModeConfigHasBeenSet; } /** *

The configuration of ShadowMode inference experiment type. Use * this field to specify a production variant which takes all the inference * requests, and a shadow variant to which Amazon SageMaker replicates a percentage * of the inference requests. For the shadow variant also specify the percentage of * requests that Amazon SageMaker replicates.

*/ inline void SetShadowModeConfig(const ShadowModeConfig& value) { m_shadowModeConfigHasBeenSet = true; m_shadowModeConfig = value; } /** *

The configuration of ShadowMode inference experiment type. Use * this field to specify a production variant which takes all the inference * requests, and a shadow variant to which Amazon SageMaker replicates a percentage * of the inference requests. For the shadow variant also specify the percentage of * requests that Amazon SageMaker replicates.

*/ inline void SetShadowModeConfig(ShadowModeConfig&& value) { m_shadowModeConfigHasBeenSet = true; m_shadowModeConfig = std::move(value); } /** *

The configuration of ShadowMode inference experiment type. Use * this field to specify a production variant which takes all the inference * requests, and a shadow variant to which Amazon SageMaker replicates a percentage * of the inference requests. For the shadow variant also specify the percentage of * requests that Amazon SageMaker replicates.

*/ inline UpdateInferenceExperimentRequest& WithShadowModeConfig(const ShadowModeConfig& value) { SetShadowModeConfig(value); return *this;} /** *

The configuration of ShadowMode inference experiment type. Use * this field to specify a production variant which takes all the inference * requests, and a shadow variant to which Amazon SageMaker replicates a percentage * of the inference requests. For the shadow variant also specify the percentage of * requests that Amazon SageMaker replicates.

*/ inline UpdateInferenceExperimentRequest& WithShadowModeConfig(ShadowModeConfig&& value) { SetShadowModeConfig(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; InferenceExperimentSchedule m_schedule; bool m_scheduleHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_modelVariants; bool m_modelVariantsHasBeenSet = false; InferenceExperimentDataStorageConfig m_dataStorageConfig; bool m_dataStorageConfigHasBeenSet = false; ShadowModeConfig m_shadowModeConfig; bool m_shadowModeConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws