# snowsql

Runs Snowflake snowSQL tool.

## Parameters

| Name           | Description                                                                                                                                                                                                               | Type           | Default                     | Required |
|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|-----------------------------|----------|
| script         | Name of the script to run | `string` | n/a | yes

## Environment Variables

| Name              | Description                                                                                                                                                                                                               | Type           | Default                     | Required |
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|-----------------------------|----------|
| SNOWSQL_ACCOUNT   | Snowflake account name | `string` | n/a | yes
| SNOWSQL_USER      | Snowflake user name | `string` | n/a | yes
| SNOWSQL_ROLE      | Snowflake role name | `string` | n/a | yes
| SNOWSQL_WAREHOUSE | Snowflake warehouse name | `string` | n/a | yes
| SNOWSQL_DATABASE  | Snowflake database name | `string` | n/a | yes
| SNOWSQL_SCHEMA    | Snowflake schema name | `string` | n/a | yes
| SNOWSQL_PWD       | Snowflake password | `string` | n/a | yes

## Usage

```groovy
stage('Run SnowSQL') {
    steps {
        withSecrets(awsAccountId: '123456789012', awsRole: 'role-to-assume', secrets: [
            [id: 'prod/job_name/SNOWSQL_PWD', environmentVariable: 'SNOWSQL_PWD'],
        ]) {
            withEnv([
                SNOWSQL_ACCOUNT: 'account_name',
                SNOWSQL_USER: 'user_name',
                SNOWSQL_ROLE: 'role_name',
                SNOWSQL_WAREHOUSE: 'warehouse_name',
                SNOWSQL_DATABASE: 'database_name',
                SNOWSQL_SCHEMA: 'schema_name',
            ]) {
                snowsql(
                    scriptName: 'my_script.sql',
                )
            }
        }
    }
}
```
