/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include #include #include using namespace Aws::Utils::Xml; using namespace Aws::Utils; namespace Aws { namespace Redshift { namespace Model { VpcEndpoint::VpcEndpoint() : m_vpcEndpointIdHasBeenSet(false), m_vpcIdHasBeenSet(false), m_networkInterfacesHasBeenSet(false) { } VpcEndpoint::VpcEndpoint(const XmlNode& xmlNode) : m_vpcEndpointIdHasBeenSet(false), m_vpcIdHasBeenSet(false), m_networkInterfacesHasBeenSet(false) { *this = xmlNode; } VpcEndpoint& VpcEndpoint::operator =(const XmlNode& xmlNode) { XmlNode resultNode = xmlNode; if(!resultNode.IsNull()) { XmlNode vpcEndpointIdNode = resultNode.FirstChild("VpcEndpointId"); if(!vpcEndpointIdNode.IsNull()) { m_vpcEndpointId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcEndpointIdNode.GetText()); m_vpcEndpointIdHasBeenSet = true; } XmlNode vpcIdNode = resultNode.FirstChild("VpcId"); if(!vpcIdNode.IsNull()) { m_vpcId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcIdNode.GetText()); m_vpcIdHasBeenSet = true; } XmlNode networkInterfacesNode = resultNode.FirstChild("NetworkInterfaces"); if(!networkInterfacesNode.IsNull()) { XmlNode networkInterfacesMember = networkInterfacesNode.FirstChild("NetworkInterface"); while(!networkInterfacesMember.IsNull()) { m_networkInterfaces.push_back(networkInterfacesMember); networkInterfacesMember = networkInterfacesMember.NextNode("NetworkInterface"); } m_networkInterfacesHasBeenSet = true; } } return *this; } void VpcEndpoint::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_vpcEndpointIdHasBeenSet) { oStream << location << index << locationValue << ".VpcEndpointId=" << StringUtils::URLEncode(m_vpcEndpointId.c_str()) << "&"; } if(m_vpcIdHasBeenSet) { oStream << location << index << locationValue << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; } if(m_networkInterfacesHasBeenSet) { unsigned networkInterfacesIdx = 1; for(auto& item : m_networkInterfaces) { Aws::StringStream networkInterfacesSs; networkInterfacesSs << location << index << locationValue << ".NetworkInterface." << networkInterfacesIdx++; item.OutputToStream(oStream, networkInterfacesSs.str().c_str()); } } } void VpcEndpoint::OutputToStream(Aws::OStream& oStream, const char* location) const { if(m_vpcEndpointIdHasBeenSet) { oStream << location << ".VpcEndpointId=" << StringUtils::URLEncode(m_vpcEndpointId.c_str()) << "&"; } if(m_vpcIdHasBeenSet) { oStream << location << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; } if(m_networkInterfacesHasBeenSet) { unsigned networkInterfacesIdx = 1; for(auto& item : m_networkInterfaces) { Aws::StringStream networkInterfacesSs; networkInterfacesSs << location << ".NetworkInterface." << networkInterfacesIdx++; item.OutputToStream(oStream, networkInterfacesSs.str().c_str()); } } } } // namespace Model } // namespace Redshift } // namespace Aws