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/ServiceConfiguration.cpp

346 lines
12 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/ec2/model/ServiceConfiguration.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
{
ServiceConfiguration::ServiceConfiguration() :
m_serviceTypeHasBeenSet(false),
m_serviceIdHasBeenSet(false),
m_serviceNameHasBeenSet(false),
m_serviceState(ServiceState::NOT_SET),
m_serviceStateHasBeenSet(false),
m_availabilityZonesHasBeenSet(false),
m_acceptanceRequired(false),
m_acceptanceRequiredHasBeenSet(false),
m_managesVpcEndpoints(false),
m_managesVpcEndpointsHasBeenSet(false),
m_networkLoadBalancerArnsHasBeenSet(false),
m_baseEndpointDnsNamesHasBeenSet(false),
m_privateDnsNameHasBeenSet(false),
m_privateDnsNameConfigurationHasBeenSet(false),
m_tagsHasBeenSet(false)
{
}
ServiceConfiguration::ServiceConfiguration(const XmlNode& xmlNode) :
m_serviceTypeHasBeenSet(false),
m_serviceIdHasBeenSet(false),
m_serviceNameHasBeenSet(false),
m_serviceState(ServiceState::NOT_SET),
m_serviceStateHasBeenSet(false),
m_availabilityZonesHasBeenSet(false),
m_acceptanceRequired(false),
m_acceptanceRequiredHasBeenSet(false),
m_managesVpcEndpoints(false),
m_managesVpcEndpointsHasBeenSet(false),
m_networkLoadBalancerArnsHasBeenSet(false),
m_baseEndpointDnsNamesHasBeenSet(false),
m_privateDnsNameHasBeenSet(false),
m_privateDnsNameConfigurationHasBeenSet(false),
m_tagsHasBeenSet(false)
{
*this = xmlNode;
}
ServiceConfiguration& ServiceConfiguration::operator =(const XmlNode& xmlNode)
{
XmlNode resultNode = xmlNode;
if(!resultNode.IsNull())
{
XmlNode serviceTypeNode = resultNode.FirstChild("serviceType");
if(!serviceTypeNode.IsNull())
{
XmlNode serviceTypeMember = serviceTypeNode.FirstChild("item");
while(!serviceTypeMember.IsNull())
{
m_serviceType.push_back(serviceTypeMember);
serviceTypeMember = serviceTypeMember.NextNode("item");
}
m_serviceTypeHasBeenSet = true;
}
XmlNode serviceIdNode = resultNode.FirstChild("serviceId");
if(!serviceIdNode.IsNull())
{
m_serviceId = Aws::Utils::Xml::DecodeEscapedXmlText(serviceIdNode.GetText());
m_serviceIdHasBeenSet = true;
}
XmlNode serviceNameNode = resultNode.FirstChild("serviceName");
if(!serviceNameNode.IsNull())
{
m_serviceName = Aws::Utils::Xml::DecodeEscapedXmlText(serviceNameNode.GetText());
m_serviceNameHasBeenSet = true;
}
XmlNode serviceStateNode = resultNode.FirstChild("serviceState");
if(!serviceStateNode.IsNull())
{
m_serviceState = ServiceStateMapper::GetServiceStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(serviceStateNode.GetText()).c_str()).c_str());
m_serviceStateHasBeenSet = true;
}
XmlNode availabilityZonesNode = resultNode.FirstChild("availabilityZoneSet");
if(!availabilityZonesNode.IsNull())
{
XmlNode availabilityZonesMember = availabilityZonesNode.FirstChild("item");
while(!availabilityZonesMember.IsNull())
{
m_availabilityZones.push_back(availabilityZonesMember.GetText());
availabilityZonesMember = availabilityZonesMember.NextNode("item");
}
m_availabilityZonesHasBeenSet = true;
}
XmlNode acceptanceRequiredNode = resultNode.FirstChild("acceptanceRequired");
if(!acceptanceRequiredNode.IsNull())
{
m_acceptanceRequired = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(acceptanceRequiredNode.GetText()).c_str()).c_str());
m_acceptanceRequiredHasBeenSet = true;
}
XmlNode managesVpcEndpointsNode = resultNode.FirstChild("managesVpcEndpoints");
if(!managesVpcEndpointsNode.IsNull())
{
m_managesVpcEndpoints = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(managesVpcEndpointsNode.GetText()).c_str()).c_str());
m_managesVpcEndpointsHasBeenSet = true;
}
XmlNode networkLoadBalancerArnsNode = resultNode.FirstChild("networkLoadBalancerArnSet");
if(!networkLoadBalancerArnsNode.IsNull())
{
XmlNode networkLoadBalancerArnsMember = networkLoadBalancerArnsNode.FirstChild("item");
while(!networkLoadBalancerArnsMember.IsNull())
{
m_networkLoadBalancerArns.push_back(networkLoadBalancerArnsMember.GetText());
networkLoadBalancerArnsMember = networkLoadBalancerArnsMember.NextNode("item");
}
m_networkLoadBalancerArnsHasBeenSet = true;
}
XmlNode baseEndpointDnsNamesNode = resultNode.FirstChild("baseEndpointDnsNameSet");
if(!baseEndpointDnsNamesNode.IsNull())
{
XmlNode baseEndpointDnsNamesMember = baseEndpointDnsNamesNode.FirstChild("item");
while(!baseEndpointDnsNamesMember.IsNull())
{
m_baseEndpointDnsNames.push_back(baseEndpointDnsNamesMember.GetText());
baseEndpointDnsNamesMember = baseEndpointDnsNamesMember.NextNode("item");
}
m_baseEndpointDnsNamesHasBeenSet = true;
}
XmlNode privateDnsNameNode = resultNode.FirstChild("privateDnsName");
if(!privateDnsNameNode.IsNull())
{
m_privateDnsName = Aws::Utils::Xml::DecodeEscapedXmlText(privateDnsNameNode.GetText());
m_privateDnsNameHasBeenSet = true;
}
XmlNode privateDnsNameConfigurationNode = resultNode.FirstChild("privateDnsNameConfiguration");
if(!privateDnsNameConfigurationNode.IsNull())
{
m_privateDnsNameConfiguration = privateDnsNameConfigurationNode;
m_privateDnsNameConfigurationHasBeenSet = true;
}
XmlNode tagsNode = resultNode.FirstChild("tagSet");
if(!tagsNode.IsNull())
{
XmlNode tagsMember = tagsNode.FirstChild("item");
while(!tagsMember.IsNull())
{
m_tags.push_back(tagsMember);
tagsMember = tagsMember.NextNode("item");
}
m_tagsHasBeenSet = true;
}
}
return *this;
}
void ServiceConfiguration::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
{
if(m_serviceTypeHasBeenSet)
{
unsigned serviceTypeIdx = 1;
for(auto& item : m_serviceType)
{
Aws::StringStream serviceTypeSs;
serviceTypeSs << location << index << locationValue << ".ServiceType." << serviceTypeIdx++;
item.OutputToStream(oStream, serviceTypeSs.str().c_str());
}
}
if(m_serviceIdHasBeenSet)
{
oStream << location << index << locationValue << ".ServiceId=" << StringUtils::URLEncode(m_serviceId.c_str()) << "&";
}
if(m_serviceNameHasBeenSet)
{
oStream << location << index << locationValue << ".ServiceName=" << StringUtils::URLEncode(m_serviceName.c_str()) << "&";
}
if(m_serviceStateHasBeenSet)
{
oStream << location << index << locationValue << ".ServiceState=" << ServiceStateMapper::GetNameForServiceState(m_serviceState) << "&";
}
if(m_availabilityZonesHasBeenSet)
{
unsigned availabilityZonesIdx = 1;
for(auto& item : m_availabilityZones)
{
oStream << location << index << locationValue << ".AvailabilityZoneSet." << availabilityZonesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_acceptanceRequiredHasBeenSet)
{
oStream << location << index << locationValue << ".AcceptanceRequired=" << std::boolalpha << m_acceptanceRequired << "&";
}
if(m_managesVpcEndpointsHasBeenSet)
{
oStream << location << index << locationValue << ".ManagesVpcEndpoints=" << std::boolalpha << m_managesVpcEndpoints << "&";
}
if(m_networkLoadBalancerArnsHasBeenSet)
{
unsigned networkLoadBalancerArnsIdx = 1;
for(auto& item : m_networkLoadBalancerArns)
{
oStream << location << index << locationValue << ".NetworkLoadBalancerArnSet." << networkLoadBalancerArnsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_baseEndpointDnsNamesHasBeenSet)
{
unsigned baseEndpointDnsNamesIdx = 1;
for(auto& item : m_baseEndpointDnsNames)
{
oStream << location << index << locationValue << ".BaseEndpointDnsNameSet." << baseEndpointDnsNamesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_privateDnsNameHasBeenSet)
{
oStream << location << index << locationValue << ".PrivateDnsName=" << StringUtils::URLEncode(m_privateDnsName.c_str()) << "&";
}
if(m_privateDnsNameConfigurationHasBeenSet)
{
Aws::StringStream privateDnsNameConfigurationLocationAndMemberSs;
privateDnsNameConfigurationLocationAndMemberSs << location << index << locationValue << ".PrivateDnsNameConfiguration";
m_privateDnsNameConfiguration.OutputToStream(oStream, privateDnsNameConfigurationLocationAndMemberSs.str().c_str());
}
if(m_tagsHasBeenSet)
{
unsigned tagsIdx = 1;
for(auto& item : m_tags)
{
Aws::StringStream tagsSs;
tagsSs << location << index << locationValue << ".TagSet." << tagsIdx++;
item.OutputToStream(oStream, tagsSs.str().c_str());
}
}
}
void ServiceConfiguration::OutputToStream(Aws::OStream& oStream, const char* location) const
{
if(m_serviceTypeHasBeenSet)
{
unsigned serviceTypeIdx = 1;
for(auto& item : m_serviceType)
{
Aws::StringStream serviceTypeSs;
serviceTypeSs << location << ".ServiceType." << serviceTypeIdx++;
item.OutputToStream(oStream, serviceTypeSs.str().c_str());
}
}
if(m_serviceIdHasBeenSet)
{
oStream << location << ".ServiceId=" << StringUtils::URLEncode(m_serviceId.c_str()) << "&";
}
if(m_serviceNameHasBeenSet)
{
oStream << location << ".ServiceName=" << StringUtils::URLEncode(m_serviceName.c_str()) << "&";
}
if(m_serviceStateHasBeenSet)
{
oStream << location << ".ServiceState=" << ServiceStateMapper::GetNameForServiceState(m_serviceState) << "&";
}
if(m_availabilityZonesHasBeenSet)
{
unsigned availabilityZonesIdx = 1;
for(auto& item : m_availabilityZones)
{
oStream << location << ".AvailabilityZoneSet." << availabilityZonesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_acceptanceRequiredHasBeenSet)
{
oStream << location << ".AcceptanceRequired=" << std::boolalpha << m_acceptanceRequired << "&";
}
if(m_managesVpcEndpointsHasBeenSet)
{
oStream << location << ".ManagesVpcEndpoints=" << std::boolalpha << m_managesVpcEndpoints << "&";
}
if(m_networkLoadBalancerArnsHasBeenSet)
{
unsigned networkLoadBalancerArnsIdx = 1;
for(auto& item : m_networkLoadBalancerArns)
{
oStream << location << ".NetworkLoadBalancerArnSet." << networkLoadBalancerArnsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_baseEndpointDnsNamesHasBeenSet)
{
unsigned baseEndpointDnsNamesIdx = 1;
for(auto& item : m_baseEndpointDnsNames)
{
oStream << location << ".BaseEndpointDnsNameSet." << baseEndpointDnsNamesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_privateDnsNameHasBeenSet)
{
oStream << location << ".PrivateDnsName=" << StringUtils::URLEncode(m_privateDnsName.c_str()) << "&";
}
if(m_privateDnsNameConfigurationHasBeenSet)
{
Aws::String privateDnsNameConfigurationLocationAndMember(location);
privateDnsNameConfigurationLocationAndMember += ".PrivateDnsNameConfiguration";
m_privateDnsNameConfiguration.OutputToStream(oStream, privateDnsNameConfigurationLocationAndMember.c_str());
}
if(m_tagsHasBeenSet)
{
unsigned tagsIdx = 1;
for(auto& item : m_tags)
{
Aws::StringStream tagsSs;
tagsSs << location << ".TagSet." << tagsIdx++;
item.OutputToStream(oStream, tagsSs.str().c_str());
}
}
}
} // namespace Model
} // namespace EC2
} // namespace Aws