AWS SDK for C++  0.14.3
AWS SDK for C++
Stack.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
26 
27 namespace Aws
28 {
29 namespace Utils
30 {
31 namespace Xml
32 {
33  class XmlNode;
34 } // namespace Xml
35 } // namespace Utils
36 namespace CloudFormation
37 {
38 namespace Model
39 {
40 
45  {
46  public:
47  Stack();
48  Stack(const Aws::Utils::Xml::XmlNode& xmlNode);
49  Stack& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
50 
51  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
52  void OutputToStream(Aws::OStream& oStream, const char* location) const;
53 
57  inline const Aws::String& GetStackId() const{ return m_stackId; }
58 
62  inline void SetStackId(const Aws::String& value) { m_stackIdHasBeenSet = true; m_stackId = value; }
63 
67  inline void SetStackId(Aws::String&& value) { m_stackIdHasBeenSet = true; m_stackId = value; }
68 
72  inline void SetStackId(const char* value) { m_stackIdHasBeenSet = true; m_stackId.assign(value); }
73 
77  inline Stack& WithStackId(const Aws::String& value) { SetStackId(value); return *this;}
78 
82  inline Stack& WithStackId(Aws::String&& value) { SetStackId(value); return *this;}
83 
87  inline Stack& WithStackId(const char* value) { SetStackId(value); return *this;}
88 
92  inline const Aws::String& GetStackName() const{ return m_stackName; }
93 
97  inline void SetStackName(const Aws::String& value) { m_stackNameHasBeenSet = true; m_stackName = value; }
98 
102  inline void SetStackName(Aws::String&& value) { m_stackNameHasBeenSet = true; m_stackName = value; }
103 
107  inline void SetStackName(const char* value) { m_stackNameHasBeenSet = true; m_stackName.assign(value); }
108 
112  inline Stack& WithStackName(const Aws::String& value) { SetStackName(value); return *this;}
113 
117  inline Stack& WithStackName(Aws::String&& value) { SetStackName(value); return *this;}
118 
122  inline Stack& WithStackName(const char* value) { SetStackName(value); return *this;}
123 
127  inline const Aws::String& GetDescription() const{ return m_description; }
128 
132  inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
133 
137  inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = value; }
138 
142  inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
143 
147  inline Stack& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
148 
152  inline Stack& WithDescription(Aws::String&& value) { SetDescription(value); return *this;}
153 
157  inline Stack& WithDescription(const char* value) { SetDescription(value); return *this;}
158 
162  inline const Aws::Vector<Parameter>& GetParameters() const{ return m_parameters; }
163 
167  inline void SetParameters(const Aws::Vector<Parameter>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
168 
172  inline void SetParameters(Aws::Vector<Parameter>&& value) { m_parametersHasBeenSet = true; m_parameters = value; }
173 
177  inline Stack& WithParameters(const Aws::Vector<Parameter>& value) { SetParameters(value); return *this;}
178 
182  inline Stack& WithParameters(Aws::Vector<Parameter>&& value) { SetParameters(value); return *this;}
183 
187  inline Stack& AddParameters(const Parameter& value) { m_parametersHasBeenSet = true; m_parameters.push_back(value); return *this; }
188 
192  inline Stack& AddParameters(Parameter&& value) { m_parametersHasBeenSet = true; m_parameters.push_back(value); return *this; }
193 
197  inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
198 
202  inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
203 
207  inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
208 
212  inline Stack& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
213 
217  inline Stack& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(value); return *this;}
218 
223  inline const Aws::Utils::DateTime& GetLastUpdatedTime() const{ return m_lastUpdatedTime; }
224 
229  inline void SetLastUpdatedTime(const Aws::Utils::DateTime& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
230 
235  inline void SetLastUpdatedTime(Aws::Utils::DateTime&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
236 
241  inline Stack& WithLastUpdatedTime(const Aws::Utils::DateTime& value) { SetLastUpdatedTime(value); return *this;}
242 
247  inline Stack& WithLastUpdatedTime(Aws::Utils::DateTime&& value) { SetLastUpdatedTime(value); return *this;}
248 
252  inline const StackStatus& GetStackStatus() const{ return m_stackStatus; }
253 
257  inline void SetStackStatus(const StackStatus& value) { m_stackStatusHasBeenSet = true; m_stackStatus = value; }
258 
262  inline void SetStackStatus(StackStatus&& value) { m_stackStatusHasBeenSet = true; m_stackStatus = value; }
263 
267  inline Stack& WithStackStatus(const StackStatus& value) { SetStackStatus(value); return *this;}
268 
272  inline Stack& WithStackStatus(StackStatus&& value) { SetStackStatus(value); return *this;}
273 
277  inline const Aws::String& GetStackStatusReason() const{ return m_stackStatusReason; }
278 
282  inline void SetStackStatusReason(const Aws::String& value) { m_stackStatusReasonHasBeenSet = true; m_stackStatusReason = value; }
283 
287  inline void SetStackStatusReason(Aws::String&& value) { m_stackStatusReasonHasBeenSet = true; m_stackStatusReason = value; }
288 
292  inline void SetStackStatusReason(const char* value) { m_stackStatusReasonHasBeenSet = true; m_stackStatusReason.assign(value); }
293 
297  inline Stack& WithStackStatusReason(const Aws::String& value) { SetStackStatusReason(value); return *this;}
298 
302  inline Stack& WithStackStatusReason(Aws::String&& value) { SetStackStatusReason(value); return *this;}
303 
307  inline Stack& WithStackStatusReason(const char* value) { SetStackStatusReason(value); return *this;}
308 
314  inline bool GetDisableRollback() const{ return m_disableRollback; }
315 
321  inline void SetDisableRollback(bool value) { m_disableRollbackHasBeenSet = true; m_disableRollback = value; }
322 
328  inline Stack& WithDisableRollback(bool value) { SetDisableRollback(value); return *this;}
329 
333  inline const Aws::Vector<Aws::String>& GetNotificationARNs() const{ return m_notificationARNs; }
334 
338  inline void SetNotificationARNs(const Aws::Vector<Aws::String>& value) { m_notificationARNsHasBeenSet = true; m_notificationARNs = value; }
339 
343  inline void SetNotificationARNs(Aws::Vector<Aws::String>&& value) { m_notificationARNsHasBeenSet = true; m_notificationARNs = value; }
344 
348  inline Stack& WithNotificationARNs(const Aws::Vector<Aws::String>& value) { SetNotificationARNs(value); return *this;}
349 
353  inline Stack& WithNotificationARNs(Aws::Vector<Aws::String>&& value) { SetNotificationARNs(value); return *this;}
354 
358  inline Stack& AddNotificationARNs(const Aws::String& value) { m_notificationARNsHasBeenSet = true; m_notificationARNs.push_back(value); return *this; }
359 
363  inline Stack& AddNotificationARNs(Aws::String&& value) { m_notificationARNsHasBeenSet = true; m_notificationARNs.push_back(value); return *this; }
364 
368  inline Stack& AddNotificationARNs(const char* value) { m_notificationARNsHasBeenSet = true; m_notificationARNs.push_back(value); return *this; }
369 
373  inline int GetTimeoutInMinutes() const{ return m_timeoutInMinutes; }
374 
378  inline void SetTimeoutInMinutes(int value) { m_timeoutInMinutesHasBeenSet = true; m_timeoutInMinutes = value; }
379 
383  inline Stack& WithTimeoutInMinutes(int value) { SetTimeoutInMinutes(value); return *this;}
384 
388  inline const Aws::Vector<Capability>& GetCapabilities() const{ return m_capabilities; }
389 
393  inline void SetCapabilities(const Aws::Vector<Capability>& value) { m_capabilitiesHasBeenSet = true; m_capabilities = value; }
394 
398  inline void SetCapabilities(Aws::Vector<Capability>&& value) { m_capabilitiesHasBeenSet = true; m_capabilities = value; }
399 
403  inline Stack& WithCapabilities(const Aws::Vector<Capability>& value) { SetCapabilities(value); return *this;}
404 
408  inline Stack& WithCapabilities(Aws::Vector<Capability>&& value) { SetCapabilities(value); return *this;}
409 
413  inline Stack& AddCapabilities(const Capability& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(value); return *this; }
414 
418  inline Stack& AddCapabilities(Capability&& value) { m_capabilitiesHasBeenSet = true; m_capabilities.push_back(value); return *this; }
419 
423  inline const Aws::Vector<Output>& GetOutputs() const{ return m_outputs; }
424 
428  inline void SetOutputs(const Aws::Vector<Output>& value) { m_outputsHasBeenSet = true; m_outputs = value; }
429 
433  inline void SetOutputs(Aws::Vector<Output>&& value) { m_outputsHasBeenSet = true; m_outputs = value; }
434 
438  inline Stack& WithOutputs(const Aws::Vector<Output>& value) { SetOutputs(value); return *this;}
439 
443  inline Stack& WithOutputs(Aws::Vector<Output>&& value) { SetOutputs(value); return *this;}
444 
448  inline Stack& AddOutputs(const Output& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; }
449 
453  inline Stack& AddOutputs(Output&& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; }
454 
458  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
459 
463  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
464 
468  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
469 
473  inline Stack& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
474 
478  inline Stack& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
479 
483  inline Stack& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
484 
488  inline Stack& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
489 
490  private:
491  Aws::String m_stackId;
492  bool m_stackIdHasBeenSet;
493  Aws::String m_stackName;
494  bool m_stackNameHasBeenSet;
495  Aws::String m_description;
496  bool m_descriptionHasBeenSet;
497  Aws::Vector<Parameter> m_parameters;
498  bool m_parametersHasBeenSet;
499  Aws::Utils::DateTime m_creationTime;
500  bool m_creationTimeHasBeenSet;
501  Aws::Utils::DateTime m_lastUpdatedTime;
502  bool m_lastUpdatedTimeHasBeenSet;
503  StackStatus m_stackStatus;
504  bool m_stackStatusHasBeenSet;
505  Aws::String m_stackStatusReason;
506  bool m_stackStatusReasonHasBeenSet;
507  bool m_disableRollback;
508  bool m_disableRollbackHasBeenSet;
509  Aws::Vector<Aws::String> m_notificationARNs;
510  bool m_notificationARNsHasBeenSet;
511  int m_timeoutInMinutes;
512  bool m_timeoutInMinutesHasBeenSet;
513  Aws::Vector<Capability> m_capabilities;
514  bool m_capabilitiesHasBeenSet;
515  Aws::Vector<Output> m_outputs;
516  bool m_outputsHasBeenSet;
517  Aws::Vector<Tag> m_tags;
518  bool m_tagsHasBeenSet;
519  };
520 
521 } // namespace Model
522 } // namespace CloudFormation
523 } // namespace Aws
void SetCreationTime(const Aws::Utils::DateTime &value)
Definition: Stack.h:202
Stack & AddTags(const Tag &value)
Definition: Stack.h:483
const Aws::String & GetStackName() const
Definition: Stack.h:92
Stack & WithTimeoutInMinutes(int value)
Definition: Stack.h:383
Stack & WithDisableRollback(bool value)
Definition: Stack.h:328
Stack & WithStackStatusReason(const char *value)
Definition: Stack.h:307
Stack & WithStackName(const char *value)
Definition: Stack.h:122
Stack & WithNotificationARNs(Aws::Vector< Aws::String > &&value)
Definition: Stack.h:353
void SetParameters(Aws::Vector< Parameter > &&value)
Definition: Stack.h:172
const Aws::String & GetStackId() const
Definition: Stack.h:57
void SetCapabilities(const Aws::Vector< Capability > &value)
Definition: Stack.h:393
Stack & AddNotificationARNs(const Aws::String &value)
Definition: Stack.h:358
const Aws::Vector< Output > & GetOutputs() const
Definition: Stack.h:423
Stack & AddNotificationARNs(Aws::String &&value)
Definition: Stack.h:363
Stack & WithStackId(const Aws::String &value)
Definition: Stack.h:77
Stack & AddCapabilities(const Capability &value)
Definition: Stack.h:413
Stack & WithDescription(const char *value)
Definition: Stack.h:157
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetStackId(const Aws::String &value)
Definition: Stack.h:62
Stack & WithDescription(Aws::String &&value)
Definition: Stack.h:152
const StackStatus & GetStackStatus() const
Definition: Stack.h:252
const Aws::String & GetDescription() const
Definition: Stack.h:127
const Aws::Vector< Capability > & GetCapabilities() const
Definition: Stack.h:388
Stack & AddOutputs(const Output &value)
Definition: Stack.h:448
Stack & WithLastUpdatedTime(const Aws::Utils::DateTime &value)
Definition: Stack.h:241
bool GetDisableRollback() const
Definition: Stack.h:314
void SetNotificationARNs(const Aws::Vector< Aws::String > &value)
Definition: Stack.h:338
void SetCapabilities(Aws::Vector< Capability > &&value)
Definition: Stack.h:398
void SetDisableRollback(bool value)
Definition: Stack.h:321
int GetTimeoutInMinutes() const
Definition: Stack.h:373
void SetDescription(const Aws::String &value)
Definition: Stack.h:132
Stack & WithParameters(Aws::Vector< Parameter > &&value)
Definition: Stack.h:182
void SetCreationTime(Aws::Utils::DateTime &&value)
Definition: Stack.h:207
void SetOutputs(Aws::Vector< Output > &&value)
Definition: Stack.h:433
Stack & WithOutputs(Aws::Vector< Output > &&value)
Definition: Stack.h:443
void SetStackStatusReason(Aws::String &&value)
Definition: Stack.h:287
void SetStackId(Aws::String &&value)
Definition: Stack.h:67
void SetStackName(const char *value)
Definition: Stack.h:107
Stack & WithParameters(const Aws::Vector< Parameter > &value)
Definition: Stack.h:177
Stack & WithStackStatusReason(Aws::String &&value)
Definition: Stack.h:302
void SetStackStatus(const StackStatus &value)
Definition: Stack.h:257
const Aws::Utils::DateTime & GetCreationTime() const
Definition: Stack.h:197
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetStackStatusReason(const Aws::String &value)
Definition: Stack.h:282
void SetParameters(const Aws::Vector< Parameter > &value)
Definition: Stack.h:167
const Aws::String & GetStackStatusReason() const
Definition: Stack.h:277
void SetStackName(Aws::String &&value)
Definition: Stack.h:102
const Aws::Vector< Aws::String > & GetNotificationARNs() const
Definition: Stack.h:333
Stack & AddNotificationARNs(const char *value)
Definition: Stack.h:368
void SetStackStatusReason(const char *value)
Definition: Stack.h:292
Stack & WithLastUpdatedTime(Aws::Utils::DateTime &&value)
Definition: Stack.h:247
Stack & WithStackId(Aws::String &&value)
Definition: Stack.h:82
void SetStackId(const char *value)
Definition: Stack.h:72
void SetTimeoutInMinutes(int value)
Definition: Stack.h:378
const Aws::Utils::DateTime & GetLastUpdatedTime() const
Definition: Stack.h:223
void SetLastUpdatedTime(Aws::Utils::DateTime &&value)
Definition: Stack.h:235
Stack & WithTags(const Aws::Vector< Tag > &value)
Definition: Stack.h:473
std::stack< T, Deque< T > > Stack
Definition: AWSStack.h:29
Stack & WithStackStatusReason(const Aws::String &value)
Definition: Stack.h:297
Stack & WithStackName(const Aws::String &value)
Definition: Stack.h:112
const Aws::Vector< Parameter > & GetParameters() const
Definition: Stack.h:162
Stack & WithDescription(const Aws::String &value)
Definition: Stack.h:147
void SetDescription(const char *value)
Definition: Stack.h:142
Stack & AddTags(Tag &&value)
Definition: Stack.h:488
Stack & WithCapabilities(const Aws::Vector< Capability > &value)
Definition: Stack.h:403
Stack & WithNotificationARNs(const Aws::Vector< Aws::String > &value)
Definition: Stack.h:348
Stack & WithStackStatus(StackStatus &&value)
Definition: Stack.h:272
void SetLastUpdatedTime(const Aws::Utils::DateTime &value)
Definition: Stack.h:229
Stack & WithStackStatus(const StackStatus &value)
Definition: Stack.h:267
void SetTags(const Aws::Vector< Tag > &value)
Definition: Stack.h:463
Stack & WithCreationTime(const Aws::Utils::DateTime &value)
Definition: Stack.h:212
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetStackName(const Aws::String &value)
Definition: Stack.h:97
Stack & AddOutputs(Output &&value)
Definition: Stack.h:453
void SetOutputs(const Aws::Vector< Output > &value)
Definition: Stack.h:428
Stack & AddParameters(const Parameter &value)
Definition: Stack.h:187
#define AWS_CLOUDFORMATION_API
Stack & AddCapabilities(Capability &&value)
Definition: Stack.h:418
Stack & WithTags(Aws::Vector< Tag > &&value)
Definition: Stack.h:478
void SetTags(Aws::Vector< Tag > &&value)
Definition: Stack.h:468
Stack & WithCapabilities(Aws::Vector< Capability > &&value)
Definition: Stack.h:408
Stack & AddParameters(Parameter &&value)
Definition: Stack.h:192
Stack & WithStackId(const char *value)
Definition: Stack.h:87
const Aws::Vector< Tag > & GetTags() const
Definition: Stack.h:458
Stack & WithOutputs(const Aws::Vector< Output > &value)
Definition: Stack.h:438
JSON (JavaScript Object Notation).
void SetStackStatus(StackStatus &&value)
Definition: Stack.h:262
void SetNotificationARNs(Aws::Vector< Aws::String > &&value)
Definition: Stack.h:343
Stack & WithStackName(Aws::String &&value)
Definition: Stack.h:117
void SetDescription(Aws::String &&value)
Definition: Stack.h:137
Stack & WithCreationTime(Aws::Utils::DateTime &&value)
Definition: Stack.h:217