AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Catalog.h
1
6#pragma once
7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/glue/model/TargetRedshiftCatalog.h>
12#include <aws/glue/model/FederatedCatalog.h>
13#include <aws/glue/model/CatalogPropertiesOutput.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/glue/model/AllowFullTableExternalDataAccessEnum.h>
16#include <aws/glue/model/PrincipalPermissions.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace Glue
30{
31namespace Model
32{
33
42 class Catalog
43 {
44 public:
45 AWS_GLUE_API Catalog() = default;
46 AWS_GLUE_API Catalog(Aws::Utils::Json::JsonView jsonValue);
49
50
52
56 inline const Aws::String& GetCatalogId() const { return m_catalogId; }
57 inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; }
58 template<typename CatalogIdT = Aws::String>
59 void SetCatalogId(CatalogIdT&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::forward<CatalogIdT>(value); }
60 template<typename CatalogIdT = Aws::String>
61 Catalog& WithCatalogId(CatalogIdT&& value) { SetCatalogId(std::forward<CatalogIdT>(value)); return *this;}
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) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
72 template<typename NameT = Aws::String>
73 Catalog& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
75
77
80 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
81 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
82 template<typename ResourceArnT = Aws::String>
83 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
84 template<typename ResourceArnT = Aws::String>
85 Catalog& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
87
89
93 inline const Aws::String& GetDescription() const { return m_description; }
94 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
95 template<typename DescriptionT = Aws::String>
96 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
97 template<typename DescriptionT = Aws::String>
98 Catalog& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
100
102
106 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
107 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
108 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
109 void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward<ParametersT>(value); }
110 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
111 Catalog& WithParameters(ParametersT&& value) { SetParameters(std::forward<ParametersT>(value)); return *this;}
112 template<typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
113 Catalog& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
114 m_parametersHasBeenSet = true; m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value)); return *this;
115 }
117
119
122 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
123 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
124 template<typename CreateTimeT = Aws::Utils::DateTime>
125 void SetCreateTime(CreateTimeT&& value) { m_createTimeHasBeenSet = true; m_createTime = std::forward<CreateTimeT>(value); }
126 template<typename CreateTimeT = Aws::Utils::DateTime>
127 Catalog& WithCreateTime(CreateTimeT&& value) { SetCreateTime(std::forward<CreateTimeT>(value)); return *this;}
129
131
134 inline const Aws::Utils::DateTime& GetUpdateTime() const { return m_updateTime; }
135 inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; }
136 template<typename UpdateTimeT = Aws::Utils::DateTime>
137 void SetUpdateTime(UpdateTimeT&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::forward<UpdateTimeT>(value); }
138 template<typename UpdateTimeT = Aws::Utils::DateTime>
139 Catalog& WithUpdateTime(UpdateTimeT&& value) { SetUpdateTime(std::forward<UpdateTimeT>(value)); return *this;}
141
143
147 inline const TargetRedshiftCatalog& GetTargetRedshiftCatalog() const { return m_targetRedshiftCatalog; }
148 inline bool TargetRedshiftCatalogHasBeenSet() const { return m_targetRedshiftCatalogHasBeenSet; }
149 template<typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
150 void SetTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) { m_targetRedshiftCatalogHasBeenSet = true; m_targetRedshiftCatalog = std::forward<TargetRedshiftCatalogT>(value); }
151 template<typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
152 Catalog& WithTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) { SetTargetRedshiftCatalog(std::forward<TargetRedshiftCatalogT>(value)); return *this;}
154
156
160 inline const FederatedCatalog& GetFederatedCatalog() const { return m_federatedCatalog; }
161 inline bool FederatedCatalogHasBeenSet() const { return m_federatedCatalogHasBeenSet; }
162 template<typename FederatedCatalogT = FederatedCatalog>
163 void SetFederatedCatalog(FederatedCatalogT&& value) { m_federatedCatalogHasBeenSet = true; m_federatedCatalog = std::forward<FederatedCatalogT>(value); }
164 template<typename FederatedCatalogT = FederatedCatalog>
165 Catalog& WithFederatedCatalog(FederatedCatalogT&& value) { SetFederatedCatalog(std::forward<FederatedCatalogT>(value)); return *this;}
167
169
173 inline const CatalogPropertiesOutput& GetCatalogProperties() const { return m_catalogProperties; }
174 inline bool CatalogPropertiesHasBeenSet() const { return m_catalogPropertiesHasBeenSet; }
175 template<typename CatalogPropertiesT = CatalogPropertiesOutput>
176 void SetCatalogProperties(CatalogPropertiesT&& value) { m_catalogPropertiesHasBeenSet = true; m_catalogProperties = std::forward<CatalogPropertiesT>(value); }
177 template<typename CatalogPropertiesT = CatalogPropertiesOutput>
178 Catalog& WithCatalogProperties(CatalogPropertiesT&& value) { SetCatalogProperties(std::forward<CatalogPropertiesT>(value)); return *this;}
180
182
187 inline const Aws::Vector<PrincipalPermissions>& GetCreateTableDefaultPermissions() const { return m_createTableDefaultPermissions; }
188 inline bool CreateTableDefaultPermissionsHasBeenSet() const { return m_createTableDefaultPermissionsHasBeenSet; }
189 template<typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
190 void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { m_createTableDefaultPermissionsHasBeenSet = true; m_createTableDefaultPermissions = std::forward<CreateTableDefaultPermissionsT>(value); }
191 template<typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
192 Catalog& WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { SetCreateTableDefaultPermissions(std::forward<CreateTableDefaultPermissionsT>(value)); return *this;}
193 template<typename CreateTableDefaultPermissionsT = PrincipalPermissions>
194 Catalog& AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { m_createTableDefaultPermissionsHasBeenSet = true; m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value)); return *this; }
196
198
203 inline const Aws::Vector<PrincipalPermissions>& GetCreateDatabaseDefaultPermissions() const { return m_createDatabaseDefaultPermissions; }
204 inline bool CreateDatabaseDefaultPermissionsHasBeenSet() const { return m_createDatabaseDefaultPermissionsHasBeenSet; }
205 template<typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
206 void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { m_createDatabaseDefaultPermissionsHasBeenSet = true; m_createDatabaseDefaultPermissions = std::forward<CreateDatabaseDefaultPermissionsT>(value); }
207 template<typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
208 Catalog& WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { SetCreateDatabaseDefaultPermissions(std::forward<CreateDatabaseDefaultPermissionsT>(value)); return *this;}
209 template<typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
210 Catalog& AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { m_createDatabaseDefaultPermissionsHasBeenSet = true; m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value)); return *this; }
212
214
218 inline AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const { return m_allowFullTableExternalDataAccess; }
219 inline bool AllowFullTableExternalDataAccessHasBeenSet() const { return m_allowFullTableExternalDataAccessHasBeenSet; }
220 inline void SetAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value) { m_allowFullTableExternalDataAccessHasBeenSet = true; m_allowFullTableExternalDataAccess = value; }
223 private:
224
225 Aws::String m_catalogId;
226 bool m_catalogIdHasBeenSet = false;
227
228 Aws::String m_name;
229 bool m_nameHasBeenSet = false;
230
231 Aws::String m_resourceArn;
232 bool m_resourceArnHasBeenSet = false;
233
234 Aws::String m_description;
235 bool m_descriptionHasBeenSet = false;
236
238 bool m_parametersHasBeenSet = false;
239
240 Aws::Utils::DateTime m_createTime{};
241 bool m_createTimeHasBeenSet = false;
242
243 Aws::Utils::DateTime m_updateTime{};
244 bool m_updateTimeHasBeenSet = false;
245
246 TargetRedshiftCatalog m_targetRedshiftCatalog;
247 bool m_targetRedshiftCatalogHasBeenSet = false;
248
249 FederatedCatalog m_federatedCatalog;
250 bool m_federatedCatalogHasBeenSet = false;
251
252 CatalogPropertiesOutput m_catalogProperties;
253 bool m_catalogPropertiesHasBeenSet = false;
254
255 Aws::Vector<PrincipalPermissions> m_createTableDefaultPermissions;
256 bool m_createTableDefaultPermissionsHasBeenSet = false;
257
258 Aws::Vector<PrincipalPermissions> m_createDatabaseDefaultPermissions;
259 bool m_createDatabaseDefaultPermissionsHasBeenSet = false;
260
262 bool m_allowFullTableExternalDataAccessHasBeenSet = false;
263 };
264
265} // namespace Model
266} // namespace Glue
267} // namespace Aws
Catalog & WithName(NameT &&value)
Definition Catalog.h:73
void SetResourceArn(ResourceArnT &&value)
Definition Catalog.h:83
Catalog & WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Definition Catalog.h:208
const Aws::String & GetDescription() const
Definition Catalog.h:93
bool CreateTableDefaultPermissionsHasBeenSet() const
Definition Catalog.h:188
Catalog & WithParameters(ParametersT &&value)
Definition Catalog.h:111
AWS_GLUE_API Catalog()=default
const Aws::Vector< PrincipalPermissions > & GetCreateTableDefaultPermissions() const
Definition Catalog.h:187
AWS_GLUE_API Catalog & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetCreateTime(CreateTimeT &&value)
Definition Catalog.h:125
AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const
Definition Catalog.h:218
Catalog & AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Definition Catalog.h:210
Catalog & WithFederatedCatalog(FederatedCatalogT &&value)
Definition Catalog.h:165
AWS_GLUE_API Catalog(Aws::Utils::Json::JsonView jsonValue)
bool TargetRedshiftCatalogHasBeenSet() const
Definition Catalog.h:148
bool CatalogPropertiesHasBeenSet() const
Definition Catalog.h:174
void SetTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
Definition Catalog.h:150
bool CreateTimeHasBeenSet() const
Definition Catalog.h:123
Catalog & WithTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
Definition Catalog.h:152
void SetCatalogId(CatalogIdT &&value)
Definition Catalog.h:59
Catalog & AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Definition Catalog.h:194
const Aws::Vector< PrincipalPermissions > & GetCreateDatabaseDefaultPermissions() const
Definition Catalog.h:203
bool UpdateTimeHasBeenSet() const
Definition Catalog.h:135
bool DescriptionHasBeenSet() const
Definition Catalog.h:94
Catalog & WithAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
Definition Catalog.h:221
bool FederatedCatalogHasBeenSet() const
Definition Catalog.h:161
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
Definition Catalog.h:106
void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Definition Catalog.h:190
void SetUpdateTime(UpdateTimeT &&value)
Definition Catalog.h:137
Catalog & WithCreateTime(CreateTimeT &&value)
Definition Catalog.h:127
bool CreateDatabaseDefaultPermissionsHasBeenSet() const
Definition Catalog.h:204
void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Definition Catalog.h:206
void SetDescription(DescriptionT &&value)
Definition Catalog.h:96
bool ParametersHasBeenSet() const
Definition Catalog.h:107
const Aws::Utils::DateTime & GetCreateTime() const
Definition Catalog.h:122
void SetCatalogProperties(CatalogPropertiesT &&value)
Definition Catalog.h:176
const CatalogPropertiesOutput & GetCatalogProperties() const
Definition Catalog.h:173
Catalog & WithCatalogProperties(CatalogPropertiesT &&value)
Definition Catalog.h:178
void SetAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
Definition Catalog.h:220
bool ResourceArnHasBeenSet() const
Definition Catalog.h:81
Catalog & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
Definition Catalog.h:113
void SetName(NameT &&value)
Definition Catalog.h:71
const Aws::String & GetName() const
Definition Catalog.h:68
Catalog & WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Definition Catalog.h:192
Catalog & WithResourceArn(ResourceArnT &&value)
Definition Catalog.h:85
const Aws::Utils::DateTime & GetUpdateTime() const
Definition Catalog.h:134
Catalog & WithCatalogId(CatalogIdT &&value)
Definition Catalog.h:61
void SetFederatedCatalog(FederatedCatalogT &&value)
Definition Catalog.h:163
const FederatedCatalog & GetFederatedCatalog() const
Definition Catalog.h:160
const TargetRedshiftCatalog & GetTargetRedshiftCatalog() const
Definition Catalog.h:147
Catalog & WithUpdateTime(UpdateTimeT &&value)
Definition Catalog.h:139
Catalog & WithDescription(DescriptionT &&value)
Definition Catalog.h:98
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetResourceArn() const
Definition Catalog.h:80
bool AllowFullTableExternalDataAccessHasBeenSet() const
Definition Catalog.h:219
bool CatalogIdHasBeenSet() const
Definition Catalog.h:57
bool NameHasBeenSet() const
Definition Catalog.h:69
void SetParameters(ParametersT &&value)
Definition Catalog.h:109
const Aws::String & GetCatalogId() const
Definition Catalog.h:56
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