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

Utilization metrics for the instance.

See Also:

AWS * API Reference

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

The maximum observed or expected CPU utilization of the instance.

*/ inline const Aws::String& GetMaxCpuUtilizationPercentage() const{ return m_maxCpuUtilizationPercentage; } /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline bool MaxCpuUtilizationPercentageHasBeenSet() const { return m_maxCpuUtilizationPercentageHasBeenSet; } /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline void SetMaxCpuUtilizationPercentage(const Aws::String& value) { m_maxCpuUtilizationPercentageHasBeenSet = true; m_maxCpuUtilizationPercentage = value; } /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline void SetMaxCpuUtilizationPercentage(Aws::String&& value) { m_maxCpuUtilizationPercentageHasBeenSet = true; m_maxCpuUtilizationPercentage = std::move(value); } /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline void SetMaxCpuUtilizationPercentage(const char* value) { m_maxCpuUtilizationPercentageHasBeenSet = true; m_maxCpuUtilizationPercentage.assign(value); } /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline EC2ResourceUtilization& WithMaxCpuUtilizationPercentage(const Aws::String& value) { SetMaxCpuUtilizationPercentage(value); return *this;} /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline EC2ResourceUtilization& WithMaxCpuUtilizationPercentage(Aws::String&& value) { SetMaxCpuUtilizationPercentage(std::move(value)); return *this;} /** *

The maximum observed or expected CPU utilization of the instance.

*/ inline EC2ResourceUtilization& WithMaxCpuUtilizationPercentage(const char* value) { SetMaxCpuUtilizationPercentage(value); return *this;} /** *

The maximum observed or expected memory utilization of the instance.

*/ inline const Aws::String& GetMaxMemoryUtilizationPercentage() const{ return m_maxMemoryUtilizationPercentage; } /** *

The maximum observed or expected memory utilization of the instance.

*/ inline bool MaxMemoryUtilizationPercentageHasBeenSet() const { return m_maxMemoryUtilizationPercentageHasBeenSet; } /** *

The maximum observed or expected memory utilization of the instance.

*/ inline void SetMaxMemoryUtilizationPercentage(const Aws::String& value) { m_maxMemoryUtilizationPercentageHasBeenSet = true; m_maxMemoryUtilizationPercentage = value; } /** *

The maximum observed or expected memory utilization of the instance.

*/ inline void SetMaxMemoryUtilizationPercentage(Aws::String&& value) { m_maxMemoryUtilizationPercentageHasBeenSet = true; m_maxMemoryUtilizationPercentage = std::move(value); } /** *

The maximum observed or expected memory utilization of the instance.

*/ inline void SetMaxMemoryUtilizationPercentage(const char* value) { m_maxMemoryUtilizationPercentageHasBeenSet = true; m_maxMemoryUtilizationPercentage.assign(value); } /** *

The maximum observed or expected memory utilization of the instance.

*/ inline EC2ResourceUtilization& WithMaxMemoryUtilizationPercentage(const Aws::String& value) { SetMaxMemoryUtilizationPercentage(value); return *this;} /** *

The maximum observed or expected memory utilization of the instance.

*/ inline EC2ResourceUtilization& WithMaxMemoryUtilizationPercentage(Aws::String&& value) { SetMaxMemoryUtilizationPercentage(std::move(value)); return *this;} /** *

The maximum observed or expected memory utilization of the instance.

*/ inline EC2ResourceUtilization& WithMaxMemoryUtilizationPercentage(const char* value) { SetMaxMemoryUtilizationPercentage(value); return *this;} /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline const Aws::String& GetMaxStorageUtilizationPercentage() const{ return m_maxStorageUtilizationPercentage; } /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline bool MaxStorageUtilizationPercentageHasBeenSet() const { return m_maxStorageUtilizationPercentageHasBeenSet; } /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline void SetMaxStorageUtilizationPercentage(const Aws::String& value) { m_maxStorageUtilizationPercentageHasBeenSet = true; m_maxStorageUtilizationPercentage = value; } /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline void SetMaxStorageUtilizationPercentage(Aws::String&& value) { m_maxStorageUtilizationPercentageHasBeenSet = true; m_maxStorageUtilizationPercentage = std::move(value); } /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline void SetMaxStorageUtilizationPercentage(const char* value) { m_maxStorageUtilizationPercentageHasBeenSet = true; m_maxStorageUtilizationPercentage.assign(value); } /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline EC2ResourceUtilization& WithMaxStorageUtilizationPercentage(const Aws::String& value) { SetMaxStorageUtilizationPercentage(value); return *this;} /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline EC2ResourceUtilization& WithMaxStorageUtilizationPercentage(Aws::String&& value) { SetMaxStorageUtilizationPercentage(std::move(value)); return *this;} /** *

The maximum observed or expected storage utilization of the instance. This * doesn't include EBS storage.

*/ inline EC2ResourceUtilization& WithMaxStorageUtilizationPercentage(const char* value) { SetMaxStorageUtilizationPercentage(value); return *this;} /** *

The EBS field that contains a list of EBS metrics that are associated with * the current instance.

*/ inline const EBSResourceUtilization& GetEBSResourceUtilization() const{ return m_eBSResourceUtilization; } /** *

The EBS field that contains a list of EBS metrics that are associated with * the current instance.

*/ inline bool EBSResourceUtilizationHasBeenSet() const { return m_eBSResourceUtilizationHasBeenSet; } /** *

The EBS field that contains a list of EBS metrics that are associated with * the current instance.

*/ inline void SetEBSResourceUtilization(const EBSResourceUtilization& value) { m_eBSResourceUtilizationHasBeenSet = true; m_eBSResourceUtilization = value; } /** *

The EBS field that contains a list of EBS metrics that are associated with * the current instance.

*/ inline void SetEBSResourceUtilization(EBSResourceUtilization&& value) { m_eBSResourceUtilizationHasBeenSet = true; m_eBSResourceUtilization = std::move(value); } /** *

The EBS field that contains a list of EBS metrics that are associated with * the current instance.

*/ inline EC2ResourceUtilization& WithEBSResourceUtilization(const EBSResourceUtilization& value) { SetEBSResourceUtilization(value); return *this;} /** *

The EBS field that contains a list of EBS metrics that are associated with * the current instance.

*/ inline EC2ResourceUtilization& WithEBSResourceUtilization(EBSResourceUtilization&& value) { SetEBSResourceUtilization(std::move(value)); return *this;} /** *

The field that contains a list of disk (local storage) metrics that are * associated with the current instance.

*/ inline const DiskResourceUtilization& GetDiskResourceUtilization() const{ return m_diskResourceUtilization; } /** *

The field that contains a list of disk (local storage) metrics that are * associated with the current instance.

*/ inline bool DiskResourceUtilizationHasBeenSet() const { return m_diskResourceUtilizationHasBeenSet; } /** *

The field that contains a list of disk (local storage) metrics that are * associated with the current instance.

*/ inline void SetDiskResourceUtilization(const DiskResourceUtilization& value) { m_diskResourceUtilizationHasBeenSet = true; m_diskResourceUtilization = value; } /** *

The field that contains a list of disk (local storage) metrics that are * associated with the current instance.

*/ inline void SetDiskResourceUtilization(DiskResourceUtilization&& value) { m_diskResourceUtilizationHasBeenSet = true; m_diskResourceUtilization = std::move(value); } /** *

The field that contains a list of disk (local storage) metrics that are * associated with the current instance.

*/ inline EC2ResourceUtilization& WithDiskResourceUtilization(const DiskResourceUtilization& value) { SetDiskResourceUtilization(value); return *this;} /** *

The field that contains a list of disk (local storage) metrics that are * associated with the current instance.

*/ inline EC2ResourceUtilization& WithDiskResourceUtilization(DiskResourceUtilization&& value) { SetDiskResourceUtilization(std::move(value)); return *this;} /** *

The network field that contains a list of network metrics that are associated * with the current instance.

*/ inline const NetworkResourceUtilization& GetNetworkResourceUtilization() const{ return m_networkResourceUtilization; } /** *

The network field that contains a list of network metrics that are associated * with the current instance.

*/ inline bool NetworkResourceUtilizationHasBeenSet() const { return m_networkResourceUtilizationHasBeenSet; } /** *

The network field that contains a list of network metrics that are associated * with the current instance.

*/ inline void SetNetworkResourceUtilization(const NetworkResourceUtilization& value) { m_networkResourceUtilizationHasBeenSet = true; m_networkResourceUtilization = value; } /** *

The network field that contains a list of network metrics that are associated * with the current instance.

*/ inline void SetNetworkResourceUtilization(NetworkResourceUtilization&& value) { m_networkResourceUtilizationHasBeenSet = true; m_networkResourceUtilization = std::move(value); } /** *

The network field that contains a list of network metrics that are associated * with the current instance.

*/ inline EC2ResourceUtilization& WithNetworkResourceUtilization(const NetworkResourceUtilization& value) { SetNetworkResourceUtilization(value); return *this;} /** *

The network field that contains a list of network metrics that are associated * with the current instance.

*/ inline EC2ResourceUtilization& WithNetworkResourceUtilization(NetworkResourceUtilization&& value) { SetNetworkResourceUtilization(std::move(value)); return *this;} private: Aws::String m_maxCpuUtilizationPercentage; bool m_maxCpuUtilizationPercentageHasBeenSet = false; Aws::String m_maxMemoryUtilizationPercentage; bool m_maxMemoryUtilizationPercentageHasBeenSet = false; Aws::String m_maxStorageUtilizationPercentage; bool m_maxStorageUtilizationPercentageHasBeenSet = false; EBSResourceUtilization m_eBSResourceUtilization; bool m_eBSResourceUtilizationHasBeenSet = false; DiskResourceUtilization m_diskResourceUtilization; bool m_diskResourceUtilizationHasBeenSet = false; NetworkResourceUtilization m_networkResourceUtilization; bool m_networkResourceUtilizationHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws