AWS SDK for C++

AWS SDK for C++ Version 1.11.850

Loading...
Searching...
No Matches
Resource.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/inspector2/Inspector2_EXPORTS.h>
10#include <aws/inspector2/model/Provider.h>
11#include <aws/inspector2/model/ResourceDetails.h>
12#include <aws/inspector2/model/ResourceType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Inspector2 {
24namespace Model {
25
32class Resource {
33 public:
34 AWS_INSPECTOR2_API Resource() = default;
35 AWS_INSPECTOR2_API Resource(Aws::Utils::Json::JsonView jsonValue);
36 AWS_INSPECTOR2_API Resource& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline ResourceType GetType() const { return m_type; }
44 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
45 inline void SetType(ResourceType value) {
46 m_typeHasBeenSet = true;
47 m_type = value;
48 }
50 SetType(value);
51 return *this;
52 }
54
56
59 inline const Aws::String& GetId() const { return m_id; }
60 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
61 template <typename IdT = Aws::String>
62 void SetId(IdT&& value) {
63 m_idHasBeenSet = true;
64 m_id = std::forward<IdT>(value);
65 }
66 template <typename IdT = Aws::String>
67 Resource& WithId(IdT&& value) {
68 SetId(std::forward<IdT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetPartition() const { return m_partition; }
78 inline bool PartitionHasBeenSet() const { return m_partitionHasBeenSet; }
79 template <typename PartitionT = Aws::String>
80 void SetPartition(PartitionT&& value) {
81 m_partitionHasBeenSet = true;
82 m_partition = std::forward<PartitionT>(value);
83 }
84 template <typename PartitionT = Aws::String>
85 Resource& WithPartition(PartitionT&& value) {
86 SetPartition(std::forward<PartitionT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::String& GetRegion() const { return m_region; }
96 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
97 template <typename RegionT = Aws::String>
98 void SetRegion(RegionT&& value) {
99 m_regionHasBeenSet = true;
100 m_region = std::forward<RegionT>(value);
101 }
102 template <typename RegionT = Aws::String>
103 Resource& WithRegion(RegionT&& value) {
104 SetRegion(std::forward<RegionT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
114 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
115 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
116 void SetTags(TagsT&& value) {
117 m_tagsHasBeenSet = true;
118 m_tags = std::forward<TagsT>(value);
119 }
120 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
121 Resource& WithTags(TagsT&& value) {
122 SetTags(std::forward<TagsT>(value));
123 return *this;
124 }
125 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
126 Resource& AddTags(TagsKeyT&& key, TagsValueT&& value) {
127 m_tagsHasBeenSet = true;
128 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
129 return *this;
130 }
132
134
137 inline const ResourceDetails& GetDetails() const { return m_details; }
138 inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; }
139 template <typename DetailsT = ResourceDetails>
140 void SetDetails(DetailsT&& value) {
141 m_detailsHasBeenSet = true;
142 m_details = std::forward<DetailsT>(value);
143 }
144 template <typename DetailsT = ResourceDetails>
145 Resource& WithDetails(DetailsT&& value) {
146 SetDetails(std::forward<DetailsT>(value));
147 return *this;
148 }
150
152
155 inline Provider GetProvider() const { return m_provider; }
156 inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; }
157 inline void SetProvider(Provider value) {
158 m_providerHasBeenSet = true;
159 m_provider = value;
160 }
162 SetProvider(value);
163 return *this;
164 }
166
168
171 inline const Aws::String& GetProviderAccountId() const { return m_providerAccountId; }
172 inline bool ProviderAccountIdHasBeenSet() const { return m_providerAccountIdHasBeenSet; }
173 template <typename ProviderAccountIdT = Aws::String>
174 void SetProviderAccountId(ProviderAccountIdT&& value) {
175 m_providerAccountIdHasBeenSet = true;
176 m_providerAccountId = std::forward<ProviderAccountIdT>(value);
177 }
178 template <typename ProviderAccountIdT = Aws::String>
179 Resource& WithProviderAccountId(ProviderAccountIdT&& value) {
180 SetProviderAccountId(std::forward<ProviderAccountIdT>(value));
181 return *this;
182 }
184
186
189 inline const Aws::String& GetProviderOrgId() const { return m_providerOrgId; }
190 inline bool ProviderOrgIdHasBeenSet() const { return m_providerOrgIdHasBeenSet; }
191 template <typename ProviderOrgIdT = Aws::String>
192 void SetProviderOrgId(ProviderOrgIdT&& value) {
193 m_providerOrgIdHasBeenSet = true;
194 m_providerOrgId = std::forward<ProviderOrgIdT>(value);
195 }
196 template <typename ProviderOrgIdT = Aws::String>
197 Resource& WithProviderOrgId(ProviderOrgIdT&& value) {
198 SetProviderOrgId(std::forward<ProviderOrgIdT>(value));
199 return *this;
200 }
202 private:
204
205 Aws::String m_id;
206
207 Aws::String m_partition;
208
209 Aws::String m_region;
210
212
213 ResourceDetails m_details;
214
215 Provider m_provider{Provider::NOT_SET};
216
217 Aws::String m_providerAccountId;
218
219 Aws::String m_providerOrgId;
220 bool m_typeHasBeenSet = false;
221 bool m_idHasBeenSet = false;
222 bool m_partitionHasBeenSet = false;
223 bool m_regionHasBeenSet = false;
224 bool m_tagsHasBeenSet = false;
225 bool m_detailsHasBeenSet = false;
226 bool m_providerHasBeenSet = false;
227 bool m_providerAccountIdHasBeenSet = false;
228 bool m_providerOrgIdHasBeenSet = false;
229};
230
231} // namespace Model
232} // namespace Inspector2
233} // namespace Aws
AWS_INSPECTOR2_API Resource(Aws::Utils::Json::JsonView jsonValue)
void SetProviderAccountId(ProviderAccountIdT &&value)
Definition Resource.h:174
Resource & WithProviderOrgId(ProviderOrgIdT &&value)
Definition Resource.h:197
Resource & WithDetails(DetailsT &&value)
Definition Resource.h:145
void SetDetails(DetailsT &&value)
Definition Resource.h:140
Resource & WithType(ResourceType value)
Definition Resource.h:49
Resource & WithRegion(RegionT &&value)
Definition Resource.h:103
const ResourceDetails & GetDetails() const
Definition Resource.h:137
Resource & WithProvider(Provider value)
Definition Resource.h:161
const Aws::String & GetPartition() const
Definition Resource.h:77
void SetProviderOrgId(ProviderOrgIdT &&value)
Definition Resource.h:192
void SetRegion(RegionT &&value)
Definition Resource.h:98
AWS_INSPECTOR2_API Resource()=default
const Aws::String & GetRegion() const
Definition Resource.h:95
ResourceType GetType() const
Definition Resource.h:43
void SetType(ResourceType value)
Definition Resource.h:45
void SetPartition(PartitionT &&value)
Definition Resource.h:80
const Aws::String & GetProviderOrgId() const
Definition Resource.h:189
Resource & WithTags(TagsT &&value)
Definition Resource.h:121
Resource & AddTags(TagsKeyT &&key, TagsValueT &&value)
Definition Resource.h:126
bool ProviderAccountIdHasBeenSet() const
Definition Resource.h:172
AWS_INSPECTOR2_API Resource & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetTags(TagsT &&value)
Definition Resource.h:116
Resource & WithPartition(PartitionT &&value)
Definition Resource.h:85
const Aws::String & GetProviderAccountId() const
Definition Resource.h:171
Resource & WithId(IdT &&value)
Definition Resource.h:67
const Aws::Map< Aws::String, Aws::String > & GetTags() const
Definition Resource.h:113
void SetProvider(Provider value)
Definition Resource.h:157
AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetId() const
Definition Resource.h:59
Resource & WithProviderAccountId(ProviderAccountIdT &&value)
Definition Resource.h:179
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue