/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFormation { namespace Model { /** *

The structure that contains information about a stack set * operation.

See Also:

AWS * API Reference

*/ class StackSetOperation { public: AWS_CLOUDFORMATION_API StackSetOperation(); AWS_CLOUDFORMATION_API StackSetOperation(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API StackSetOperation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_CLOUDFORMATION_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The unique ID of a stack set operation.

*/ inline const Aws::String& GetOperationId() const{ return m_operationId; } /** *

The unique ID of a stack set operation.

*/ inline bool OperationIdHasBeenSet() const { return m_operationIdHasBeenSet; } /** *

The unique ID of a stack set operation.

*/ inline void SetOperationId(const Aws::String& value) { m_operationIdHasBeenSet = true; m_operationId = value; } /** *

The unique ID of a stack set operation.

*/ inline void SetOperationId(Aws::String&& value) { m_operationIdHasBeenSet = true; m_operationId = std::move(value); } /** *

The unique ID of a stack set operation.

*/ inline void SetOperationId(const char* value) { m_operationIdHasBeenSet = true; m_operationId.assign(value); } /** *

The unique ID of a stack set operation.

*/ inline StackSetOperation& WithOperationId(const Aws::String& value) { SetOperationId(value); return *this;} /** *

The unique ID of a stack set operation.

*/ inline StackSetOperation& WithOperationId(Aws::String&& value) { SetOperationId(std::move(value)); return *this;} /** *

The unique ID of a stack set operation.

*/ inline StackSetOperation& WithOperationId(const char* value) { SetOperationId(value); return *this;} /** *

The ID of the stack set.

*/ inline const Aws::String& GetStackSetId() const{ return m_stackSetId; } /** *

The ID of the stack set.

*/ inline bool StackSetIdHasBeenSet() const { return m_stackSetIdHasBeenSet; } /** *

The ID of the stack set.

*/ inline void SetStackSetId(const Aws::String& value) { m_stackSetIdHasBeenSet = true; m_stackSetId = value; } /** *

The ID of the stack set.

*/ inline void SetStackSetId(Aws::String&& value) { m_stackSetIdHasBeenSet = true; m_stackSetId = std::move(value); } /** *

The ID of the stack set.

*/ inline void SetStackSetId(const char* value) { m_stackSetIdHasBeenSet = true; m_stackSetId.assign(value); } /** *

The ID of the stack set.

*/ inline StackSetOperation& WithStackSetId(const Aws::String& value) { SetStackSetId(value); return *this;} /** *

The ID of the stack set.

*/ inline StackSetOperation& WithStackSetId(Aws::String&& value) { SetStackSetId(std::move(value)); return *this;} /** *

The ID of the stack set.

*/ inline StackSetOperation& WithStackSetId(const char* value) { SetStackSetId(value); return *this;} /** *

The type of stack set operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified * stack set instances that are associated with the specified stack set. Update * operations affect both the stack set itself, in addition to all * associated stack set instances.

*/ inline const StackSetOperationAction& GetAction() const{ return m_action; } /** *

The type of stack set operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified * stack set instances that are associated with the specified stack set. Update * operations affect both the stack set itself, in addition to all * associated stack set instances.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The type of stack set operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified * stack set instances that are associated with the specified stack set. Update * operations affect both the stack set itself, in addition to all * associated stack set instances.

*/ inline void SetAction(const StackSetOperationAction& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The type of stack set operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified * stack set instances that are associated with the specified stack set. Update * operations affect both the stack set itself, in addition to all * associated stack set instances.

*/ inline void SetAction(StackSetOperationAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The type of stack set operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified * stack set instances that are associated with the specified stack set. Update * operations affect both the stack set itself, in addition to all * associated stack set instances.

*/ inline StackSetOperation& WithAction(const StackSetOperationAction& value) { SetAction(value); return *this;} /** *

The type of stack set operation: CREATE, UPDATE, or * DELETE. Create and delete operations affect only the specified * stack set instances that are associated with the specified stack set. Update * operations affect both the stack set itself, in addition to all * associated stack set instances.

*/ inline StackSetOperation& WithAction(StackSetOperationAction&& value) { SetAction(std::move(value)); return *this;} /** *

The status of the operation.

  • FAILED: The * operation exceeded the specified failure tolerance. The failure tolerance value * that you've set for an operation is applied for each Region during stack create * and update operations. If the number of failed stacks within a Region exceeds * the failure tolerance, the status of the operation in the Region is set to * FAILED. This in turn sets the status of the operation as a whole to * FAILED, and CloudFormation cancels the operation in any remaining * Regions.

  • QUEUED: [Service-managed permissions] * For automatic deployments that require a sequence of operations, the operation * is queued to be performed. For more information, see the stack * set operation status codes in the CloudFormation User Guide.

  • *

    RUNNING: The operation is currently being performed.

  • *
  • STOPPED: The user has canceled the operation.

  • *
  • STOPPING: The operation is in the process of stopping, at * user request.

  • SUCCEEDED: The operation completed * creating or updating all the specified stacks without exceeding the failure * tolerance for the operation.

*/ inline const StackSetOperationStatus& GetStatus() const{ return m_status; } /** *

The status of the operation.

  • FAILED: The * operation exceeded the specified failure tolerance. The failure tolerance value * that you've set for an operation is applied for each Region during stack create * and update operations. If the number of failed stacks within a Region exceeds * the failure tolerance, the status of the operation in the Region is set to * FAILED. This in turn sets the status of the operation as a whole to * FAILED, and CloudFormation cancels the operation in any remaining * Regions.

  • QUEUED: [Service-managed permissions] * For automatic deployments that require a sequence of operations, the operation * is queued to be performed. For more information, see the stack * set operation status codes in the CloudFormation User Guide.

  • *

    RUNNING: The operation is currently being performed.

  • *
  • STOPPED: The user has canceled the operation.

  • *
  • STOPPING: The operation is in the process of stopping, at * user request.

  • SUCCEEDED: The operation completed * creating or updating all the specified stacks without exceeding the failure * tolerance for the operation.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the operation.

  • FAILED: The * operation exceeded the specified failure tolerance. The failure tolerance value * that you've set for an operation is applied for each Region during stack create * and update operations. If the number of failed stacks within a Region exceeds * the failure tolerance, the status of the operation in the Region is set to * FAILED. This in turn sets the status of the operation as a whole to * FAILED, and CloudFormation cancels the operation in any remaining * Regions.

  • QUEUED: [Service-managed permissions] * For automatic deployments that require a sequence of operations, the operation * is queued to be performed. For more information, see the stack * set operation status codes in the CloudFormation User Guide.

  • *

    RUNNING: The operation is currently being performed.

  • *
  • STOPPED: The user has canceled the operation.

  • *
  • STOPPING: The operation is in the process of stopping, at * user request.

  • SUCCEEDED: The operation completed * creating or updating all the specified stacks without exceeding the failure * tolerance for the operation.

*/ inline void SetStatus(const StackSetOperationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the operation.

  • FAILED: The * operation exceeded the specified failure tolerance. The failure tolerance value * that you've set for an operation is applied for each Region during stack create * and update operations. If the number of failed stacks within a Region exceeds * the failure tolerance, the status of the operation in the Region is set to * FAILED. This in turn sets the status of the operation as a whole to * FAILED, and CloudFormation cancels the operation in any remaining * Regions.

  • QUEUED: [Service-managed permissions] * For automatic deployments that require a sequence of operations, the operation * is queued to be performed. For more information, see the stack * set operation status codes in the CloudFormation User Guide.

  • *

    RUNNING: The operation is currently being performed.

  • *
  • STOPPED: The user has canceled the operation.

  • *
  • STOPPING: The operation is in the process of stopping, at * user request.

  • SUCCEEDED: The operation completed * creating or updating all the specified stacks without exceeding the failure * tolerance for the operation.

*/ inline void SetStatus(StackSetOperationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the operation.

  • FAILED: The * operation exceeded the specified failure tolerance. The failure tolerance value * that you've set for an operation is applied for each Region during stack create * and update operations. If the number of failed stacks within a Region exceeds * the failure tolerance, the status of the operation in the Region is set to * FAILED. This in turn sets the status of the operation as a whole to * FAILED, and CloudFormation cancels the operation in any remaining * Regions.

  • QUEUED: [Service-managed permissions] * For automatic deployments that require a sequence of operations, the operation * is queued to be performed. For more information, see the stack * set operation status codes in the CloudFormation User Guide.

  • *

    RUNNING: The operation is currently being performed.

  • *
  • STOPPED: The user has canceled the operation.

  • *
  • STOPPING: The operation is in the process of stopping, at * user request.

  • SUCCEEDED: The operation completed * creating or updating all the specified stacks without exceeding the failure * tolerance for the operation.

*/ inline StackSetOperation& WithStatus(const StackSetOperationStatus& value) { SetStatus(value); return *this;} /** *

The status of the operation.

  • FAILED: The * operation exceeded the specified failure tolerance. The failure tolerance value * that you've set for an operation is applied for each Region during stack create * and update operations. If the number of failed stacks within a Region exceeds * the failure tolerance, the status of the operation in the Region is set to * FAILED. This in turn sets the status of the operation as a whole to * FAILED, and CloudFormation cancels the operation in any remaining * Regions.

  • QUEUED: [Service-managed permissions] * For automatic deployments that require a sequence of operations, the operation * is queued to be performed. For more information, see the stack * set operation status codes in the CloudFormation User Guide.

  • *

    RUNNING: The operation is currently being performed.

  • *
  • STOPPED: The user has canceled the operation.

  • *
  • STOPPING: The operation is in the process of stopping, at * user request.

  • SUCCEEDED: The operation completed * creating or updating all the specified stacks without exceeding the failure * tolerance for the operation.

*/ inline StackSetOperation& WithStatus(StackSetOperationStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The preferences for how CloudFormation performs this stack set operation.

*/ inline const StackSetOperationPreferences& GetOperationPreferences() const{ return m_operationPreferences; } /** *

The preferences for how CloudFormation performs this stack set operation.

*/ inline bool OperationPreferencesHasBeenSet() const { return m_operationPreferencesHasBeenSet; } /** *

The preferences for how CloudFormation performs this stack set operation.

*/ inline void SetOperationPreferences(const StackSetOperationPreferences& value) { m_operationPreferencesHasBeenSet = true; m_operationPreferences = value; } /** *

The preferences for how CloudFormation performs this stack set operation.

*/ inline void SetOperationPreferences(StackSetOperationPreferences&& value) { m_operationPreferencesHasBeenSet = true; m_operationPreferences = std::move(value); } /** *

The preferences for how CloudFormation performs this stack set operation.

*/ inline StackSetOperation& WithOperationPreferences(const StackSetOperationPreferences& value) { SetOperationPreferences(value); return *this;} /** *

The preferences for how CloudFormation performs this stack set operation.

*/ inline StackSetOperation& WithOperationPreferences(StackSetOperationPreferences&& value) { SetOperationPreferences(std::move(value)); return *this;} /** *

For stack set operations of action type DELETE, specifies * whether to remove the stack instances from the specified stack set, but doesn't * delete the stacks. You can't re-associate a retained stack, or add an existing, * saved stack to a new stack set.

*/ inline bool GetRetainStacks() const{ return m_retainStacks; } /** *

For stack set operations of action type DELETE, specifies * whether to remove the stack instances from the specified stack set, but doesn't * delete the stacks. You can't re-associate a retained stack, or add an existing, * saved stack to a new stack set.

*/ inline bool RetainStacksHasBeenSet() const { return m_retainStacksHasBeenSet; } /** *

For stack set operations of action type DELETE, specifies * whether to remove the stack instances from the specified stack set, but doesn't * delete the stacks. You can't re-associate a retained stack, or add an existing, * saved stack to a new stack set.

*/ inline void SetRetainStacks(bool value) { m_retainStacksHasBeenSet = true; m_retainStacks = value; } /** *

For stack set operations of action type DELETE, specifies * whether to remove the stack instances from the specified stack set, but doesn't * delete the stacks. You can't re-associate a retained stack, or add an existing, * saved stack to a new stack set.

*/ inline StackSetOperation& WithRetainStacks(bool value) { SetRetainStacks(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline const Aws::String& GetAdministrationRoleARN() const{ return m_administrationRoleARN; } /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline bool AdministrationRoleARNHasBeenSet() const { return m_administrationRoleARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline void SetAdministrationRoleARN(const Aws::String& value) { m_administrationRoleARNHasBeenSet = true; m_administrationRoleARN = value; } /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline void SetAdministrationRoleARN(Aws::String&& value) { m_administrationRoleARNHasBeenSet = true; m_administrationRoleARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline void SetAdministrationRoleARN(const char* value) { m_administrationRoleARNHasBeenSet = true; m_administrationRoleARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline StackSetOperation& WithAdministrationRoleARN(const Aws::String& value) { SetAdministrationRoleARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline StackSetOperation& WithAdministrationRoleARN(Aws::String&& value) { SetAdministrationRoleARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role used to perform this stack set * operation.

Use customized administrator roles to control which users or * groups can manage specific stack sets within the same administrator account. For * more information, see Define * Permissions for Multiple Administrators in the CloudFormation User * Guide.

*/ inline StackSetOperation& WithAdministrationRoleARN(const char* value) { SetAdministrationRoleARN(value); return *this;} /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline const Aws::String& GetExecutionRoleName() const{ return m_executionRoleName; } /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline bool ExecutionRoleNameHasBeenSet() const { return m_executionRoleNameHasBeenSet; } /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline void SetExecutionRoleName(const Aws::String& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = value; } /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline void SetExecutionRoleName(Aws::String&& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = std::move(value); } /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline void SetExecutionRoleName(const char* value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName.assign(value); } /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline StackSetOperation& WithExecutionRoleName(const Aws::String& value) { SetExecutionRoleName(value); return *this;} /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline StackSetOperation& WithExecutionRoleName(Aws::String&& value) { SetExecutionRoleName(std::move(value)); return *this;} /** *

The name of the IAM execution role used to create or update the stack * set.

Use customized execution roles to control which stack resources * users and groups can include in their stack sets.

*/ inline StackSetOperation& WithExecutionRoleName(const char* value) { SetExecutionRoleName(value); return *this;} /** *

The time at which the operation was initiated. Note that the creation times * for the stack set operation might differ from the creation time of the * individual stacks themselves. This is because CloudFormation needs to perform * preparatory work for the operation, such as dispatching the work to the * requested Regions, before actually creating the first stacks.

*/ inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; } /** *

The time at which the operation was initiated. Note that the creation times * for the stack set operation might differ from the creation time of the * individual stacks themselves. This is because CloudFormation needs to perform * preparatory work for the operation, such as dispatching the work to the * requested Regions, before actually creating the first stacks.

*/ inline bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; } /** *

The time at which the operation was initiated. Note that the creation times * for the stack set operation might differ from the creation time of the * individual stacks themselves. This is because CloudFormation needs to perform * preparatory work for the operation, such as dispatching the work to the * requested Regions, before actually creating the first stacks.

*/ inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = value; } /** *

The time at which the operation was initiated. Note that the creation times * for the stack set operation might differ from the creation time of the * individual stacks themselves. This is because CloudFormation needs to perform * preparatory work for the operation, such as dispatching the work to the * requested Regions, before actually creating the first stacks.

*/ inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = std::move(value); } /** *

The time at which the operation was initiated. Note that the creation times * for the stack set operation might differ from the creation time of the * individual stacks themselves. This is because CloudFormation needs to perform * preparatory work for the operation, such as dispatching the work to the * requested Regions, before actually creating the first stacks.

*/ inline StackSetOperation& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;} /** *

The time at which the operation was initiated. Note that the creation times * for the stack set operation might differ from the creation time of the * individual stacks themselves. This is because CloudFormation needs to perform * preparatory work for the operation, such as dispatching the work to the * requested Regions, before actually creating the first stacks.

*/ inline StackSetOperation& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;} /** *

The time at which the stack set operation ended, across all accounts and * Regions specified. Note that this doesn't necessarily mean that the stack set * operation was successful, or even attempted, in each account or Region.

*/ inline const Aws::Utils::DateTime& GetEndTimestamp() const{ return m_endTimestamp; } /** *

The time at which the stack set operation ended, across all accounts and * Regions specified. Note that this doesn't necessarily mean that the stack set * operation was successful, or even attempted, in each account or Region.

*/ inline bool EndTimestampHasBeenSet() const { return m_endTimestampHasBeenSet; } /** *

The time at which the stack set operation ended, across all accounts and * Regions specified. Note that this doesn't necessarily mean that the stack set * operation was successful, or even attempted, in each account or Region.

*/ inline void SetEndTimestamp(const Aws::Utils::DateTime& value) { m_endTimestampHasBeenSet = true; m_endTimestamp = value; } /** *

The time at which the stack set operation ended, across all accounts and * Regions specified. Note that this doesn't necessarily mean that the stack set * operation was successful, or even attempted, in each account or Region.

*/ inline void SetEndTimestamp(Aws::Utils::DateTime&& value) { m_endTimestampHasBeenSet = true; m_endTimestamp = std::move(value); } /** *

The time at which the stack set operation ended, across all accounts and * Regions specified. Note that this doesn't necessarily mean that the stack set * operation was successful, or even attempted, in each account or Region.

*/ inline StackSetOperation& WithEndTimestamp(const Aws::Utils::DateTime& value) { SetEndTimestamp(value); return *this;} /** *

The time at which the stack set operation ended, across all accounts and * Regions specified. Note that this doesn't necessarily mean that the stack set * operation was successful, or even attempted, in each account or Region.

*/ inline StackSetOperation& WithEndTimestamp(Aws::Utils::DateTime&& value) { SetEndTimestamp(std::move(value)); return *this;} /** *

[Service-managed permissions] The Organizations accounts affected by the * stack operation.

*/ inline const DeploymentTargets& GetDeploymentTargets() const{ return m_deploymentTargets; } /** *

[Service-managed permissions] The Organizations accounts affected by the * stack operation.

*/ inline bool DeploymentTargetsHasBeenSet() const { return m_deploymentTargetsHasBeenSet; } /** *

[Service-managed permissions] The Organizations accounts affected by the * stack operation.

*/ inline void SetDeploymentTargets(const DeploymentTargets& value) { m_deploymentTargetsHasBeenSet = true; m_deploymentTargets = value; } /** *

[Service-managed permissions] The Organizations accounts affected by the * stack operation.

*/ inline void SetDeploymentTargets(DeploymentTargets&& value) { m_deploymentTargetsHasBeenSet = true; m_deploymentTargets = std::move(value); } /** *

[Service-managed permissions] The Organizations accounts affected by the * stack operation.

*/ inline StackSetOperation& WithDeploymentTargets(const DeploymentTargets& value) { SetDeploymentTargets(value); return *this;} /** *

[Service-managed permissions] The Organizations accounts affected by the * stack operation.

*/ inline StackSetOperation& WithDeploymentTargets(DeploymentTargets&& value) { SetDeploymentTargets(std::move(value)); return *this;} /** *

Detailed information about the drift status of the stack set. This includes * information about drift operations currently being performed on the stack * set.

This information will only be present for stack set operations whose * Action type is DETECT_DRIFT.

For more * information, see Detecting * Unmanaged Changes in Stack Sets in the CloudFormation User Guide.

*/ inline const StackSetDriftDetectionDetails& GetStackSetDriftDetectionDetails() const{ return m_stackSetDriftDetectionDetails; } /** *

Detailed information about the drift status of the stack set. This includes * information about drift operations currently being performed on the stack * set.

This information will only be present for stack set operations whose * Action type is DETECT_DRIFT.

For more * information, see Detecting * Unmanaged Changes in Stack Sets in the CloudFormation User Guide.

*/ inline bool StackSetDriftDetectionDetailsHasBeenSet() const { return m_stackSetDriftDetectionDetailsHasBeenSet; } /** *

Detailed information about the drift status of the stack set. This includes * information about drift operations currently being performed on the stack * set.

This information will only be present for stack set operations whose * Action type is DETECT_DRIFT.

For more * information, see Detecting * Unmanaged Changes in Stack Sets in the CloudFormation User Guide.

*/ inline void SetStackSetDriftDetectionDetails(const StackSetDriftDetectionDetails& value) { m_stackSetDriftDetectionDetailsHasBeenSet = true; m_stackSetDriftDetectionDetails = value; } /** *

Detailed information about the drift status of the stack set. This includes * information about drift operations currently being performed on the stack * set.

This information will only be present for stack set operations whose * Action type is DETECT_DRIFT.

For more * information, see Detecting * Unmanaged Changes in Stack Sets in the CloudFormation User Guide.

*/ inline void SetStackSetDriftDetectionDetails(StackSetDriftDetectionDetails&& value) { m_stackSetDriftDetectionDetailsHasBeenSet = true; m_stackSetDriftDetectionDetails = std::move(value); } /** *

Detailed information about the drift status of the stack set. This includes * information about drift operations currently being performed on the stack * set.

This information will only be present for stack set operations whose * Action type is DETECT_DRIFT.

For more * information, see Detecting * Unmanaged Changes in Stack Sets in the CloudFormation User Guide.

*/ inline StackSetOperation& WithStackSetDriftDetectionDetails(const StackSetDriftDetectionDetails& value) { SetStackSetDriftDetectionDetails(value); return *this;} /** *

Detailed information about the drift status of the stack set. This includes * information about drift operations currently being performed on the stack * set.

This information will only be present for stack set operations whose * Action type is DETECT_DRIFT.

For more * information, see Detecting * Unmanaged Changes in Stack Sets in the CloudFormation User Guide.

*/ inline StackSetOperation& WithStackSetDriftDetectionDetails(StackSetDriftDetectionDetails&& value) { SetStackSetDriftDetectionDetails(std::move(value)); return *this;} /** *

The status of the operation in details.

*/ inline const Aws::String& GetStatusReason() const{ return m_statusReason; } /** *

The status of the operation in details.

*/ inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } /** *

The status of the operation in details.

*/ inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } /** *

The status of the operation in details.

*/ inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } /** *

The status of the operation in details.

*/ inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } /** *

The status of the operation in details.

*/ inline StackSetOperation& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} /** *

The status of the operation in details.

*/ inline StackSetOperation& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} /** *

The status of the operation in details.

*/ inline StackSetOperation& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} /** *

Detailed information about the StackSet operation.

*/ inline const StackSetOperationStatusDetails& GetStatusDetails() const{ return m_statusDetails; } /** *

Detailed information about the StackSet operation.

*/ inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; } /** *

Detailed information about the StackSet operation.

*/ inline void SetStatusDetails(const StackSetOperationStatusDetails& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; } /** *

Detailed information about the StackSet operation.

*/ inline void SetStatusDetails(StackSetOperationStatusDetails&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); } /** *

Detailed information about the StackSet operation.

*/ inline StackSetOperation& WithStatusDetails(const StackSetOperationStatusDetails& value) { SetStatusDetails(value); return *this;} /** *

Detailed information about the StackSet operation.

*/ inline StackSetOperation& WithStatusDetails(StackSetOperationStatusDetails&& value) { SetStatusDetails(std::move(value)); return *this;} private: Aws::String m_operationId; bool m_operationIdHasBeenSet = false; Aws::String m_stackSetId; bool m_stackSetIdHasBeenSet = false; StackSetOperationAction m_action; bool m_actionHasBeenSet = false; StackSetOperationStatus m_status; bool m_statusHasBeenSet = false; StackSetOperationPreferences m_operationPreferences; bool m_operationPreferencesHasBeenSet = false; bool m_retainStacks; bool m_retainStacksHasBeenSet = false; Aws::String m_administrationRoleARN; bool m_administrationRoleARNHasBeenSet = false; Aws::String m_executionRoleName; bool m_executionRoleNameHasBeenSet = false; Aws::Utils::DateTime m_creationTimestamp; bool m_creationTimestampHasBeenSet = false; Aws::Utils::DateTime m_endTimestamp; bool m_endTimestampHasBeenSet = false; DeploymentTargets m_deploymentTargets; bool m_deploymentTargetsHasBeenSet = false; StackSetDriftDetectionDetails m_stackSetDriftDetectionDetails; bool m_stackSetDriftDetectionDetailsHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; StackSetOperationStatusDetails m_statusDetails; bool m_statusDetailsHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws