AWS SDK for C++

AWS SDK for C++ Version 1.11.685

Loading...
Searching...
No Matches
Catalog.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/glue/Glue_EXPORTS.h>
12#include <aws/glue/model/AllowFullTableExternalDataAccessEnum.h>
13#include <aws/glue/model/CatalogPropertiesOutput.h>
14#include <aws/glue/model/FederatedCatalog.h>
15#include <aws/glue/model/PrincipalPermissions.h>
16#include <aws/glue/model/TargetRedshiftCatalog.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace Glue {
28namespace Model {
29
38class Catalog {
39 public:
40 AWS_GLUE_API Catalog() = default;
41 AWS_GLUE_API Catalog(Aws::Utils::Json::JsonView jsonValue);
44
46
50 inline const Aws::String& GetCatalogId() const { return m_catalogId; }
51 inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; }
52 template <typename CatalogIdT = Aws::String>
53 void SetCatalogId(CatalogIdT&& value) {
54 m_catalogIdHasBeenSet = true;
55 m_catalogId = std::forward<CatalogIdT>(value);
56 }
57 template <typename CatalogIdT = Aws::String>
58 Catalog& WithCatalogId(CatalogIdT&& value) {
59 SetCatalogId(std::forward<CatalogIdT>(value));
60 return *this;
61 }
63
65
68 inline const Aws::String& GetName() const { return m_name; }
69 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
70 template <typename NameT = Aws::String>
71 void SetName(NameT&& value) {
72 m_nameHasBeenSet = true;
73 m_name = std::forward<NameT>(value);
74 }
75 template <typename NameT = Aws::String>
76 Catalog& WithName(NameT&& value) {
77 SetName(std::forward<NameT>(value));
78 return *this;
79 }
81
83
86 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
87 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
88 template <typename ResourceArnT = Aws::String>
89 void SetResourceArn(ResourceArnT&& value) {
90 m_resourceArnHasBeenSet = true;
91 m_resourceArn = std::forward<ResourceArnT>(value);
92 }
93 template <typename ResourceArnT = Aws::String>
94 Catalog& WithResourceArn(ResourceArnT&& value) {
95 SetResourceArn(std::forward<ResourceArnT>(value));
96 return *this;
97 }
99
101
105 inline const Aws::String& GetDescription() const { return m_description; }
106 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
107 template <typename DescriptionT = Aws::String>
108 void SetDescription(DescriptionT&& value) {
109 m_descriptionHasBeenSet = true;
110 m_description = std::forward<DescriptionT>(value);
111 }
112 template <typename DescriptionT = Aws::String>
113 Catalog& WithDescription(DescriptionT&& value) {
114 SetDescription(std::forward<DescriptionT>(value));
115 return *this;
116 }
118
120
124 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
125 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
126 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
127 void SetParameters(ParametersT&& value) {
128 m_parametersHasBeenSet = true;
129 m_parameters = std::forward<ParametersT>(value);
130 }
131 template <typename ParametersT = Aws::Map<Aws::String, Aws::String>>
132 Catalog& WithParameters(ParametersT&& value) {
133 SetParameters(std::forward<ParametersT>(value));
134 return *this;
135 }
136 template <typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
137 Catalog& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
138 m_parametersHasBeenSet = true;
139 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
140 return *this;
141 }
143
145
148 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
149 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
150 template <typename CreateTimeT = Aws::Utils::DateTime>
151 void SetCreateTime(CreateTimeT&& value) {
152 m_createTimeHasBeenSet = true;
153 m_createTime = std::forward<CreateTimeT>(value);
154 }
155 template <typename CreateTimeT = Aws::Utils::DateTime>
156 Catalog& WithCreateTime(CreateTimeT&& value) {
157 SetCreateTime(std::forward<CreateTimeT>(value));
158 return *this;
159 }
161
163
166 inline const Aws::Utils::DateTime& GetUpdateTime() const { return m_updateTime; }
167 inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; }
168 template <typename UpdateTimeT = Aws::Utils::DateTime>
169 void SetUpdateTime(UpdateTimeT&& value) {
170 m_updateTimeHasBeenSet = true;
171 m_updateTime = std::forward<UpdateTimeT>(value);
172 }
173 template <typename UpdateTimeT = Aws::Utils::DateTime>
174 Catalog& WithUpdateTime(UpdateTimeT&& value) {
175 SetUpdateTime(std::forward<UpdateTimeT>(value));
176 return *this;
177 }
179
181
185 inline const TargetRedshiftCatalog& GetTargetRedshiftCatalog() const { return m_targetRedshiftCatalog; }
186 inline bool TargetRedshiftCatalogHasBeenSet() const { return m_targetRedshiftCatalogHasBeenSet; }
187 template <typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
188 void SetTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) {
189 m_targetRedshiftCatalogHasBeenSet = true;
190 m_targetRedshiftCatalog = std::forward<TargetRedshiftCatalogT>(value);
191 }
192 template <typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
193 Catalog& WithTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) {
194 SetTargetRedshiftCatalog(std::forward<TargetRedshiftCatalogT>(value));
195 return *this;
196 }
198
200
204 inline const FederatedCatalog& GetFederatedCatalog() const { return m_federatedCatalog; }
205 inline bool FederatedCatalogHasBeenSet() const { return m_federatedCatalogHasBeenSet; }
206 template <typename FederatedCatalogT = FederatedCatalog>
207 void SetFederatedCatalog(FederatedCatalogT&& value) {
208 m_federatedCatalogHasBeenSet = true;
209 m_federatedCatalog = std::forward<FederatedCatalogT>(value);
210 }
211 template <typename FederatedCatalogT = FederatedCatalog>
212 Catalog& WithFederatedCatalog(FederatedCatalogT&& value) {
213 SetFederatedCatalog(std::forward<FederatedCatalogT>(value));
214 return *this;
215 }
217
219
223 inline const CatalogPropertiesOutput& GetCatalogProperties() const { return m_catalogProperties; }
224 inline bool CatalogPropertiesHasBeenSet() const { return m_catalogPropertiesHasBeenSet; }
225 template <typename CatalogPropertiesT = CatalogPropertiesOutput>
226 void SetCatalogProperties(CatalogPropertiesT&& value) {
227 m_catalogPropertiesHasBeenSet = true;
228 m_catalogProperties = std::forward<CatalogPropertiesT>(value);
229 }
230 template <typename CatalogPropertiesT = CatalogPropertiesOutput>
231 Catalog& WithCatalogProperties(CatalogPropertiesT&& value) {
232 SetCatalogProperties(std::forward<CatalogPropertiesT>(value));
233 return *this;
234 }
236
238
243 inline const Aws::Vector<PrincipalPermissions>& GetCreateTableDefaultPermissions() const { return m_createTableDefaultPermissions; }
244 inline bool CreateTableDefaultPermissionsHasBeenSet() const { return m_createTableDefaultPermissionsHasBeenSet; }
245 template <typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
246 void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
247 m_createTableDefaultPermissionsHasBeenSet = true;
248 m_createTableDefaultPermissions = std::forward<CreateTableDefaultPermissionsT>(value);
249 }
250 template <typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
251 Catalog& WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
252 SetCreateTableDefaultPermissions(std::forward<CreateTableDefaultPermissionsT>(value));
253 return *this;
254 }
255 template <typename CreateTableDefaultPermissionsT = PrincipalPermissions>
256 Catalog& AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) {
257 m_createTableDefaultPermissionsHasBeenSet = true;
258 m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value));
259 return *this;
260 }
262
264
269 inline const Aws::Vector<PrincipalPermissions>& GetCreateDatabaseDefaultPermissions() const { return m_createDatabaseDefaultPermissions; }
270 inline bool CreateDatabaseDefaultPermissionsHasBeenSet() const { return m_createDatabaseDefaultPermissionsHasBeenSet; }
271 template <typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
272 void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
273 m_createDatabaseDefaultPermissionsHasBeenSet = true;
274 m_createDatabaseDefaultPermissions = std::forward<CreateDatabaseDefaultPermissionsT>(value);
275 }
276 template <typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
277 Catalog& WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
278 SetCreateDatabaseDefaultPermissions(std::forward<CreateDatabaseDefaultPermissionsT>(value));
279 return *this;
280 }
281 template <typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
282 Catalog& AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) {
283 m_createDatabaseDefaultPermissionsHasBeenSet = true;
284 m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value));
285 return *this;
286 }
288
290
294 inline AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const { return m_allowFullTableExternalDataAccess; }
295 inline bool AllowFullTableExternalDataAccessHasBeenSet() const { return m_allowFullTableExternalDataAccessHasBeenSet; }
297 m_allowFullTableExternalDataAccessHasBeenSet = true;
298 m_allowFullTableExternalDataAccess = value;
299 }
302 return *this;
303 }
305 private:
306 Aws::String m_catalogId;
307 bool m_catalogIdHasBeenSet = false;
308
309 Aws::String m_name;
310 bool m_nameHasBeenSet = false;
311
312 Aws::String m_resourceArn;
313 bool m_resourceArnHasBeenSet = false;
314
315 Aws::String m_description;
316 bool m_descriptionHasBeenSet = false;
317
319 bool m_parametersHasBeenSet = false;
320
321 Aws::Utils::DateTime m_createTime{};
322 bool m_createTimeHasBeenSet = false;
323
324 Aws::Utils::DateTime m_updateTime{};
325 bool m_updateTimeHasBeenSet = false;
326
327 TargetRedshiftCatalog m_targetRedshiftCatalog;
328 bool m_targetRedshiftCatalogHasBeenSet = false;
329
330 FederatedCatalog m_federatedCatalog;
331 bool m_federatedCatalogHasBeenSet = false;
332
333 CatalogPropertiesOutput m_catalogProperties;
334 bool m_catalogPropertiesHasBeenSet = false;
335
336 Aws::Vector<PrincipalPermissions> m_createTableDefaultPermissions;
337 bool m_createTableDefaultPermissionsHasBeenSet = false;
338
339 Aws::Vector<PrincipalPermissions> m_createDatabaseDefaultPermissions;
340 bool m_createDatabaseDefaultPermissionsHasBeenSet = false;
341
343 bool m_allowFullTableExternalDataAccessHasBeenSet = false;
344};
345
346} // namespace Model
347} // namespace Glue
348} // namespace Aws
Catalog & WithName(NameT &&value)
Definition Catalog.h:76
void SetResourceArn(ResourceArnT &&value)
Definition Catalog.h:89
Catalog & WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Definition Catalog.h:277
const Aws::String & GetDescription() const
Definition Catalog.h:105
bool CreateTableDefaultPermissionsHasBeenSet() const
Definition Catalog.h:244
Catalog & WithParameters(ParametersT &&value)
Definition Catalog.h:132
AWS_GLUE_API Catalog()=default
const Aws::Vector< PrincipalPermissions > & GetCreateTableDefaultPermissions() const
Definition Catalog.h:243
AWS_GLUE_API Catalog & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetCreateTime(CreateTimeT &&value)
Definition Catalog.h:151
AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const
Definition Catalog.h:294
Catalog & AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Definition Catalog.h:282
Catalog & WithFederatedCatalog(FederatedCatalogT &&value)
Definition Catalog.h:212
AWS_GLUE_API Catalog(Aws::Utils::Json::JsonView jsonValue)
bool TargetRedshiftCatalogHasBeenSet() const
Definition Catalog.h:186
bool CatalogPropertiesHasBeenSet() const
Definition Catalog.h:224
void SetTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
Definition Catalog.h:188
bool CreateTimeHasBeenSet() const
Definition Catalog.h:149
Catalog & WithTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
Definition Catalog.h:193
void SetCatalogId(CatalogIdT &&value)
Definition Catalog.h:53
Catalog & AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Definition Catalog.h:256
const Aws::Vector< PrincipalPermissions > & GetCreateDatabaseDefaultPermissions() const
Definition Catalog.h:269
bool UpdateTimeHasBeenSet() const
Definition Catalog.h:167
bool DescriptionHasBeenSet() const
Definition Catalog.h:106
Catalog & WithAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
Definition Catalog.h:300
bool FederatedCatalogHasBeenSet() const
Definition Catalog.h:205
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
Definition Catalog.h:124
void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Definition Catalog.h:246
void SetUpdateTime(UpdateTimeT &&value)
Definition Catalog.h:169
Catalog & WithCreateTime(CreateTimeT &&value)
Definition Catalog.h:156
bool CreateDatabaseDefaultPermissionsHasBeenSet() const
Definition Catalog.h:270
void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Definition Catalog.h:272
void SetDescription(DescriptionT &&value)
Definition Catalog.h:108
bool ParametersHasBeenSet() const
Definition Catalog.h:125
const Aws::Utils::DateTime & GetCreateTime() const
Definition Catalog.h:148
void SetCatalogProperties(CatalogPropertiesT &&value)
Definition Catalog.h:226
const CatalogPropertiesOutput & GetCatalogProperties() const
Definition Catalog.h:223
Catalog & WithCatalogProperties(CatalogPropertiesT &&value)
Definition Catalog.h:231
void SetAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
Definition Catalog.h:296
bool ResourceArnHasBeenSet() const
Definition Catalog.h:87
Catalog & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
Definition Catalog.h:137
void SetName(NameT &&value)
Definition Catalog.h:71
const Aws::String & GetName() const
Definition Catalog.h:68
Catalog & WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Definition Catalog.h:251
Catalog & WithResourceArn(ResourceArnT &&value)
Definition Catalog.h:94
const Aws::Utils::DateTime & GetUpdateTime() const
Definition Catalog.h:166
Catalog & WithCatalogId(CatalogIdT &&value)
Definition Catalog.h:58
void SetFederatedCatalog(FederatedCatalogT &&value)
Definition Catalog.h:207
const FederatedCatalog & GetFederatedCatalog() const
Definition Catalog.h:204
const TargetRedshiftCatalog & GetTargetRedshiftCatalog() const
Definition Catalog.h:185
Catalog & WithUpdateTime(UpdateTimeT &&value)
Definition Catalog.h:174
Catalog & WithDescription(DescriptionT &&value)
Definition Catalog.h:113
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetResourceArn() const
Definition Catalog.h:86
bool AllowFullTableExternalDataAccessHasBeenSet() const
Definition Catalog.h:295
bool CatalogIdHasBeenSet() const
Definition Catalog.h:51
bool NameHasBeenSet() const
Definition Catalog.h:69
void SetParameters(ParametersT &&value)
Definition Catalog.h:127
const Aws::String & GetCatalogId() const
Definition Catalog.h:50
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
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue