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

676 lines
26 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/ec2/model/RequestLaunchTemplateData.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
{
RequestLaunchTemplateData::RequestLaunchTemplateData() :
m_kernelIdHasBeenSet(false),
m_ebsOptimized(false),
m_ebsOptimizedHasBeenSet(false),
m_iamInstanceProfileHasBeenSet(false),
m_blockDeviceMappingsHasBeenSet(false),
m_networkInterfacesHasBeenSet(false),
m_imageIdHasBeenSet(false),
m_instanceType(InstanceType::NOT_SET),
m_instanceTypeHasBeenSet(false),
m_keyNameHasBeenSet(false),
m_monitoringHasBeenSet(false),
m_placementHasBeenSet(false),
m_ramDiskIdHasBeenSet(false),
m_disableApiTermination(false),
m_disableApiTerminationHasBeenSet(false),
m_instanceInitiatedShutdownBehavior(ShutdownBehavior::NOT_SET),
m_instanceInitiatedShutdownBehaviorHasBeenSet(false),
m_userDataHasBeenSet(false),
m_tagSpecificationsHasBeenSet(false),
m_elasticGpuSpecificationsHasBeenSet(false),
m_elasticInferenceAcceleratorsHasBeenSet(false),
m_securityGroupIdsHasBeenSet(false),
m_securityGroupsHasBeenSet(false),
m_instanceMarketOptionsHasBeenSet(false),
m_creditSpecificationHasBeenSet(false),
m_cpuOptionsHasBeenSet(false),
m_capacityReservationSpecificationHasBeenSet(false),
m_licenseSpecificationsHasBeenSet(false),
m_hibernationOptionsHasBeenSet(false),
m_metadataOptionsHasBeenSet(false)
{
}
RequestLaunchTemplateData::RequestLaunchTemplateData(const XmlNode& xmlNode) :
m_kernelIdHasBeenSet(false),
m_ebsOptimized(false),
m_ebsOptimizedHasBeenSet(false),
m_iamInstanceProfileHasBeenSet(false),
m_blockDeviceMappingsHasBeenSet(false),
m_networkInterfacesHasBeenSet(false),
m_imageIdHasBeenSet(false),
m_instanceType(InstanceType::NOT_SET),
m_instanceTypeHasBeenSet(false),
m_keyNameHasBeenSet(false),
m_monitoringHasBeenSet(false),
m_placementHasBeenSet(false),
m_ramDiskIdHasBeenSet(false),
m_disableApiTermination(false),
m_disableApiTerminationHasBeenSet(false),
m_instanceInitiatedShutdownBehavior(ShutdownBehavior::NOT_SET),
m_instanceInitiatedShutdownBehaviorHasBeenSet(false),
m_userDataHasBeenSet(false),
m_tagSpecificationsHasBeenSet(false),
m_elasticGpuSpecificationsHasBeenSet(false),
m_elasticInferenceAcceleratorsHasBeenSet(false),
m_securityGroupIdsHasBeenSet(false),
m_securityGroupsHasBeenSet(false),
m_instanceMarketOptionsHasBeenSet(false),
m_creditSpecificationHasBeenSet(false),
m_cpuOptionsHasBeenSet(false),
m_capacityReservationSpecificationHasBeenSet(false),
m_licenseSpecificationsHasBeenSet(false),
m_hibernationOptionsHasBeenSet(false),
m_metadataOptionsHasBeenSet(false)
{
*this = xmlNode;
}
RequestLaunchTemplateData& RequestLaunchTemplateData::operator =(const XmlNode& xmlNode)
{
XmlNode resultNode = xmlNode;
if(!resultNode.IsNull())
{
XmlNode kernelIdNode = resultNode.FirstChild("KernelId");
if(!kernelIdNode.IsNull())
{
m_kernelId = Aws::Utils::Xml::DecodeEscapedXmlText(kernelIdNode.GetText());
m_kernelIdHasBeenSet = true;
}
XmlNode ebsOptimizedNode = resultNode.FirstChild("EbsOptimized");
if(!ebsOptimizedNode.IsNull())
{
m_ebsOptimized = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(ebsOptimizedNode.GetText()).c_str()).c_str());
m_ebsOptimizedHasBeenSet = true;
}
XmlNode iamInstanceProfileNode = resultNode.FirstChild("IamInstanceProfile");
if(!iamInstanceProfileNode.IsNull())
{
m_iamInstanceProfile = iamInstanceProfileNode;
m_iamInstanceProfileHasBeenSet = true;
}
XmlNode blockDeviceMappingsNode = resultNode.FirstChild("BlockDeviceMapping");
if(!blockDeviceMappingsNode.IsNull())
{
XmlNode blockDeviceMappingsMember = blockDeviceMappingsNode.FirstChild("BlockDeviceMapping");
while(!blockDeviceMappingsMember.IsNull())
{
m_blockDeviceMappings.push_back(blockDeviceMappingsMember);
blockDeviceMappingsMember = blockDeviceMappingsMember.NextNode("BlockDeviceMapping");
}
m_blockDeviceMappingsHasBeenSet = true;
}
XmlNode networkInterfacesNode = resultNode.FirstChild("NetworkInterface");
if(!networkInterfacesNode.IsNull())
{
XmlNode networkInterfacesMember = networkInterfacesNode.FirstChild("InstanceNetworkInterfaceSpecification");
while(!networkInterfacesMember.IsNull())
{
m_networkInterfaces.push_back(networkInterfacesMember);
networkInterfacesMember = networkInterfacesMember.NextNode("InstanceNetworkInterfaceSpecification");
}
m_networkInterfacesHasBeenSet = true;
}
XmlNode imageIdNode = resultNode.FirstChild("ImageId");
if(!imageIdNode.IsNull())
{
m_imageId = Aws::Utils::Xml::DecodeEscapedXmlText(imageIdNode.GetText());
m_imageIdHasBeenSet = true;
}
XmlNode instanceTypeNode = resultNode.FirstChild("InstanceType");
if(!instanceTypeNode.IsNull())
{
m_instanceType = InstanceTypeMapper::GetInstanceTypeForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(instanceTypeNode.GetText()).c_str()).c_str());
m_instanceTypeHasBeenSet = true;
}
XmlNode keyNameNode = resultNode.FirstChild("KeyName");
if(!keyNameNode.IsNull())
{
m_keyName = Aws::Utils::Xml::DecodeEscapedXmlText(keyNameNode.GetText());
m_keyNameHasBeenSet = true;
}
XmlNode monitoringNode = resultNode.FirstChild("Monitoring");
if(!monitoringNode.IsNull())
{
m_monitoring = monitoringNode;
m_monitoringHasBeenSet = true;
}
XmlNode placementNode = resultNode.FirstChild("Placement");
if(!placementNode.IsNull())
{
m_placement = placementNode;
m_placementHasBeenSet = true;
}
XmlNode ramDiskIdNode = resultNode.FirstChild("RamDiskId");
if(!ramDiskIdNode.IsNull())
{
m_ramDiskId = Aws::Utils::Xml::DecodeEscapedXmlText(ramDiskIdNode.GetText());
m_ramDiskIdHasBeenSet = true;
}
XmlNode disableApiTerminationNode = resultNode.FirstChild("DisableApiTermination");
if(!disableApiTerminationNode.IsNull())
{
m_disableApiTermination = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(disableApiTerminationNode.GetText()).c_str()).c_str());
m_disableApiTerminationHasBeenSet = true;
}
XmlNode instanceInitiatedShutdownBehaviorNode = resultNode.FirstChild("InstanceInitiatedShutdownBehavior");
if(!instanceInitiatedShutdownBehaviorNode.IsNull())
{
m_instanceInitiatedShutdownBehavior = ShutdownBehaviorMapper::GetShutdownBehaviorForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(instanceInitiatedShutdownBehaviorNode.GetText()).c_str()).c_str());
m_instanceInitiatedShutdownBehaviorHasBeenSet = true;
}
XmlNode userDataNode = resultNode.FirstChild("UserData");
if(!userDataNode.IsNull())
{
m_userData = Aws::Utils::Xml::DecodeEscapedXmlText(userDataNode.GetText());
m_userDataHasBeenSet = true;
}
XmlNode tagSpecificationsNode = resultNode.FirstChild("TagSpecification");
if(!tagSpecificationsNode.IsNull())
{
XmlNode tagSpecificationsMember = tagSpecificationsNode.FirstChild("LaunchTemplateTagSpecificationRequest");
while(!tagSpecificationsMember.IsNull())
{
m_tagSpecifications.push_back(tagSpecificationsMember);
tagSpecificationsMember = tagSpecificationsMember.NextNode("LaunchTemplateTagSpecificationRequest");
}
m_tagSpecificationsHasBeenSet = true;
}
XmlNode elasticGpuSpecificationsNode = resultNode.FirstChild("ElasticGpuSpecification");
if(!elasticGpuSpecificationsNode.IsNull())
{
XmlNode elasticGpuSpecificationsMember = elasticGpuSpecificationsNode.FirstChild("ElasticGpuSpecification");
while(!elasticGpuSpecificationsMember.IsNull())
{
m_elasticGpuSpecifications.push_back(elasticGpuSpecificationsMember);
elasticGpuSpecificationsMember = elasticGpuSpecificationsMember.NextNode("ElasticGpuSpecification");
}
m_elasticGpuSpecificationsHasBeenSet = true;
}
XmlNode elasticInferenceAcceleratorsNode = resultNode.FirstChild("ElasticInferenceAccelerator");
if(!elasticInferenceAcceleratorsNode.IsNull())
{
XmlNode elasticInferenceAcceleratorsMember = elasticInferenceAcceleratorsNode.FirstChild("item");
while(!elasticInferenceAcceleratorsMember.IsNull())
{
m_elasticInferenceAccelerators.push_back(elasticInferenceAcceleratorsMember);
elasticInferenceAcceleratorsMember = elasticInferenceAcceleratorsMember.NextNode("item");
}
m_elasticInferenceAcceleratorsHasBeenSet = true;
}
XmlNode securityGroupIdsNode = resultNode.FirstChild("SecurityGroupId");
if(!securityGroupIdsNode.IsNull())
{
XmlNode securityGroupIdsMember = securityGroupIdsNode.FirstChild("SecurityGroupId");
while(!securityGroupIdsMember.IsNull())
{
m_securityGroupIds.push_back(securityGroupIdsMember.GetText());
securityGroupIdsMember = securityGroupIdsMember.NextNode("SecurityGroupId");
}
m_securityGroupIdsHasBeenSet = true;
}
XmlNode securityGroupsNode = resultNode.FirstChild("SecurityGroup");
if(!securityGroupsNode.IsNull())
{
XmlNode securityGroupsMember = securityGroupsNode.FirstChild("SecurityGroup");
while(!securityGroupsMember.IsNull())
{
m_securityGroups.push_back(securityGroupsMember.GetText());
securityGroupsMember = securityGroupsMember.NextNode("SecurityGroup");
}
m_securityGroupsHasBeenSet = true;
}
XmlNode instanceMarketOptionsNode = resultNode.FirstChild("InstanceMarketOptions");
if(!instanceMarketOptionsNode.IsNull())
{
m_instanceMarketOptions = instanceMarketOptionsNode;
m_instanceMarketOptionsHasBeenSet = true;
}
XmlNode creditSpecificationNode = resultNode.FirstChild("CreditSpecification");
if(!creditSpecificationNode.IsNull())
{
m_creditSpecification = creditSpecificationNode;
m_creditSpecificationHasBeenSet = true;
}
XmlNode cpuOptionsNode = resultNode.FirstChild("CpuOptions");
if(!cpuOptionsNode.IsNull())
{
m_cpuOptions = cpuOptionsNode;
m_cpuOptionsHasBeenSet = true;
}
XmlNode capacityReservationSpecificationNode = resultNode.FirstChild("CapacityReservationSpecification");
if(!capacityReservationSpecificationNode.IsNull())
{
m_capacityReservationSpecification = capacityReservationSpecificationNode;
m_capacityReservationSpecificationHasBeenSet = true;
}
XmlNode licenseSpecificationsNode = resultNode.FirstChild("LicenseSpecification");
if(!licenseSpecificationsNode.IsNull())
{
XmlNode licenseSpecificationsMember = licenseSpecificationsNode.FirstChild("item");
while(!licenseSpecificationsMember.IsNull())
{
m_licenseSpecifications.push_back(licenseSpecificationsMember);
licenseSpecificationsMember = licenseSpecificationsMember.NextNode("item");
}
m_licenseSpecificationsHasBeenSet = true;
}
XmlNode hibernationOptionsNode = resultNode.FirstChild("HibernationOptions");
if(!hibernationOptionsNode.IsNull())
{
m_hibernationOptions = hibernationOptionsNode;
m_hibernationOptionsHasBeenSet = true;
}
XmlNode metadataOptionsNode = resultNode.FirstChild("MetadataOptions");
if(!metadataOptionsNode.IsNull())
{
m_metadataOptions = metadataOptionsNode;
m_metadataOptionsHasBeenSet = true;
}
}
return *this;
}
void RequestLaunchTemplateData::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const
{
if(m_kernelIdHasBeenSet)
{
oStream << location << index << locationValue << ".KernelId=" << StringUtils::URLEncode(m_kernelId.c_str()) << "&";
}
if(m_ebsOptimizedHasBeenSet)
{
oStream << location << index << locationValue << ".EbsOptimized=" << std::boolalpha << m_ebsOptimized << "&";
}
if(m_iamInstanceProfileHasBeenSet)
{
Aws::StringStream iamInstanceProfileLocationAndMemberSs;
iamInstanceProfileLocationAndMemberSs << location << index << locationValue << ".IamInstanceProfile";
m_iamInstanceProfile.OutputToStream(oStream, iamInstanceProfileLocationAndMemberSs.str().c_str());
}
if(m_blockDeviceMappingsHasBeenSet)
{
unsigned blockDeviceMappingsIdx = 1;
for(auto& item : m_blockDeviceMappings)
{
Aws::StringStream blockDeviceMappingsSs;
blockDeviceMappingsSs << location << index << locationValue << ".BlockDeviceMapping." << blockDeviceMappingsIdx++;
item.OutputToStream(oStream, blockDeviceMappingsSs.str().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());
}
}
if(m_imageIdHasBeenSet)
{
oStream << location << index << locationValue << ".ImageId=" << StringUtils::URLEncode(m_imageId.c_str()) << "&";
}
if(m_instanceTypeHasBeenSet)
{
oStream << location << index << locationValue << ".InstanceType=" << InstanceTypeMapper::GetNameForInstanceType(m_instanceType) << "&";
}
if(m_keyNameHasBeenSet)
{
oStream << location << index << locationValue << ".KeyName=" << StringUtils::URLEncode(m_keyName.c_str()) << "&";
}
if(m_monitoringHasBeenSet)
{
Aws::StringStream monitoringLocationAndMemberSs;
monitoringLocationAndMemberSs << location << index << locationValue << ".Monitoring";
m_monitoring.OutputToStream(oStream, monitoringLocationAndMemberSs.str().c_str());
}
if(m_placementHasBeenSet)
{
Aws::StringStream placementLocationAndMemberSs;
placementLocationAndMemberSs << location << index << locationValue << ".Placement";
m_placement.OutputToStream(oStream, placementLocationAndMemberSs.str().c_str());
}
if(m_ramDiskIdHasBeenSet)
{
oStream << location << index << locationValue << ".RamDiskId=" << StringUtils::URLEncode(m_ramDiskId.c_str()) << "&";
}
if(m_disableApiTerminationHasBeenSet)
{
oStream << location << index << locationValue << ".DisableApiTermination=" << std::boolalpha << m_disableApiTermination << "&";
}
if(m_instanceInitiatedShutdownBehaviorHasBeenSet)
{
oStream << location << index << locationValue << ".InstanceInitiatedShutdownBehavior=" << ShutdownBehaviorMapper::GetNameForShutdownBehavior(m_instanceInitiatedShutdownBehavior) << "&";
}
if(m_userDataHasBeenSet)
{
oStream << location << index << locationValue << ".UserData=" << StringUtils::URLEncode(m_userData.c_str()) << "&";
}
if(m_tagSpecificationsHasBeenSet)
{
unsigned tagSpecificationsIdx = 1;
for(auto& item : m_tagSpecifications)
{
Aws::StringStream tagSpecificationsSs;
tagSpecificationsSs << location << index << locationValue << ".TagSpecification." << tagSpecificationsIdx++;
item.OutputToStream(oStream, tagSpecificationsSs.str().c_str());
}
}
if(m_elasticGpuSpecificationsHasBeenSet)
{
unsigned elasticGpuSpecificationsIdx = 1;
for(auto& item : m_elasticGpuSpecifications)
{
Aws::StringStream elasticGpuSpecificationsSs;
elasticGpuSpecificationsSs << location << index << locationValue << ".ElasticGpuSpecification." << elasticGpuSpecificationsIdx++;
item.OutputToStream(oStream, elasticGpuSpecificationsSs.str().c_str());
}
}
if(m_elasticInferenceAcceleratorsHasBeenSet)
{
unsigned elasticInferenceAcceleratorsIdx = 1;
for(auto& item : m_elasticInferenceAccelerators)
{
Aws::StringStream elasticInferenceAcceleratorsSs;
elasticInferenceAcceleratorsSs << location << index << locationValue << ".ElasticInferenceAccelerator." << elasticInferenceAcceleratorsIdx++;
item.OutputToStream(oStream, elasticInferenceAcceleratorsSs.str().c_str());
}
}
if(m_securityGroupIdsHasBeenSet)
{
unsigned securityGroupIdsIdx = 1;
for(auto& item : m_securityGroupIds)
{
oStream << location << index << locationValue << ".SecurityGroupId." << securityGroupIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_securityGroupsHasBeenSet)
{
unsigned securityGroupsIdx = 1;
for(auto& item : m_securityGroups)
{
oStream << location << index << locationValue << ".SecurityGroup." << securityGroupsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_instanceMarketOptionsHasBeenSet)
{
Aws::StringStream instanceMarketOptionsLocationAndMemberSs;
instanceMarketOptionsLocationAndMemberSs << location << index << locationValue << ".InstanceMarketOptions";
m_instanceMarketOptions.OutputToStream(oStream, instanceMarketOptionsLocationAndMemberSs.str().c_str());
}
if(m_creditSpecificationHasBeenSet)
{
Aws::StringStream creditSpecificationLocationAndMemberSs;
creditSpecificationLocationAndMemberSs << location << index << locationValue << ".CreditSpecification";
m_creditSpecification.OutputToStream(oStream, creditSpecificationLocationAndMemberSs.str().c_str());
}
if(m_cpuOptionsHasBeenSet)
{
Aws::StringStream cpuOptionsLocationAndMemberSs;
cpuOptionsLocationAndMemberSs << location << index << locationValue << ".CpuOptions";
m_cpuOptions.OutputToStream(oStream, cpuOptionsLocationAndMemberSs.str().c_str());
}
if(m_capacityReservationSpecificationHasBeenSet)
{
Aws::StringStream capacityReservationSpecificationLocationAndMemberSs;
capacityReservationSpecificationLocationAndMemberSs << location << index << locationValue << ".CapacityReservationSpecification";
m_capacityReservationSpecification.OutputToStream(oStream, capacityReservationSpecificationLocationAndMemberSs.str().c_str());
}
if(m_licenseSpecificationsHasBeenSet)
{
unsigned licenseSpecificationsIdx = 1;
for(auto& item : m_licenseSpecifications)
{
Aws::StringStream licenseSpecificationsSs;
licenseSpecificationsSs << location << index << locationValue << ".LicenseSpecification." << licenseSpecificationsIdx++;
item.OutputToStream(oStream, licenseSpecificationsSs.str().c_str());
}
}
if(m_hibernationOptionsHasBeenSet)
{
Aws::StringStream hibernationOptionsLocationAndMemberSs;
hibernationOptionsLocationAndMemberSs << location << index << locationValue << ".HibernationOptions";
m_hibernationOptions.OutputToStream(oStream, hibernationOptionsLocationAndMemberSs.str().c_str());
}
if(m_metadataOptionsHasBeenSet)
{
Aws::StringStream metadataOptionsLocationAndMemberSs;
metadataOptionsLocationAndMemberSs << location << index << locationValue << ".MetadataOptions";
m_metadataOptions.OutputToStream(oStream, metadataOptionsLocationAndMemberSs.str().c_str());
}
}
void RequestLaunchTemplateData::OutputToStream(Aws::OStream& oStream, const char* location) const
{
if(m_kernelIdHasBeenSet)
{
oStream << location << ".KernelId=" << StringUtils::URLEncode(m_kernelId.c_str()) << "&";
}
if(m_ebsOptimizedHasBeenSet)
{
oStream << location << ".EbsOptimized=" << std::boolalpha << m_ebsOptimized << "&";
}
if(m_iamInstanceProfileHasBeenSet)
{
Aws::String iamInstanceProfileLocationAndMember(location);
iamInstanceProfileLocationAndMember += ".IamInstanceProfile";
m_iamInstanceProfile.OutputToStream(oStream, iamInstanceProfileLocationAndMember.c_str());
}
if(m_blockDeviceMappingsHasBeenSet)
{
unsigned blockDeviceMappingsIdx = 1;
for(auto& item : m_blockDeviceMappings)
{
Aws::StringStream blockDeviceMappingsSs;
blockDeviceMappingsSs << location << ".BlockDeviceMapping." << blockDeviceMappingsIdx++;
item.OutputToStream(oStream, blockDeviceMappingsSs.str().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());
}
}
if(m_imageIdHasBeenSet)
{
oStream << location << ".ImageId=" << StringUtils::URLEncode(m_imageId.c_str()) << "&";
}
if(m_instanceTypeHasBeenSet)
{
oStream << location << ".InstanceType=" << InstanceTypeMapper::GetNameForInstanceType(m_instanceType) << "&";
}
if(m_keyNameHasBeenSet)
{
oStream << location << ".KeyName=" << StringUtils::URLEncode(m_keyName.c_str()) << "&";
}
if(m_monitoringHasBeenSet)
{
Aws::String monitoringLocationAndMember(location);
monitoringLocationAndMember += ".Monitoring";
m_monitoring.OutputToStream(oStream, monitoringLocationAndMember.c_str());
}
if(m_placementHasBeenSet)
{
Aws::String placementLocationAndMember(location);
placementLocationAndMember += ".Placement";
m_placement.OutputToStream(oStream, placementLocationAndMember.c_str());
}
if(m_ramDiskIdHasBeenSet)
{
oStream << location << ".RamDiskId=" << StringUtils::URLEncode(m_ramDiskId.c_str()) << "&";
}
if(m_disableApiTerminationHasBeenSet)
{
oStream << location << ".DisableApiTermination=" << std::boolalpha << m_disableApiTermination << "&";
}
if(m_instanceInitiatedShutdownBehaviorHasBeenSet)
{
oStream << location << ".InstanceInitiatedShutdownBehavior=" << ShutdownBehaviorMapper::GetNameForShutdownBehavior(m_instanceInitiatedShutdownBehavior) << "&";
}
if(m_userDataHasBeenSet)
{
oStream << location << ".UserData=" << StringUtils::URLEncode(m_userData.c_str()) << "&";
}
if(m_tagSpecificationsHasBeenSet)
{
unsigned tagSpecificationsIdx = 1;
for(auto& item : m_tagSpecifications)
{
Aws::StringStream tagSpecificationsSs;
tagSpecificationsSs << location << ".TagSpecification." << tagSpecificationsIdx++;
item.OutputToStream(oStream, tagSpecificationsSs.str().c_str());
}
}
if(m_elasticGpuSpecificationsHasBeenSet)
{
unsigned elasticGpuSpecificationsIdx = 1;
for(auto& item : m_elasticGpuSpecifications)
{
Aws::StringStream elasticGpuSpecificationsSs;
elasticGpuSpecificationsSs << location << ".ElasticGpuSpecification." << elasticGpuSpecificationsIdx++;
item.OutputToStream(oStream, elasticGpuSpecificationsSs.str().c_str());
}
}
if(m_elasticInferenceAcceleratorsHasBeenSet)
{
unsigned elasticInferenceAcceleratorsIdx = 1;
for(auto& item : m_elasticInferenceAccelerators)
{
Aws::StringStream elasticInferenceAcceleratorsSs;
elasticInferenceAcceleratorsSs << location << ".ElasticInferenceAccelerator." << elasticInferenceAcceleratorsIdx++;
item.OutputToStream(oStream, elasticInferenceAcceleratorsSs.str().c_str());
}
}
if(m_securityGroupIdsHasBeenSet)
{
unsigned securityGroupIdsIdx = 1;
for(auto& item : m_securityGroupIds)
{
oStream << location << ".SecurityGroupId." << securityGroupIdsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_securityGroupsHasBeenSet)
{
unsigned securityGroupsIdx = 1;
for(auto& item : m_securityGroups)
{
oStream << location << ".SecurityGroup." << securityGroupsIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
}
}
if(m_instanceMarketOptionsHasBeenSet)
{
Aws::String instanceMarketOptionsLocationAndMember(location);
instanceMarketOptionsLocationAndMember += ".InstanceMarketOptions";
m_instanceMarketOptions.OutputToStream(oStream, instanceMarketOptionsLocationAndMember.c_str());
}
if(m_creditSpecificationHasBeenSet)
{
Aws::String creditSpecificationLocationAndMember(location);
creditSpecificationLocationAndMember += ".CreditSpecification";
m_creditSpecification.OutputToStream(oStream, creditSpecificationLocationAndMember.c_str());
}
if(m_cpuOptionsHasBeenSet)
{
Aws::String cpuOptionsLocationAndMember(location);
cpuOptionsLocationAndMember += ".CpuOptions";
m_cpuOptions.OutputToStream(oStream, cpuOptionsLocationAndMember.c_str());
}
if(m_capacityReservationSpecificationHasBeenSet)
{
Aws::String capacityReservationSpecificationLocationAndMember(location);
capacityReservationSpecificationLocationAndMember += ".CapacityReservationSpecification";
m_capacityReservationSpecification.OutputToStream(oStream, capacityReservationSpecificationLocationAndMember.c_str());
}
if(m_licenseSpecificationsHasBeenSet)
{
unsigned licenseSpecificationsIdx = 1;
for(auto& item : m_licenseSpecifications)
{
Aws::StringStream licenseSpecificationsSs;
licenseSpecificationsSs << location << ".LicenseSpecification." << licenseSpecificationsIdx++;
item.OutputToStream(oStream, licenseSpecificationsSs.str().c_str());
}
}
if(m_hibernationOptionsHasBeenSet)
{
Aws::String hibernationOptionsLocationAndMember(location);
hibernationOptionsLocationAndMember += ".HibernationOptions";
m_hibernationOptions.OutputToStream(oStream, hibernationOptionsLocationAndMember.c_str());
}
if(m_metadataOptionsHasBeenSet)
{
Aws::String metadataOptionsLocationAndMember(location);
metadataOptionsLocationAndMember += ".MetadataOptions";
m_metadataOptions.OutputToStream(oStream, metadataOptionsLocationAndMember.c_str());
}
}
} // namespace Model
} // namespace EC2
} // namespace Aws