import { Value } from '../../../cloudformation/Value';
import { ColumnWildcardProps } from './ColumnWildcardProps';
/**
  A structure for a table with columns object. This object is only used when granting a SELECT permission.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-tablewithcolumnsresource.html">the AWS Docs</a>
*/
export interface TableWithColumnsResourceProps {
    /** <code>ColumnNames</code>  <a name="cfn-lakeformation-principalpermissions-tablewithcolumnsresource-columnnames"></a>
  The list of column names for the table. At least one of <code>ColumnNames</code> or <code>ColumnWildcard</code> is required.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    columnNames?: Value<Value<string>[]>;
    /** <code>DatabaseName</code>  <a name="cfn-lakeformation-principalpermissions-tablewithcolumnsresource-databasename"></a>
  The name of the database for the table with columns resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    databaseName: Value<string>;
    /** <code>CatalogId</code>  <a name="cfn-lakeformation-principalpermissions-tablewithcolumnsresource-catalogid"></a>
  The identifier for the Data Catalog where the location is registered with AWS Lake Formation.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    catalogId: Value<string>;
    /** <code>Name</code>  <a name="cfn-lakeformation-principalpermissions-tablewithcolumnsresource-name"></a>
  The name of the table resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    name: Value<string>;
    /** <code>ColumnWildcard</code>  <a name="cfn-lakeformation-principalpermissions-tablewithcolumnsresource-columnwildcard"></a>
  A wildcard specified by a <code>ColumnWildcard</code> object. At least one of <code>ColumnNames</code> or <code>ColumnWildcard</code> is required.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    columnWildcard?: ColumnWildcardProps;
}
