Skip to content

wearetechnative/terraform-aws-quicksight-dashboards

Repository files navigation

Terraform AWS quicksight dashboard

This Terraform configuration is designed to deploy AWS QuickSight dashboards by setting up necessary resources and configurations in AWS. The setup ensures that your QuickSight environment is configured correctly for data visualization and reporting.

How does it work

First use after you clone this repository or when .pre-commit-config.yaml is updated

Run pre-commit install to install any guardrails implemented using pre-commit.

See pre-commit installation on how to install pre-commit.

Usage

provider "aws" {
  profile = "data_collection"
  region  = "eu-central-1"
  alias   = "data_collection"
}

provider "aws" {
  region = "us-east-1"
  alias  = "useast1"
}

module "cid_dashboards" {
  source = "./terraform-aws-quicksight-dashboards/"

  stack_name      = "Cloud-Intelligence-Dashboards"
  stack_parameters = {
    "PrerequisitesQuickSight"            = "yes"
    "PrerequisitesQuickSightPermissions" = "yes"
    "QuickSightUser"                     = "landing_zone_playground/nick@technative.nl" # Change this to your QuickSight user
    "DeployCUDOSDashboard"               = "yes"
    "DeployCostIntelligenceDashboard"    = "yes"
    "DeployKPIDashboard"                 = "yes"
  }

  providers = {
    aws = aws.data_collection
  }
}

Troubleshooting

  • Access Denied Errors: Ensure that your AWS credentials have sufficient permissions to create and manage QuickSight resources.
  • Resource Conflicts: Ensure that the names and ARNs provided in the variables do not conflict with existing QuickSight resources.

Requirements

Name Version
terraform >= 1.0
aws >= 3.0

Providers

Name Version
aws >= 3.0
random n/a

Modules

No modules.

Resources

Name Type
aws_cloudformation_stack.cid resource
aws_s3_bucket.template_bucket resource
aws_s3_object.template resource
random_id.bucket_suffix resource

Inputs

Name Description Type Default Required
stack_iam_role The ARN of an IAM role that AWS CloudFormation assumes to create the stack (default behavior is to use the previous role if available, or current user permissions otherwise). string null no
stack_name CloudFormation stack name for Cloud Intelligence Dashboards deployment string n/a yes
stack_notification_arns A list of SNS topic ARNs to publish stack related events. list(string) [] no
stack_parameters CloudFormation stack parameters. For the full list of available parameters, refer to
https://github.com/aws-samples/aws-cudos-framework-deployment/blob/main/cfn-templates/cid-cfn.yml.
For most setups, you will want to set the following parameters:
- PrerequisitesQuickSight: yes/no
- PrerequisitesQuickSightPermissions: yes/no
- QuickSightUser: Existing quicksight user
- QuickSightDataSetRefreshSchedule: Cron expression to refresh spice datasets daily outside of business hours. Default is 4 AM UTC, which should work for most customers in US and EU time zones
- CURBucketPath: Leave as default is if CUR was created with CloudFormation (cur-aggregation.yaml). If it was a manually created CUR, the path entered below must be for the directory that contains the years partition (s3://curbucketname/prefix/curname/curname/).
- OptimizationDataCollectionBucketPath: The S3 path to the bucket created by the Cost Optimization Data Collection Lab. The path will need point to a folder containing /optics-data-collector folder. Required for TAO and Compute Optimizer dashboards.
- DataBuketsKmsKeyArns: Comma-delimited list of KMS key ARNs ("*" is also valid). Include any KMS keys used to encrypt your CUR or Cost Optimization Data S3 data
- DeployCUDOSDashboard: (yes/no, default no)
- DeployCostIntelligenceDashboard: (yes/no, default no)
- DeployKPIDashboard: (yes/no, default no)
- DeployTAODashboard: (yes/no, default no)
- DeployComputeOptimizerDashboard: (yes/no, default no)
- PermissionsBoundary: Leave blank if you don't need to set a boundary for roles
- RolePath: Path for roles where PermissionBoundaries can limit location
map(string) n/a yes
stack_policy_body String containing the stack policy body. Conflicts with stack_policy_url. string null no
stack_policy_url Location of a file containing the stack policy body. Conflicts with stack_policy_body. string null no
stack_tags Tag key-value pairs to apply to the stack map(string) null no
template_key Name of the S3 path/key where the Cloudformation template will be created. Defaults to cid-cfn.yml string "cid-cfn.yml" no

Outputs

Name Description
stack_outputs CloudFormation stack outputs (map of strings)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors