AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateLaunchTemplateRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/OperatorRequest.h>
13#include <aws/ec2/model/RequestLaunchTemplateData.h>
14#include <aws/ec2/model/TagSpecification.h>
15
16#include <utility>
17
18namespace Aws {
19namespace EC2 {
20namespace Model {
21
25 public:
26 AWS_EC2_API CreateLaunchTemplateRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "CreateLaunchTemplate"; }
33
34 AWS_EC2_API Aws::String SerializePayload() const override;
35
36 protected:
37 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
38
39 public:
41
47 inline bool GetDryRun() const { return m_dryRun; }
48 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
49 inline void SetDryRun(bool value) {
50 m_dryRunHasBeenSet = true;
51 m_dryRun = value;
52 }
54 SetDryRun(value);
55 return *this;
56 }
58
60
67 inline const Aws::String& GetClientToken() const { return m_clientToken; }
68 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
69 template <typename ClientTokenT = Aws::String>
70 void SetClientToken(ClientTokenT&& value) {
71 m_clientTokenHasBeenSet = true;
72 m_clientToken = std::forward<ClientTokenT>(value);
73 }
74 template <typename ClientTokenT = Aws::String>
76 SetClientToken(std::forward<ClientTokenT>(value));
77 return *this;
78 }
80
82
85 inline const Aws::String& GetLaunchTemplateName() const { return m_launchTemplateName; }
86 inline bool LaunchTemplateNameHasBeenSet() const { return m_launchTemplateNameHasBeenSet; }
87 template <typename LaunchTemplateNameT = Aws::String>
88 void SetLaunchTemplateName(LaunchTemplateNameT&& value) {
89 m_launchTemplateNameHasBeenSet = true;
90 m_launchTemplateName = std::forward<LaunchTemplateNameT>(value);
91 }
92 template <typename LaunchTemplateNameT = Aws::String>
94 SetLaunchTemplateName(std::forward<LaunchTemplateNameT>(value));
95 return *this;
96 }
98
100
103 inline const Aws::String& GetVersionDescription() const { return m_versionDescription; }
104 inline bool VersionDescriptionHasBeenSet() const { return m_versionDescriptionHasBeenSet; }
105 template <typename VersionDescriptionT = Aws::String>
106 void SetVersionDescription(VersionDescriptionT&& value) {
107 m_versionDescriptionHasBeenSet = true;
108 m_versionDescription = std::forward<VersionDescriptionT>(value);
109 }
110 template <typename VersionDescriptionT = Aws::String>
112 SetVersionDescription(std::forward<VersionDescriptionT>(value));
113 return *this;
114 }
116
118
121 inline const RequestLaunchTemplateData& GetLaunchTemplateData() const { return m_launchTemplateData; }
122 inline bool LaunchTemplateDataHasBeenSet() const { return m_launchTemplateDataHasBeenSet; }
123 template <typename LaunchTemplateDataT = RequestLaunchTemplateData>
124 void SetLaunchTemplateData(LaunchTemplateDataT&& value) {
125 m_launchTemplateDataHasBeenSet = true;
126 m_launchTemplateData = std::forward<LaunchTemplateDataT>(value);
127 }
128 template <typename LaunchTemplateDataT = RequestLaunchTemplateData>
130 SetLaunchTemplateData(std::forward<LaunchTemplateDataT>(value));
131 return *this;
132 }
134
136
139 inline const OperatorRequest& GetOperator() const { return m_operator; }
140 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
141 template <typename OperatorT = OperatorRequest>
142 void SetOperator(OperatorT&& value) {
143 m_operatorHasBeenSet = true;
144 m_operator = std::forward<OperatorT>(value);
145 }
146 template <typename OperatorT = OperatorRequest>
148 SetOperator(std::forward<OperatorT>(value));
149 return *this;
150 }
152
154
162 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
163 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
164 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
165 void SetTagSpecifications(TagSpecificationsT&& value) {
166 m_tagSpecificationsHasBeenSet = true;
167 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
168 }
169 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
171 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
172 return *this;
173 }
174 template <typename TagSpecificationsT = TagSpecification>
176 m_tagSpecificationsHasBeenSet = true;
177 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
178 return *this;
179 }
181 private:
182 bool m_dryRun{false};
183
185
186 Aws::String m_launchTemplateName;
187
188 Aws::String m_versionDescription;
189
190 RequestLaunchTemplateData m_launchTemplateData;
191
192 OperatorRequest m_operator;
193
194 Aws::Vector<TagSpecification> m_tagSpecifications;
195 bool m_dryRunHasBeenSet = false;
196 bool m_clientTokenHasBeenSet = true;
197 bool m_launchTemplateNameHasBeenSet = false;
198 bool m_versionDescriptionHasBeenSet = false;
199 bool m_launchTemplateDataHasBeenSet = false;
200 bool m_operatorHasBeenSet = false;
201 bool m_tagSpecificationsHasBeenSet = false;
202};
203
204} // namespace Model
205} // namespace EC2
206} // namespace Aws
AWS_EC2_API Aws::String SerializePayload() const override
CreateLaunchTemplateRequest & WithClientToken(ClientTokenT &&value)
CreateLaunchTemplateRequest & WithLaunchTemplateName(LaunchTemplateNameT &&value)
CreateLaunchTemplateRequest & WithVersionDescription(VersionDescriptionT &&value)
CreateLaunchTemplateRequest & WithTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
AWS_EC2_API CreateLaunchTemplateRequest()=default
CreateLaunchTemplateRequest & WithDryRun(bool value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetLaunchTemplateName(LaunchTemplateNameT &&value)
CreateLaunchTemplateRequest & AddTagSpecifications(TagSpecificationsT &&value)
CreateLaunchTemplateRequest & WithLaunchTemplateData(LaunchTemplateDataT &&value)
const RequestLaunchTemplateData & GetLaunchTemplateData() const
virtual const char * GetServiceRequestName() const override
CreateLaunchTemplateRequest & WithOperator(OperatorT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector