This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-ec2/source/model/NetworkInfo.cpp

185 lines
6.4 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/ec2/model/NetworkInfo.h>
#include <aws/core/utils/xml/XmlSerializer.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
#include <utility>
using namespace Aws::Utils::Xml;
using namespace Aws::Utils;
namespace Aws
{
namespace EC2
{
namespace Model
{
NetworkInfo::NetworkInfo() :
m_networkPerformanceHasBeenSet(false),
m_maximumNetworkInterfaces(0),
m_maximumNetworkInterfacesHasBeenSet(false),
m_ipv4AddressesPerInterface(0),
m_ipv4AddressesPerInterfaceHasBeenSet(false),
m_ipv6AddressesPerInterface(0),
m_ipv6AddressesPerInterfaceHasBeenSet(false),
m_ipv6Supported(false),
m_ipv6SupportedHasBeenSet(false),
m_enaSupport(EnaSupport::NOT_SET),
m_enaSupportHasBeenSet(false),
m_efaSupported(false),
m_efaSupportedHasBeenSet(false)
{
}
NetworkInfo::NetworkInfo(const XmlNode& xmlNode) :
m_networkPerformanceHasBeenSet(false),
m_maximumNetworkInterfaces(0),
m_maximumNetworkInterfacesHasBeenSet(false),
m_ipv4AddressesPerInterface(0),
m_ipv4AddressesPerInterfaceHasBeenSet(false),
m_ipv6AddressesPerInterface(0),
m_ipv6AddressesPerInterfaceHasBeenSet(false),
m_ipv6Supported(false),
m_ipv6SupportedHasBeenSet(false),
m_enaSupport(EnaSupport::NOT_SET),
m_enaSupportHasBeenSet(false),
m_efaSupported(false),
m_efaSupportedHasBeenSet(false)
{
*this = xmlNode;
}
NetworkInfo& NetworkInfo::operator =(const XmlNode& xmlNode)
{
XmlNode resultNode = xmlNode;
if(!resultNode.IsNull())
{
XmlNode networkPerformanceNode = resultNode.FirstChild("networkPerformance");
if(!networkPerformanceNode.IsNull())
{
m_networkPerformance = Aws::Utils::Xml::DecodeEscapedXmlText(networkPerformanceNode.GetText());
m_networkPerformanceHasBeenSet = true;
}
XmlNode maximumNetworkInterfacesNode = resultNode.FirstChild("maximumNetworkInterfaces");
if(!maximumNetworkInterfacesNode.IsNull())
{
m_maximumNetworkInterfaces = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(maximumNetworkInterfacesNode.GetText()).c_str()).c_str());
m_maximumNetworkInterfacesHasBeenSet = true;
}
XmlNode ipv4AddressesPerInterfaceNode = resultNode.FirstChild("ipv4AddressesPerInterface");
if(!ipv4AddressesPerInterfaceNode.IsNull())
{
m_ipv4AddressesPerInterface = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ipv4AddressesPerInterfaceNode.GetText()).c_str()).c_str());
m_ipv4AddressesPerInterfaceHasBeenSet = true;
}
XmlNode ipv6AddressesPerInterfaceNode = resultNode.FirstChild("ipv6AddressesPerInterface");
if(!ipv6AddressesPerInterfaceNode.IsNull())
{
m_ipv6AddressesPerInterface = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ipv6AddressesPerInterfaceNode.GetText()).c_str()).c_str());
m_ipv6AddressesPerInterfaceHasBeenSet = true;
}
XmlNode ipv6SupportedNode = resultNode.FirstChild("ipv6Supported");
if(!ipv6SupportedNode.IsNull())
{
m_ipv6Supported = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ipv6SupportedNode.GetText()).c_str()).c_str());
m_ipv6SupportedHasBeenSet = true;
}
XmlNode enaSupportNode = resultNode.FirstChild("enaSupport");
if(!enaSupportNode.IsNull())
{
m_enaSupport = EnaSupportMapper::GetEnaSupportForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(enaSupportNode.GetText()).c_str()).c_str());
m_enaSupportHasBeenSet = true;
}
XmlNode efaSupportedNode = resultNode.FirstChild("efaSupported");
if(!efaSupportedNode.IsNull())
{
m_efaSupported = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(efaSupportedNode.GetText()).c_str()).c_str());
m_efaSupportedHasBeenSet = true;
}
}
return *this;
}
void NetworkInfo::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
{
if(m_networkPerformanceHasBeenSet)
{
oStream << location << index << locationValue << ".NetworkPerformance=" << StringUtils::URLEncode(m_networkPerformance.c_str()) << "&";
}
if(m_maximumNetworkInterfacesHasBeenSet)
{
oStream << location << index << locationValue << ".MaximumNetworkInterfaces=" << m_maximumNetworkInterfaces << "&";
}
if(m_ipv4AddressesPerInterfaceHasBeenSet)
{
oStream << location << index << locationValue << ".Ipv4AddressesPerInterface=" << m_ipv4AddressesPerInterface << "&";
}
if(m_ipv6AddressesPerInterfaceHasBeenSet)
{
oStream << location << index << locationValue << ".Ipv6AddressesPerInterface=" << m_ipv6AddressesPerInterface << "&";
}
if(m_ipv6SupportedHasBeenSet)
{
oStream << location << index << locationValue << ".Ipv6Supported=" << std::boolalpha << m_ipv6Supported << "&";
}
if(m_enaSupportHasBeenSet)
{
oStream << location << index << locationValue << ".EnaSupport=" << EnaSupportMapper::GetNameForEnaSupport(m_enaSupport) << "&";
}
if(m_efaSupportedHasBeenSet)
{
oStream << location << index << locationValue << ".EfaSupported=" << std::boolalpha << m_efaSupported << "&";
}
}
void NetworkInfo::OutputToStream(Aws::OStream& oStream, const char* location) const
{
if(m_networkPerformanceHasBeenSet)
{
oStream << location << ".NetworkPerformance=" << StringUtils::URLEncode(m_networkPerformance.c_str()) << "&";
}
if(m_maximumNetworkInterfacesHasBeenSet)
{
oStream << location << ".MaximumNetworkInterfaces=" << m_maximumNetworkInterfaces << "&";
}
if(m_ipv4AddressesPerInterfaceHasBeenSet)
{
oStream << location << ".Ipv4AddressesPerInterface=" << m_ipv4AddressesPerInterface << "&";
}
if(m_ipv6AddressesPerInterfaceHasBeenSet)
{
oStream << location << ".Ipv6AddressesPerInterface=" << m_ipv6AddressesPerInterface << "&";
}
if(m_ipv6SupportedHasBeenSet)
{
oStream << location << ".Ipv6Supported=" << std::boolalpha << m_ipv6Supported << "&";
}
if(m_enaSupportHasBeenSet)
{
oStream << location << ".EnaSupport=" << EnaSupportMapper::GetNameForEnaSupport(m_enaSupport) << "&";
}
if(m_efaSupportedHasBeenSet)
{
oStream << location << ".EfaSupported=" << std::boolalpha << m_efaSupported << "&";
}
}
} // namespace Model
} // namespace EC2
} // namespace Aws