Module: athena
Terraform module to deploy an instance of Amazon Athena on AWS.
Usage
For a complete example, see examples/complete.
For automated tests of the complete example using bats and Terratest (which tests and deploys the example on AWS), see test.
# Create a standard label resource. See [null-label](https://github.com/cloudposse/terraform-null-label/#terraform-null-label--)
module "label" {
source = "cloudposse/label/null"
# Cloud Posse recommends pinning every module to a specific version, though usually you want to use the current one
# version = "x.x.x"
namespace = "eg"
name = "example"
}
module "athena" {
source = "cloudposse/athena/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
context = module.label.this
}
Variables
Required Variables
data_catalogs
(map(any)
) requiredMap of Athena data catalogs and related configuration.
databases
(map(any)
) requiredMap of Athena databases and related configuration.
named_queries
(map(map(string))
) requiredMap of Athena named queries and related configuration.
Optional Variables
athena_kms_key
(string
) optionalUse an existing KMS key for Athena if
create_kms_key
isfalse
.Default value:
null
athena_kms_key_deletion_window
(number
) optionalKMS key deletion window (in days).
Default value:
7
athena_s3_bucket_id
(string
) optionalUse an existing S3 bucket for Athena query results if
create_s3_bucket
isfalse
.Default value:
null
bytes_scanned_cutoff_per_query
(number
) optionalInteger for the upper data usage limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. Must be at least 10485760.
Default value:
null
create_kms_key
(bool
) optionalEnable the creation of a KMS key used by Athena workgroup.
Default value:
true
create_s3_bucket
(bool
) optionalEnable the creation of an S3 bucket to use Athena query results
Default value:
true
enforce_workgroup_configuration
(bool
) optionalBoolean whether the settings for the workgroup override client-side settings.
Default value:
true
publish_cloudwatch_metrics_enabled
(bool
) optionalBoolean whether Amazon CloudWatch metrics are enabled for the workgroup.
Default value:
true
requester_pays_enabled
(bool
) optionalBoolean whether to enable Requester Pays option on the Athena workgroup.
Default value:
false
s3_output_path
(string
) optionalThe S3 bucket path used to store query results.
Default value:
""
workgroup_description
(string
) optionalA description the of Athena workgroup.
Default value:
""
workgroup_encryption_option
(string
) optionalIndicates whether Amazon S3 server-side encryption with Amazon S3-managed keys (SSE_S3), server-side encryption with KMS-managed keys (SSE_KMS), or client-side encryption with KMS-managed keys (CSE_KMS) is used.
Default value:
"SSE_KMS"
workgroup_force_destroy
(bool
) optionalThe option to delete the workgroup and its contents even if the workgroup contains any named queries.
Default value:
false
workgroup_state
(string
) optionalState of the workgroup. Valid values are
DISABLED
orENABLED
.Default value:
"ENABLED"
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
data_catalogs
List of newly created Athena data catalogs.
databases
List of newly created Athena databases.
kms_key_arn
ARN of KMS key used by Athena.
named_queries
List of newly created Athena named queries.
s3_bucket_id
ID of S3 bucket used by Athena.
workgroup_id
ID of newly created Athena workgroup.
Dependencies
Requirements
terraform
, version:>= 1.0
aws
, version:>= 4.0
Providers
aws
, version:>= 4.0
Modules
Name | Version | Source | Description |
---|---|---|---|
this | 0.25.0 | cloudposse/label/null | n/a |
Resources
The following resources are used by this module:
aws_athena_data_catalog.default
(resource)aws_athena_database.default
(resource)aws_athena_named_query.default
(resource)aws_athena_workgroup.default
(resource)aws_kms_key.default
(resource)aws_s3_bucket.default
(resource)
Data Sources
The following data sources are used by this module: