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.
Run pre-commit install to install any guardrails implemented using pre-commit.
See pre-commit installation on how to install pre-commit.
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
}
}- 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.
| Name | Version |
|---|---|
| terraform | >= 1.0 |
| aws | >= 3.0 |
| Name | Version |
|---|---|
| aws | >= 3.0 |
| random | n/a |
No modules.
| Name | Type |
|---|---|
| aws_cloudformation_stack.cid | resource |
| aws_s3_bucket.template_bucket | resource |
| aws_s3_object.template | resource |
| random_id.bucket_suffix | resource |
| 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 |
| Name | Description |
|---|---|
| stack_outputs | CloudFormation stack outputs (map of strings) |
