Skip to content

Latest commit

 

History

History

glue-database

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

glue-database

This module creates following resources.

  • aws_glue_catalog_database
  • aws_ram_resource_share (optional)
  • aws_ram_principal_association (optional)
  • aws_ram_resource_association (optional)

Requirements

Name Version
terraform >= 1.5
aws >= 4.65

Providers

Name Version
aws 5.19.0

Modules

Name Source Version
resource_group tedilabs/misc/aws//modules/resource-group ~> 0.10.0
share tedilabs/account/aws//modules/ram-share ~> 0.22.0

Resources

Name Type
aws_glue_catalog_database.this resource

Inputs

Name Description Type Default Required
name (Required) The name of the database. For Hive compatibility, this is folded to lowercase when it is stored. If you plan to access the database from Amazon Athena, then provide a name with only alphanumeric and underscore characters. The acceptable characters are lowercase letters, numbers, and the underscore character. string n/a yes
catalog (Optional) The ID of the Data Catalog in which to create the database. If omitted, this defaults to the AWS Account ID. string null no
description (Optional) The description of the database. string "Managed by Terraform." no
location_uri (Optional) The location of the database. For example, an HDFS path. string "" no
module_tags_enabled (Optional) Whether to create AWS Resource Tags for the module informations. bool true no
parameters (Optional) A set of key value pairs that specifies the Lambda function or functions to use for creating the data catalog. The mapping used depends on the catalog type.

LAMBDA
Use one of the following sets of required parameters, but not both.
- If you have one Lambda function that processes metadata and another for reading the actual data.
(Required) metadata-function - The ARN of Lambda function to process metadata.
(Required) record-function - The ARN of Lambda function to read the actual data.
- If you have a composite Lambda function that processes both metadata and data.
(Required) function - The ARN of a composite Lambda function to process both metadata and data.

GLUE
(Required) catalog_id - The account ID of the AWS account to which the Glue Data Catalog belongs.

HIVE
(Required) metadata-function - The ARN of Lambda function to process metadata.
(Optional) sdk-version - Defaults to the currently supported version.
map(string) {} no
resource_group_description (Optional) The description of Resource Group. string "Managed by Terraform." no
resource_group_enabled (Optional) Whether to create Resource Group to find and group AWS resources which are created by this module. bool true no
resource_group_name (Optional) The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws. string "" no
shares (Optional) A list of resource shares via RAM (Resource Access Manager).
list(object({
name = optional(string)

# INFO
# - AWSRAMDefaultPermissionGlueDatabase
# - AWSRAMPermissionGlueAllTablesReadWriteForDatabase
# - AWSRAMPermissionGlueDatabaseReadWrite
# - AWSRAMPermissionGlueTableReadWriteForDatabase
# - AWSRAMPermissionLFTagGlueDatabaseReadWrite
# - AWSRAMPermissionLFTagGlueTableReadWriteForDatabase
permissions = optional(set(string), ["AWSRAMDefaultPermissionGlueDatabase"])

external_principals_allowed = optional(bool, false)
principals = optional(set(string), [])

tags = optional(map(string), {})
}))
[] no
tags (Optional) A map of tags to add to all resources. map(string) {} no

Outputs

Name Description
arn The Amazon Resource Name (ARN) of the Glue Catalog Database.
catalog The ID of the Glue Catalog of the database.
description The description of the database.
id The ID of the database.
location_uri The description of the database.
name The name of the database.
parameters A set of key value pairs that specifies the Lambda function or functions to use for creating the data catalog.
sharing The configuration for sharing of the Glue Database.
status - An indication of whether the database is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM). Values are NOT_SHARED, SHARED_BY_ME or SHARED_WITH_ME.
shares - The list of resource shares via RAM (Resource Access Manager).