import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class DataLocationResource { S3Resource ? : Value < string > ; CatalogId ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ColumnWildcard { ExcludedColumnNames ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DatabaseResource { CatalogId ? : Value < string > ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TableWildcard { constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Resource { TableResource ? : TableResource ; DatabaseResource ? : DatabaseResource ; DataLocationResource ? : DataLocationResource ; TableWithColumnsResource ? : TableWithColumnsResource ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DataLakePrincipal { DataLakePrincipalIdentifier ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TableResource { DatabaseName ? : Value < string > ; CatalogId ? : Value < string > ; TableWildcard ? : TableWildcard ; Name ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TableWithColumnsResource { ColumnNames ? : List < Value < string > > ; DatabaseName ? : Value < string > ; CatalogId ? : Value < string > ; Name ? : Value < string > ; ColumnWildcard ? : ColumnWildcard ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface PermissionsProperties { DataLakePrincipal : DataLakePrincipal ; Resource : Resource ; Permissions ? : List < Value < string > > ; PermissionsWithGrantOption ? : List < Value < string > > ; } export default class Permissions extends ResourceBase < PermissionsProperties > { static DataLocationResource = DataLocationResource ; static ColumnWildcard = ColumnWildcard ; static DatabaseResource = DatabaseResource ; static TableWildcard = TableWildcard ; static Resource = Resource ; static DataLakePrincipal = DataLakePrincipal ; static TableResource = TableResource ; static TableWithColumnsResource = TableWithColumnsResource ; constructor ( properties ) { super ( 'AWS::LakeFormation::Permissions' , properties ) ; } }