/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Describes weight and capacities for a production variant associated with an * endpoint. If you sent a request to the * UpdateEndpointWeightsAndCapacities API and the endpoint status is * Updating, you get different desired and current values. *

See Also:

AWS * API Reference

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

The name of the variant.

*/ inline const Aws::String& GetVariantName() const{ return m_variantName; } /** *

The name of the variant.

*/ inline bool VariantNameHasBeenSet() const { return m_variantNameHasBeenSet; } /** *

The name of the variant.

*/ inline void SetVariantName(const Aws::String& value) { m_variantNameHasBeenSet = true; m_variantName = value; } /** *

The name of the variant.

*/ inline void SetVariantName(Aws::String&& value) { m_variantNameHasBeenSet = true; m_variantName = std::move(value); } /** *

The name of the variant.

*/ inline void SetVariantName(const char* value) { m_variantNameHasBeenSet = true; m_variantName.assign(value); } /** *

The name of the variant.

*/ inline ProductionVariantSummary& WithVariantName(const Aws::String& value) { SetVariantName(value); return *this;} /** *

The name of the variant.

*/ inline ProductionVariantSummary& WithVariantName(Aws::String&& value) { SetVariantName(std::move(value)); return *this;} /** *

The name of the variant.

*/ inline ProductionVariantSummary& WithVariantName(const char* value) { SetVariantName(value); return *this;} /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline const Aws::Vector& GetDeployedImages() const{ return m_deployedImages; } /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline bool DeployedImagesHasBeenSet() const { return m_deployedImagesHasBeenSet; } /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline void SetDeployedImages(const Aws::Vector& value) { m_deployedImagesHasBeenSet = true; m_deployedImages = value; } /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline void SetDeployedImages(Aws::Vector&& value) { m_deployedImagesHasBeenSet = true; m_deployedImages = std::move(value); } /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline ProductionVariantSummary& WithDeployedImages(const Aws::Vector& value) { SetDeployedImages(value); return *this;} /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline ProductionVariantSummary& WithDeployedImages(Aws::Vector&& value) { SetDeployedImages(std::move(value)); return *this;} /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline ProductionVariantSummary& AddDeployedImages(const DeployedImage& value) { m_deployedImagesHasBeenSet = true; m_deployedImages.push_back(value); return *this; } /** *

An array of DeployedImage objects that specify the Amazon EC2 * Container Registry paths of the inference images deployed on instances of this * ProductionVariant.

*/ inline ProductionVariantSummary& AddDeployedImages(DeployedImage&& value) { m_deployedImagesHasBeenSet = true; m_deployedImages.push_back(std::move(value)); return *this; } /** *

The weight associated with the variant.

*/ inline double GetCurrentWeight() const{ return m_currentWeight; } /** *

The weight associated with the variant.

*/ inline bool CurrentWeightHasBeenSet() const { return m_currentWeightHasBeenSet; } /** *

The weight associated with the variant.

*/ inline void SetCurrentWeight(double value) { m_currentWeightHasBeenSet = true; m_currentWeight = value; } /** *

The weight associated with the variant.

*/ inline ProductionVariantSummary& WithCurrentWeight(double value) { SetCurrentWeight(value); return *this;} /** *

The requested weight, as specified in the * UpdateEndpointWeightsAndCapacities request.

*/ inline double GetDesiredWeight() const{ return m_desiredWeight; } /** *

The requested weight, as specified in the * UpdateEndpointWeightsAndCapacities request.

*/ inline bool DesiredWeightHasBeenSet() const { return m_desiredWeightHasBeenSet; } /** *

The requested weight, as specified in the * UpdateEndpointWeightsAndCapacities request.

*/ inline void SetDesiredWeight(double value) { m_desiredWeightHasBeenSet = true; m_desiredWeight = value; } /** *

The requested weight, as specified in the * UpdateEndpointWeightsAndCapacities request.

*/ inline ProductionVariantSummary& WithDesiredWeight(double value) { SetDesiredWeight(value); return *this;} /** *

The number of instances associated with the variant.

*/ inline int GetCurrentInstanceCount() const{ return m_currentInstanceCount; } /** *

The number of instances associated with the variant.

*/ inline bool CurrentInstanceCountHasBeenSet() const { return m_currentInstanceCountHasBeenSet; } /** *

The number of instances associated with the variant.

*/ inline void SetCurrentInstanceCount(int value) { m_currentInstanceCountHasBeenSet = true; m_currentInstanceCount = value; } /** *

The number of instances associated with the variant.

*/ inline ProductionVariantSummary& WithCurrentInstanceCount(int value) { SetCurrentInstanceCount(value); return *this;} /** *

The number of instances requested in the * UpdateEndpointWeightsAndCapacities request.

*/ inline int GetDesiredInstanceCount() const{ return m_desiredInstanceCount; } /** *

The number of instances requested in the * UpdateEndpointWeightsAndCapacities request.

*/ inline bool DesiredInstanceCountHasBeenSet() const { return m_desiredInstanceCountHasBeenSet; } /** *

The number of instances requested in the * UpdateEndpointWeightsAndCapacities request.

*/ inline void SetDesiredInstanceCount(int value) { m_desiredInstanceCountHasBeenSet = true; m_desiredInstanceCount = value; } /** *

The number of instances requested in the * UpdateEndpointWeightsAndCapacities request.

*/ inline ProductionVariantSummary& WithDesiredInstanceCount(int value) { SetDesiredInstanceCount(value); return *this;} /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline const Aws::Vector& GetVariantStatus() const{ return m_variantStatus; } /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline bool VariantStatusHasBeenSet() const { return m_variantStatusHasBeenSet; } /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline void SetVariantStatus(const Aws::Vector& value) { m_variantStatusHasBeenSet = true; m_variantStatus = value; } /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline void SetVariantStatus(Aws::Vector&& value) { m_variantStatusHasBeenSet = true; m_variantStatus = std::move(value); } /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline ProductionVariantSummary& WithVariantStatus(const Aws::Vector& value) { SetVariantStatus(value); return *this;} /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline ProductionVariantSummary& WithVariantStatus(Aws::Vector&& value) { SetVariantStatus(std::move(value)); return *this;} /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline ProductionVariantSummary& AddVariantStatus(const ProductionVariantStatus& value) { m_variantStatusHasBeenSet = true; m_variantStatus.push_back(value); return *this; } /** *

The endpoint variant status which describes the current deployment stage * status or operational status.

*/ inline ProductionVariantSummary& AddVariantStatus(ProductionVariantStatus&& value) { m_variantStatusHasBeenSet = true; m_variantStatus.push_back(std::move(value)); return *this; } /** *

The serverless configuration for the endpoint.

*/ inline const ProductionVariantServerlessConfig& GetCurrentServerlessConfig() const{ return m_currentServerlessConfig; } /** *

The serverless configuration for the endpoint.

*/ inline bool CurrentServerlessConfigHasBeenSet() const { return m_currentServerlessConfigHasBeenSet; } /** *

The serverless configuration for the endpoint.

*/ inline void SetCurrentServerlessConfig(const ProductionVariantServerlessConfig& value) { m_currentServerlessConfigHasBeenSet = true; m_currentServerlessConfig = value; } /** *

The serverless configuration for the endpoint.

*/ inline void SetCurrentServerlessConfig(ProductionVariantServerlessConfig&& value) { m_currentServerlessConfigHasBeenSet = true; m_currentServerlessConfig = std::move(value); } /** *

The serverless configuration for the endpoint.

*/ inline ProductionVariantSummary& WithCurrentServerlessConfig(const ProductionVariantServerlessConfig& value) { SetCurrentServerlessConfig(value); return *this;} /** *

The serverless configuration for the endpoint.

*/ inline ProductionVariantSummary& WithCurrentServerlessConfig(ProductionVariantServerlessConfig&& value) { SetCurrentServerlessConfig(std::move(value)); return *this;} /** *

The serverless configuration requested for the endpoint update.

*/ inline const ProductionVariantServerlessConfig& GetDesiredServerlessConfig() const{ return m_desiredServerlessConfig; } /** *

The serverless configuration requested for the endpoint update.

*/ inline bool DesiredServerlessConfigHasBeenSet() const { return m_desiredServerlessConfigHasBeenSet; } /** *

The serverless configuration requested for the endpoint update.

*/ inline void SetDesiredServerlessConfig(const ProductionVariantServerlessConfig& value) { m_desiredServerlessConfigHasBeenSet = true; m_desiredServerlessConfig = value; } /** *

The serverless configuration requested for the endpoint update.

*/ inline void SetDesiredServerlessConfig(ProductionVariantServerlessConfig&& value) { m_desiredServerlessConfigHasBeenSet = true; m_desiredServerlessConfig = std::move(value); } /** *

The serverless configuration requested for the endpoint update.

*/ inline ProductionVariantSummary& WithDesiredServerlessConfig(const ProductionVariantServerlessConfig& value) { SetDesiredServerlessConfig(value); return *this;} /** *

The serverless configuration requested for the endpoint update.

*/ inline ProductionVariantSummary& WithDesiredServerlessConfig(ProductionVariantServerlessConfig&& value) { SetDesiredServerlessConfig(std::move(value)); return *this;} private: Aws::String m_variantName; bool m_variantNameHasBeenSet = false; Aws::Vector m_deployedImages; bool m_deployedImagesHasBeenSet = false; double m_currentWeight; bool m_currentWeightHasBeenSet = false; double m_desiredWeight; bool m_desiredWeightHasBeenSet = false; int m_currentInstanceCount; bool m_currentInstanceCountHasBeenSet = false; int m_desiredInstanceCount; bool m_desiredInstanceCountHasBeenSet = false; Aws::Vector m_variantStatus; bool m_variantStatusHasBeenSet = false; ProductionVariantServerlessConfig m_currentServerlessConfig; bool m_currentServerlessConfigHasBeenSet = false; ProductionVariantServerlessConfig m_desiredServerlessConfig; bool m_desiredServerlessConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws