/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type CatalogIdString = string; export type DataLakePrincipalString = string; export type NameString = string; export type ColumnNames = NameString[]; export type ResourceArnString = string; /** * @minItems 1 * @maxItems 50 */ export type TagValueList = [LFTagValue, ...LFTagValue[]]; export type LFTagValue = string; export type ResourceType = "DATABASE" | "TABLE"; /** * @minItems 1 * @maxItems 5 */ export type Expression = | [LFTag] | [LFTag, LFTag] | [LFTag, LFTag, LFTag] | [LFTag, LFTag, LFTag, LFTag] | [LFTag, LFTag, LFTag, LFTag, LFTag]; export type LFTagKey = string; export type Permission = | "ALL" | "SELECT" | "ALTER" | "DROP" | "DELETE" | "INSERT" | "DESCRIBE" | "CREATE_DATABASE" | "CREATE_TABLE" | "DATA_LOCATION_ACCESS" | "CREATE_TAG" | "ASSOCIATE"; export type PermissionList = Permission[]; /** * A resource schema representing a Lake Formation Permission. */ export interface AwsLakeformationPrincipalpermissions { Catalog?: CatalogIdString; Principal: DataLakePrincipal; Resource: Resource; Permissions: PermissionList; PermissionsWithGrantOption: PermissionList; PrincipalIdentifier?: string; ResourceIdentifier?: string; } export interface DataLakePrincipal { DataLakePrincipalIdentifier?: DataLakePrincipalString; } export interface Resource { Catalog?: CatalogResource; Database?: DatabaseResource; Table?: TableResource; TableWithColumns?: TableWithColumnsResource; DataLocation?: DataLocationResource; DataCellsFilter?: DataCellsFilterResource; LFTag?: LFTagKeyResource; LFTagPolicy?: LFTagPolicyResource; } export interface CatalogResource {} export interface DatabaseResource { CatalogId: CatalogIdString; Name: NameString; } export interface TableResource { CatalogId: CatalogIdString; DatabaseName: NameString; Name?: NameString; TableWildcard?: TableWildcard; } export interface TableWildcard {} export interface TableWithColumnsResource { CatalogId: CatalogIdString; DatabaseName: NameString; Name: NameString; ColumnNames?: ColumnNames; ColumnWildcard?: ColumnWildcard; } export interface ColumnWildcard { ExcludedColumnNames?: ColumnNames; } export interface DataLocationResource { CatalogId: CatalogIdString; ResourceArn: ResourceArnString; } export interface DataCellsFilterResource { TableCatalogId: CatalogIdString; DatabaseName: NameString; TableName: NameString; Name: NameString; } export interface LFTagKeyResource { CatalogId: CatalogIdString; TagKey: NameString; TagValues: TagValueList; } export interface LFTagPolicyResource { CatalogId: CatalogIdString; ResourceType: ResourceType; Expression: Expression; } export interface LFTag { TagKey?: LFTagKey; TagValues?: TagValueList; }