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

Structure that contains the results of the account gate function which * CloudFormation invokes, if present, before proceeding with a stack set operation * in an account and Region.

For each account and Region, CloudFormation * lets you specify a Lambda function that encapsulates any requirements that must * be met before CloudFormation can proceed with a stack set operation in that * account and Region. CloudFormation invokes the function each time a stack set * operation is requested for that account and Region; if the function returns * FAILED, CloudFormation cancels the operation in that account and * Region, and sets the stack set operation result status for that account and * Region to FAILED.

For more information, see Configuring * a target account gate.

See Also:

AWS * API Reference

*/ class AccountGateResult { public: AWS_CLOUDFORMATION_API AccountGateResult(); AWS_CLOUDFORMATION_API AccountGateResult(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API AccountGateResult& 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 status of the account gate function.

  • * SUCCEEDED: The account gate function has determined that the * account and Region passes any requirements for a stack set operation to occur. * CloudFormation proceeds with the stack operation in that account and Region.

    *
  • FAILED: The account gate function has determined * that the account and Region doesn't meet the requirements for a stack set * operation to occur. CloudFormation cancels the stack set operation in that * account and Region, and sets the stack set operation result status for that * account and Region to FAILED.

  • * SKIPPED: CloudFormation has skipped calling the account gate * function for this account and Region, for one of the following reasons:

      *
    • An account gate function hasn't been specified for the account and * Region. CloudFormation proceeds with the stack set operation in this account and * Region.

    • The * AWSCloudFormationStackSetExecutionRole of the stack set * administration account lacks permissions to invoke the function. CloudFormation * proceeds with the stack set operation in this account and Region.

    • *

      Either no action is necessary, or no action is possible, on the stack. * CloudFormation skips the stack set operation in this account and Region.

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

The status of the account gate function.

  • * SUCCEEDED: The account gate function has determined that the * account and Region passes any requirements for a stack set operation to occur. * CloudFormation proceeds with the stack operation in that account and Region.

    *
  • FAILED: The account gate function has determined * that the account and Region doesn't meet the requirements for a stack set * operation to occur. CloudFormation cancels the stack set operation in that * account and Region, and sets the stack set operation result status for that * account and Region to FAILED.

  • * SKIPPED: CloudFormation has skipped calling the account gate * function for this account and Region, for one of the following reasons:

      *
    • An account gate function hasn't been specified for the account and * Region. CloudFormation proceeds with the stack set operation in this account and * Region.

    • The * AWSCloudFormationStackSetExecutionRole of the stack set * administration account lacks permissions to invoke the function. CloudFormation * proceeds with the stack set operation in this account and Region.

    • *

      Either no action is necessary, or no action is possible, on the stack. * CloudFormation skips the stack set operation in this account and Region.

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

The status of the account gate function.

  • * SUCCEEDED: The account gate function has determined that the * account and Region passes any requirements for a stack set operation to occur. * CloudFormation proceeds with the stack operation in that account and Region.

    *
  • FAILED: The account gate function has determined * that the account and Region doesn't meet the requirements for a stack set * operation to occur. CloudFormation cancels the stack set operation in that * account and Region, and sets the stack set operation result status for that * account and Region to FAILED.

  • * SKIPPED: CloudFormation has skipped calling the account gate * function for this account and Region, for one of the following reasons:

      *
    • An account gate function hasn't been specified for the account and * Region. CloudFormation proceeds with the stack set operation in this account and * Region.

    • The * AWSCloudFormationStackSetExecutionRole of the stack set * administration account lacks permissions to invoke the function. CloudFormation * proceeds with the stack set operation in this account and Region.

    • *

      Either no action is necessary, or no action is possible, on the stack. * CloudFormation skips the stack set operation in this account and Region.

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

The status of the account gate function.

  • * SUCCEEDED: The account gate function has determined that the * account and Region passes any requirements for a stack set operation to occur. * CloudFormation proceeds with the stack operation in that account and Region.

    *
  • FAILED: The account gate function has determined * that the account and Region doesn't meet the requirements for a stack set * operation to occur. CloudFormation cancels the stack set operation in that * account and Region, and sets the stack set operation result status for that * account and Region to FAILED.

  • * SKIPPED: CloudFormation has skipped calling the account gate * function for this account and Region, for one of the following reasons:

      *
    • An account gate function hasn't been specified for the account and * Region. CloudFormation proceeds with the stack set operation in this account and * Region.

    • The * AWSCloudFormationStackSetExecutionRole of the stack set * administration account lacks permissions to invoke the function. CloudFormation * proceeds with the stack set operation in this account and Region.

    • *

      Either no action is necessary, or no action is possible, on the stack. * CloudFormation skips the stack set operation in this account and Region.

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

The status of the account gate function.

  • * SUCCEEDED: The account gate function has determined that the * account and Region passes any requirements for a stack set operation to occur. * CloudFormation proceeds with the stack operation in that account and Region.

    *
  • FAILED: The account gate function has determined * that the account and Region doesn't meet the requirements for a stack set * operation to occur. CloudFormation cancels the stack set operation in that * account and Region, and sets the stack set operation result status for that * account and Region to FAILED.

  • * SKIPPED: CloudFormation has skipped calling the account gate * function for this account and Region, for one of the following reasons:

      *
    • An account gate function hasn't been specified for the account and * Region. CloudFormation proceeds with the stack set operation in this account and * Region.

    • The * AWSCloudFormationStackSetExecutionRole of the stack set * administration account lacks permissions to invoke the function. CloudFormation * proceeds with the stack set operation in this account and Region.

    • *

      Either no action is necessary, or no action is possible, on the stack. * CloudFormation skips the stack set operation in this account and Region.

      *
*/ inline AccountGateResult& WithStatus(const AccountGateStatus& value) { SetStatus(value); return *this;} /** *

The status of the account gate function.

  • * SUCCEEDED: The account gate function has determined that the * account and Region passes any requirements for a stack set operation to occur. * CloudFormation proceeds with the stack operation in that account and Region.

    *
  • FAILED: The account gate function has determined * that the account and Region doesn't meet the requirements for a stack set * operation to occur. CloudFormation cancels the stack set operation in that * account and Region, and sets the stack set operation result status for that * account and Region to FAILED.

  • * SKIPPED: CloudFormation has skipped calling the account gate * function for this account and Region, for one of the following reasons:

      *
    • An account gate function hasn't been specified for the account and * Region. CloudFormation proceeds with the stack set operation in this account and * Region.

    • The * AWSCloudFormationStackSetExecutionRole of the stack set * administration account lacks permissions to invoke the function. CloudFormation * proceeds with the stack set operation in this account and Region.

    • *

      Either no action is necessary, or no action is possible, on the stack. * CloudFormation skips the stack set operation in this account and Region.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

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

The reason for the account gate status assigned to this account and Region * for the stack set operation.

*/ inline AccountGateResult& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} private: AccountGateStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusReason; bool m_statusReasonHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws