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

The AccountLimit data type.

CloudFormation has the following limits * per account:

  • Number of concurrent resources

  • *

    Number of stacks

  • Number of stack outputs

*

For more information about these account limits, and other CloudFormation * limits, see CloudFormation * quotas in the CloudFormation User Guide.

See Also:

* AWS * API Reference

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

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline AccountLimit& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline AccountLimit& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the account limit.

Values: * ConcurrentResourcesLimit | StackLimit | * StackOutputsLimit

*/ inline AccountLimit& WithName(const char* value) { SetName(value); return *this;} /** *

The value that's associated with the account limit name.

*/ inline int GetValue() const{ return m_value; } /** *

The value that's associated with the account limit name.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The value that's associated with the account limit name.

*/ inline void SetValue(int value) { m_valueHasBeenSet = true; m_value = value; } /** *

The value that's associated with the account limit name.

*/ inline AccountLimit& WithValue(int value) { SetValue(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; int m_value; bool m_valueHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws