lakeformation
This component is responsible for provisioning Amazon Lake Formation resources.
Usage
Stack Level: Regional
Here are some example snippets for how to use this component:
stacks/catalog/lakeformation/defaults.yaml
file (base component for all lakeformation deployments with default
settings):
components:
terraform:
lakeformation/defaults:
metadata:
type: abstract
settings:
spacelift:
workspace_enabled: true
vars:
enabled: true
tags:
Team: sre
Service: lakeformation
import:
- catalog/lakeformation/defaults
components:
terraform:
lakeformation-example:
metadata:
component: lakeformation
inherits:
- lakeformation/defaults
vars:
enabled: true
name: lakeformation-example
s3_bucket_arn: arn:aws:s3:::some-test-bucket
create_service_linked_role: true
admin_arn_list:
- arn:aws:iam::012345678912:role/my-admin-role
lf_tags:
left: ["test1", "test2"]
right: ["test3", "test4"]
resources:
database:
name: example_db_1
tags:
left: test1
Variables
Required Variables
region
(string
) requiredAWS Region
s3_bucket_arn
(string
) requiredAmazon Resource Name (ARN) of the Lake Formation resource, an S3 path.
Optional Variables
admin_arn_list
(list(string)
) optional(Optional) Set of ARNs of AWS Lake Formation principals (IAM users or roles).
Default value:
[ ]
catalog_id
(string
) optional(Optional) Identifier for the Data Catalog. If not provided, the account ID will be used.
Default value:
null
create_service_linked_role
(bool
) optionalSet to 'true' to create service-linked role for Lake Formation (can only be done once!)
Default value:
false
database_default_permissions
(list(map(any))
) optional(Optional) Up to three configuration blocks of principal permissions for default create database permissions.
Default value:
[ ]
A map of key-value pairs to be used as Lake Formation tags.
Default value:
{ }
resources
(map(any)
) optionalA map of Lake Formation resources to create, with related attributes.
Default value:
{ }
role_arn
(string
) optional(Optional) Role that has read/write access to the Lake Formation resource. If not provided, the Lake Formation service-linked role must exist and is used.
Default value:
null
table_default_permissions
(list(map(any))
) optional(Optional) Up to three configuration blocks of principal permissions for default create table permissions.
Default value:
[ ]
trusted_resource_owners
(list(string)
) optional(Optional) List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
Default value:
[ ]
Context Variables
The following variables are defined in the context.tf
file of this module and part of the terraform-null-label pattern.
context.tf
file of this module and part of the terraform-null-label pattern.Outputs
List of LF tags created.
Dependencies
Requirements
terraform
, version:>= 1.0
aws
, version:>= 4.0, < 6.0.0
Providers
aws
, version:>= 4.0, < 6.0.0
Modules
Name | Version | Source | Description |
---|---|---|---|
iam_roles | latest | ../account-map/modules/iam-roles | n/a |
lakeformation | 1.0.0 | cloudposse/lakeformation/aws | n/a |
this | 0.25.0 | cloudposse/label/null | n/a |
Resources
The following resources are used by this module:
aws_iam_service_linked_role.lakeformation
(resource)
Data Sources
The following data sources are used by this module:
aws_iam_role.lakeformation
(data source)
References
- cloudposse/terraform-aws-components - Cloud Posse's upstream component