/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElasticBeanstalk { namespace Model { /** *

CPU utilization and load average metrics for an Amazon EC2 * instance.

See Also:

AWS * API Reference

*/ class SystemStatus { public: AWS_ELASTICBEANSTALK_API SystemStatus(); AWS_ELASTICBEANSTALK_API SystemStatus(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API SystemStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

CPU utilization metrics for the instance.

*/ inline const CPUUtilization& GetCPUUtilization() const{ return m_cPUUtilization; } /** *

CPU utilization metrics for the instance.

*/ inline bool CPUUtilizationHasBeenSet() const { return m_cPUUtilizationHasBeenSet; } /** *

CPU utilization metrics for the instance.

*/ inline void SetCPUUtilization(const CPUUtilization& value) { m_cPUUtilizationHasBeenSet = true; m_cPUUtilization = value; } /** *

CPU utilization metrics for the instance.

*/ inline void SetCPUUtilization(CPUUtilization&& value) { m_cPUUtilizationHasBeenSet = true; m_cPUUtilization = std::move(value); } /** *

CPU utilization metrics for the instance.

*/ inline SystemStatus& WithCPUUtilization(const CPUUtilization& value) { SetCPUUtilization(value); return *this;} /** *

CPU utilization metrics for the instance.

*/ inline SystemStatus& WithCPUUtilization(CPUUtilization&& value) { SetCPUUtilization(std::move(value)); return *this;} /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline const Aws::Vector& GetLoadAverage() const{ return m_loadAverage; } /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline bool LoadAverageHasBeenSet() const { return m_loadAverageHasBeenSet; } /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline void SetLoadAverage(const Aws::Vector& value) { m_loadAverageHasBeenSet = true; m_loadAverage = value; } /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline void SetLoadAverage(Aws::Vector&& value) { m_loadAverageHasBeenSet = true; m_loadAverage = std::move(value); } /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline SystemStatus& WithLoadAverage(const Aws::Vector& value) { SetLoadAverage(value); return *this;} /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline SystemStatus& WithLoadAverage(Aws::Vector&& value) { SetLoadAverage(std::move(value)); return *this;} /** *

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more * information, see Operating * System Metrics.

*/ inline SystemStatus& AddLoadAverage(double value) { m_loadAverageHasBeenSet = true; m_loadAverage.push_back(value); return *this; } private: CPUUtilization m_cPUUtilization; bool m_cPUUtilizationHasBeenSet = false; Aws::Vector m_loadAverage; bool m_loadAverageHasBeenSet = false; }; } // namespace Model } // namespace ElasticBeanstalk } // namespace Aws