/* tslint:disable */
/* eslint-disable */
/**
 * Admin API
 * The Admin API is used to manage the ApeCloud platform. 
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { DmsCheckConstraint } from './dms-check-constraint';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsExcludeConstraint } from './dms-exclude-constraint';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsForeignKey } from './dms-foreign-key';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsPrimaryKey } from './dms-primary-key';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsTableColumn } from './dms-table-column';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsTableIndex } from './dms-table-index';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsTableOptions } from './dms-table-options';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsTablePartitioning } from './dms-table-partitioning';
// May contain unused imports in some cases
// @ts-ignore
import type { DmsUniqueKey } from './dms-unique-key';

/**
 * 
 * @export
 * @interface DmsTableMetadata
 */
export interface DmsTableMetadata {
    /**
     * The name of the table
     * @type {string}
     * @memberof DmsTableMetadata
     */
    'name'?: string;
    /**
     * The schema of the table
     * @type {string}
     * @memberof DmsTableMetadata
     */
    'schema'?: string | null;
    /**
     * The database where the table resides
     * @type {string}
     * @memberof DmsTableMetadata
     */
    'database'?: string | null;
    /**
     * A comment describing the table
     * @type {string}
     * @memberof DmsTableMetadata
     */
    'comment'?: string | null;
    /**
     * List of columns in the table
     * @type {Array<DmsTableColumn>}
     * @memberof DmsTableMetadata
     */
    'columns'?: Array<DmsTableColumn>;
    /**
     * List of indexes on the table
     * @type {Array<DmsTableIndex>}
     * @memberof DmsTableMetadata
     */
    'indexes'?: Array<DmsTableIndex> | null;
    /**
     * 
     * @type {DmsPrimaryKey}
     * @memberof DmsTableMetadata
     */
    'primaryKey'?: DmsPrimaryKey;
    /**
     * List of foreign keys on the table
     * @type {Array<DmsForeignKey>}
     * @memberof DmsTableMetadata
     */
    'foreignKeys'?: Array<DmsForeignKey> | null;
    /**
     * List of unique keys on the table
     * @type {Array<DmsUniqueKey>}
     * @memberof DmsTableMetadata
     */
    'uniqueKeys'?: Array<DmsUniqueKey> | null;
    /**
     * List of check constraints on the table
     * @type {Array<DmsCheckConstraint>}
     * @memberof DmsTableMetadata
     */
    'checkConstraints'?: Array<DmsCheckConstraint> | null;
    /**
     * List of exclude constraints on the table
     * @type {Array<DmsExcludeConstraint>}
     * @memberof DmsTableMetadata
     */
    'excludeConstraints'?: Array<DmsExcludeConstraint> | null;
    /**
     * 
     * @type {DmsTablePartitioning}
     * @memberof DmsTableMetadata
     */
    'partitioning'?: DmsTablePartitioning;
    /**
     * 
     * @type {DmsTableOptions}
     * @memberof DmsTableMetadata
     */
    'options'?: DmsTableOptions;
}

