1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/cloudformation/model/GetTemplateRequest.h>
7 #include <aws/core/utils/StringUtils.h>
8 #include <aws/core/utils/memory/stl/AWSStringStream.h>
9 
10 using namespace Aws::CloudFormation::Model;
11 using namespace Aws::Utils;
12 
GetTemplateRequest()13 GetTemplateRequest::GetTemplateRequest() :
14     m_stackNameHasBeenSet(false),
15     m_changeSetNameHasBeenSet(false),
16     m_templateStage(TemplateStage::NOT_SET),
17     m_templateStageHasBeenSet(false)
18 {
19 }
20 
SerializePayload() const21 Aws::String GetTemplateRequest::SerializePayload() const
22 {
23   Aws::StringStream ss;
24   ss << "Action=GetTemplate&";
25   if(m_stackNameHasBeenSet)
26   {
27     ss << "StackName=" << StringUtils::URLEncode(m_stackName.c_str()) << "&";
28   }
29 
30   if(m_changeSetNameHasBeenSet)
31   {
32     ss << "ChangeSetName=" << StringUtils::URLEncode(m_changeSetName.c_str()) << "&";
33   }
34 
35   if(m_templateStageHasBeenSet)
36   {
37     ss << "TemplateStage=" << TemplateStageMapper::GetNameForTemplateStage(m_templateStage) << "&";
38   }
39 
40   ss << "Version=2010-05-15";
41   return ss.str();
42 }
43 
44 
DumpBodyToUrl(Aws::Http::URI & uri) const45 void  GetTemplateRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const
46 {
47   uri.SetQueryString(SerializePayload());
48 }
49