1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/cloudformation/CloudFormation_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/cloudformation/model/StackSetOperationAction.h> 11 #include <aws/cloudformation/model/StackSetOperationStatus.h> 12 #include <aws/cloudformation/model/StackSetOperationPreferences.h> 13 #include <aws/core/utils/DateTime.h> 14 #include <aws/cloudformation/model/DeploymentTargets.h> 15 #include <aws/cloudformation/model/StackSetDriftDetectionDetails.h> 16 #include <utility> 17 18 namespace Aws 19 { 20 namespace Utils 21 { 22 namespace Xml 23 { 24 class XmlNode; 25 } // namespace Xml 26 } // namespace Utils 27 namespace CloudFormation 28 { 29 namespace Model 30 { 31 32 /** 33 * <p>The structure that contains information about a stack set operation. 34 * </p><p><h3>See Also:</h3> <a 35 * href="http://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StackSetOperation">AWS 36 * API Reference</a></p> 37 */ 38 class AWS_CLOUDFORMATION_API StackSetOperation 39 { 40 public: 41 StackSetOperation(); 42 StackSetOperation(const Aws::Utils::Xml::XmlNode& xmlNode); 43 StackSetOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 44 45 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 46 void OutputToStream(Aws::OStream& oStream, const char* location) const; 47 48 49 /** 50 * <p>The unique ID of a stack set operation.</p> 51 */ GetOperationId()52 inline const Aws::String& GetOperationId() const{ return m_operationId; } 53 54 /** 55 * <p>The unique ID of a stack set operation.</p> 56 */ OperationIdHasBeenSet()57 inline bool OperationIdHasBeenSet() const { return m_operationIdHasBeenSet; } 58 59 /** 60 * <p>The unique ID of a stack set operation.</p> 61 */ SetOperationId(const Aws::String & value)62 inline void SetOperationId(const Aws::String& value) { m_operationIdHasBeenSet = true; m_operationId = value; } 63 64 /** 65 * <p>The unique ID of a stack set operation.</p> 66 */ SetOperationId(Aws::String && value)67 inline void SetOperationId(Aws::String&& value) { m_operationIdHasBeenSet = true; m_operationId = std::move(value); } 68 69 /** 70 * <p>The unique ID of a stack set operation.</p> 71 */ SetOperationId(const char * value)72 inline void SetOperationId(const char* value) { m_operationIdHasBeenSet = true; m_operationId.assign(value); } 73 74 /** 75 * <p>The unique ID of a stack set operation.</p> 76 */ WithOperationId(const Aws::String & value)77 inline StackSetOperation& WithOperationId(const Aws::String& value) { SetOperationId(value); return *this;} 78 79 /** 80 * <p>The unique ID of a stack set operation.</p> 81 */ WithOperationId(Aws::String && value)82 inline StackSetOperation& WithOperationId(Aws::String&& value) { SetOperationId(std::move(value)); return *this;} 83 84 /** 85 * <p>The unique ID of a stack set operation.</p> 86 */ WithOperationId(const char * value)87 inline StackSetOperation& WithOperationId(const char* value) { SetOperationId(value); return *this;} 88 89 90 /** 91 * <p>The ID of the stack set.</p> 92 */ GetStackSetId()93 inline const Aws::String& GetStackSetId() const{ return m_stackSetId; } 94 95 /** 96 * <p>The ID of the stack set.</p> 97 */ StackSetIdHasBeenSet()98 inline bool StackSetIdHasBeenSet() const { return m_stackSetIdHasBeenSet; } 99 100 /** 101 * <p>The ID of the stack set.</p> 102 */ SetStackSetId(const Aws::String & value)103 inline void SetStackSetId(const Aws::String& value) { m_stackSetIdHasBeenSet = true; m_stackSetId = value; } 104 105 /** 106 * <p>The ID of the stack set.</p> 107 */ SetStackSetId(Aws::String && value)108 inline void SetStackSetId(Aws::String&& value) { m_stackSetIdHasBeenSet = true; m_stackSetId = std::move(value); } 109 110 /** 111 * <p>The ID of the stack set.</p> 112 */ SetStackSetId(const char * value)113 inline void SetStackSetId(const char* value) { m_stackSetIdHasBeenSet = true; m_stackSetId.assign(value); } 114 115 /** 116 * <p>The ID of the stack set.</p> 117 */ WithStackSetId(const Aws::String & value)118 inline StackSetOperation& WithStackSetId(const Aws::String& value) { SetStackSetId(value); return *this;} 119 120 /** 121 * <p>The ID of the stack set.</p> 122 */ WithStackSetId(Aws::String && value)123 inline StackSetOperation& WithStackSetId(Aws::String&& value) { SetStackSetId(std::move(value)); return *this;} 124 125 /** 126 * <p>The ID of the stack set.</p> 127 */ WithStackSetId(const char * value)128 inline StackSetOperation& WithStackSetId(const char* value) { SetStackSetId(value); return *this;} 129 130 131 /** 132 * <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or 133 * <code>DELETE</code>. Create and delete operations affect only the specified 134 * stack set instances that are associated with the specified stack set. Update 135 * operations affect both the stack set itself, as well as <i>all</i> associated 136 * stack set instances.</p> 137 */ GetAction()138 inline const StackSetOperationAction& GetAction() const{ return m_action; } 139 140 /** 141 * <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or 142 * <code>DELETE</code>. Create and delete operations affect only the specified 143 * stack set instances that are associated with the specified stack set. Update 144 * operations affect both the stack set itself, as well as <i>all</i> associated 145 * stack set instances.</p> 146 */ ActionHasBeenSet()147 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } 148 149 /** 150 * <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or 151 * <code>DELETE</code>. Create and delete operations affect only the specified 152 * stack set instances that are associated with the specified stack set. Update 153 * operations affect both the stack set itself, as well as <i>all</i> associated 154 * stack set instances.</p> 155 */ SetAction(const StackSetOperationAction & value)156 inline void SetAction(const StackSetOperationAction& value) { m_actionHasBeenSet = true; m_action = value; } 157 158 /** 159 * <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or 160 * <code>DELETE</code>. Create and delete operations affect only the specified 161 * stack set instances that are associated with the specified stack set. Update 162 * operations affect both the stack set itself, as well as <i>all</i> associated 163 * stack set instances.</p> 164 */ SetAction(StackSetOperationAction && value)165 inline void SetAction(StackSetOperationAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } 166 167 /** 168 * <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or 169 * <code>DELETE</code>. Create and delete operations affect only the specified 170 * stack set instances that are associated with the specified stack set. Update 171 * operations affect both the stack set itself, as well as <i>all</i> associated 172 * stack set instances.</p> 173 */ WithAction(const StackSetOperationAction & value)174 inline StackSetOperation& WithAction(const StackSetOperationAction& value) { SetAction(value); return *this;} 175 176 /** 177 * <p>The type of stack set operation: <code>CREATE</code>, <code>UPDATE</code>, or 178 * <code>DELETE</code>. Create and delete operations affect only the specified 179 * stack set instances that are associated with the specified stack set. Update 180 * operations affect both the stack set itself, as well as <i>all</i> associated 181 * stack set instances.</p> 182 */ WithAction(StackSetOperationAction && value)183 inline StackSetOperation& WithAction(StackSetOperationAction&& value) { SetAction(std::move(value)); return *this;} 184 185 186 /** 187 * <p>The status of the operation. </p> <ul> <li> <p> <code>FAILED</code>: The 188 * operation exceeded the specified failure tolerance. The failure tolerance value 189 * that you've set for an operation is applied for each Region during stack create 190 * and update operations. If the number of failed stacks within a Region exceeds 191 * the failure tolerance, the status of the operation in the Region is set to 192 * <code>FAILED</code>. This in turn sets the status of the operation as a whole to 193 * <code>FAILED</code>, and CloudFormation cancels the operation in any remaining 194 * Regions.</p> </li> <li> <p> <code>QUEUED</code>: [Service-managed permissions] 195 * For automatic deployments that require a sequence of operations, the operation 196 * is queued to be performed. For more information, see the <a 197 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes">stack 198 * set operation status codes</a> in the CloudFormation User Guide.</p> </li> <li> 199 * <p> <code>RUNNING</code>: The operation is currently being performed.</p> </li> 200 * <li> <p> <code>STOPPED</code>: The user has cancelled the operation.</p> </li> 201 * <li> <p> <code>STOPPING</code>: The operation is in the process of stopping, at 202 * user request. </p> </li> <li> <p> <code>SUCCEEDED</code>: The operation 203 * completed creating or updating all the specified stacks without exceeding the 204 * failure tolerance for the operation.</p> </li> </ul> 205 */ GetStatus()206 inline const StackSetOperationStatus& GetStatus() const{ return m_status; } 207 208 /** 209 * <p>The status of the operation. </p> <ul> <li> <p> <code>FAILED</code>: The 210 * operation exceeded the specified failure tolerance. The failure tolerance value 211 * that you've set for an operation is applied for each Region during stack create 212 * and update operations. If the number of failed stacks within a Region exceeds 213 * the failure tolerance, the status of the operation in the Region is set to 214 * <code>FAILED</code>. This in turn sets the status of the operation as a whole to 215 * <code>FAILED</code>, and CloudFormation cancels the operation in any remaining 216 * Regions.</p> </li> <li> <p> <code>QUEUED</code>: [Service-managed permissions] 217 * For automatic deployments that require a sequence of operations, the operation 218 * is queued to be performed. For more information, see the <a 219 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes">stack 220 * set operation status codes</a> in the CloudFormation User Guide.</p> </li> <li> 221 * <p> <code>RUNNING</code>: The operation is currently being performed.</p> </li> 222 * <li> <p> <code>STOPPED</code>: The user has cancelled the operation.</p> </li> 223 * <li> <p> <code>STOPPING</code>: The operation is in the process of stopping, at 224 * user request. </p> </li> <li> <p> <code>SUCCEEDED</code>: The operation 225 * completed creating or updating all the specified stacks without exceeding the 226 * failure tolerance for the operation.</p> </li> </ul> 227 */ StatusHasBeenSet()228 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 229 230 /** 231 * <p>The status of the operation. </p> <ul> <li> <p> <code>FAILED</code>: The 232 * operation exceeded the specified failure tolerance. The failure tolerance value 233 * that you've set for an operation is applied for each Region during stack create 234 * and update operations. If the number of failed stacks within a Region exceeds 235 * the failure tolerance, the status of the operation in the Region is set to 236 * <code>FAILED</code>. This in turn sets the status of the operation as a whole to 237 * <code>FAILED</code>, and CloudFormation cancels the operation in any remaining 238 * Regions.</p> </li> <li> <p> <code>QUEUED</code>: [Service-managed permissions] 239 * For automatic deployments that require a sequence of operations, the operation 240 * is queued to be performed. For more information, see the <a 241 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes">stack 242 * set operation status codes</a> in the CloudFormation User Guide.</p> </li> <li> 243 * <p> <code>RUNNING</code>: The operation is currently being performed.</p> </li> 244 * <li> <p> <code>STOPPED</code>: The user has cancelled the operation.</p> </li> 245 * <li> <p> <code>STOPPING</code>: The operation is in the process of stopping, at 246 * user request. </p> </li> <li> <p> <code>SUCCEEDED</code>: The operation 247 * completed creating or updating all the specified stacks without exceeding the 248 * failure tolerance for the operation.</p> </li> </ul> 249 */ SetStatus(const StackSetOperationStatus & value)250 inline void SetStatus(const StackSetOperationStatus& value) { m_statusHasBeenSet = true; m_status = value; } 251 252 /** 253 * <p>The status of the operation. </p> <ul> <li> <p> <code>FAILED</code>: The 254 * operation exceeded the specified failure tolerance. The failure tolerance value 255 * that you've set for an operation is applied for each Region during stack create 256 * and update operations. If the number of failed stacks within a Region exceeds 257 * the failure tolerance, the status of the operation in the Region is set to 258 * <code>FAILED</code>. This in turn sets the status of the operation as a whole to 259 * <code>FAILED</code>, and CloudFormation cancels the operation in any remaining 260 * Regions.</p> </li> <li> <p> <code>QUEUED</code>: [Service-managed permissions] 261 * For automatic deployments that require a sequence of operations, the operation 262 * is queued to be performed. For more information, see the <a 263 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes">stack 264 * set operation status codes</a> in the CloudFormation User Guide.</p> </li> <li> 265 * <p> <code>RUNNING</code>: The operation is currently being performed.</p> </li> 266 * <li> <p> <code>STOPPED</code>: The user has cancelled the operation.</p> </li> 267 * <li> <p> <code>STOPPING</code>: The operation is in the process of stopping, at 268 * user request. </p> </li> <li> <p> <code>SUCCEEDED</code>: The operation 269 * completed creating or updating all the specified stacks without exceeding the 270 * failure tolerance for the operation.</p> </li> </ul> 271 */ SetStatus(StackSetOperationStatus && value)272 inline void SetStatus(StackSetOperationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 273 274 /** 275 * <p>The status of the operation. </p> <ul> <li> <p> <code>FAILED</code>: The 276 * operation exceeded the specified failure tolerance. The failure tolerance value 277 * that you've set for an operation is applied for each Region during stack create 278 * and update operations. If the number of failed stacks within a Region exceeds 279 * the failure tolerance, the status of the operation in the Region is set to 280 * <code>FAILED</code>. This in turn sets the status of the operation as a whole to 281 * <code>FAILED</code>, and CloudFormation cancels the operation in any remaining 282 * Regions.</p> </li> <li> <p> <code>QUEUED</code>: [Service-managed permissions] 283 * For automatic deployments that require a sequence of operations, the operation 284 * is queued to be performed. For more information, see the <a 285 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes">stack 286 * set operation status codes</a> in the CloudFormation User Guide.</p> </li> <li> 287 * <p> <code>RUNNING</code>: The operation is currently being performed.</p> </li> 288 * <li> <p> <code>STOPPED</code>: The user has cancelled the operation.</p> </li> 289 * <li> <p> <code>STOPPING</code>: The operation is in the process of stopping, at 290 * user request. </p> </li> <li> <p> <code>SUCCEEDED</code>: The operation 291 * completed creating or updating all the specified stacks without exceeding the 292 * failure tolerance for the operation.</p> </li> </ul> 293 */ WithStatus(const StackSetOperationStatus & value)294 inline StackSetOperation& WithStatus(const StackSetOperationStatus& value) { SetStatus(value); return *this;} 295 296 /** 297 * <p>The status of the operation. </p> <ul> <li> <p> <code>FAILED</code>: The 298 * operation exceeded the specified failure tolerance. The failure tolerance value 299 * that you've set for an operation is applied for each Region during stack create 300 * and update operations. If the number of failed stacks within a Region exceeds 301 * the failure tolerance, the status of the operation in the Region is set to 302 * <code>FAILED</code>. This in turn sets the status of the operation as a whole to 303 * <code>FAILED</code>, and CloudFormation cancels the operation in any remaining 304 * Regions.</p> </li> <li> <p> <code>QUEUED</code>: [Service-managed permissions] 305 * For automatic deployments that require a sequence of operations, the operation 306 * is queued to be performed. For more information, see the <a 307 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes">stack 308 * set operation status codes</a> in the CloudFormation User Guide.</p> </li> <li> 309 * <p> <code>RUNNING</code>: The operation is currently being performed.</p> </li> 310 * <li> <p> <code>STOPPED</code>: The user has cancelled the operation.</p> </li> 311 * <li> <p> <code>STOPPING</code>: The operation is in the process of stopping, at 312 * user request. </p> </li> <li> <p> <code>SUCCEEDED</code>: The operation 313 * completed creating or updating all the specified stacks without exceeding the 314 * failure tolerance for the operation.</p> </li> </ul> 315 */ WithStatus(StackSetOperationStatus && value)316 inline StackSetOperation& WithStatus(StackSetOperationStatus&& value) { SetStatus(std::move(value)); return *this;} 317 318 319 /** 320 * <p>The preferences for how CloudFormation performs this stack set operation.</p> 321 */ GetOperationPreferences()322 inline const StackSetOperationPreferences& GetOperationPreferences() const{ return m_operationPreferences; } 323 324 /** 325 * <p>The preferences for how CloudFormation performs this stack set operation.</p> 326 */ OperationPreferencesHasBeenSet()327 inline bool OperationPreferencesHasBeenSet() const { return m_operationPreferencesHasBeenSet; } 328 329 /** 330 * <p>The preferences for how CloudFormation performs this stack set operation.</p> 331 */ SetOperationPreferences(const StackSetOperationPreferences & value)332 inline void SetOperationPreferences(const StackSetOperationPreferences& value) { m_operationPreferencesHasBeenSet = true; m_operationPreferences = value; } 333 334 /** 335 * <p>The preferences for how CloudFormation performs this stack set operation.</p> 336 */ SetOperationPreferences(StackSetOperationPreferences && value)337 inline void SetOperationPreferences(StackSetOperationPreferences&& value) { m_operationPreferencesHasBeenSet = true; m_operationPreferences = std::move(value); } 338 339 /** 340 * <p>The preferences for how CloudFormation performs this stack set operation.</p> 341 */ WithOperationPreferences(const StackSetOperationPreferences & value)342 inline StackSetOperation& WithOperationPreferences(const StackSetOperationPreferences& value) { SetOperationPreferences(value); return *this;} 343 344 /** 345 * <p>The preferences for how CloudFormation performs this stack set operation.</p> 346 */ WithOperationPreferences(StackSetOperationPreferences && value)347 inline StackSetOperation& WithOperationPreferences(StackSetOperationPreferences&& value) { SetOperationPreferences(std::move(value)); return *this;} 348 349 350 /** 351 * <p>For stack set operations of action type <code>DELETE</code>, specifies 352 * whether to remove the stack instances from the specified stack set, but doesn't 353 * delete the stacks. You can't reassociate a retained stack, or add an existing, 354 * saved stack to a new stack set.</p> 355 */ GetRetainStacks()356 inline bool GetRetainStacks() const{ return m_retainStacks; } 357 358 /** 359 * <p>For stack set operations of action type <code>DELETE</code>, specifies 360 * whether to remove the stack instances from the specified stack set, but doesn't 361 * delete the stacks. You can't reassociate a retained stack, or add an existing, 362 * saved stack to a new stack set.</p> 363 */ RetainStacksHasBeenSet()364 inline bool RetainStacksHasBeenSet() const { return m_retainStacksHasBeenSet; } 365 366 /** 367 * <p>For stack set operations of action type <code>DELETE</code>, specifies 368 * whether to remove the stack instances from the specified stack set, but doesn't 369 * delete the stacks. You can't reassociate a retained stack, or add an existing, 370 * saved stack to a new stack set.</p> 371 */ SetRetainStacks(bool value)372 inline void SetRetainStacks(bool value) { m_retainStacksHasBeenSet = true; m_retainStacks = value; } 373 374 /** 375 * <p>For stack set operations of action type <code>DELETE</code>, specifies 376 * whether to remove the stack instances from the specified stack set, but doesn't 377 * delete the stacks. You can't reassociate a retained stack, or add an existing, 378 * saved stack to a new stack set.</p> 379 */ WithRetainStacks(bool value)380 inline StackSetOperation& WithRetainStacks(bool value) { SetRetainStacks(value); return *this;} 381 382 383 /** 384 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 385 * set operation. </p> <p>Use customized administrator roles to control which users 386 * or groups can manage specific stack sets within the same administrator account. 387 * For more information, see <a 388 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 389 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 390 * Guide</i>.</p> 391 */ GetAdministrationRoleARN()392 inline const Aws::String& GetAdministrationRoleARN() const{ return m_administrationRoleARN; } 393 394 /** 395 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 396 * set operation. </p> <p>Use customized administrator roles to control which users 397 * or groups can manage specific stack sets within the same administrator account. 398 * For more information, see <a 399 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 400 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 401 * Guide</i>.</p> 402 */ AdministrationRoleARNHasBeenSet()403 inline bool AdministrationRoleARNHasBeenSet() const { return m_administrationRoleARNHasBeenSet; } 404 405 /** 406 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 407 * set operation. </p> <p>Use customized administrator roles to control which users 408 * or groups can manage specific stack sets within the same administrator account. 409 * For more information, see <a 410 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 411 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 412 * Guide</i>.</p> 413 */ SetAdministrationRoleARN(const Aws::String & value)414 inline void SetAdministrationRoleARN(const Aws::String& value) { m_administrationRoleARNHasBeenSet = true; m_administrationRoleARN = value; } 415 416 /** 417 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 418 * set operation. </p> <p>Use customized administrator roles to control which users 419 * or groups can manage specific stack sets within the same administrator account. 420 * For more information, see <a 421 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 422 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 423 * Guide</i>.</p> 424 */ SetAdministrationRoleARN(Aws::String && value)425 inline void SetAdministrationRoleARN(Aws::String&& value) { m_administrationRoleARNHasBeenSet = true; m_administrationRoleARN = std::move(value); } 426 427 /** 428 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 429 * set operation. </p> <p>Use customized administrator roles to control which users 430 * or groups can manage specific stack sets within the same administrator account. 431 * For more information, see <a 432 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 433 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 434 * Guide</i>.</p> 435 */ SetAdministrationRoleARN(const char * value)436 inline void SetAdministrationRoleARN(const char* value) { m_administrationRoleARNHasBeenSet = true; m_administrationRoleARN.assign(value); } 437 438 /** 439 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 440 * set operation. </p> <p>Use customized administrator roles to control which users 441 * or groups can manage specific stack sets within the same administrator account. 442 * For more information, see <a 443 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 444 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 445 * Guide</i>.</p> 446 */ WithAdministrationRoleARN(const Aws::String & value)447 inline StackSetOperation& WithAdministrationRoleARN(const Aws::String& value) { SetAdministrationRoleARN(value); return *this;} 448 449 /** 450 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 451 * set operation. </p> <p>Use customized administrator roles to control which users 452 * or groups can manage specific stack sets within the same administrator account. 453 * For more information, see <a 454 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 455 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 456 * Guide</i>.</p> 457 */ WithAdministrationRoleARN(Aws::String && value)458 inline StackSetOperation& WithAdministrationRoleARN(Aws::String&& value) { SetAdministrationRoleARN(std::move(value)); return *this;} 459 460 /** 461 * <p>The Amazon Resource Number (ARN) of the IAM role used to perform this stack 462 * set operation. </p> <p>Use customized administrator roles to control which users 463 * or groups can manage specific stack sets within the same administrator account. 464 * For more information, see <a 465 * href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html">Define 466 * Permissions for Multiple Administrators</a> in the <i>CloudFormation User 467 * Guide</i>.</p> 468 */ WithAdministrationRoleARN(const char * value)469 inline StackSetOperation& WithAdministrationRoleARN(const char* value) { SetAdministrationRoleARN(value); return *this;} 470 471 472 /** 473 * <p>The name of the IAM execution role used to create or update the stack 474 * set.</p> <p>Use customized execution roles to control which stack resources 475 * users and groups can include in their stack sets. </p> 476 */ GetExecutionRoleName()477 inline const Aws::String& GetExecutionRoleName() const{ return m_executionRoleName; } 478 479 /** 480 * <p>The name of the IAM execution role used to create or update the stack 481 * set.</p> <p>Use customized execution roles to control which stack resources 482 * users and groups can include in their stack sets. </p> 483 */ ExecutionRoleNameHasBeenSet()484 inline bool ExecutionRoleNameHasBeenSet() const { return m_executionRoleNameHasBeenSet; } 485 486 /** 487 * <p>The name of the IAM execution role used to create or update the stack 488 * set.</p> <p>Use customized execution roles to control which stack resources 489 * users and groups can include in their stack sets. </p> 490 */ SetExecutionRoleName(const Aws::String & value)491 inline void SetExecutionRoleName(const Aws::String& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = value; } 492 493 /** 494 * <p>The name of the IAM execution role used to create or update the stack 495 * set.</p> <p>Use customized execution roles to control which stack resources 496 * users and groups can include in their stack sets. </p> 497 */ SetExecutionRoleName(Aws::String && value)498 inline void SetExecutionRoleName(Aws::String&& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = std::move(value); } 499 500 /** 501 * <p>The name of the IAM execution role used to create or update the stack 502 * set.</p> <p>Use customized execution roles to control which stack resources 503 * users and groups can include in their stack sets. </p> 504 */ SetExecutionRoleName(const char * value)505 inline void SetExecutionRoleName(const char* value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName.assign(value); } 506 507 /** 508 * <p>The name of the IAM execution role used to create or update the stack 509 * set.</p> <p>Use customized execution roles to control which stack resources 510 * users and groups can include in their stack sets. </p> 511 */ WithExecutionRoleName(const Aws::String & value)512 inline StackSetOperation& WithExecutionRoleName(const Aws::String& value) { SetExecutionRoleName(value); return *this;} 513 514 /** 515 * <p>The name of the IAM execution role used to create or update the stack 516 * set.</p> <p>Use customized execution roles to control which stack resources 517 * users and groups can include in their stack sets. </p> 518 */ WithExecutionRoleName(Aws::String && value)519 inline StackSetOperation& WithExecutionRoleName(Aws::String&& value) { SetExecutionRoleName(std::move(value)); return *this;} 520 521 /** 522 * <p>The name of the IAM execution role used to create or update the stack 523 * set.</p> <p>Use customized execution roles to control which stack resources 524 * users and groups can include in their stack sets. </p> 525 */ WithExecutionRoleName(const char * value)526 inline StackSetOperation& WithExecutionRoleName(const char* value) { SetExecutionRoleName(value); return *this;} 527 528 529 /** 530 * <p>The time at which the operation was initiated. Note that the creation times 531 * for the stack set operation might differ from the creation time of the 532 * individual stacks themselves. This is because CloudFormation needs to perform 533 * preparatory work for the operation, such as dispatching the work to the 534 * requested Regions, before actually creating the first stacks.</p> 535 */ GetCreationTimestamp()536 inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; } 537 538 /** 539 * <p>The time at which the operation was initiated. Note that the creation times 540 * for the stack set operation might differ from the creation time of the 541 * individual stacks themselves. This is because CloudFormation needs to perform 542 * preparatory work for the operation, such as dispatching the work to the 543 * requested Regions, before actually creating the first stacks.</p> 544 */ CreationTimestampHasBeenSet()545 inline bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; } 546 547 /** 548 * <p>The time at which the operation was initiated. Note that the creation times 549 * for the stack set operation might differ from the creation time of the 550 * individual stacks themselves. This is because CloudFormation needs to perform 551 * preparatory work for the operation, such as dispatching the work to the 552 * requested Regions, before actually creating the first stacks.</p> 553 */ SetCreationTimestamp(const Aws::Utils::DateTime & value)554 inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = value; } 555 556 /** 557 * <p>The time at which the operation was initiated. Note that the creation times 558 * for the stack set operation might differ from the creation time of the 559 * individual stacks themselves. This is because CloudFormation needs to perform 560 * preparatory work for the operation, such as dispatching the work to the 561 * requested Regions, before actually creating the first stacks.</p> 562 */ SetCreationTimestamp(Aws::Utils::DateTime && value)563 inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = std::move(value); } 564 565 /** 566 * <p>The time at which the operation was initiated. Note that the creation times 567 * for the stack set operation might differ from the creation time of the 568 * individual stacks themselves. This is because CloudFormation needs to perform 569 * preparatory work for the operation, such as dispatching the work to the 570 * requested Regions, before actually creating the first stacks.</p> 571 */ WithCreationTimestamp(const Aws::Utils::DateTime & value)572 inline StackSetOperation& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;} 573 574 /** 575 * <p>The time at which the operation was initiated. Note that the creation times 576 * for the stack set operation might differ from the creation time of the 577 * individual stacks themselves. This is because CloudFormation needs to perform 578 * preparatory work for the operation, such as dispatching the work to the 579 * requested Regions, before actually creating the first stacks.</p> 580 */ WithCreationTimestamp(Aws::Utils::DateTime && value)581 inline StackSetOperation& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;} 582 583 584 /** 585 * <p>The time at which the stack set operation ended, across all accounts and 586 * Regions specified. Note that this doesn't necessarily mean that the stack set 587 * operation was successful, or even attempted, in each account or Region.</p> 588 */ GetEndTimestamp()589 inline const Aws::Utils::DateTime& GetEndTimestamp() const{ return m_endTimestamp; } 590 591 /** 592 * <p>The time at which the stack set operation ended, across all accounts and 593 * Regions specified. Note that this doesn't necessarily mean that the stack set 594 * operation was successful, or even attempted, in each account or Region.</p> 595 */ EndTimestampHasBeenSet()596 inline bool EndTimestampHasBeenSet() const { return m_endTimestampHasBeenSet; } 597 598 /** 599 * <p>The time at which the stack set operation ended, across all accounts and 600 * Regions specified. Note that this doesn't necessarily mean that the stack set 601 * operation was successful, or even attempted, in each account or Region.</p> 602 */ SetEndTimestamp(const Aws::Utils::DateTime & value)603 inline void SetEndTimestamp(const Aws::Utils::DateTime& value) { m_endTimestampHasBeenSet = true; m_endTimestamp = value; } 604 605 /** 606 * <p>The time at which the stack set operation ended, across all accounts and 607 * Regions specified. Note that this doesn't necessarily mean that the stack set 608 * operation was successful, or even attempted, in each account or Region.</p> 609 */ SetEndTimestamp(Aws::Utils::DateTime && value)610 inline void SetEndTimestamp(Aws::Utils::DateTime&& value) { m_endTimestampHasBeenSet = true; m_endTimestamp = std::move(value); } 611 612 /** 613 * <p>The time at which the stack set operation ended, across all accounts and 614 * Regions specified. Note that this doesn't necessarily mean that the stack set 615 * operation was successful, or even attempted, in each account or Region.</p> 616 */ WithEndTimestamp(const Aws::Utils::DateTime & value)617 inline StackSetOperation& WithEndTimestamp(const Aws::Utils::DateTime& value) { SetEndTimestamp(value); return *this;} 618 619 /** 620 * <p>The time at which the stack set operation ended, across all accounts and 621 * Regions specified. Note that this doesn't necessarily mean that the stack set 622 * operation was successful, or even attempted, in each account or Region.</p> 623 */ WithEndTimestamp(Aws::Utils::DateTime && value)624 inline StackSetOperation& WithEndTimestamp(Aws::Utils::DateTime&& value) { SetEndTimestamp(std::move(value)); return *this;} 625 626 627 /** 628 * <p>[Service-managed permissions] The Organizations accounts affected by the 629 * stack operation.</p> 630 */ GetDeploymentTargets()631 inline const DeploymentTargets& GetDeploymentTargets() const{ return m_deploymentTargets; } 632 633 /** 634 * <p>[Service-managed permissions] The Organizations accounts affected by the 635 * stack operation.</p> 636 */ DeploymentTargetsHasBeenSet()637 inline bool DeploymentTargetsHasBeenSet() const { return m_deploymentTargetsHasBeenSet; } 638 639 /** 640 * <p>[Service-managed permissions] The Organizations accounts affected by the 641 * stack operation.</p> 642 */ SetDeploymentTargets(const DeploymentTargets & value)643 inline void SetDeploymentTargets(const DeploymentTargets& value) { m_deploymentTargetsHasBeenSet = true; m_deploymentTargets = value; } 644 645 /** 646 * <p>[Service-managed permissions] The Organizations accounts affected by the 647 * stack operation.</p> 648 */ SetDeploymentTargets(DeploymentTargets && value)649 inline void SetDeploymentTargets(DeploymentTargets&& value) { m_deploymentTargetsHasBeenSet = true; m_deploymentTargets = std::move(value); } 650 651 /** 652 * <p>[Service-managed permissions] The Organizations accounts affected by the 653 * stack operation.</p> 654 */ WithDeploymentTargets(const DeploymentTargets & value)655 inline StackSetOperation& WithDeploymentTargets(const DeploymentTargets& value) { SetDeploymentTargets(value); return *this;} 656 657 /** 658 * <p>[Service-managed permissions] The Organizations accounts affected by the 659 * stack operation.</p> 660 */ WithDeploymentTargets(DeploymentTargets && value)661 inline StackSetOperation& WithDeploymentTargets(DeploymentTargets&& value) { SetDeploymentTargets(std::move(value)); return *this;} 662 663 664 /** 665 * <p>Detailed information about the drift status of the stack set. This includes 666 * information about drift operations currently being performed on the stack 667 * set.</p> <p>this information will only be present for stack set operations whose 668 * <code>Action</code> type is <code>DETECT_DRIFT</code>.</p> <p>For more 669 * information, see <a 670 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Detecting 671 * Unmanaged Changes in Stack Sets</a> in the CloudFormation User Guide.</p> 672 */ GetStackSetDriftDetectionDetails()673 inline const StackSetDriftDetectionDetails& GetStackSetDriftDetectionDetails() const{ return m_stackSetDriftDetectionDetails; } 674 675 /** 676 * <p>Detailed information about the drift status of the stack set. This includes 677 * information about drift operations currently being performed on the stack 678 * set.</p> <p>this information will only be present for stack set operations whose 679 * <code>Action</code> type is <code>DETECT_DRIFT</code>.</p> <p>For more 680 * information, see <a 681 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Detecting 682 * Unmanaged Changes in Stack Sets</a> in the CloudFormation User Guide.</p> 683 */ StackSetDriftDetectionDetailsHasBeenSet()684 inline bool StackSetDriftDetectionDetailsHasBeenSet() const { return m_stackSetDriftDetectionDetailsHasBeenSet; } 685 686 /** 687 * <p>Detailed information about the drift status of the stack set. This includes 688 * information about drift operations currently being performed on the stack 689 * set.</p> <p>this information will only be present for stack set operations whose 690 * <code>Action</code> type is <code>DETECT_DRIFT</code>.</p> <p>For more 691 * information, see <a 692 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Detecting 693 * Unmanaged Changes in Stack Sets</a> in the CloudFormation User Guide.</p> 694 */ SetStackSetDriftDetectionDetails(const StackSetDriftDetectionDetails & value)695 inline void SetStackSetDriftDetectionDetails(const StackSetDriftDetectionDetails& value) { m_stackSetDriftDetectionDetailsHasBeenSet = true; m_stackSetDriftDetectionDetails = value; } 696 697 /** 698 * <p>Detailed information about the drift status of the stack set. This includes 699 * information about drift operations currently being performed on the stack 700 * set.</p> <p>this information will only be present for stack set operations whose 701 * <code>Action</code> type is <code>DETECT_DRIFT</code>.</p> <p>For more 702 * information, see <a 703 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Detecting 704 * Unmanaged Changes in Stack Sets</a> in the CloudFormation User Guide.</p> 705 */ SetStackSetDriftDetectionDetails(StackSetDriftDetectionDetails && value)706 inline void SetStackSetDriftDetectionDetails(StackSetDriftDetectionDetails&& value) { m_stackSetDriftDetectionDetailsHasBeenSet = true; m_stackSetDriftDetectionDetails = std::move(value); } 707 708 /** 709 * <p>Detailed information about the drift status of the stack set. This includes 710 * information about drift operations currently being performed on the stack 711 * set.</p> <p>this information will only be present for stack set operations whose 712 * <code>Action</code> type is <code>DETECT_DRIFT</code>.</p> <p>For more 713 * information, see <a 714 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Detecting 715 * Unmanaged Changes in Stack Sets</a> in the CloudFormation User Guide.</p> 716 */ WithStackSetDriftDetectionDetails(const StackSetDriftDetectionDetails & value)717 inline StackSetOperation& WithStackSetDriftDetectionDetails(const StackSetDriftDetectionDetails& value) { SetStackSetDriftDetectionDetails(value); return *this;} 718 719 /** 720 * <p>Detailed information about the drift status of the stack set. This includes 721 * information about drift operations currently being performed on the stack 722 * set.</p> <p>this information will only be present for stack set operations whose 723 * <code>Action</code> type is <code>DETECT_DRIFT</code>.</p> <p>For more 724 * information, see <a 725 * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html">Detecting 726 * Unmanaged Changes in Stack Sets</a> in the CloudFormation User Guide.</p> 727 */ WithStackSetDriftDetectionDetails(StackSetDriftDetectionDetails && value)728 inline StackSetOperation& WithStackSetDriftDetectionDetails(StackSetDriftDetectionDetails&& value) { SetStackSetDriftDetectionDetails(std::move(value)); return *this;} 729 730 private: 731 732 Aws::String m_operationId; 733 bool m_operationIdHasBeenSet; 734 735 Aws::String m_stackSetId; 736 bool m_stackSetIdHasBeenSet; 737 738 StackSetOperationAction m_action; 739 bool m_actionHasBeenSet; 740 741 StackSetOperationStatus m_status; 742 bool m_statusHasBeenSet; 743 744 StackSetOperationPreferences m_operationPreferences; 745 bool m_operationPreferencesHasBeenSet; 746 747 bool m_retainStacks; 748 bool m_retainStacksHasBeenSet; 749 750 Aws::String m_administrationRoleARN; 751 bool m_administrationRoleARNHasBeenSet; 752 753 Aws::String m_executionRoleName; 754 bool m_executionRoleNameHasBeenSet; 755 756 Aws::Utils::DateTime m_creationTimestamp; 757 bool m_creationTimestampHasBeenSet; 758 759 Aws::Utils::DateTime m_endTimestamp; 760 bool m_endTimestampHasBeenSet; 761 762 DeploymentTargets m_deploymentTargets; 763 bool m_deploymentTargetsHasBeenSet; 764 765 StackSetDriftDetectionDetails m_stackSetDriftDetectionDetails; 766 bool m_stackSetDriftDetectionDetailsHasBeenSet; 767 }; 768 769 } // namespace Model 770 } // namespace CloudFormation 771 } // namespace Aws 772