Source code for troposphere.lakeformation

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


from . import AWSObject, AWSProperty, PropsDictType
from .validators import boolean


[docs]class ColumnWildcard(AWSProperty): """ `ColumnWildcard <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-columnwildcard.html>`__ """ props: PropsDictType = { "ExcludedColumnNames": ([str], False), }
[docs]class RowFilter(AWSProperty): """ `RowFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datacellsfilter-rowfilter.html>`__ """ props: PropsDictType = { "AllRowsWildcard": (dict, False), "FilterExpression": (str, False), }
[docs]class DataCellsFilter(AWSObject): """ `DataCellsFilter <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html>`__ """ resource_type = "AWS::LakeFormation::DataCellsFilter" props: PropsDictType = { "ColumnNames": ([str], False), "ColumnWildcard": (ColumnWildcard, False), "DatabaseName": (str, True), "Name": (str, True), "RowFilter": (RowFilter, False), "TableCatalogId": (str, True), "TableName": (str, True), }
[docs]class DataLakePrincipal(AWSProperty): """ `DataLakePrincipal <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datalakeprincipal.html>`__ """ props: PropsDictType = { "DataLakePrincipalIdentifier": (str, False), }
[docs]class DataLakeSettings(AWSObject): """ `DataLakeSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html>`__ """ resource_type = "AWS::LakeFormation::DataLakeSettings" props: PropsDictType = { "Admins": ([DataLakePrincipal], False), "AllowExternalDataFiltering": (boolean, False), "AllowFullTableExternalDataAccess": (boolean, False), "AuthorizedSessionTagValueList": ([str], False), "CreateDatabaseDefaultPermissions": ([], False), "CreateTableDefaultPermissions": ([], False), "ExternalDataFilteringAllowList": ([], False), "MutationType": (str, False), "Parameters": (dict, False), "TrustedResourceOwners": ([str], False), }
[docs]class DatabaseResource(AWSProperty): """ `DatabaseResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-databaseresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "Name": (str, True), }
[docs]class PermissionsDataLocationResource(AWSProperty): """ `PermissionsDataLocationResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalocationresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, False), "S3Resource": (str, False), }
[docs]class TableResource(AWSProperty): """ `TableResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tableresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "DatabaseName": (str, True), "Name": (str, False), "TableWildcard": (dict, False), }
[docs]class TableWithColumnsResource(AWSProperty): """ `TableWithColumnsResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-tablewithcolumnsresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "ColumnNames": ([str], False), "ColumnWildcard": (ColumnWildcard, False), "DatabaseName": (str, True), "Name": (str, True), }
[docs]class ResourceProperty(AWSProperty): """ `ResourceProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html>`__ """ props: PropsDictType = { "DataLocationResource": (PermissionsDataLocationResource, False), "DatabaseResource": (DatabaseResource, False), "TableResource": (TableResource, False), "TableWithColumnsResource": (TableWithColumnsResource, False), }
[docs]class Permissions(AWSObject): """ `Permissions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html>`__ """ resource_type = "AWS::LakeFormation::Permissions" props: PropsDictType = { "DataLakePrincipal": (DataLakePrincipal, True), "Permissions": ([str], False), "PermissionsWithGrantOption": ([str], False), "Resource": (ResourceProperty, True), }
[docs]class DataCellsFilterResource(AWSProperty): """ `DataCellsFilterResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datacellsfilterresource.html>`__ """ props: PropsDictType = { "DatabaseName": (str, True), "Name": (str, True), "TableCatalogId": (str, True), "TableName": (str, True), }
[docs]class DataLocationResource(AWSProperty): """ `DataLocationResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-datalocationresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "ResourceArn": (str, True), }
[docs]class LFTagKeyResource(AWSProperty): """ `LFTagKeyResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-lftagkeyresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "TagKey": (str, True), "TagValues": ([str], True), }
[docs]class LFTag(AWSProperty): """ `LFTag <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-lftag.html>`__ """ props: PropsDictType = { "TagKey": (str, False), "TagValues": ([str], False), }
[docs]class LFTagPolicyResource(AWSProperty): """ `LFTagPolicyResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-lftagpolicyresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "Expression": ([LFTag], True), "ResourceType": (str, True), }
[docs]class PrincipalResource(AWSProperty): """ `PrincipalResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-principalpermissions-resource.html>`__ """ props: PropsDictType = { "Catalog": (dict, False), "DataCellsFilter": (DataCellsFilterResource, False), "DataLocation": (DataLocationResource, False), "Database": (DatabaseResource, False), "LFTag": (LFTagKeyResource, False), "LFTagPolicy": (LFTagPolicyResource, False), "Table": (TableResource, False), "TableWithColumns": (TableWithColumnsResource, False), }
[docs]class PrincipalPermissions(AWSObject): """ `PrincipalPermissions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html>`__ """ resource_type = "AWS::LakeFormation::PrincipalPermissions" props: PropsDictType = { "Catalog": (str, False), "Permissions": ([str], True), "PermissionsWithGrantOption": ([str], True), "Principal": (DataLakePrincipal, True), "Resource": (PrincipalResource, True), }
[docs]class Resource(AWSObject): """ `Resource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html>`__ """ resource_type = "AWS::LakeFormation::Resource" props: PropsDictType = { "HybridAccessEnabled": (boolean, False), "ResourceArn": (str, True), "RoleArn": (str, False), "UseServiceLinkedRole": (boolean, True), "WithFederation": (boolean, False), }
[docs]class Tag(AWSObject): """ `Tag <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html>`__ """ resource_type = "AWS::LakeFormation::Tag" props: PropsDictType = { "CatalogId": (str, False), "TagKey": (str, True), "TagValues": ([str], True), }
[docs]class LFTagPair(AWSProperty): """ `LFTagPair <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-lftagpair.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "TagKey": (str, True), "TagValues": ([str], True), }
[docs]class TagAssociationTableWithColumnsResource(AWSProperty): """ `TagAssociationTableWithColumnsResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-tablewithcolumnsresource.html>`__ """ props: PropsDictType = { "CatalogId": (str, True), "ColumnNames": ([str], True), "DatabaseName": (str, True), "Name": (str, True), }
[docs]class TagAssociationResource(AWSProperty): """ `TagAssociationResource <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-tagassociation-resource.html>`__ """ props: PropsDictType = { "Catalog": (dict, False), "Database": (DatabaseResource, False), "Table": (TableResource, False), "TableWithColumns": (TagAssociationTableWithColumnsResource, False), }
[docs]class TagAssociation(AWSObject): """ `TagAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html>`__ """ resource_type = "AWS::LakeFormation::TagAssociation" props: PropsDictType = { "LFTags": ([LFTagPair], True), "Resource": (TagAssociationResource, True), }
[docs]class PrincipalPermissionsProperty(AWSProperty): """ `PrincipalPermissionsProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-principalpermissions.html>`__ """ props: PropsDictType = { "Permissions": ([str], True), "Principal": (DataLakePrincipal, True), }
[docs]class TableWildcard(AWSProperty): """ `TableWildcard <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewildcard.html>`__ """ props: PropsDictType = {}