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-cloudformation/source/model/CreateStackRequest.cpp

164 lines
4.2 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/cloudformation/model/CreateStackRequest.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
using namespace Aws::CloudFormation::Model;
using namespace Aws::Utils;
CreateStackRequest::CreateStackRequest() :
m_stackNameHasBeenSet(false),
m_templateBodyHasBeenSet(false),
m_templateURLHasBeenSet(false),
m_parametersHasBeenSet(false),
m_disableRollback(false),
m_disableRollbackHasBeenSet(false),
m_rollbackConfigurationHasBeenSet(false),
m_timeoutInMinutes(0),
m_timeoutInMinutesHasBeenSet(false),
m_notificationARNsHasBeenSet(false),
m_capabilitiesHasBeenSet(false),
m_resourceTypesHasBeenSet(false),
m_roleARNHasBeenSet(false),
m_onFailure(OnFailure::NOT_SET),
m_onFailureHasBeenSet(false),
m_stackPolicyBodyHasBeenSet(false),
m_stackPolicyURLHasBeenSet(false),
m_tagsHasBeenSet(false),
m_clientRequestTokenHasBeenSet(false),
m_enableTerminationProtection(false),
m_enableTerminationProtectionHasBeenSet(false)
{
}
Aws::String CreateStackRequest::SerializePayload() const
{
Aws::StringStream ss;
ss << "Action=CreateStack&";
if(m_stackNameHasBeenSet)
{
ss << "StackName=" << StringUtils::URLEncode(m_stackName.c_str()) << "&";
}
if(m_templateBodyHasBeenSet)
{
ss << "TemplateBody=" << StringUtils::URLEncode(m_templateBody.c_str()) << "&";
}
if(m_templateURLHasBeenSet)
{
ss << "TemplateURL=" << StringUtils::URLEncode(m_templateURL.c_str()) << "&";
}
if(m_parametersHasBeenSet)
{
unsigned parametersCount = 1;
for(auto& item : m_parameters)
{
item.OutputToStream(ss, "Parameters.member.", parametersCount, "");
parametersCount++;
}
}
if(m_disableRollbackHasBeenSet)
{
ss << "DisableRollback=" << std::boolalpha << m_disableRollback << "&";
}
if(m_rollbackConfigurationHasBeenSet)
{
m_rollbackConfiguration.OutputToStream(ss, "RollbackConfiguration");
}
if(m_timeoutInMinutesHasBeenSet)
{
ss << "TimeoutInMinutes=" << m_timeoutInMinutes << "&";
}
if(m_notificationARNsHasBeenSet)
{
unsigned notificationARNsCount = 1;
for(auto& item : m_notificationARNs)
{
ss << "NotificationARNs.member." << notificationARNsCount << "="
<< StringUtils::URLEncode(item.c_str()) << "&";
notificationARNsCount++;
}
}
if(m_capabilitiesHasBeenSet)
{
unsigned capabilitiesCount = 1;
for(auto& item : m_capabilities)
{
ss << "Capabilities.member." << capabilitiesCount << "="
<< StringUtils::URLEncode(CapabilityMapper::GetNameForCapability(item).c_str()) << "&";
capabilitiesCount++;
}
}
if(m_resourceTypesHasBeenSet)
{
unsigned resourceTypesCount = 1;
for(auto& item : m_resourceTypes)
{
ss << "ResourceTypes.member." << resourceTypesCount << "="
<< StringUtils::URLEncode(item.c_str()) << "&";
resourceTypesCount++;
}
}
if(m_roleARNHasBeenSet)
{
ss << "RoleARN=" << StringUtils::URLEncode(m_roleARN.c_str()) << "&";
}
if(m_onFailureHasBeenSet)
{
ss << "OnFailure=" << OnFailureMapper::GetNameForOnFailure(m_onFailure) << "&";
}
if(m_stackPolicyBodyHasBeenSet)
{
ss << "StackPolicyBody=" << StringUtils::URLEncode(m_stackPolicyBody.c_str()) << "&";
}
if(m_stackPolicyURLHasBeenSet)
{
ss << "StackPolicyURL=" << StringUtils::URLEncode(m_stackPolicyURL.c_str()) << "&";
}
if(m_tagsHasBeenSet)
{
unsigned tagsCount = 1;
for(auto& item : m_tags)
{
item.OutputToStream(ss, "Tags.member.", tagsCount, "");
tagsCount++;
}
}
if(m_clientRequestTokenHasBeenSet)
{
ss << "ClientRequestToken=" << StringUtils::URLEncode(m_clientRequestToken.c_str()) << "&";
}
if(m_enableTerminationProtectionHasBeenSet)
{
ss << "EnableTerminationProtection=" << std::boolalpha << m_enableTerminationProtection << "&";
}
ss << "Version=2010-05-15";
return ss.str();
}
void CreateStackRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const
{
uri.SetQueryString(SerializePayload());
}