/** * 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 namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace CloudFormation { namespace Model { /** *

Contains detailed information about the specified stack * resource.

See Also:

AWS * API Reference

*/ class StackResourceDetail { public: AWS_CLOUDFORMATION_API StackResourceDetail(); AWS_CLOUDFORMATION_API StackResourceDetail(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API StackResourceDetail& 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 associated with the stack.

*/ inline const Aws::String& GetStackName() const{ return m_stackName; } /** *

The name associated with the stack.

*/ inline bool StackNameHasBeenSet() const { return m_stackNameHasBeenSet; } /** *

The name associated with the stack.

*/ inline void SetStackName(const Aws::String& value) { m_stackNameHasBeenSet = true; m_stackName = value; } /** *

The name associated with the stack.

*/ inline void SetStackName(Aws::String&& value) { m_stackNameHasBeenSet = true; m_stackName = std::move(value); } /** *

The name associated with the stack.

*/ inline void SetStackName(const char* value) { m_stackNameHasBeenSet = true; m_stackName.assign(value); } /** *

The name associated with the stack.

*/ inline StackResourceDetail& WithStackName(const Aws::String& value) { SetStackName(value); return *this;} /** *

The name associated with the stack.

*/ inline StackResourceDetail& WithStackName(Aws::String&& value) { SetStackName(std::move(value)); return *this;} /** *

The name associated with the stack.

*/ inline StackResourceDetail& WithStackName(const char* value) { SetStackName(value); return *this;} /** *

Unique identifier of the stack.

*/ inline const Aws::String& GetStackId() const{ return m_stackId; } /** *

Unique identifier of the stack.

*/ inline bool StackIdHasBeenSet() const { return m_stackIdHasBeenSet; } /** *

Unique identifier of the stack.

*/ inline void SetStackId(const Aws::String& value) { m_stackIdHasBeenSet = true; m_stackId = value; } /** *

Unique identifier of the stack.

*/ inline void SetStackId(Aws::String&& value) { m_stackIdHasBeenSet = true; m_stackId = std::move(value); } /** *

Unique identifier of the stack.

*/ inline void SetStackId(const char* value) { m_stackIdHasBeenSet = true; m_stackId.assign(value); } /** *

Unique identifier of the stack.

*/ inline StackResourceDetail& WithStackId(const Aws::String& value) { SetStackId(value); return *this;} /** *

Unique identifier of the stack.

*/ inline StackResourceDetail& WithStackId(Aws::String&& value) { SetStackId(std::move(value)); return *this;} /** *

Unique identifier of the stack.

*/ inline StackResourceDetail& WithStackId(const char* value) { SetStackId(value); return *this;} /** *

The logical name of the resource specified in the template.

*/ inline const Aws::String& GetLogicalResourceId() const{ return m_logicalResourceId; } /** *

The logical name of the resource specified in the template.

*/ inline bool LogicalResourceIdHasBeenSet() const { return m_logicalResourceIdHasBeenSet; } /** *

The logical name of the resource specified in the template.

*/ inline void SetLogicalResourceId(const Aws::String& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = value; } /** *

The logical name of the resource specified in the template.

*/ inline void SetLogicalResourceId(Aws::String&& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = std::move(value); } /** *

The logical name of the resource specified in the template.

*/ inline void SetLogicalResourceId(const char* value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId.assign(value); } /** *

The logical name of the resource specified in the template.

*/ inline StackResourceDetail& WithLogicalResourceId(const Aws::String& value) { SetLogicalResourceId(value); return *this;} /** *

The logical name of the resource specified in the template.

*/ inline StackResourceDetail& WithLogicalResourceId(Aws::String&& value) { SetLogicalResourceId(std::move(value)); return *this;} /** *

The logical name of the resource specified in the template.

*/ inline StackResourceDetail& WithLogicalResourceId(const char* value) { SetLogicalResourceId(value); return *this;} /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline const Aws::String& GetPhysicalResourceId() const{ return m_physicalResourceId; } /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline bool PhysicalResourceIdHasBeenSet() const { return m_physicalResourceIdHasBeenSet; } /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline void SetPhysicalResourceId(const Aws::String& value) { m_physicalResourceIdHasBeenSet = true; m_physicalResourceId = value; } /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline void SetPhysicalResourceId(Aws::String&& value) { m_physicalResourceIdHasBeenSet = true; m_physicalResourceId = std::move(value); } /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline void SetPhysicalResourceId(const char* value) { m_physicalResourceIdHasBeenSet = true; m_physicalResourceId.assign(value); } /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline StackResourceDetail& WithPhysicalResourceId(const Aws::String& value) { SetPhysicalResourceId(value); return *this;} /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline StackResourceDetail& WithPhysicalResourceId(Aws::String&& value) { SetPhysicalResourceId(std::move(value)); return *this;} /** *

The name or unique identifier that corresponds to a physical instance ID of a * resource supported by CloudFormation.

*/ inline StackResourceDetail& WithPhysicalResourceId(const char* value) { SetPhysicalResourceId(value); return *this;} /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline StackResourceDetail& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline StackResourceDetail& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

Type of resource. For more information, go to Amazon * Web Services Resource Types Reference in the CloudFormation User Guide.

*/ inline StackResourceDetail& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

Time the status was updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } /** *

Time the status was updated.

*/ inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } /** *

Time the status was updated.

*/ inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } /** *

Time the status was updated.

*/ inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } /** *

Time the status was updated.

*/ inline StackResourceDetail& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} /** *

Time the status was updated.

*/ inline StackResourceDetail& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} /** *

Current status of the resource.

*/ inline const ResourceStatus& GetResourceStatus() const{ return m_resourceStatus; } /** *

Current status of the resource.

*/ inline bool ResourceStatusHasBeenSet() const { return m_resourceStatusHasBeenSet; } /** *

Current status of the resource.

*/ inline void SetResourceStatus(const ResourceStatus& value) { m_resourceStatusHasBeenSet = true; m_resourceStatus = value; } /** *

Current status of the resource.

*/ inline void SetResourceStatus(ResourceStatus&& value) { m_resourceStatusHasBeenSet = true; m_resourceStatus = std::move(value); } /** *

Current status of the resource.

*/ inline StackResourceDetail& WithResourceStatus(const ResourceStatus& value) { SetResourceStatus(value); return *this;} /** *

Current status of the resource.

*/ inline StackResourceDetail& WithResourceStatus(ResourceStatus&& value) { SetResourceStatus(std::move(value)); return *this;} /** *

Success/failure message associated with the resource.

*/ inline const Aws::String& GetResourceStatusReason() const{ return m_resourceStatusReason; } /** *

Success/failure message associated with the resource.

*/ inline bool ResourceStatusReasonHasBeenSet() const { return m_resourceStatusReasonHasBeenSet; } /** *

Success/failure message associated with the resource.

*/ inline void SetResourceStatusReason(const Aws::String& value) { m_resourceStatusReasonHasBeenSet = true; m_resourceStatusReason = value; } /** *

Success/failure message associated with the resource.

*/ inline void SetResourceStatusReason(Aws::String&& value) { m_resourceStatusReasonHasBeenSet = true; m_resourceStatusReason = std::move(value); } /** *

Success/failure message associated with the resource.

*/ inline void SetResourceStatusReason(const char* value) { m_resourceStatusReasonHasBeenSet = true; m_resourceStatusReason.assign(value); } /** *

Success/failure message associated with the resource.

*/ inline StackResourceDetail& WithResourceStatusReason(const Aws::String& value) { SetResourceStatusReason(value); return *this;} /** *

Success/failure message associated with the resource.

*/ inline StackResourceDetail& WithResourceStatusReason(Aws::String&& value) { SetResourceStatusReason(std::move(value)); return *this;} /** *

Success/failure message associated with the resource.

*/ inline StackResourceDetail& WithResourceStatusReason(const char* value) { SetResourceStatusReason(value); return *this;} /** *

User defined description associated with the resource.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

User defined description associated with the resource.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

User defined description associated with the resource.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

User defined description associated with the resource.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

User defined description associated with the resource.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

User defined description associated with the resource.

*/ inline StackResourceDetail& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

User defined description associated with the resource.

*/ inline StackResourceDetail& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

User defined description associated with the resource.

*/ inline StackResourceDetail& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline const Aws::String& GetMetadata() const{ return m_metadata; } /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline void SetMetadata(const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline void SetMetadata(Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline void SetMetadata(const char* value) { m_metadataHasBeenSet = true; m_metadata.assign(value); } /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline StackResourceDetail& WithMetadata(const Aws::String& value) { SetMetadata(value); return *this;} /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline StackResourceDetail& WithMetadata(Aws::String&& value) { SetMetadata(std::move(value)); return *this;} /** *

The content of the Metadata attribute declared for the resource. * For more information, see Metadata * Attribute in the CloudFormation User Guide.

*/ inline StackResourceDetail& WithMetadata(const char* value) { SetMetadata(value); return *this;} /** *

Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack * template and any values specified as template parameters. For more information, * see Detecting * Unregulated Configuration Changes to Stacks and Resources.

*/ inline const StackResourceDriftInformation& GetDriftInformation() const{ return m_driftInformation; } /** *

Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack * template and any values specified as template parameters. For more information, * see Detecting * Unregulated Configuration Changes to Stacks and Resources.

*/ inline bool DriftInformationHasBeenSet() const { return m_driftInformationHasBeenSet; } /** *

Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack * template and any values specified as template parameters. For more information, * see Detecting * Unregulated Configuration Changes to Stacks and Resources.

*/ inline void SetDriftInformation(const StackResourceDriftInformation& value) { m_driftInformationHasBeenSet = true; m_driftInformation = value; } /** *

Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack * template and any values specified as template parameters. For more information, * see Detecting * Unregulated Configuration Changes to Stacks and Resources.

*/ inline void SetDriftInformation(StackResourceDriftInformation&& value) { m_driftInformationHasBeenSet = true; m_driftInformation = std::move(value); } /** *

Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack * template and any values specified as template parameters. For more information, * see Detecting * Unregulated Configuration Changes to Stacks and Resources.

*/ inline StackResourceDetail& WithDriftInformation(const StackResourceDriftInformation& value) { SetDriftInformation(value); return *this;} /** *

Information about whether the resource's actual configuration differs, or has * drifted, from its expected configuration, as defined in the stack * template and any values specified as template parameters. For more information, * see Detecting * Unregulated Configuration Changes to Stacks and Resources.

*/ inline StackResourceDetail& WithDriftInformation(StackResourceDriftInformation&& value) { SetDriftInformation(std::move(value)); return *this;} /** *

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

*/ inline const ModuleInfo& GetModuleInfo() const{ return m_moduleInfo; } /** *

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

*/ inline bool ModuleInfoHasBeenSet() const { return m_moduleInfoHasBeenSet; } /** *

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

*/ inline void SetModuleInfo(const ModuleInfo& value) { m_moduleInfoHasBeenSet = true; m_moduleInfo = value; } /** *

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

*/ inline void SetModuleInfo(ModuleInfo&& value) { m_moduleInfoHasBeenSet = true; m_moduleInfo = std::move(value); } /** *

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

*/ inline StackResourceDetail& WithModuleInfo(const ModuleInfo& value) { SetModuleInfo(value); return *this;} /** *

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

*/ inline StackResourceDetail& WithModuleInfo(ModuleInfo&& value) { SetModuleInfo(std::move(value)); return *this;} private: Aws::String m_stackName; bool m_stackNameHasBeenSet = false; Aws::String m_stackId; bool m_stackIdHasBeenSet = false; Aws::String m_logicalResourceId; bool m_logicalResourceIdHasBeenSet = false; Aws::String m_physicalResourceId; bool m_physicalResourceIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTimestamp; bool m_lastUpdatedTimestampHasBeenSet = false; ResourceStatus m_resourceStatus; bool m_resourceStatusHasBeenSet = false; Aws::String m_resourceStatusReason; bool m_resourceStatusReasonHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_metadata; bool m_metadataHasBeenSet = false; StackResourceDriftInformation m_driftInformation; bool m_driftInformationHasBeenSet = false; ModuleInfo m_moduleInfo; bool m_moduleInfoHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws