/**
* 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
{
/**
* The Change
structure describes the changes CloudFormation will
* perform if you execute the change set.
See Also:
AWS
* API Reference
*/
class Change
{
public:
AWS_CLOUDFORMATION_API Change();
AWS_CLOUDFORMATION_API Change(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_CLOUDFORMATION_API Change& 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 type of entity that CloudFormation changes. Currently, the only entity
* type is Resource
.
*/
inline const ChangeType& GetType() const{ return m_type; }
/**
* The type of entity that CloudFormation changes. Currently, the only entity
* type is Resource
.
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* The type of entity that CloudFormation changes. Currently, the only entity
* type is Resource
.
*/
inline void SetType(const ChangeType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* The type of entity that CloudFormation changes. Currently, the only entity
* type is Resource
.
*/
inline void SetType(ChangeType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* The type of entity that CloudFormation changes. Currently, the only entity
* type is Resource
.
*/
inline Change& WithType(const ChangeType& value) { SetType(value); return *this;}
/**
* The type of entity that CloudFormation changes. Currently, the only entity
* type is Resource
.
*/
inline Change& WithType(ChangeType&& value) { SetType(std::move(value)); return *this;}
/**
* Is either null
, if no hooks invoke for the resource, or contains
* the number of hooks that will invoke for the resource.
*/
inline int GetHookInvocationCount() const{ return m_hookInvocationCount; }
/**
* Is either null
, if no hooks invoke for the resource, or contains
* the number of hooks that will invoke for the resource.
*/
inline bool HookInvocationCountHasBeenSet() const { return m_hookInvocationCountHasBeenSet; }
/**
* Is either null
, if no hooks invoke for the resource, or contains
* the number of hooks that will invoke for the resource.
*/
inline void SetHookInvocationCount(int value) { m_hookInvocationCountHasBeenSet = true; m_hookInvocationCount = value; }
/**
* Is either null
, if no hooks invoke for the resource, or contains
* the number of hooks that will invoke for the resource.
*/
inline Change& WithHookInvocationCount(int value) { SetHookInvocationCount(value); return *this;}
/**
* A ResourceChange
structure that describes the resource and
* action that CloudFormation will perform.
*/
inline const ResourceChange& GetResourceChange() const{ return m_resourceChange; }
/**
* A ResourceChange
structure that describes the resource and
* action that CloudFormation will perform.
*/
inline bool ResourceChangeHasBeenSet() const { return m_resourceChangeHasBeenSet; }
/**
* A ResourceChange
structure that describes the resource and
* action that CloudFormation will perform.
*/
inline void SetResourceChange(const ResourceChange& value) { m_resourceChangeHasBeenSet = true; m_resourceChange = value; }
/**
* A ResourceChange
structure that describes the resource and
* action that CloudFormation will perform.
*/
inline void SetResourceChange(ResourceChange&& value) { m_resourceChangeHasBeenSet = true; m_resourceChange = std::move(value); }
/**
* A ResourceChange
structure that describes the resource and
* action that CloudFormation will perform.
*/
inline Change& WithResourceChange(const ResourceChange& value) { SetResourceChange(value); return *this;}
/**
* A ResourceChange
structure that describes the resource and
* action that CloudFormation will perform.
*/
inline Change& WithResourceChange(ResourceChange&& value) { SetResourceChange(std::move(value)); return *this;}
private:
ChangeType m_type;
bool m_typeHasBeenSet = false;
int m_hookInvocationCount;
bool m_hookInvocationCountHasBeenSet = false;
ResourceChange m_resourceChange;
bool m_resourceChangeHasBeenSet = false;
};
} // namespace Model
} // namespace CloudFormation
} // namespace Aws