/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the glue-2017-03-31.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Glue.Model { /// /// Represents a collection of related data organized in columns and rows. /// public partial class Table { private string _catalogId; private string _createdBy; private DateTime? _createTime; private string _databaseName; private string _description; private FederatedTable _federatedTable; private bool? _isRegisteredWithLakeFormation; private DateTime? _lastAccessTime; private DateTime? _lastAnalyzedTime; private string _name; private string _owner; private Dictionary _parameters = new Dictionary(); private List _partitionKeys = new List(); private int? _retention; private StorageDescriptor _storageDescriptor; private string _tableType; private TableIdentifier _targetTable; private DateTime? _updateTime; private string _versionId; private string _viewExpandedText; private string _viewOriginalText; /// /// Gets and sets the property CatalogId. /// /// The ID of the Data Catalog in which the table resides. /// /// [AWSProperty(Min=1, Max=255)] public string CatalogId { get { return this._catalogId; } set { this._catalogId = value; } } // Check to see if CatalogId property is set internal bool IsSetCatalogId() { return this._catalogId != null; } /// /// Gets and sets the property CreatedBy. /// /// The person or entity who created the table. /// /// [AWSProperty(Min=1, Max=255)] public string CreatedBy { get { return this._createdBy; } set { this._createdBy = value; } } // Check to see if CreatedBy property is set internal bool IsSetCreatedBy() { return this._createdBy != null; } /// /// Gets and sets the property CreateTime. /// /// The time when the table definition was created in the Data Catalog. /// /// public DateTime CreateTime { get { return this._createTime.GetValueOrDefault(); } set { this._createTime = value; } } // Check to see if CreateTime property is set internal bool IsSetCreateTime() { return this._createTime.HasValue; } /// /// Gets and sets the property DatabaseName. /// /// The name of the database where the table metadata resides. For Hive compatibility, /// this must be all lowercase. /// /// [AWSProperty(Min=1, Max=255)] public string DatabaseName { get { return this._databaseName; } set { this._databaseName = value; } } // Check to see if DatabaseName property is set internal bool IsSetDatabaseName() { return this._databaseName != null; } /// /// Gets and sets the property Description. /// /// A description of the table. /// /// [AWSProperty(Min=0, Max=2048)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property FederatedTable. /// /// A FederatedTable structure that references an entity outside the Glue /// Data Catalog. /// /// public FederatedTable FederatedTable { get { return this._federatedTable; } set { this._federatedTable = value; } } // Check to see if FederatedTable property is set internal bool IsSetFederatedTable() { return this._federatedTable != null; } /// /// Gets and sets the property IsRegisteredWithLakeFormation. /// /// Indicates whether the table has been registered with Lake Formation. /// /// public bool IsRegisteredWithLakeFormation { get { return this._isRegisteredWithLakeFormation.GetValueOrDefault(); } set { this._isRegisteredWithLakeFormation = value; } } // Check to see if IsRegisteredWithLakeFormation property is set internal bool IsSetIsRegisteredWithLakeFormation() { return this._isRegisteredWithLakeFormation.HasValue; } /// /// Gets and sets the property LastAccessTime. /// /// The last time that the table was accessed. This is usually taken from HDFS, and might /// not be reliable. /// /// public DateTime LastAccessTime { get { return this._lastAccessTime.GetValueOrDefault(); } set { this._lastAccessTime = value; } } // Check to see if LastAccessTime property is set internal bool IsSetLastAccessTime() { return this._lastAccessTime.HasValue; } /// /// Gets and sets the property LastAnalyzedTime. /// /// The last time that column statistics were computed for this table. /// /// public DateTime LastAnalyzedTime { get { return this._lastAnalyzedTime.GetValueOrDefault(); } set { this._lastAnalyzedTime = value; } } // Check to see if LastAnalyzedTime property is set internal bool IsSetLastAnalyzedTime() { return this._lastAnalyzedTime.HasValue; } /// /// Gets and sets the property Name. /// /// The table name. For Hive compatibility, this must be entirely lowercase. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property Owner. /// /// The owner of the table. /// /// [AWSProperty(Min=1, Max=255)] public string Owner { get { return this._owner; } set { this._owner = value; } } // Check to see if Owner property is set internal bool IsSetOwner() { return this._owner != null; } /// /// Gets and sets the property Parameters. /// /// These key-value pairs define properties associated with the table. /// /// public Dictionary Parameters { get { return this._parameters; } set { this._parameters = value; } } // Check to see if Parameters property is set internal bool IsSetParameters() { return this._parameters != null && this._parameters.Count > 0; } /// /// Gets and sets the property PartitionKeys. /// /// A list of columns by which the table is partitioned. Only primitive types are supported /// as partition keys. /// /// /// /// When you create a table used by Amazon Athena, and you do not specify any partitionKeys, /// you must at least set the value of partitionKeys to an empty list. For /// example: /// /// /// /// "PartitionKeys": [] /// /// public List PartitionKeys { get { return this._partitionKeys; } set { this._partitionKeys = value; } } // Check to see if PartitionKeys property is set internal bool IsSetPartitionKeys() { return this._partitionKeys != null && this._partitionKeys.Count > 0; } /// /// Gets and sets the property Retention. /// /// The retention time for this table. /// /// [AWSProperty(Min=0)] public int Retention { get { return this._retention.GetValueOrDefault(); } set { this._retention = value; } } // Check to see if Retention property is set internal bool IsSetRetention() { return this._retention.HasValue; } /// /// Gets and sets the property StorageDescriptor. /// /// A storage descriptor containing information about the physical storage of this table. /// /// public StorageDescriptor StorageDescriptor { get { return this._storageDescriptor; } set { this._storageDescriptor = value; } } // Check to see if StorageDescriptor property is set internal bool IsSetStorageDescriptor() { return this._storageDescriptor != null; } /// /// Gets and sets the property TableType. /// /// The type of this table. Glue will create tables with the EXTERNAL_TABLE /// type. Other services, such as Athena, may create tables with additional table types. /// /// /// /// /// Glue related table types: /// ///
EXTERNAL_TABLE
/// /// Hive compatible attribute - indicates a non-Hive managed table. /// ///
GOVERNED
/// /// Used by Lake Formation. The Glue Data Catalog understands GOVERNED. /// ///
///
[AWSProperty(Max=255)] public string TableType { get { return this._tableType; } set { this._tableType = value; } } // Check to see if TableType property is set internal bool IsSetTableType() { return this._tableType != null; } /// /// Gets and sets the property TargetTable. /// /// A TableIdentifier structure that describes a target table for resource /// linking. /// /// public TableIdentifier TargetTable { get { return this._targetTable; } set { this._targetTable = value; } } // Check to see if TargetTable property is set internal bool IsSetTargetTable() { return this._targetTable != null; } /// /// Gets and sets the property UpdateTime. /// /// The last time that the table was updated. /// /// public DateTime UpdateTime { get { return this._updateTime.GetValueOrDefault(); } set { this._updateTime = value; } } // Check to see if UpdateTime property is set internal bool IsSetUpdateTime() { return this._updateTime.HasValue; } /// /// Gets and sets the property VersionId. /// /// The ID of the table version. /// /// [AWSProperty(Min=1, Max=255)] public string VersionId { get { return this._versionId; } set { this._versionId = value; } } // Check to see if VersionId property is set internal bool IsSetVersionId() { return this._versionId != null; } /// /// Gets and sets the property ViewExpandedText. /// /// Included for Apache Hive compatibility. Not used in the normal course of Glue operations. /// /// [AWSProperty(Max=409600)] public string ViewExpandedText { get { return this._viewExpandedText; } set { this._viewExpandedText = value; } } // Check to see if ViewExpandedText property is set internal bool IsSetViewExpandedText() { return this._viewExpandedText != null; } /// /// Gets and sets the property ViewOriginalText. /// /// Included for Apache Hive compatibility. Not used in the normal course of Glue operations. /// If the table is a VIRTUAL_VIEW, certain Athena configuration encoded /// in base64. /// /// [AWSProperty(Max=409600)] public string ViewOriginalText { get { return this._viewOriginalText; } set { this._viewOriginalText = value; } } // Check to see if ViewOriginalText property is set internal bool IsSetViewOriginalText() { return this._viewOriginalText != null; } } }