/* * 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 { /// /// A structure used to define a table. /// public partial class TableInput { private string _description; 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 string _viewExpandedText; private string _viewOriginalText; /// /// 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 LastAccessTime. /// /// The last time that the table was accessed. /// /// 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 is folded to lowercase when it is stored. /// /// [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 table owner. Included for Apache Hive compatibility. Not used in the normal course /// of Glue operations. /// /// [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 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; } } }