Boring Data
Template: AWS+Snowflake
Template: AWS+Snowflake
  • Introduction
    • Overview
    • Key Concepts
    • Get Started
  • Project Structure
    • pipelines/
      • Ingestion: dlt + lambda
      • Transformation: dbt
    • base/aws/
    • base/snowflake/
    • live/
  • Guides
    • Add a New Pipeline
    • CI Deployment
  • Help
    • FAQ
Powered by GitBook
On this page
Edit on GitHub
  1. Project Structure

base/snowflake/

Previousbase/aws/Nextlive/

Last updated 5 months ago

CtrlK
  • snowflake/
  • Example Usage
  • Filetree
  • Diagram
  • Requirements
  • Providers
  • Modules
  • Resources
  • Inputs
  • Outputs

snowflake/

This module creates the necessary Snowflake resources for the data platform:

  • Database and schemas

  • Warehouse

  • Technical user with appropriate permissions (used typically by dbt)

Example Usage

module "snowflake" {
  source = "git::https://github.com/boringdata/boringdata-template-aws-snowflake.git//base/snowflake"
  environment = "dev"
}

Filetree

base/
└── snowflake/
    ├── data.tf          # Snowflake account data sources
    ├── db.tf            # Database definition
    ├── locals.tf
    ├── outputs.tf
    ├── schema.tf        # Schema definitions
    ├── tech_user.tf     # Technical user and permissions
    ├── variables.tf
    ├── versions.tf      # Snowflake provider versions
    └── warehouse.tf     # Warehouse configuration

Diagram

Requirements

Name
Version

terraform

>=1.5.7

snowflake

>=1.0.0

Providers

Name
Version

snowflake

1.0.4

tls

4.0.6

Modules

No modules.

Resources

Name
Type

snowflake_account_role.tech_user_role

resource

snowflake_database.snowflake_database

resource

snowflake_database_role.snowflake_database_role

resource

snowflake_grant_account_role.tech_user_grant_tech_user_role

resource

snowflake_grant_account_role.tech_user_role_grant_accountadmin

resource

snowflake_grant_database_role.grant_db_role_to_accountadmin

resource

snowflake_grant_database_role.grant_tech_user_role_to_db_role

resource

snowflake_grant_privileges_to_account_role.tech_user_warehouse_access

resource

snowflake_grant_privileges_to_database_role.grant_tech_user_objects_all

resource

snowflake_grant_privileges_to_database_role.grant_tech_user_objects_all_future

resource

snowflake_grant_privileges_to_database_role.tech_user_db_access

resource

snowflake_grant_privileges_to_database_role.tech_user_schema_access

resource

snowflake_schema.snowflake_schemas

resource

snowflake_user.tech_user

resource

snowflake_warehouse.snowflake_warehouse

resource

tls_private_key.tech_user_private_key

resource

snowflake_accounts.account

data source

Inputs

Name
Description
Type
Default
Required

environment

The environment to deploy to - will prefix the name of all resources

string

n/a

yes

Outputs

Name
Description

secrets

n/a

ssm_parameters

n/a