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

The production variant summary for a deployment when an endpoint is creating * or updating with the CreateEndpoint * or UpdateEndpoint * operations. Describes the VariantStatus , weight and capacity for a * production variant associated with an endpoint.

See Also:

AWS * API Reference

*/ class PendingProductionVariantSummary { public: AWS_SAGEMAKER_API PendingProductionVariantSummary(); AWS_SAGEMAKER_API PendingProductionVariantSummary(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API PendingProductionVariantSummary& 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 PendingProductionVariantSummary& WithVariantName(const Aws::String& value) { SetVariantName(value); return *this;} /** *

The name of the variant.

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

The name of the variant.

*/ inline PendingProductionVariantSummary& 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 PendingProductionVariantSummary& 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 PendingProductionVariantSummary& 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 PendingProductionVariantSummary& 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 PendingProductionVariantSummary& 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 PendingProductionVariantSummary& WithCurrentWeight(double value) { SetCurrentWeight(value); return *this;} /** *

The requested weight for the variant in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The requested weight for the variant in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The requested weight for the variant in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The requested weight for the variant in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

*/ inline PendingProductionVariantSummary& 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 PendingProductionVariantSummary& WithCurrentInstanceCount(int value) { SetCurrentInstanceCount(value); return *this;} /** *

The number of instances requested in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The number of instances requested in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The number of instances requested in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The number of instances requested in this deployment, as specified in the * endpoint configuration for the endpoint. The value is taken from the request to * the CreateEndpointConfig * operation.

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

The type of instances associated with the variant.

*/ inline const ProductionVariantInstanceType& GetInstanceType() const{ return m_instanceType; } /** *

The type of instances associated with the variant.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The type of instances associated with the variant.

*/ inline void SetInstanceType(const ProductionVariantInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The type of instances associated with the variant.

*/ inline void SetInstanceType(ProductionVariantInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The type of instances associated with the variant.

*/ inline PendingProductionVariantSummary& WithInstanceType(const ProductionVariantInstanceType& value) { SetInstanceType(value); return *this;} /** *

The type of instances associated with the variant.

*/ inline PendingProductionVariantSummary& WithInstanceType(ProductionVariantInstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The size of the Elastic Inference (EI) instance to use for the production * variant. EI instances provide on-demand GPU computing for inference. For more * information, see Using Elastic * Inference in Amazon SageMaker.

*/ inline const ProductionVariantAcceleratorType& GetAcceleratorType() const{ return m_acceleratorType; } /** *

The size of the Elastic Inference (EI) instance to use for the production * variant. EI instances provide on-demand GPU computing for inference. For more * information, see Using Elastic * Inference in Amazon SageMaker.

*/ inline bool AcceleratorTypeHasBeenSet() const { return m_acceleratorTypeHasBeenSet; } /** *

The size of the Elastic Inference (EI) instance to use for the production * variant. EI instances provide on-demand GPU computing for inference. For more * information, see Using Elastic * Inference in Amazon SageMaker.

*/ inline void SetAcceleratorType(const ProductionVariantAcceleratorType& value) { m_acceleratorTypeHasBeenSet = true; m_acceleratorType = value; } /** *

The size of the Elastic Inference (EI) instance to use for the production * variant. EI instances provide on-demand GPU computing for inference. For more * information, see Using Elastic * Inference in Amazon SageMaker.

*/ inline void SetAcceleratorType(ProductionVariantAcceleratorType&& value) { m_acceleratorTypeHasBeenSet = true; m_acceleratorType = std::move(value); } /** *

The size of the Elastic Inference (EI) instance to use for the production * variant. EI instances provide on-demand GPU computing for inference. For more * information, see Using Elastic * Inference in Amazon SageMaker.

*/ inline PendingProductionVariantSummary& WithAcceleratorType(const ProductionVariantAcceleratorType& value) { SetAcceleratorType(value); return *this;} /** *

The size of the Elastic Inference (EI) instance to use for the production * variant. EI instances provide on-demand GPU computing for inference. For more * information, see Using Elastic * Inference in Amazon SageMaker.

*/ inline PendingProductionVariantSummary& WithAcceleratorType(ProductionVariantAcceleratorType&& value) { SetAcceleratorType(std::move(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 PendingProductionVariantSummary& WithVariantStatus(const Aws::Vector& value) { SetVariantStatus(value); return *this;} /** *

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

*/ inline PendingProductionVariantSummary& 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 PendingProductionVariantSummary& 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 PendingProductionVariantSummary& 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 PendingProductionVariantSummary& WithCurrentServerlessConfig(const ProductionVariantServerlessConfig& value) { SetCurrentServerlessConfig(value); return *this;} /** *

The serverless configuration for the endpoint.

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

The serverless configuration requested for this deployment, as specified in * the endpoint configuration for the endpoint.

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

The serverless configuration requested for this deployment, as specified in * the endpoint configuration for the endpoint.

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

The serverless configuration requested for this deployment, as specified in * the endpoint configuration for the endpoint.

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

The serverless configuration requested for this deployment, as specified in * the endpoint configuration for the endpoint.

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

The serverless configuration requested for this deployment, as specified in * the endpoint configuration for the endpoint.

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

The serverless configuration requested for this deployment, as specified in * the endpoint configuration for the endpoint.

*/ inline PendingProductionVariantSummary& 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; ProductionVariantInstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; ProductionVariantAcceleratorType m_acceleratorType; bool m_acceleratorTypeHasBeenSet = 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