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

Describes the network card support of the instance type.

See * Also:

AWS * API Reference

*/ class NetworkCardInfo { public: AWS_EC2_API NetworkCardInfo(); AWS_EC2_API NetworkCardInfo(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API NetworkCardInfo& 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 index of the network card.

*/ inline int GetNetworkCardIndex() const{ return m_networkCardIndex; } /** *

The index of the network card.

*/ inline bool NetworkCardIndexHasBeenSet() const { return m_networkCardIndexHasBeenSet; } /** *

The index of the network card.

*/ inline void SetNetworkCardIndex(int value) { m_networkCardIndexHasBeenSet = true; m_networkCardIndex = value; } /** *

The index of the network card.

*/ inline NetworkCardInfo& WithNetworkCardIndex(int value) { SetNetworkCardIndex(value); return *this;} /** *

The network performance of the network card.

*/ inline const Aws::String& GetNetworkPerformance() const{ return m_networkPerformance; } /** *

The network performance of the network card.

*/ inline bool NetworkPerformanceHasBeenSet() const { return m_networkPerformanceHasBeenSet; } /** *

The network performance of the network card.

*/ inline void SetNetworkPerformance(const Aws::String& value) { m_networkPerformanceHasBeenSet = true; m_networkPerformance = value; } /** *

The network performance of the network card.

*/ inline void SetNetworkPerformance(Aws::String&& value) { m_networkPerformanceHasBeenSet = true; m_networkPerformance = std::move(value); } /** *

The network performance of the network card.

*/ inline void SetNetworkPerformance(const char* value) { m_networkPerformanceHasBeenSet = true; m_networkPerformance.assign(value); } /** *

The network performance of the network card.

*/ inline NetworkCardInfo& WithNetworkPerformance(const Aws::String& value) { SetNetworkPerformance(value); return *this;} /** *

The network performance of the network card.

*/ inline NetworkCardInfo& WithNetworkPerformance(Aws::String&& value) { SetNetworkPerformance(std::move(value)); return *this;} /** *

The network performance of the network card.

*/ inline NetworkCardInfo& WithNetworkPerformance(const char* value) { SetNetworkPerformance(value); return *this;} /** *

The maximum number of network interfaces for the network card.

*/ inline int GetMaximumNetworkInterfaces() const{ return m_maximumNetworkInterfaces; } /** *

The maximum number of network interfaces for the network card.

*/ inline bool MaximumNetworkInterfacesHasBeenSet() const { return m_maximumNetworkInterfacesHasBeenSet; } /** *

The maximum number of network interfaces for the network card.

*/ inline void SetMaximumNetworkInterfaces(int value) { m_maximumNetworkInterfacesHasBeenSet = true; m_maximumNetworkInterfaces = value; } /** *

The maximum number of network interfaces for the network card.

*/ inline NetworkCardInfo& WithMaximumNetworkInterfaces(int value) { SetMaximumNetworkInterfaces(value); return *this;} /** *

The baseline network performance of the network card, in Gbps.

*/ inline double GetBaselineBandwidthInGbps() const{ return m_baselineBandwidthInGbps; } /** *

The baseline network performance of the network card, in Gbps.

*/ inline bool BaselineBandwidthInGbpsHasBeenSet() const { return m_baselineBandwidthInGbpsHasBeenSet; } /** *

The baseline network performance of the network card, in Gbps.

*/ inline void SetBaselineBandwidthInGbps(double value) { m_baselineBandwidthInGbpsHasBeenSet = true; m_baselineBandwidthInGbps = value; } /** *

The baseline network performance of the network card, in Gbps.

*/ inline NetworkCardInfo& WithBaselineBandwidthInGbps(double value) { SetBaselineBandwidthInGbps(value); return *this;} /** *

The peak (burst) network performance of the network card, in Gbps.

*/ inline double GetPeakBandwidthInGbps() const{ return m_peakBandwidthInGbps; } /** *

The peak (burst) network performance of the network card, in Gbps.

*/ inline bool PeakBandwidthInGbpsHasBeenSet() const { return m_peakBandwidthInGbpsHasBeenSet; } /** *

The peak (burst) network performance of the network card, in Gbps.

*/ inline void SetPeakBandwidthInGbps(double value) { m_peakBandwidthInGbpsHasBeenSet = true; m_peakBandwidthInGbps = value; } /** *

The peak (burst) network performance of the network card, in Gbps.

*/ inline NetworkCardInfo& WithPeakBandwidthInGbps(double value) { SetPeakBandwidthInGbps(value); return *this;} private: int m_networkCardIndex; bool m_networkCardIndexHasBeenSet = false; Aws::String m_networkPerformance; bool m_networkPerformanceHasBeenSet = false; int m_maximumNetworkInterfaces; bool m_maximumNetworkInterfacesHasBeenSet = false; double m_baselineBandwidthInGbps; bool m_baselineBandwidthInGbpsHasBeenSet = false; double m_peakBandwidthInGbps; bool m_peakBandwidthInGbpsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws