/** * 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 { /** *

Contains information about the module from which the resource was created, if * the resource was created from a module included in the stack template.

*

For more information about modules, see Using * modules to encapsulate and reuse resource configurations in the * CloudFormation User Guide.

See Also:

AWS * API Reference

*/ class ModuleInfo { public: AWS_CLOUDFORMATION_API ModuleInfo(); AWS_CLOUDFORMATION_API ModuleInfo(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API ModuleInfo& 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; /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline const Aws::String& GetTypeHierarchy() const{ return m_typeHierarchy; } /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline bool TypeHierarchyHasBeenSet() const { return m_typeHierarchyHasBeenSet; } /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline void SetTypeHierarchy(const Aws::String& value) { m_typeHierarchyHasBeenSet = true; m_typeHierarchy = value; } /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline void SetTypeHierarchy(Aws::String&& value) { m_typeHierarchyHasBeenSet = true; m_typeHierarchy = std::move(value); } /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline void SetTypeHierarchy(const char* value) { m_typeHierarchyHasBeenSet = true; m_typeHierarchy.assign(value); } /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline ModuleInfo& WithTypeHierarchy(const Aws::String& value) { SetTypeHierarchy(value); return *this;} /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline ModuleInfo& WithTypeHierarchy(Aws::String&& value) { SetTypeHierarchy(std::move(value)); return *this;} /** *

A concatenated list of the module type or types containing the resource. * Module types are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module of type AWS::First::Example::MODULE, that's * nested inside a parent module of type * AWS::Second::Example::MODULE.

* AWS::First::Example::MODULE/AWS::Second::Example::MODULE

*/ inline ModuleInfo& WithTypeHierarchy(const char* value) { SetTypeHierarchy(value); return *this;} /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline const Aws::String& GetLogicalIdHierarchy() const{ return m_logicalIdHierarchy; } /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline bool LogicalIdHierarchyHasBeenSet() const { return m_logicalIdHierarchyHasBeenSet; } /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline void SetLogicalIdHierarchy(const Aws::String& value) { m_logicalIdHierarchyHasBeenSet = true; m_logicalIdHierarchy = value; } /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline void SetLogicalIdHierarchy(Aws::String&& value) { m_logicalIdHierarchyHasBeenSet = true; m_logicalIdHierarchy = std::move(value); } /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline void SetLogicalIdHierarchy(const char* value) { m_logicalIdHierarchyHasBeenSet = true; m_logicalIdHierarchy.assign(value); } /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline ModuleInfo& WithLogicalIdHierarchy(const Aws::String& value) { SetLogicalIdHierarchy(value); return *this;} /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline ModuleInfo& WithLogicalIdHierarchy(Aws::String&& value) { SetLogicalIdHierarchy(std::move(value)); return *this;} /** *

A concatenated list of the logical IDs of the module or modules containing * the resource. Modules are listed starting with the inner-most nested module, and * separated by /.

In the following example, the resource was * created from a module, moduleA, that's nested inside a parent * module, moduleB.

moduleA/moduleB

For * more information, see Referencing * resources in a module in the CloudFormation User Guide.

*/ inline ModuleInfo& WithLogicalIdHierarchy(const char* value) { SetLogicalIdHierarchy(value); return *this;} private: Aws::String m_typeHierarchy; bool m_typeHierarchyHasBeenSet = false; Aws::String m_logicalIdHierarchy; bool m_logicalIdHierarchyHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws