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>
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>
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>
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>
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>
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>>
112 template<
typename ParametersKeyT = Aws::String,
typename ParametersValueT = Aws::String>
114 m_parametersHasBeenSet =
true; m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
return *
this;
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>
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>
149 template<
typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
150 void SetTargetRedshiftCatalog(TargetRedshiftCatalogT&& value) { m_targetRedshiftCatalogHasBeenSet =
true; m_targetRedshiftCatalog = std::forward<TargetRedshiftCatalogT>(value); }
151 template<
typename TargetRedshiftCatalogT = TargetRedshiftCatalog>
162 template<
typename FederatedCatalogT = FederatedCatalog>
163 void SetFederatedCatalog(FederatedCatalogT&& value) { m_federatedCatalogHasBeenSet =
true; m_federatedCatalog = std::forward<FederatedCatalogT>(value); }
164 template<
typename FederatedCatalogT = FederatedCatalog>
175 template<
typename CatalogPropertiesT = CatalogPropertiesOutput>
176 void SetCatalogProperties(CatalogPropertiesT&& value) { m_catalogPropertiesHasBeenSet =
true; m_catalogProperties = std::forward<CatalogPropertiesT>(value); }
177 template<
typename CatalogPropertiesT = CatalogPropertiesOutput>
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>>
193 template<
typename CreateTableDefaultPermissionsT = PrincipalPermissions>
194 Catalog&
AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { m_createTableDefaultPermissionsHasBeenSet =
true; m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value));
return *
this; }
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>>
209 template<
typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
210 Catalog&
AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { m_createDatabaseDefaultPermissionsHasBeenSet =
true; m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value));
return *
this; }
226 bool m_catalogIdHasBeenSet =
false;
229 bool m_nameHasBeenSet =
false;
232 bool m_resourceArnHasBeenSet =
false;
235 bool m_descriptionHasBeenSet =
false;
238 bool m_parametersHasBeenSet =
false;
241 bool m_createTimeHasBeenSet =
false;
244 bool m_updateTimeHasBeenSet =
false;
246 TargetRedshiftCatalog m_targetRedshiftCatalog;
247 bool m_targetRedshiftCatalogHasBeenSet =
false;
249 FederatedCatalog m_federatedCatalog;
250 bool m_federatedCatalogHasBeenSet =
false;
252 CatalogPropertiesOutput m_catalogProperties;
253 bool m_catalogPropertiesHasBeenSet =
false;
256 bool m_createTableDefaultPermissionsHasBeenSet =
false;
259 bool m_createDatabaseDefaultPermissionsHasBeenSet =
false;
262 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