/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the networking features of the instance type.See
* Also:
AWS API
* Reference
The network performance.
*/ inline const Aws::String& GetNetworkPerformance() const{ return m_networkPerformance; } /** *The network performance.
*/ inline bool NetworkPerformanceHasBeenSet() const { return m_networkPerformanceHasBeenSet; } /** *The network performance.
*/ inline void SetNetworkPerformance(const Aws::String& value) { m_networkPerformanceHasBeenSet = true; m_networkPerformance = value; } /** *The network performance.
*/ inline void SetNetworkPerformance(Aws::String&& value) { m_networkPerformanceHasBeenSet = true; m_networkPerformance = std::move(value); } /** *The network performance.
*/ inline void SetNetworkPerformance(const char* value) { m_networkPerformanceHasBeenSet = true; m_networkPerformance.assign(value); } /** *The network performance.
*/ inline NetworkInfo& WithNetworkPerformance(const Aws::String& value) { SetNetworkPerformance(value); return *this;} /** *The network performance.
*/ inline NetworkInfo& WithNetworkPerformance(Aws::String&& value) { SetNetworkPerformance(std::move(value)); return *this;} /** *The network performance.
*/ inline NetworkInfo& WithNetworkPerformance(const char* value) { SetNetworkPerformance(value); return *this;} /** *The maximum number of network interfaces for the instance type.
*/ inline int GetMaximumNetworkInterfaces() const{ return m_maximumNetworkInterfaces; } /** *The maximum number of network interfaces for the instance type.
*/ inline bool MaximumNetworkInterfacesHasBeenSet() const { return m_maximumNetworkInterfacesHasBeenSet; } /** *The maximum number of network interfaces for the instance type.
*/ inline void SetMaximumNetworkInterfaces(int value) { m_maximumNetworkInterfacesHasBeenSet = true; m_maximumNetworkInterfaces = value; } /** *The maximum number of network interfaces for the instance type.
*/ inline NetworkInfo& WithMaximumNetworkInterfaces(int value) { SetMaximumNetworkInterfaces(value); return *this;} /** *The maximum number of physical network cards that can be allocated to the * instance.
*/ inline int GetMaximumNetworkCards() const{ return m_maximumNetworkCards; } /** *The maximum number of physical network cards that can be allocated to the * instance.
*/ inline bool MaximumNetworkCardsHasBeenSet() const { return m_maximumNetworkCardsHasBeenSet; } /** *The maximum number of physical network cards that can be allocated to the * instance.
*/ inline void SetMaximumNetworkCards(int value) { m_maximumNetworkCardsHasBeenSet = true; m_maximumNetworkCards = value; } /** *The maximum number of physical network cards that can be allocated to the * instance.
*/ inline NetworkInfo& WithMaximumNetworkCards(int value) { SetMaximumNetworkCards(value); return *this;} /** *The index of the default network card, starting at 0.
*/ inline int GetDefaultNetworkCardIndex() const{ return m_defaultNetworkCardIndex; } /** *The index of the default network card, starting at 0.
*/ inline bool DefaultNetworkCardIndexHasBeenSet() const { return m_defaultNetworkCardIndexHasBeenSet; } /** *The index of the default network card, starting at 0.
*/ inline void SetDefaultNetworkCardIndex(int value) { m_defaultNetworkCardIndexHasBeenSet = true; m_defaultNetworkCardIndex = value; } /** *The index of the default network card, starting at 0.
*/ inline NetworkInfo& WithDefaultNetworkCardIndex(int value) { SetDefaultNetworkCardIndex(value); return *this;} /** *Describes the network cards for the instance type.
*/ inline const Aws::VectorDescribes the network cards for the instance type.
*/ inline bool NetworkCardsHasBeenSet() const { return m_networkCardsHasBeenSet; } /** *Describes the network cards for the instance type.
*/ inline void SetNetworkCards(const Aws::VectorDescribes the network cards for the instance type.
*/ inline void SetNetworkCards(Aws::VectorDescribes the network cards for the instance type.
*/ inline NetworkInfo& WithNetworkCards(const Aws::VectorDescribes the network cards for the instance type.
*/ inline NetworkInfo& WithNetworkCards(Aws::VectorDescribes the network cards for the instance type.
*/ inline NetworkInfo& AddNetworkCards(const NetworkCardInfo& value) { m_networkCardsHasBeenSet = true; m_networkCards.push_back(value); return *this; } /** *Describes the network cards for the instance type.
*/ inline NetworkInfo& AddNetworkCards(NetworkCardInfo&& value) { m_networkCardsHasBeenSet = true; m_networkCards.push_back(std::move(value)); return *this; } /** *The maximum number of IPv4 addresses per network interface.
*/ inline int GetIpv4AddressesPerInterface() const{ return m_ipv4AddressesPerInterface; } /** *The maximum number of IPv4 addresses per network interface.
*/ inline bool Ipv4AddressesPerInterfaceHasBeenSet() const { return m_ipv4AddressesPerInterfaceHasBeenSet; } /** *The maximum number of IPv4 addresses per network interface.
*/ inline void SetIpv4AddressesPerInterface(int value) { m_ipv4AddressesPerInterfaceHasBeenSet = true; m_ipv4AddressesPerInterface = value; } /** *The maximum number of IPv4 addresses per network interface.
*/ inline NetworkInfo& WithIpv4AddressesPerInterface(int value) { SetIpv4AddressesPerInterface(value); return *this;} /** *The maximum number of IPv6 addresses per network interface.
*/ inline int GetIpv6AddressesPerInterface() const{ return m_ipv6AddressesPerInterface; } /** *The maximum number of IPv6 addresses per network interface.
*/ inline bool Ipv6AddressesPerInterfaceHasBeenSet() const { return m_ipv6AddressesPerInterfaceHasBeenSet; } /** *The maximum number of IPv6 addresses per network interface.
*/ inline void SetIpv6AddressesPerInterface(int value) { m_ipv6AddressesPerInterfaceHasBeenSet = true; m_ipv6AddressesPerInterface = value; } /** *The maximum number of IPv6 addresses per network interface.
*/ inline NetworkInfo& WithIpv6AddressesPerInterface(int value) { SetIpv6AddressesPerInterface(value); return *this;} /** *Indicates whether IPv6 is supported.
*/ inline bool GetIpv6Supported() const{ return m_ipv6Supported; } /** *Indicates whether IPv6 is supported.
*/ inline bool Ipv6SupportedHasBeenSet() const { return m_ipv6SupportedHasBeenSet; } /** *Indicates whether IPv6 is supported.
*/ inline void SetIpv6Supported(bool value) { m_ipv6SupportedHasBeenSet = true; m_ipv6Supported = value; } /** *Indicates whether IPv6 is supported.
*/ inline NetworkInfo& WithIpv6Supported(bool value) { SetIpv6Supported(value); return *this;} /** *Indicates whether Elastic Network Adapter (ENA) is supported.
*/ inline const EnaSupport& GetEnaSupport() const{ return m_enaSupport; } /** *Indicates whether Elastic Network Adapter (ENA) is supported.
*/ inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; } /** *Indicates whether Elastic Network Adapter (ENA) is supported.
*/ inline void SetEnaSupport(const EnaSupport& value) { m_enaSupportHasBeenSet = true; m_enaSupport = value; } /** *Indicates whether Elastic Network Adapter (ENA) is supported.
*/ inline void SetEnaSupport(EnaSupport&& value) { m_enaSupportHasBeenSet = true; m_enaSupport = std::move(value); } /** *Indicates whether Elastic Network Adapter (ENA) is supported.
*/ inline NetworkInfo& WithEnaSupport(const EnaSupport& value) { SetEnaSupport(value); return *this;} /** *Indicates whether Elastic Network Adapter (ENA) is supported.
*/ inline NetworkInfo& WithEnaSupport(EnaSupport&& value) { SetEnaSupport(std::move(value)); return *this;} /** *Indicates whether Elastic Fabric Adapter (EFA) is supported.
*/ inline bool GetEfaSupported() const{ return m_efaSupported; } /** *Indicates whether Elastic Fabric Adapter (EFA) is supported.
*/ inline bool EfaSupportedHasBeenSet() const { return m_efaSupportedHasBeenSet; } /** *Indicates whether Elastic Fabric Adapter (EFA) is supported.
*/ inline void SetEfaSupported(bool value) { m_efaSupportedHasBeenSet = true; m_efaSupported = value; } /** *Indicates whether Elastic Fabric Adapter (EFA) is supported.
*/ inline NetworkInfo& WithEfaSupported(bool value) { SetEfaSupported(value); return *this;} /** *Describes the Elastic Fabric Adapters for the instance type.
*/ inline const EfaInfo& GetEfaInfo() const{ return m_efaInfo; } /** *Describes the Elastic Fabric Adapters for the instance type.
*/ inline bool EfaInfoHasBeenSet() const { return m_efaInfoHasBeenSet; } /** *Describes the Elastic Fabric Adapters for the instance type.
*/ inline void SetEfaInfo(const EfaInfo& value) { m_efaInfoHasBeenSet = true; m_efaInfo = value; } /** *Describes the Elastic Fabric Adapters for the instance type.
*/ inline void SetEfaInfo(EfaInfo&& value) { m_efaInfoHasBeenSet = true; m_efaInfo = std::move(value); } /** *Describes the Elastic Fabric Adapters for the instance type.
*/ inline NetworkInfo& WithEfaInfo(const EfaInfo& value) { SetEfaInfo(value); return *this;} /** *Describes the Elastic Fabric Adapters for the instance type.
*/ inline NetworkInfo& WithEfaInfo(EfaInfo&& value) { SetEfaInfo(std::move(value)); return *this;} /** *Indicates whether the instance type automatically encrypts in-transit traffic * between instances.
*/ inline bool GetEncryptionInTransitSupported() const{ return m_encryptionInTransitSupported; } /** *Indicates whether the instance type automatically encrypts in-transit traffic * between instances.
*/ inline bool EncryptionInTransitSupportedHasBeenSet() const { return m_encryptionInTransitSupportedHasBeenSet; } /** *Indicates whether the instance type automatically encrypts in-transit traffic * between instances.
*/ inline void SetEncryptionInTransitSupported(bool value) { m_encryptionInTransitSupportedHasBeenSet = true; m_encryptionInTransitSupported = value; } /** *Indicates whether the instance type automatically encrypts in-transit traffic * between instances.
*/ inline NetworkInfo& WithEncryptionInTransitSupported(bool value) { SetEncryptionInTransitSupported(value); return *this;} /** *Indicates whether the instance type supports ENA Express. ENA Express uses * Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the * maximum bandwidth used per stream and minimize tail latency of network traffic * between EC2 instances.
*/ inline bool GetEnaSrdSupported() const{ return m_enaSrdSupported; } /** *Indicates whether the instance type supports ENA Express. ENA Express uses * Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the * maximum bandwidth used per stream and minimize tail latency of network traffic * between EC2 instances.
*/ inline bool EnaSrdSupportedHasBeenSet() const { return m_enaSrdSupportedHasBeenSet; } /** *Indicates whether the instance type supports ENA Express. ENA Express uses * Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the * maximum bandwidth used per stream and minimize tail latency of network traffic * between EC2 instances.
*/ inline void SetEnaSrdSupported(bool value) { m_enaSrdSupportedHasBeenSet = true; m_enaSrdSupported = value; } /** *Indicates whether the instance type supports ENA Express. ENA Express uses * Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the * maximum bandwidth used per stream and minimize tail latency of network traffic * between EC2 instances.
*/ inline NetworkInfo& WithEnaSrdSupported(bool value) { SetEnaSrdSupported(value); return *this;} private: Aws::String m_networkPerformance; bool m_networkPerformanceHasBeenSet = false; int m_maximumNetworkInterfaces; bool m_maximumNetworkInterfacesHasBeenSet = false; int m_maximumNetworkCards; bool m_maximumNetworkCardsHasBeenSet = false; int m_defaultNetworkCardIndex; bool m_defaultNetworkCardIndexHasBeenSet = false; Aws::Vector