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

The configuration of ShadowMode inference experiment type, * which specifies a production variant to take all the inference requests, and a * shadow variant to which Amazon SageMaker replicates a percentage of the * inference requests. For the shadow variant it also specifies the percentage of * requests that Amazon SageMaker replicates.

See Also:

AWS * API Reference

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

The name of the production variant, which takes all the inference requests. *

*/ inline const Aws::String& GetSourceModelVariantName() const{ return m_sourceModelVariantName; } /** *

The name of the production variant, which takes all the inference requests. *

*/ inline bool SourceModelVariantNameHasBeenSet() const { return m_sourceModelVariantNameHasBeenSet; } /** *

The name of the production variant, which takes all the inference requests. *

*/ inline void SetSourceModelVariantName(const Aws::String& value) { m_sourceModelVariantNameHasBeenSet = true; m_sourceModelVariantName = value; } /** *

The name of the production variant, which takes all the inference requests. *

*/ inline void SetSourceModelVariantName(Aws::String&& value) { m_sourceModelVariantNameHasBeenSet = true; m_sourceModelVariantName = std::move(value); } /** *

The name of the production variant, which takes all the inference requests. *

*/ inline void SetSourceModelVariantName(const char* value) { m_sourceModelVariantNameHasBeenSet = true; m_sourceModelVariantName.assign(value); } /** *

The name of the production variant, which takes all the inference requests. *

*/ inline ShadowModeConfig& WithSourceModelVariantName(const Aws::String& value) { SetSourceModelVariantName(value); return *this;} /** *

The name of the production variant, which takes all the inference requests. *

*/ inline ShadowModeConfig& WithSourceModelVariantName(Aws::String&& value) { SetSourceModelVariantName(std::move(value)); return *this;} /** *

The name of the production variant, which takes all the inference requests. *

*/ inline ShadowModeConfig& WithSourceModelVariantName(const char* value) { SetSourceModelVariantName(value); return *this;} /** *

List of shadow variant configurations.

*/ inline const Aws::Vector& GetShadowModelVariants() const{ return m_shadowModelVariants; } /** *

List of shadow variant configurations.

*/ inline bool ShadowModelVariantsHasBeenSet() const { return m_shadowModelVariantsHasBeenSet; } /** *

List of shadow variant configurations.

*/ inline void SetShadowModelVariants(const Aws::Vector& value) { m_shadowModelVariantsHasBeenSet = true; m_shadowModelVariants = value; } /** *

List of shadow variant configurations.

*/ inline void SetShadowModelVariants(Aws::Vector&& value) { m_shadowModelVariantsHasBeenSet = true; m_shadowModelVariants = std::move(value); } /** *

List of shadow variant configurations.

*/ inline ShadowModeConfig& WithShadowModelVariants(const Aws::Vector& value) { SetShadowModelVariants(value); return *this;} /** *

List of shadow variant configurations.

*/ inline ShadowModeConfig& WithShadowModelVariants(Aws::Vector&& value) { SetShadowModelVariants(std::move(value)); return *this;} /** *

List of shadow variant configurations.

*/ inline ShadowModeConfig& AddShadowModelVariants(const ShadowModelVariantConfig& value) { m_shadowModelVariantsHasBeenSet = true; m_shadowModelVariants.push_back(value); return *this; } /** *

List of shadow variant configurations.

*/ inline ShadowModeConfig& AddShadowModelVariants(ShadowModelVariantConfig&& value) { m_shadowModelVariantsHasBeenSet = true; m_shadowModelVariants.push_back(std::move(value)); return *this; } private: Aws::String m_sourceModelVariantName; bool m_sourceModelVariantNameHasBeenSet = false; Aws::Vector m_shadowModelVariants; bool m_shadowModelVariantsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws