AWS SDK for C++

AWS SDK for C++ Version 1.11.929

Loading...
Searching...
No Matches
ResourceChange.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/crt/cbor/Cbor.h>
10#include <aws/servicecatalog/ServiceCatalog_EXPORTS.h>
11#include <aws/servicecatalog/model/ChangeAction.h>
12#include <aws/servicecatalog/model/Replacement.h>
13#include <aws/servicecatalog/model/ResourceAttribute.h>
14#include <aws/servicecatalog/model/ResourceChangeDetail.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Cbor {
21class CborValue;
22} // namespace Cbor
23} // namespace Utils
24namespace ServiceCatalog {
25namespace Model {
26
34 public:
35 AWS_SERVICECATALOG_API ResourceChange() = default;
36 AWS_SERVICECATALOG_API ResourceChange(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
37 AWS_SERVICECATALOG_API ResourceChange& operator=(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
38 AWS_SERVICECATALOG_API void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder) const;
39
41
44 inline ChangeAction GetAction() const { return m_action; }
45 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
46 inline void SetAction(ChangeAction value) {
47 m_actionHasBeenSet = true;
48 m_action = value;
49 }
51 SetAction(value);
52 return *this;
53 }
55
57
60 inline const Aws::String& GetLogicalResourceId() const { return m_logicalResourceId; }
61 inline bool LogicalResourceIdHasBeenSet() const { return m_logicalResourceIdHasBeenSet; }
62 template <typename LogicalResourceIdT = Aws::String>
63 void SetLogicalResourceId(LogicalResourceIdT&& value) {
64 m_logicalResourceIdHasBeenSet = true;
65 m_logicalResourceId = std::forward<LogicalResourceIdT>(value);
66 }
67 template <typename LogicalResourceIdT = Aws::String>
68 ResourceChange& WithLogicalResourceId(LogicalResourceIdT&& value) {
69 SetLogicalResourceId(std::forward<LogicalResourceIdT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::String& GetPhysicalResourceId() const { return m_physicalResourceId; }
79 inline bool PhysicalResourceIdHasBeenSet() const { return m_physicalResourceIdHasBeenSet; }
80 template <typename PhysicalResourceIdT = Aws::String>
81 void SetPhysicalResourceId(PhysicalResourceIdT&& value) {
82 m_physicalResourceIdHasBeenSet = true;
83 m_physicalResourceId = std::forward<PhysicalResourceIdT>(value);
84 }
85 template <typename PhysicalResourceIdT = Aws::String>
86 ResourceChange& WithPhysicalResourceId(PhysicalResourceIdT&& value) {
87 SetPhysicalResourceId(std::forward<PhysicalResourceIdT>(value));
88 return *this;
89 }
91
93
96 inline const Aws::String& GetResourceType() const { return m_resourceType; }
97 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
98 template <typename ResourceTypeT = Aws::String>
99 void SetResourceType(ResourceTypeT&& value) {
100 m_resourceTypeHasBeenSet = true;
101 m_resourceType = std::forward<ResourceTypeT>(value);
102 }
103 template <typename ResourceTypeT = Aws::String>
104 ResourceChange& WithResourceType(ResourceTypeT&& value) {
105 SetResourceType(std::forward<ResourceTypeT>(value));
106 return *this;
107 }
109
111
115 inline Replacement GetReplacement() const { return m_replacement; }
116 inline bool ReplacementHasBeenSet() const { return m_replacementHasBeenSet; }
117 inline void SetReplacement(Replacement value) {
118 m_replacementHasBeenSet = true;
119 m_replacement = value;
120 }
122 SetReplacement(value);
123 return *this;
124 }
126
128
131 inline const Aws::Vector<ResourceAttribute>& GetScope() const { return m_scope; }
132 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
133 template <typename ScopeT = Aws::Vector<ResourceAttribute>>
134 void SetScope(ScopeT&& value) {
135 m_scopeHasBeenSet = true;
136 m_scope = std::forward<ScopeT>(value);
137 }
138 template <typename ScopeT = Aws::Vector<ResourceAttribute>>
139 ResourceChange& WithScope(ScopeT&& value) {
140 SetScope(std::forward<ScopeT>(value));
141 return *this;
142 }
144 m_scopeHasBeenSet = true;
145 m_scope.push_back(value);
146 return *this;
147 }
149
151
154 inline const Aws::Vector<ResourceChangeDetail>& GetDetails() const { return m_details; }
155 inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
156 template <typename DetailsT = Aws::Vector<ResourceChangeDetail>>
157 void SetDetails(DetailsT&& value) {
158 m_detailsHasBeenSet = true;
159 m_details = std::forward<DetailsT>(value);
160 }
161 template <typename DetailsT = Aws::Vector<ResourceChangeDetail>>
162 ResourceChange& WithDetails(DetailsT&& value) {
163 SetDetails(std::forward<DetailsT>(value));
164 return *this;
165 }
166 template <typename DetailsT = ResourceChangeDetail>
167 ResourceChange& AddDetails(DetailsT&& value) {
168 m_detailsHasBeenSet = true;
169 m_details.emplace_back(std::forward<DetailsT>(value));
170 return *this;
171 }
173 private:
175
176 Aws::String m_logicalResourceId;
177
178 Aws::String m_physicalResourceId;
179
180 Aws::String m_resourceType;
181
182 Replacement m_replacement{Replacement::NOT_SET};
183
185
187 bool m_actionHasBeenSet = false;
188 bool m_logicalResourceIdHasBeenSet = false;
189 bool m_physicalResourceIdHasBeenSet = false;
190 bool m_resourceTypeHasBeenSet = false;
191 bool m_replacementHasBeenSet = false;
192 bool m_scopeHasBeenSet = false;
193 bool m_detailsHasBeenSet = false;
194};
195
196} // namespace Model
197} // namespace ServiceCatalog
198} // namespace Aws
ResourceChange & WithLogicalResourceId(LogicalResourceIdT &&value)
ResourceChange & WithPhysicalResourceId(PhysicalResourceIdT &&value)
AWS_SERVICECATALOG_API ResourceChange(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
const Aws::String & GetLogicalResourceId() const
ResourceChange & WithReplacement(Replacement value)
AWS_SERVICECATALOG_API ResourceChange()=default
void SetLogicalResourceId(LogicalResourceIdT &&value)
ResourceChange & WithAction(ChangeAction value)
ResourceChange & WithResourceType(ResourceTypeT &&value)
const Aws::String & GetResourceType() const
const Aws::Vector< ResourceChangeDetail > & GetDetails() const
AWS_SERVICECATALOG_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const
ResourceChange & AddScope(ResourceAttribute value)
void SetPhysicalResourceId(PhysicalResourceIdT &&value)
const Aws::String & GetPhysicalResourceId() const
AWS_SERVICECATALOG_API ResourceChange & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
ResourceChange & WithScope(ScopeT &&value)
void SetResourceType(ResourceTypeT &&value)
ResourceChange & AddDetails(DetailsT &&value)
const Aws::Vector< ResourceAttribute > & GetScope() const
ResourceChange & WithDetails(DetailsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector