/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ServiceCatalog { namespace Model { /** *

Information about a resource change that will occur when a plan is * executed.

See Also:

AWS * API Reference

*/ class ResourceChange { public: AWS_SERVICECATALOG_API ResourceChange(); AWS_SERVICECATALOG_API ResourceChange(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICECATALOG_API ResourceChange& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SERVICECATALOG_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The change action.

*/ inline const ChangeAction& GetAction() const{ return m_action; } /** *

The change action.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The change action.

*/ inline void SetAction(const ChangeAction& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The change action.

*/ inline void SetAction(ChangeAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The change action.

*/ inline ResourceChange& WithAction(const ChangeAction& value) { SetAction(value); return *this;} /** *

The change action.

*/ inline ResourceChange& WithAction(ChangeAction&& value) { SetAction(std::move(value)); return *this;} /** *

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, as defined in the CloudFormation template.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The ID of the resource, if it was already created.

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

The type of resource.

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

The type of resource.

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

The type of resource.

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

The type of resource.

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

The type of resource.

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

The type of resource.

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

The type of resource.

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

The type of resource.

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

If the change type is Modify, indicates whether the existing * resource is deleted and replaced with a new one.

*/ inline const Replacement& GetReplacement() const{ return m_replacement; } /** *

If the change type is Modify, indicates whether the existing * resource is deleted and replaced with a new one.

*/ inline bool ReplacementHasBeenSet() const { return m_replacementHasBeenSet; } /** *

If the change type is Modify, indicates whether the existing * resource is deleted and replaced with a new one.

*/ inline void SetReplacement(const Replacement& value) { m_replacementHasBeenSet = true; m_replacement = value; } /** *

If the change type is Modify, indicates whether the existing * resource is deleted and replaced with a new one.

*/ inline void SetReplacement(Replacement&& value) { m_replacementHasBeenSet = true; m_replacement = std::move(value); } /** *

If the change type is Modify, indicates whether the existing * resource is deleted and replaced with a new one.

*/ inline ResourceChange& WithReplacement(const Replacement& value) { SetReplacement(value); return *this;} /** *

If the change type is Modify, indicates whether the existing * resource is deleted and replaced with a new one.

*/ inline ResourceChange& WithReplacement(Replacement&& value) { SetReplacement(std::move(value)); return *this;} /** *

The change scope.

*/ inline const Aws::Vector& GetScope() const{ return m_scope; } /** *

The change scope.

*/ inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } /** *

The change scope.

*/ inline void SetScope(const Aws::Vector& value) { m_scopeHasBeenSet = true; m_scope = value; } /** *

The change scope.

*/ inline void SetScope(Aws::Vector&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } /** *

The change scope.

*/ inline ResourceChange& WithScope(const Aws::Vector& value) { SetScope(value); return *this;} /** *

The change scope.

*/ inline ResourceChange& WithScope(Aws::Vector&& value) { SetScope(std::move(value)); return *this;} /** *

The change scope.

*/ inline ResourceChange& AddScope(const ResourceAttribute& value) { m_scopeHasBeenSet = true; m_scope.push_back(value); return *this; } /** *

The change scope.

*/ inline ResourceChange& AddScope(ResourceAttribute&& value) { m_scopeHasBeenSet = true; m_scope.push_back(std::move(value)); return *this; } /** *

Information about the resource changes.

*/ inline const Aws::Vector& GetDetails() const{ return m_details; } /** *

Information about the resource changes.

*/ inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } /** *

Information about the resource changes.

*/ inline void SetDetails(const Aws::Vector& value) { m_detailsHasBeenSet = true; m_details = value; } /** *

Information about the resource changes.

*/ inline void SetDetails(Aws::Vector&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); } /** *

Information about the resource changes.

*/ inline ResourceChange& WithDetails(const Aws::Vector& value) { SetDetails(value); return *this;} /** *

Information about the resource changes.

*/ inline ResourceChange& WithDetails(Aws::Vector&& value) { SetDetails(std::move(value)); return *this;} /** *

Information about the resource changes.

*/ inline ResourceChange& AddDetails(const ResourceChangeDetail& value) { m_detailsHasBeenSet = true; m_details.push_back(value); return *this; } /** *

Information about the resource changes.

*/ inline ResourceChange& AddDetails(ResourceChangeDetail&& value) { m_detailsHasBeenSet = true; m_details.push_back(std::move(value)); return *this; } private: ChangeAction m_action; bool m_actionHasBeenSet = 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; Replacement m_replacement; bool m_replacementHasBeenSet = false; Aws::Vector m_scope; bool m_scopeHasBeenSet = false; Aws::Vector m_details; bool m_detailsHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws