/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
#pragma once
#include  The structures that contain summary information about the specified stack
   * set.See Also:
   AWS
   * API Reference
The name of the stack set.
*/ inline const Aws::String& GetStackSetName() const{ return m_stackSetName; } /** *The name of the stack set.
*/ inline bool StackSetNameHasBeenSet() const { return m_stackSetNameHasBeenSet; } /** *The name of the stack set.
*/ inline void SetStackSetName(const Aws::String& value) { m_stackSetNameHasBeenSet = true; m_stackSetName = value; } /** *The name of the stack set.
*/ inline void SetStackSetName(Aws::String&& value) { m_stackSetNameHasBeenSet = true; m_stackSetName = std::move(value); } /** *The name of the stack set.
*/ inline void SetStackSetName(const char* value) { m_stackSetNameHasBeenSet = true; m_stackSetName.assign(value); } /** *The name of the stack set.
*/ inline StackSetSummary& WithStackSetName(const Aws::String& value) { SetStackSetName(value); return *this;} /** *The name of the stack set.
*/ inline StackSetSummary& WithStackSetName(Aws::String&& value) { SetStackSetName(std::move(value)); return *this;} /** *The name of the stack set.
*/ inline StackSetSummary& WithStackSetName(const char* value) { SetStackSetName(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 StackSetSummary& WithStackSetId(const Aws::String& value) { SetStackSetId(value); return *this;} /** *The ID of the stack set.
*/ inline StackSetSummary& WithStackSetId(Aws::String&& value) { SetStackSetId(std::move(value)); return *this;} /** *The ID of the stack set.
*/ inline StackSetSummary& WithStackSetId(const char* value) { SetStackSetId(value); return *this;} /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline StackSetSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline StackSetSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description of the stack set that you specify when the stack set is created * or updated.
*/ inline StackSetSummary& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The status of the stack set.
*/ inline const StackSetStatus& GetStatus() const{ return m_status; } /** *The status of the stack set.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the stack set.
*/ inline void SetStatus(const StackSetStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the stack set.
*/ inline void SetStatus(StackSetStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the stack set.
*/ inline StackSetSummary& WithStatus(const StackSetStatus& value) { SetStatus(value); return *this;} /** *The status of the stack set.
*/ inline StackSetSummary& WithStatus(StackSetStatus&& value) { SetStatus(std::move(value)); return *this;} /** *[Service-managed permissions] Describes whether StackSets automatically * deploys to Organizations accounts that are added to a target organizational unit * (OU).
*/ inline const AutoDeployment& GetAutoDeployment() const{ return m_autoDeployment; } /** *[Service-managed permissions] Describes whether StackSets automatically * deploys to Organizations accounts that are added to a target organizational unit * (OU).
*/ inline bool AutoDeploymentHasBeenSet() const { return m_autoDeploymentHasBeenSet; } /** *[Service-managed permissions] Describes whether StackSets automatically * deploys to Organizations accounts that are added to a target organizational unit * (OU).
*/ inline void SetAutoDeployment(const AutoDeployment& value) { m_autoDeploymentHasBeenSet = true; m_autoDeployment = value; } /** *[Service-managed permissions] Describes whether StackSets automatically * deploys to Organizations accounts that are added to a target organizational unit * (OU).
*/ inline void SetAutoDeployment(AutoDeployment&& value) { m_autoDeploymentHasBeenSet = true; m_autoDeployment = std::move(value); } /** *[Service-managed permissions] Describes whether StackSets automatically * deploys to Organizations accounts that are added to a target organizational unit * (OU).
*/ inline StackSetSummary& WithAutoDeployment(const AutoDeployment& value) { SetAutoDeployment(value); return *this;} /** *[Service-managed permissions] Describes whether StackSets automatically * deploys to Organizations accounts that are added to a target organizational unit * (OU).
*/ inline StackSetSummary& WithAutoDeployment(AutoDeployment&& value) { SetAutoDeployment(std::move(value)); return *this;} /** *Describes how the IAM roles required for stack set operations are * created.
With self-managed permissions, you must
     * create the administrator and execution roles required to deploy to target
     * accounts. For more information, see Grant
     * Self-Managed Stack Set Permissions.
With
     * service-managed permissions, StackSets automatically creates the
     * IAM roles required to deploy to accounts managed by Organizations. For more
     * information, see Grant
     * Service-Managed Stack Set Permissions.
Describes how the IAM roles required for stack set operations are * created.
With self-managed permissions, you must
     * create the administrator and execution roles required to deploy to target
     * accounts. For more information, see Grant
     * Self-Managed Stack Set Permissions.
With
     * service-managed permissions, StackSets automatically creates the
     * IAM roles required to deploy to accounts managed by Organizations. For more
     * information, see Grant
     * Service-Managed Stack Set Permissions.
Describes how the IAM roles required for stack set operations are * created.
With self-managed permissions, you must
     * create the administrator and execution roles required to deploy to target
     * accounts. For more information, see Grant
     * Self-Managed Stack Set Permissions.
With
     * service-managed permissions, StackSets automatically creates the
     * IAM roles required to deploy to accounts managed by Organizations. For more
     * information, see Grant
     * Service-Managed Stack Set Permissions.
Describes how the IAM roles required for stack set operations are * created.
With self-managed permissions, you must
     * create the administrator and execution roles required to deploy to target
     * accounts. For more information, see Grant
     * Self-Managed Stack Set Permissions.
With
     * service-managed permissions, StackSets automatically creates the
     * IAM roles required to deploy to accounts managed by Organizations. For more
     * information, see Grant
     * Service-Managed Stack Set Permissions.
Describes how the IAM roles required for stack set operations are * created.
With self-managed permissions, you must
     * create the administrator and execution roles required to deploy to target
     * accounts. For more information, see Grant
     * Self-Managed Stack Set Permissions.
With
     * service-managed permissions, StackSets automatically creates the
     * IAM roles required to deploy to accounts managed by Organizations. For more
     * information, see Grant
     * Service-Managed Stack Set Permissions.
Describes how the IAM roles required for stack set operations are * created.
With self-managed permissions, you must
     * create the administrator and execution roles required to deploy to target
     * accounts. For more information, see Grant
     * Self-Managed Stack Set Permissions.
With
     * service-managed permissions, StackSets automatically creates the
     * IAM roles required to deploy to accounts managed by Organizations. For more
     * information, see Grant
     * Service-Managed Stack Set Permissions.
Status of the stack set's actual configuration compared to its expected * template and parameter configuration. A stack set is considered to have drifted * if one or more of its stack instances have drifted from their expected template * and parameter configuration.
 DRIFTED: One or more
     * of the stack instances belonging to the stack set stack differs from the
     * expected template and parameter configuration. A stack instance is considered to
     * have drifted if one or more of the resources in the associated stack have
     * drifted.
 NOT_CHECKED: CloudFormation hasn't
     * checked the stack set for drift.
 IN_SYNC: All
     * the stack instances belonging to the stack set stack match from the expected
     * template and parameter configuration.
 UNKNOWN:
     * This value is reserved for future use.
Status of the stack set's actual configuration compared to its expected * template and parameter configuration. A stack set is considered to have drifted * if one or more of its stack instances have drifted from their expected template * and parameter configuration.
 DRIFTED: One or more
     * of the stack instances belonging to the stack set stack differs from the
     * expected template and parameter configuration. A stack instance is considered to
     * have drifted if one or more of the resources in the associated stack have
     * drifted.
 NOT_CHECKED: CloudFormation hasn't
     * checked the stack set for drift.
 IN_SYNC: All
     * the stack instances belonging to the stack set stack match from the expected
     * template and parameter configuration.
 UNKNOWN:
     * This value is reserved for future use.
Status of the stack set's actual configuration compared to its expected * template and parameter configuration. A stack set is considered to have drifted * if one or more of its stack instances have drifted from their expected template * and parameter configuration.
 DRIFTED: One or more
     * of the stack instances belonging to the stack set stack differs from the
     * expected template and parameter configuration. A stack instance is considered to
     * have drifted if one or more of the resources in the associated stack have
     * drifted.
 NOT_CHECKED: CloudFormation hasn't
     * checked the stack set for drift.
 IN_SYNC: All
     * the stack instances belonging to the stack set stack match from the expected
     * template and parameter configuration.
 UNKNOWN:
     * This value is reserved for future use.
Status of the stack set's actual configuration compared to its expected * template and parameter configuration. A stack set is considered to have drifted * if one or more of its stack instances have drifted from their expected template * and parameter configuration.
 DRIFTED: One or more
     * of the stack instances belonging to the stack set stack differs from the
     * expected template and parameter configuration. A stack instance is considered to
     * have drifted if one or more of the resources in the associated stack have
     * drifted.
 NOT_CHECKED: CloudFormation hasn't
     * checked the stack set for drift.
 IN_SYNC: All
     * the stack instances belonging to the stack set stack match from the expected
     * template and parameter configuration.
 UNKNOWN:
     * This value is reserved for future use.
Status of the stack set's actual configuration compared to its expected * template and parameter configuration. A stack set is considered to have drifted * if one or more of its stack instances have drifted from their expected template * and parameter configuration.
 DRIFTED: One or more
     * of the stack instances belonging to the stack set stack differs from the
     * expected template and parameter configuration. A stack instance is considered to
     * have drifted if one or more of the resources in the associated stack have
     * drifted.
 NOT_CHECKED: CloudFormation hasn't
     * checked the stack set for drift.
 IN_SYNC: All
     * the stack instances belonging to the stack set stack match from the expected
     * template and parameter configuration.
 UNKNOWN:
     * This value is reserved for future use.
Status of the stack set's actual configuration compared to its expected * template and parameter configuration. A stack set is considered to have drifted * if one or more of its stack instances have drifted from their expected template * and parameter configuration.
 DRIFTED: One or more
     * of the stack instances belonging to the stack set stack differs from the
     * expected template and parameter configuration. A stack instance is considered to
     * have drifted if one or more of the resources in the associated stack have
     * drifted.
 NOT_CHECKED: CloudFormation hasn't
     * checked the stack set for drift.
 IN_SYNC: All
     * the stack instances belonging to the stack set stack match from the expected
     * template and parameter configuration.
 UNKNOWN:
     * This value is reserved for future use.
Most recent time when CloudFormation performed a drift detection operation on
     * the stack set. This value will be NULL for any stack set on which
     * drift detection hasn't yet been performed.
Most recent time when CloudFormation performed a drift detection operation on
     * the stack set. This value will be NULL for any stack set on which
     * drift detection hasn't yet been performed.
Most recent time when CloudFormation performed a drift detection operation on
     * the stack set. This value will be NULL for any stack set on which
     * drift detection hasn't yet been performed.
Most recent time when CloudFormation performed a drift detection operation on
     * the stack set. This value will be NULL for any stack set on which
     * drift detection hasn't yet been performed.
Most recent time when CloudFormation performed a drift detection operation on
     * the stack set. This value will be NULL for any stack set on which
     * drift detection hasn't yet been performed.
Most recent time when CloudFormation performed a drift detection operation on
     * the stack set. This value will be NULL for any stack set on which
     * drift detection hasn't yet been performed.
Describes whether StackSets performs non-conflicting operations concurrently * and queues conflicting operations.
*/ inline const ManagedExecution& GetManagedExecution() const{ return m_managedExecution; } /** *Describes whether StackSets performs non-conflicting operations concurrently * and queues conflicting operations.
*/ inline bool ManagedExecutionHasBeenSet() const { return m_managedExecutionHasBeenSet; } /** *Describes whether StackSets performs non-conflicting operations concurrently * and queues conflicting operations.
*/ inline void SetManagedExecution(const ManagedExecution& value) { m_managedExecutionHasBeenSet = true; m_managedExecution = value; } /** *Describes whether StackSets performs non-conflicting operations concurrently * and queues conflicting operations.
*/ inline void SetManagedExecution(ManagedExecution&& value) { m_managedExecutionHasBeenSet = true; m_managedExecution = std::move(value); } /** *Describes whether StackSets performs non-conflicting operations concurrently * and queues conflicting operations.
*/ inline StackSetSummary& WithManagedExecution(const ManagedExecution& value) { SetManagedExecution(value); return *this;} /** *Describes whether StackSets performs non-conflicting operations concurrently * and queues conflicting operations.
*/ inline StackSetSummary& WithManagedExecution(ManagedExecution&& value) { SetManagedExecution(std::move(value)); return *this;} private: Aws::String m_stackSetName; bool m_stackSetNameHasBeenSet = false; Aws::String m_stackSetId; bool m_stackSetIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; StackSetStatus m_status; bool m_statusHasBeenSet = false; AutoDeployment m_autoDeployment; bool m_autoDeploymentHasBeenSet = false; PermissionModels m_permissionModel; bool m_permissionModelHasBeenSet = false; StackDriftStatus m_driftStatus; bool m_driftStatusHasBeenSet = false; Aws::Utils::DateTime m_lastDriftCheckTimestamp; bool m_lastDriftCheckTimestampHasBeenSet = false; ManagedExecution m_managedExecution; bool m_managedExecutionHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws