import { TableResourceProps } from './TableResourceProps';
import { TableWithColumnsResourceProps } from './TableWithColumnsResourceProps';
import { DatabaseResourceProps } from './DatabaseResourceProps';
import { Value } from '../../../cloudformation/Value';
/**
  A structure for the resource.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-resource.html">the AWS Docs</a>
*/
export interface ResourceProps {
    /** <code>Table</code>  <a name="cfn-lakeformation-tagassociation-resource-table"></a>
  The table for the resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.<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> */
    table?: TableResourceProps;
    /** <code>TableWithColumns</code>  <a name="cfn-lakeformation-tagassociation-resource-tablewithcolumns"></a>
  The table with columns for the resource. A principal with permissions to this resource can select metadata from the columns of a table in the Data Catalog and the underlying data in Amazon S3.<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> */
    tableWithColumns?: TableWithColumnsResourceProps;
    /** <code>Database</code>  <a name="cfn-lakeformation-tagassociation-resource-database"></a>
  The database for the 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 permissions to a principal.<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> */
    database?: DatabaseResourceProps;
    /** <code>Catalog</code>  <a name="cfn-lakeformation-tagassociation-resource-catalog"></a>
  The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.<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> */
    catalog?: Value<any>;
}
