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

190 lines
5.4 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/ec2/model/Reservation.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
{
Reservation::Reservation() :
m_groupsHasBeenSet(false),
m_instancesHasBeenSet(false),
m_ownerIdHasBeenSet(false),
m_requesterIdHasBeenSet(false),
m_reservationIdHasBeenSet(false),
m_responseMetadataHasBeenSet(false)
{
}
Reservation::Reservation(const XmlNode& xmlNode) :
m_groupsHasBeenSet(false),
m_instancesHasBeenSet(false),
m_ownerIdHasBeenSet(false),
m_requesterIdHasBeenSet(false),
m_reservationIdHasBeenSet(false),
m_responseMetadataHasBeenSet(false)
{
*this = xmlNode;
}
Reservation& Reservation::operator =(const XmlNode& xmlNode)
{
XmlNode resultNode = xmlNode;
if(!resultNode.IsNull())
{
XmlNode groupsNode = resultNode.FirstChild("groupSet");
if(!groupsNode.IsNull())
{
XmlNode groupsMember = groupsNode.FirstChild("item");
while(!groupsMember.IsNull())
{
m_groups.push_back(groupsMember);
groupsMember = groupsMember.NextNode("item");
}
m_groupsHasBeenSet = true;
}
XmlNode instancesNode = resultNode.FirstChild("instancesSet");
if(!instancesNode.IsNull())
{
XmlNode instancesMember = instancesNode.FirstChild("item");
while(!instancesMember.IsNull())
{
m_instances.push_back(instancesMember);
instancesMember = instancesMember.NextNode("item");
}
m_instancesHasBeenSet = true;
}
XmlNode ownerIdNode = resultNode.FirstChild("ownerId");
if(!ownerIdNode.IsNull())
{
m_ownerId = Aws::Utils::Xml::DecodeEscapedXmlText(ownerIdNode.GetText());
m_ownerIdHasBeenSet = true;
}
XmlNode requesterIdNode = resultNode.FirstChild("requesterId");
if(!requesterIdNode.IsNull())
{
m_requesterId = Aws::Utils::Xml::DecodeEscapedXmlText(requesterIdNode.GetText());
m_requesterIdHasBeenSet = true;
}
XmlNode reservationIdNode = resultNode.FirstChild("reservationId");
if(!reservationIdNode.IsNull())
{
m_reservationId = Aws::Utils::Xml::DecodeEscapedXmlText(reservationIdNode.GetText());
m_reservationIdHasBeenSet = true;
}
}
return *this;
}
void Reservation::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
{
if(m_groupsHasBeenSet)
{
unsigned groupsIdx = 1;
for(auto& item : m_groups)
{
Aws::StringStream groupsSs;
groupsSs << location << index << locationValue << ".GroupSet." << groupsIdx++;
item.OutputToStream(oStream, groupsSs.str().c_str());
}
}
if(m_instancesHasBeenSet)
{
unsigned instancesIdx = 1;
for(auto& item : m_instances)
{
Aws::StringStream instancesSs;
instancesSs << location << index << locationValue << ".InstancesSet." << instancesIdx++;
item.OutputToStream(oStream, instancesSs.str().c_str());
}
}
if(m_ownerIdHasBeenSet)
{
oStream << location << index << locationValue << ".OwnerId=" << StringUtils::URLEncode(m_ownerId.c_str()) << "&";
}
if(m_requesterIdHasBeenSet)
{
oStream << location << index << locationValue << ".RequesterId=" << StringUtils::URLEncode(m_requesterId.c_str()) << "&";
}
if(m_reservationIdHasBeenSet)
{
oStream << location << index << locationValue << ".ReservationId=" << StringUtils::URLEncode(m_reservationId.c_str()) << "&";
}
if(m_responseMetadataHasBeenSet)
{
Aws::StringStream responseMetadataLocationAndMemberSs;
responseMetadataLocationAndMemberSs << location << index << locationValue << ".ResponseMetadata";
m_responseMetadata.OutputToStream(oStream, responseMetadataLocationAndMemberSs.str().c_str());
}
}
void Reservation::OutputToStream(Aws::OStream& oStream, const char* location) const
{
if(m_groupsHasBeenSet)
{
unsigned groupsIdx = 1;
for(auto& item : m_groups)
{
Aws::StringStream groupsSs;
groupsSs << location << ".GroupSet." << groupsIdx++;
item.OutputToStream(oStream, groupsSs.str().c_str());
}
}
if(m_instancesHasBeenSet)
{
unsigned instancesIdx = 1;
for(auto& item : m_instances)
{
Aws::StringStream instancesSs;
instancesSs << location << ".InstancesSet." << instancesIdx++;
item.OutputToStream(oStream, instancesSs.str().c_str());
}
}
if(m_ownerIdHasBeenSet)
{
oStream << location << ".OwnerId=" << StringUtils::URLEncode(m_ownerId.c_str()) << "&";
}
if(m_requesterIdHasBeenSet)
{
oStream << location << ".RequesterId=" << StringUtils::URLEncode(m_requesterId.c_str()) << "&";
}
if(m_reservationIdHasBeenSet)
{
oStream << location << ".ReservationId=" << StringUtils::URLEncode(m_reservationId.c_str()) << "&";
}
if(m_responseMetadataHasBeenSet)
{
Aws::String responseMetadataLocationAndMember(location);
responseMetadataLocationAndMember += ".ResponseMetadata";
m_responseMetadata.OutputToStream(oStream, responseMetadataLocationAndMember.c_str());
}
}
} // namespace Model
} // namespace EC2
} // namespace Aws