7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSAllocator.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/glue/Glue_EXPORTS.h>
13#include <aws/glue/model/Column.h>
14#include <aws/glue/model/FederatedTable.h>
15#include <aws/glue/model/IcebergTableMetadata.h>
16#include <aws/glue/model/StorageDescriptor.h>
17#include <aws/glue/model/TableIdentifier.h>
18#include <aws/glue/model/ViewDefinition.h>
52 template <
typename NameT = Aws::String>
54 m_nameHasBeenSet =
true;
55 m_name = std::forward<NameT>(value);
57 template <
typename NameT = Aws::String>
59 SetName(std::forward<NameT>(value));
71 template <
typename DatabaseNameT = Aws::String>
73 m_databaseNameHasBeenSet =
true;
74 m_databaseName = std::forward<DatabaseNameT>(value);
76 template <
typename DatabaseNameT = Aws::String>
89 template <
typename DescriptionT = Aws::String>
91 m_descriptionHasBeenSet =
true;
92 m_description = std::forward<DescriptionT>(value);
94 template <
typename DescriptionT = Aws::String>
107 template <
typename OwnerT = Aws::String>
109 m_ownerHasBeenSet =
true;
110 m_owner = std::forward<OwnerT>(value);
112 template <
typename OwnerT = Aws::String>
114 SetOwner(std::forward<OwnerT>(value));
125 template <
typename CreateTimeT = Aws::Utils::DateTime>
127 m_createTimeHasBeenSet =
true;
128 m_createTime = std::forward<CreateTimeT>(value);
130 template <
typename CreateTimeT = Aws::Utils::DateTime>
143 template <
typename UpdateTimeT = Aws::Utils::DateTime>
145 m_updateTimeHasBeenSet =
true;
146 m_updateTime = std::forward<UpdateTimeT>(value);
148 template <
typename UpdateTimeT = Aws::Utils::DateTime>
162 template <
typename LastAccessTimeT = Aws::Utils::DateTime>
164 m_lastAccessTimeHasBeenSet =
true;
165 m_lastAccessTime = std::forward<LastAccessTimeT>(value);
167 template <
typename LastAccessTimeT = Aws::Utils::DateTime>
180 template <
typename LastAnalyzedTimeT = Aws::Utils::DateTime>
182 m_lastAnalyzedTimeHasBeenSet =
true;
183 m_lastAnalyzedTime = std::forward<LastAnalyzedTimeT>(value);
185 template <
typename LastAnalyzedTimeT = Aws::Utils::DateTime>
199 m_retentionHasBeenSet =
true;
215 template <
typename StorageDescriptorT = StorageDescriptor>
217 m_storageDescriptorHasBeenSet =
true;
218 m_storageDescriptor = std::forward<StorageDescriptorT>(value);
220 template <
typename StorageDescriptorT = StorageDescriptor>
237 template <
typename PartitionKeysT = Aws::Vector<Column>>
239 m_partitionKeysHasBeenSet =
true;
240 m_partitionKeys = std::forward<PartitionKeysT>(value);
242 template <
typename PartitionKeysT = Aws::Vector<Column>>
247 template <
typename PartitionKeysT = Column>
249 m_partitionKeysHasBeenSet =
true;
250 m_partitionKeys.emplace_back(std::forward<PartitionKeysT>(value));
263 template <
typename ViewOriginalTextT = Aws::String>
265 m_viewOriginalTextHasBeenSet =
true;
266 m_viewOriginalText = std::forward<ViewOriginalTextT>(value);
268 template <
typename ViewOriginalTextT = Aws::String>
282 template <
typename ViewExpandedTextT = Aws::String>
284 m_viewExpandedTextHasBeenSet =
true;
285 m_viewExpandedText = std::forward<ViewExpandedTextT>(value);
287 template <
typename ViewExpandedTextT = Aws::String>
305 template <
typename TableTypeT = Aws::String>
307 m_tableTypeHasBeenSet =
true;
308 m_tableType = std::forward<TableTypeT>(value);
310 template <
typename TableTypeT = Aws::String>
323 template <
typename ParametersT = Aws::Map<Aws::String, Aws::String>>
325 m_parametersHasBeenSet =
true;
326 m_parameters = std::forward<ParametersT>(value);
328 template <
typename ParametersT = Aws::Map<Aws::String, Aws::String>>
333 template <
typename ParametersKeyT = Aws::String,
typename ParametersValueT = Aws::String>
335 m_parametersHasBeenSet =
true;
336 m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value));
347 template <
typename CreatedByT = Aws::String>
349 m_createdByHasBeenSet =
true;
350 m_createdBy = std::forward<CreatedByT>(value);
352 template <
typename CreatedByT = Aws::String>
366 m_isRegisteredWithLakeFormationHasBeenSet =
true;
367 m_isRegisteredWithLakeFormation = value;
382 template <
typename TargetTableT = TableIdentifier>
384 m_targetTableHasBeenSet =
true;
385 m_targetTable = std::forward<TargetTableT>(value);
387 template <
typename TargetTableT = TableIdentifier>
400 template <
typename CatalogIdT = Aws::String>
402 m_catalogIdHasBeenSet =
true;
403 m_catalogId = std::forward<CatalogIdT>(value);
405 template <
typename CatalogIdT = Aws::String>
418 template <
typename VersionIdT = Aws::String>
420 m_versionIdHasBeenSet =
true;
421 m_versionId = std::forward<VersionIdT>(value);
423 template <
typename VersionIdT = Aws::String>
437 template <
typename FederatedTableT = FederatedTable>
439 m_federatedTableHasBeenSet =
true;
440 m_federatedTable = std::forward<FederatedTableT>(value);
442 template <
typename FederatedTableT = FederatedTable>
456 template <
typename ViewDefinitionT = ViewDefinition>
458 m_viewDefinitionHasBeenSet =
true;
459 m_viewDefinition = std::forward<ViewDefinitionT>(value);
461 template <
typename ViewDefinitionT = ViewDefinition>
476 m_isMultiDialectViewHasBeenSet =
true;
477 m_isMultiDialectView = value;
492 m_isMaterializedViewHasBeenSet =
true;
493 m_isMaterializedView = value;
510 template <
typename IcebergTableMetadataT = IcebergTableMetadata>
512 m_icebergTableMetadataHasBeenSet =
true;
513 m_icebergTableMetadata = std::forward<IcebergTableMetadataT>(value);
515 template <
typename IcebergTableMetadataT = IcebergTableMetadata>
528 template <
typename StatusT = TableStatus>
530 m_statusHasBeenSet =
true;
531 m_status = Aws::MakeShared<TableStatus>(
"Table", std::forward<StatusT>(value));
533 template <
typename StatusT = TableStatus>
558 StorageDescriptor m_storageDescriptor;
572 bool m_isRegisteredWithLakeFormation{
false};
574 TableIdentifier m_targetTable;
580 FederatedTable m_federatedTable;
582 ViewDefinition m_viewDefinition;
584 bool m_isMultiDialectView{
false};
586 bool m_isMaterializedView{
false};
588 IcebergTableMetadata m_icebergTableMetadata;
590 std::shared_ptr<TableStatus> m_status;
591 bool m_nameHasBeenSet =
false;
592 bool m_databaseNameHasBeenSet =
false;
593 bool m_descriptionHasBeenSet =
false;
594 bool m_ownerHasBeenSet =
false;
595 bool m_createTimeHasBeenSet =
false;
596 bool m_updateTimeHasBeenSet =
false;
597 bool m_lastAccessTimeHasBeenSet =
false;
598 bool m_lastAnalyzedTimeHasBeenSet =
false;
599 bool m_retentionHasBeenSet =
false;
600 bool m_storageDescriptorHasBeenSet =
false;
601 bool m_partitionKeysHasBeenSet =
false;
602 bool m_viewOriginalTextHasBeenSet =
false;
603 bool m_viewExpandedTextHasBeenSet =
false;
604 bool m_tableTypeHasBeenSet =
false;
605 bool m_parametersHasBeenSet =
false;
606 bool m_createdByHasBeenSet =
false;
607 bool m_isRegisteredWithLakeFormationHasBeenSet =
false;
608 bool m_targetTableHasBeenSet =
false;
609 bool m_catalogIdHasBeenSet =
false;
610 bool m_versionIdHasBeenSet =
false;
611 bool m_federatedTableHasBeenSet =
false;
612 bool m_viewDefinitionHasBeenSet =
false;
613 bool m_isMultiDialectViewHasBeenSet =
false;
614 bool m_isMaterializedViewHasBeenSet =
false;
615 bool m_icebergTableMetadataHasBeenSet =
false;
616 bool m_statusHasBeenSet =
false;
const ViewDefinition & GetViewDefinition() const
Table & WithTargetTable(TargetTableT &&value)
const StorageDescriptor & GetStorageDescriptor() const
const Aws::String & GetTableType() const
Table & WithPartitionKeys(PartitionKeysT &&value)
void SetIsMaterializedView(bool value)
Table & WithDatabaseName(DatabaseNameT &&value)
void SetName(NameT &&value)
const Aws::Utils::DateTime & GetUpdateTime() const
void SetLastAnalyzedTime(LastAnalyzedTimeT &&value)
Table & WithViewOriginalText(ViewOriginalTextT &&value)
Table & WithRetention(int value)
bool CreatedByHasBeenSet() const
Table & WithIsMaterializedView(bool value)
bool FederatedTableHasBeenSet() const
bool IsMaterializedViewHasBeenSet() const
void SetVersionId(VersionIdT &&value)
void SetCreatedBy(CreatedByT &&value)
Table & WithCatalogId(CatalogIdT &&value)
AWS_GLUE_API Table & operator=(Aws::Utils::Json::JsonView jsonValue)
bool CreateTimeHasBeenSet() const
bool DatabaseNameHasBeenSet() const
Table & WithUpdateTime(UpdateTimeT &&value)
Table & WithIcebergTableMetadata(IcebergTableMetadataT &&value)
Table & WithIsRegisteredWithLakeFormation(bool value)
const TableStatus & GetStatus() const
const IcebergTableMetadata & GetIcebergTableMetadata() const
const Aws::String & GetCatalogId() const
Table & WithLastAccessTime(LastAccessTimeT &&value)
void SetStatus(StatusT &&value)
const Aws::String & GetViewExpandedText() const
Table & WithParameters(ParametersT &&value)
bool IsRegisteredWithLakeFormationHasBeenSet() const
bool GetIsRegisteredWithLakeFormation() const
Table & WithStatus(StatusT &&value)
bool DescriptionHasBeenSet() const
bool PartitionKeysHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
Table & WithCreateTime(CreateTimeT &&value)
bool LastAnalyzedTimeHasBeenSet() const
Table & WithDescription(DescriptionT &&value)
void SetLastAccessTime(LastAccessTimeT &&value)
Table & WithTableType(TableTypeT &&value)
const Aws::Utils::DateTime & GetLastAnalyzedTime() const
AWS_GLUE_API Table()=default
const TableIdentifier & GetTargetTable() const
Table & AddPartitionKeys(PartitionKeysT &&value)
bool StatusHasBeenSet() const
bool ViewDefinitionHasBeenSet() const
void SetUpdateTime(UpdateTimeT &&value)
Table & WithCreatedBy(CreatedByT &&value)
void SetCatalogId(CatalogIdT &&value)
Table & WithOwner(OwnerT &&value)
void SetRetention(int value)
Table & WithVersionId(VersionIdT &&value)
void SetIsMultiDialectView(bool value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
bool ViewOriginalTextHasBeenSet() const
const Aws::String & GetDatabaseName() const
const Aws::Utils::DateTime & GetCreateTime() const
const FederatedTable & GetFederatedTable() const
Table & WithFederatedTable(FederatedTableT &&value)
Table & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
void SetCreateTime(CreateTimeT &&value)
void SetTableType(TableTypeT &&value)
const Aws::String & GetName() const
const Aws::String & GetCreatedBy() const
bool ViewExpandedTextHasBeenSet() const
const Aws::String & GetViewOriginalText() const
void SetDescription(DescriptionT &&value)
AWS_GLUE_API Table(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Column > & GetPartitionKeys() const
Table & WithStorageDescriptor(StorageDescriptorT &&value)
const Aws::Utils::DateTime & GetLastAccessTime() const
void SetPartitionKeys(PartitionKeysT &&value)
bool TableTypeHasBeenSet() const
void SetFederatedTable(FederatedTableT &&value)
void SetParameters(ParametersT &&value)
bool OwnerHasBeenSet() const
Table & WithName(NameT &&value)
Table & WithIsMultiDialectView(bool value)
const Aws::String & GetDescription() const
const Aws::String & GetVersionId() const
void SetOwner(OwnerT &&value)
bool IsMultiDialectViewHasBeenSet() const
bool NameHasBeenSet() const
bool UpdateTimeHasBeenSet() const
bool LastAccessTimeHasBeenSet() const
void SetIsRegisteredWithLakeFormation(bool value)
void SetIcebergTableMetadata(IcebergTableMetadataT &&value)
bool CatalogIdHasBeenSet() const
bool IcebergTableMetadataHasBeenSet() const
bool VersionIdHasBeenSet() const
bool RetentionHasBeenSet() const
void SetTargetTable(TargetTableT &&value)
bool ParametersHasBeenSet() const
void SetViewOriginalText(ViewOriginalTextT &&value)
Table & WithLastAnalyzedTime(LastAnalyzedTimeT &&value)
bool StorageDescriptorHasBeenSet() const
bool GetIsMaterializedView() const
void SetViewDefinition(ViewDefinitionT &&value)
bool GetIsMultiDialectView() const
bool TargetTableHasBeenSet() const
void SetStorageDescriptor(StorageDescriptorT &&value)
const Aws::String & GetOwner() const
Table & WithViewExpandedText(ViewExpandedTextT &&value)
void SetViewExpandedText(ViewExpandedTextT &&value)
void SetDatabaseName(DatabaseNameT &&value)
Table & WithViewDefinition(ViewDefinitionT &&value)
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