# Copyright (c) 2012-2019, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***
# Resource specification version: 5.3.0


from . import AWSObject
from . import AWSProperty


class Admins(AWSProperty):
    props = {
    }


class DataLakeSettings(AWSObject):
    resource_type = "AWS::LakeFormation::DataLakeSettings"

    props = {
        'Admins': (Admins, False),
    }


class DataLakePrincipal(AWSProperty):
    props = {
        'DataLakePrincipalIdentifier': (str, False),
    }


class DatabaseResource(AWSProperty):
    props = {
        'Name': (str, False),
    }


class TableResource(AWSProperty):
    props = {
        'DatabaseName': (str, False),
        'Name': (str, False),
    }


class Resource(AWSProperty):
    props = {
        'DatabaseResource': (DatabaseResource, False),
        'TableResource': (TableResource, False),
    }


class Permissions(AWSObject):
    resource_type = "AWS::LakeFormation::Permissions"

    props = {
        'DataLakePrincipal': (DataLakePrincipal, True),
        'Permissions': ([str], False),
        'PermissionsWithGrantOption': ([str], False),
        'Resource': (Resource, True),
    }
