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

Describes the optimized EBS performance for supported instance * types.

See Also:

AWS * API Reference

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

The baseline bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline int GetBaselineBandwidthInMbps() const{ return m_baselineBandwidthInMbps; } /** *

The baseline bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline bool BaselineBandwidthInMbpsHasBeenSet() const { return m_baselineBandwidthInMbpsHasBeenSet; } /** *

The baseline bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline void SetBaselineBandwidthInMbps(int value) { m_baselineBandwidthInMbpsHasBeenSet = true; m_baselineBandwidthInMbps = value; } /** *

The baseline bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline EbsOptimizedInfo& WithBaselineBandwidthInMbps(int value) { SetBaselineBandwidthInMbps(value); return *this;} /** *

The baseline throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline double GetBaselineThroughputInMBps() const{ return m_baselineThroughputInMBps; } /** *

The baseline throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline bool BaselineThroughputInMBpsHasBeenSet() const { return m_baselineThroughputInMBpsHasBeenSet; } /** *

The baseline throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline void SetBaselineThroughputInMBps(double value) { m_baselineThroughputInMBpsHasBeenSet = true; m_baselineThroughputInMBps = value; } /** *

The baseline throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline EbsOptimizedInfo& WithBaselineThroughputInMBps(double value) { SetBaselineThroughputInMBps(value); return *this;} /** *

The baseline input/output storage operations per seconds for an EBS-optimized * instance type.

*/ inline int GetBaselineIops() const{ return m_baselineIops; } /** *

The baseline input/output storage operations per seconds for an EBS-optimized * instance type.

*/ inline bool BaselineIopsHasBeenSet() const { return m_baselineIopsHasBeenSet; } /** *

The baseline input/output storage operations per seconds for an EBS-optimized * instance type.

*/ inline void SetBaselineIops(int value) { m_baselineIopsHasBeenSet = true; m_baselineIops = value; } /** *

The baseline input/output storage operations per seconds for an EBS-optimized * instance type.

*/ inline EbsOptimizedInfo& WithBaselineIops(int value) { SetBaselineIops(value); return *this;} /** *

The maximum bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline int GetMaximumBandwidthInMbps() const{ return m_maximumBandwidthInMbps; } /** *

The maximum bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline bool MaximumBandwidthInMbpsHasBeenSet() const { return m_maximumBandwidthInMbpsHasBeenSet; } /** *

The maximum bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline void SetMaximumBandwidthInMbps(int value) { m_maximumBandwidthInMbpsHasBeenSet = true; m_maximumBandwidthInMbps = value; } /** *

The maximum bandwidth performance for an EBS-optimized instance type, in * Mbps.

*/ inline EbsOptimizedInfo& WithMaximumBandwidthInMbps(int value) { SetMaximumBandwidthInMbps(value); return *this;} /** *

The maximum throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline double GetMaximumThroughputInMBps() const{ return m_maximumThroughputInMBps; } /** *

The maximum throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline bool MaximumThroughputInMBpsHasBeenSet() const { return m_maximumThroughputInMBpsHasBeenSet; } /** *

The maximum throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline void SetMaximumThroughputInMBps(double value) { m_maximumThroughputInMBpsHasBeenSet = true; m_maximumThroughputInMBps = value; } /** *

The maximum throughput performance for an EBS-optimized instance type, in * MB/s.

*/ inline EbsOptimizedInfo& WithMaximumThroughputInMBps(double value) { SetMaximumThroughputInMBps(value); return *this;} /** *

The maximum input/output storage operations per second for an EBS-optimized * instance type.

*/ inline int GetMaximumIops() const{ return m_maximumIops; } /** *

The maximum input/output storage operations per second for an EBS-optimized * instance type.

*/ inline bool MaximumIopsHasBeenSet() const { return m_maximumIopsHasBeenSet; } /** *

The maximum input/output storage operations per second for an EBS-optimized * instance type.

*/ inline void SetMaximumIops(int value) { m_maximumIopsHasBeenSet = true; m_maximumIops = value; } /** *

The maximum input/output storage operations per second for an EBS-optimized * instance type.

*/ inline EbsOptimizedInfo& WithMaximumIops(int value) { SetMaximumIops(value); return *this;} private: int m_baselineBandwidthInMbps; bool m_baselineBandwidthInMbpsHasBeenSet = false; double m_baselineThroughputInMBps; bool m_baselineThroughputInMBpsHasBeenSet = false; int m_baselineIops; bool m_baselineIopsHasBeenSet = false; int m_maximumBandwidthInMbps; bool m_maximumBandwidthInMbpsHasBeenSet = false; double m_maximumThroughputInMBps; bool m_maximumThroughputInMBpsHasBeenSet = false; int m_maximumIops; bool m_maximumIopsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws