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>
52 template <
typename CatalogIdT = Aws::String>
54 m_catalogIdHasBeenSet =
true;
55 m_catalogId = std::forward<CatalogIdT>(value);
57 template <
typename CatalogIdT = Aws::String>
70 template <
typename NameT = Aws::String>
72 m_nameHasBeenSet =
true;
73 m_name = std::forward<NameT>(value);
75 template <
typename NameT = Aws::String>
77 SetName(std::forward<NameT>(value));
88 template <
typename ResourceArnT = Aws::String>
90 m_resourceArnHasBeenSet =
true;
91 m_resourceArn = std::forward<ResourceArnT>(value);
93 template <
typename ResourceArnT = Aws::String>
107 template <
typename DescriptionT = Aws::String>
109 m_descriptionHasBeenSet =
true;
110 m_description = std::forward<DescriptionT>(value);
112 template <
typename DescriptionT = Aws::String>
126 template <
typename ParametersT = Aws::Map<Aws::String, Aws::String>>
128 m_parametersHasBeenSet =
true;
129 m_parameters = std::forward<ParametersT>(value);
131 template <
typename ParametersT = Aws::Map<Aws::String, Aws::String>>
136 template <
typename ParametersKeyT = Aws::String,
typename ParametersValueT = Aws::String>
138 m_parametersHasBeenSet =
true;
139 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
150 template <
typename CreateTimeT = Aws::Utils::DateTime>
152 m_createTimeHasBeenSet =
true;
153 m_createTime = std::forward<CreateTimeT>(value);
155 template <
typename CreateTimeT = Aws::Utils::DateTime>
168 template <
typename UpdateTimeT = Aws::Utils::DateTime>
170 m_updateTimeHasBeenSet =
true;
171 m_updateTime = std::forward<UpdateTimeT>(value);
173 template <
typename UpdateTimeT = Aws::Utils::DateTime>
187 template <
typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
189 m_targetRedshiftCatalogHasBeenSet =
true;
190 m_targetRedshiftCatalog = std::forward<TargetRedshiftCatalogT>(value);
192 template <
typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
206 template <
typename FederatedCatalogT = FederatedCatalog>
208 m_federatedCatalogHasBeenSet =
true;
209 m_federatedCatalog = std::forward<FederatedCatalogT>(value);
211 template <
typename FederatedCatalogT = FederatedCatalog>
225 template <
typename CatalogPropertiesT = CatalogPropertiesOutput>
227 m_catalogPropertiesHasBeenSet =
true;
228 m_catalogProperties = std::forward<CatalogPropertiesT>(value);
230 template <
typename CatalogPropertiesT = CatalogPropertiesOutput>
245 template <
typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
247 m_createTableDefaultPermissionsHasBeenSet =
true;
248 m_createTableDefaultPermissions = std::forward<CreateTableDefaultPermissionsT>(value);
250 template <
typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
255 template <
typename CreateTableDefaultPermissionsT = PrincipalPermissions>
257 m_createTableDefaultPermissionsHasBeenSet =
true;
258 m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value));
271 template <
typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
273 m_createDatabaseDefaultPermissionsHasBeenSet =
true;
274 m_createDatabaseDefaultPermissions = std::forward<CreateDatabaseDefaultPermissionsT>(value);
276 template <
typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
281 template <
typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
283 m_createDatabaseDefaultPermissionsHasBeenSet =
true;
284 m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value));
297 m_allowFullTableExternalDataAccessHasBeenSet =
true;
298 m_allowFullTableExternalDataAccess = value;
307 bool m_catalogIdHasBeenSet =
false;
310 bool m_nameHasBeenSet =
false;
313 bool m_resourceArnHasBeenSet =
false;
316 bool m_descriptionHasBeenSet =
false;
319 bool m_parametersHasBeenSet =
false;
322 bool m_createTimeHasBeenSet =
false;
325 bool m_updateTimeHasBeenSet =
false;
327 TargetRedshiftCatalog m_targetRedshiftCatalog;
328 bool m_targetRedshiftCatalogHasBeenSet =
false;
330 FederatedCatalog m_federatedCatalog;
331 bool m_federatedCatalogHasBeenSet =
false;
333 CatalogPropertiesOutput m_catalogProperties;
334 bool m_catalogPropertiesHasBeenSet =
false;
337 bool m_createTableDefaultPermissionsHasBeenSet =
false;
340 bool m_createDatabaseDefaultPermissionsHasBeenSet =
false;
343 bool m_allowFullTableExternalDataAccessHasBeenSet =
false;
Catalog & WithName(NameT &&value)
void SetResourceArn(ResourceArnT &&value)
Catalog & WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
const Aws::String & GetDescription() const
bool CreateTableDefaultPermissionsHasBeenSet() const
Catalog & WithParameters(ParametersT &&value)
AWS_GLUE_API Catalog()=default
const Aws::Vector< PrincipalPermissions > & GetCreateTableDefaultPermissions() const
AWS_GLUE_API Catalog & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetCreateTime(CreateTimeT &&value)
AllowFullTableExternalDataAccessEnum GetAllowFullTableExternalDataAccess() const
Catalog & AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
Catalog & WithFederatedCatalog(FederatedCatalogT &&value)
AWS_GLUE_API Catalog(Aws::Utils::Json::JsonView jsonValue)
bool TargetRedshiftCatalogHasBeenSet() const
bool CatalogPropertiesHasBeenSet() const
void SetTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
bool CreateTimeHasBeenSet() const
Catalog & WithTargetRedshiftCatalog(TargetRedshiftCatalogT &&value)
void SetCatalogId(CatalogIdT &&value)
Catalog & AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
const Aws::Vector< PrincipalPermissions > & GetCreateDatabaseDefaultPermissions() const
bool UpdateTimeHasBeenSet() const
bool DescriptionHasBeenSet() const
Catalog & WithAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
bool FederatedCatalogHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
void SetUpdateTime(UpdateTimeT &&value)
Catalog & WithCreateTime(CreateTimeT &&value)
bool CreateDatabaseDefaultPermissionsHasBeenSet() const
void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
void SetDescription(DescriptionT &&value)
bool ParametersHasBeenSet() const
const Aws::Utils::DateTime & GetCreateTime() const
void SetCatalogProperties(CatalogPropertiesT &&value)
const CatalogPropertiesOutput & GetCatalogProperties() const
Catalog & WithCatalogProperties(CatalogPropertiesT &&value)
void SetAllowFullTableExternalDataAccess(AllowFullTableExternalDataAccessEnum value)
bool ResourceArnHasBeenSet() const
Catalog & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
void SetName(NameT &&value)
const Aws::String & GetName() const
Catalog & WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
Catalog & WithResourceArn(ResourceArnT &&value)
const Aws::Utils::DateTime & GetUpdateTime() const
Catalog & WithCatalogId(CatalogIdT &&value)
void SetFederatedCatalog(FederatedCatalogT &&value)
const FederatedCatalog & GetFederatedCatalog() const
const TargetRedshiftCatalog & GetTargetRedshiftCatalog() const
Catalog & WithUpdateTime(UpdateTimeT &&value)
Catalog & WithDescription(DescriptionT &&value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetResourceArn() const
bool AllowFullTableExternalDataAccessHasBeenSet() const
bool CatalogIdHasBeenSet() const
bool NameHasBeenSet() const
void SetParameters(ParametersT &&value)
const Aws::String & GetCatalogId() const
AllowFullTableExternalDataAccessEnum
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