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

The metrics of recommendations.

See Also:

AWS * API Reference

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

Defines the cost per hour for the instance.

*/ inline double GetCostPerHour() const{ return m_costPerHour; } /** *

Defines the cost per hour for the instance.

*/ inline bool CostPerHourHasBeenSet() const { return m_costPerHourHasBeenSet; } /** *

Defines the cost per hour for the instance.

*/ inline void SetCostPerHour(double value) { m_costPerHourHasBeenSet = true; m_costPerHour = value; } /** *

Defines the cost per hour for the instance.

*/ inline RecommendationMetrics& WithCostPerHour(double value) { SetCostPerHour(value); return *this;} /** *

Defines the cost per inference for the instance .

*/ inline double GetCostPerInference() const{ return m_costPerInference; } /** *

Defines the cost per inference for the instance .

*/ inline bool CostPerInferenceHasBeenSet() const { return m_costPerInferenceHasBeenSet; } /** *

Defines the cost per inference for the instance .

*/ inline void SetCostPerInference(double value) { m_costPerInferenceHasBeenSet = true; m_costPerInference = value; } /** *

Defines the cost per inference for the instance .

*/ inline RecommendationMetrics& WithCostPerInference(double value) { SetCostPerInference(value); return *this;} /** *

The expected maximum number of requests per minute for the instance.

*/ inline int GetMaxInvocations() const{ return m_maxInvocations; } /** *

The expected maximum number of requests per minute for the instance.

*/ inline bool MaxInvocationsHasBeenSet() const { return m_maxInvocationsHasBeenSet; } /** *

The expected maximum number of requests per minute for the instance.

*/ inline void SetMaxInvocations(int value) { m_maxInvocationsHasBeenSet = true; m_maxInvocations = value; } /** *

The expected maximum number of requests per minute for the instance.

*/ inline RecommendationMetrics& WithMaxInvocations(int value) { SetMaxInvocations(value); return *this;} /** *

The expected model latency at maximum invocation per minute for the * instance.

*/ inline int GetModelLatency() const{ return m_modelLatency; } /** *

The expected model latency at maximum invocation per minute for the * instance.

*/ inline bool ModelLatencyHasBeenSet() const { return m_modelLatencyHasBeenSet; } /** *

The expected model latency at maximum invocation per minute for the * instance.

*/ inline void SetModelLatency(int value) { m_modelLatencyHasBeenSet = true; m_modelLatency = value; } /** *

The expected model latency at maximum invocation per minute for the * instance.

*/ inline RecommendationMetrics& WithModelLatency(int value) { SetModelLatency(value); return *this;} /** *

The expected CPU utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline double GetCpuUtilization() const{ return m_cpuUtilization; } /** *

The expected CPU utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline bool CpuUtilizationHasBeenSet() const { return m_cpuUtilizationHasBeenSet; } /** *

The expected CPU utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline void SetCpuUtilization(double value) { m_cpuUtilizationHasBeenSet = true; m_cpuUtilization = value; } /** *

The expected CPU utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline RecommendationMetrics& WithCpuUtilization(double value) { SetCpuUtilization(value); return *this;} /** *

The expected memory utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline double GetMemoryUtilization() const{ return m_memoryUtilization; } /** *

The expected memory utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline bool MemoryUtilizationHasBeenSet() const { return m_memoryUtilizationHasBeenSet; } /** *

The expected memory utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline void SetMemoryUtilization(double value) { m_memoryUtilizationHasBeenSet = true; m_memoryUtilization = value; } /** *

The expected memory utilization at maximum invocations per minute for the * instance.

NaN indicates that the value is not * available.

*/ inline RecommendationMetrics& WithMemoryUtilization(double value) { SetMemoryUtilization(value); return *this;} /** *

The time it takes to launch new compute resources for a serverless endpoint. * The time can vary depending on the model size, how long it takes to download the * model, and the start-up time of the container.

NaN * indicates that the value is not available.

*/ inline int GetModelSetupTime() const{ return m_modelSetupTime; } /** *

The time it takes to launch new compute resources for a serverless endpoint. * The time can vary depending on the model size, how long it takes to download the * model, and the start-up time of the container.

NaN * indicates that the value is not available.

*/ inline bool ModelSetupTimeHasBeenSet() const { return m_modelSetupTimeHasBeenSet; } /** *

The time it takes to launch new compute resources for a serverless endpoint. * The time can vary depending on the model size, how long it takes to download the * model, and the start-up time of the container.

NaN * indicates that the value is not available.

*/ inline void SetModelSetupTime(int value) { m_modelSetupTimeHasBeenSet = true; m_modelSetupTime = value; } /** *

The time it takes to launch new compute resources for a serverless endpoint. * The time can vary depending on the model size, how long it takes to download the * model, and the start-up time of the container.

NaN * indicates that the value is not available.

*/ inline RecommendationMetrics& WithModelSetupTime(int value) { SetModelSetupTime(value); return *this;} private: double m_costPerHour; bool m_costPerHourHasBeenSet = false; double m_costPerInference; bool m_costPerInferenceHasBeenSet = false; int m_maxInvocations; bool m_maxInvocationsHasBeenSet = false; int m_modelLatency; bool m_modelLatencyHasBeenSet = false; double m_cpuUtilization; bool m_cpuUtilizationHasBeenSet = false; double m_memoryUtilization; bool m_memoryUtilizationHasBeenSet = false; int m_modelSetupTime; bool m_modelSetupTimeHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws