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

Information about a resource property whose actual value differs from its * expected value, as defined in the stack template and any values specified as * template parameters. These will be present only for resources whose * StackResourceDriftStatus is MODIFIED. For more * information, see Detecting * Unregulated Configuration Changes to Stacks and Resources.

See * Also:

AWS * API Reference

*/ class PropertyDifference { public: AWS_CLOUDFORMATION_API PropertyDifference(); AWS_CLOUDFORMATION_API PropertyDifference(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_CLOUDFORMATION_API PropertyDifference& 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 fully-qualified path to the resource property.

*/ inline const Aws::String& GetPropertyPath() const{ return m_propertyPath; } /** *

The fully-qualified path to the resource property.

*/ inline bool PropertyPathHasBeenSet() const { return m_propertyPathHasBeenSet; } /** *

The fully-qualified path to the resource property.

*/ inline void SetPropertyPath(const Aws::String& value) { m_propertyPathHasBeenSet = true; m_propertyPath = value; } /** *

The fully-qualified path to the resource property.

*/ inline void SetPropertyPath(Aws::String&& value) { m_propertyPathHasBeenSet = true; m_propertyPath = std::move(value); } /** *

The fully-qualified path to the resource property.

*/ inline void SetPropertyPath(const char* value) { m_propertyPathHasBeenSet = true; m_propertyPath.assign(value); } /** *

The fully-qualified path to the resource property.

*/ inline PropertyDifference& WithPropertyPath(const Aws::String& value) { SetPropertyPath(value); return *this;} /** *

The fully-qualified path to the resource property.

*/ inline PropertyDifference& WithPropertyPath(Aws::String&& value) { SetPropertyPath(std::move(value)); return *this;} /** *

The fully-qualified path to the resource property.

*/ inline PropertyDifference& WithPropertyPath(const char* value) { SetPropertyPath(value); return *this;} /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline const Aws::String& GetExpectedValue() const{ return m_expectedValue; } /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline bool ExpectedValueHasBeenSet() const { return m_expectedValueHasBeenSet; } /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline void SetExpectedValue(const Aws::String& value) { m_expectedValueHasBeenSet = true; m_expectedValue = value; } /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline void SetExpectedValue(Aws::String&& value) { m_expectedValueHasBeenSet = true; m_expectedValue = std::move(value); } /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline void SetExpectedValue(const char* value) { m_expectedValueHasBeenSet = true; m_expectedValue.assign(value); } /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline PropertyDifference& WithExpectedValue(const Aws::String& value) { SetExpectedValue(value); return *this;} /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline PropertyDifference& WithExpectedValue(Aws::String&& value) { SetExpectedValue(std::move(value)); return *this;} /** *

The expected property value of the resource property, as defined in the stack * template and any values specified as template parameters.

*/ inline PropertyDifference& WithExpectedValue(const char* value) { SetExpectedValue(value); return *this;} /** *

The actual property value of the resource property.

*/ inline const Aws::String& GetActualValue() const{ return m_actualValue; } /** *

The actual property value of the resource property.

*/ inline bool ActualValueHasBeenSet() const { return m_actualValueHasBeenSet; } /** *

The actual property value of the resource property.

*/ inline void SetActualValue(const Aws::String& value) { m_actualValueHasBeenSet = true; m_actualValue = value; } /** *

The actual property value of the resource property.

*/ inline void SetActualValue(Aws::String&& value) { m_actualValueHasBeenSet = true; m_actualValue = std::move(value); } /** *

The actual property value of the resource property.

*/ inline void SetActualValue(const char* value) { m_actualValueHasBeenSet = true; m_actualValue.assign(value); } /** *

The actual property value of the resource property.

*/ inline PropertyDifference& WithActualValue(const Aws::String& value) { SetActualValue(value); return *this;} /** *

The actual property value of the resource property.

*/ inline PropertyDifference& WithActualValue(Aws::String&& value) { SetActualValue(std::move(value)); return *this;} /** *

The actual property value of the resource property.

*/ inline PropertyDifference& WithActualValue(const char* value) { SetActualValue(value); return *this;} /** *

The type of property difference.

  • ADD: A value * has been added to a resource property that's an array or list data type.

    *
  • REMOVE: The property has been removed from the * current resource configuration.

  • NOT_EQUAL: The * current property value differs from its expected value (as defined in the stack * template and any values specified as template parameters).

*/ inline const DifferenceType& GetDifferenceType() const{ return m_differenceType; } /** *

The type of property difference.

  • ADD: A value * has been added to a resource property that's an array or list data type.

    *
  • REMOVE: The property has been removed from the * current resource configuration.

  • NOT_EQUAL: The * current property value differs from its expected value (as defined in the stack * template and any values specified as template parameters).

*/ inline bool DifferenceTypeHasBeenSet() const { return m_differenceTypeHasBeenSet; } /** *

The type of property difference.

  • ADD: A value * has been added to a resource property that's an array or list data type.

    *
  • REMOVE: The property has been removed from the * current resource configuration.

  • NOT_EQUAL: The * current property value differs from its expected value (as defined in the stack * template and any values specified as template parameters).

*/ inline void SetDifferenceType(const DifferenceType& value) { m_differenceTypeHasBeenSet = true; m_differenceType = value; } /** *

The type of property difference.

  • ADD: A value * has been added to a resource property that's an array or list data type.

    *
  • REMOVE: The property has been removed from the * current resource configuration.

  • NOT_EQUAL: The * current property value differs from its expected value (as defined in the stack * template and any values specified as template parameters).

*/ inline void SetDifferenceType(DifferenceType&& value) { m_differenceTypeHasBeenSet = true; m_differenceType = std::move(value); } /** *

The type of property difference.

  • ADD: A value * has been added to a resource property that's an array or list data type.

    *
  • REMOVE: The property has been removed from the * current resource configuration.

  • NOT_EQUAL: The * current property value differs from its expected value (as defined in the stack * template and any values specified as template parameters).

*/ inline PropertyDifference& WithDifferenceType(const DifferenceType& value) { SetDifferenceType(value); return *this;} /** *

The type of property difference.

  • ADD: A value * has been added to a resource property that's an array or list data type.

    *
  • REMOVE: The property has been removed from the * current resource configuration.

  • NOT_EQUAL: The * current property value differs from its expected value (as defined in the stack * template and any values specified as template parameters).

*/ inline PropertyDifference& WithDifferenceType(DifferenceType&& value) { SetDifferenceType(std::move(value)); return *this;} private: Aws::String m_propertyPath; bool m_propertyPathHasBeenSet = false; Aws::String m_expectedValue; bool m_expectedValueHasBeenSet = false; Aws::String m_actualValue; bool m_actualValueHasBeenSet = false; DifferenceType m_differenceType; bool m_differenceTypeHasBeenSet = false; }; } // namespace Model } // namespace CloudFormation } // namespace Aws