# snowcli

Runs a Snowflake CLI command.

## Parameters

| Name         | Description                            | Type     | Default                                                       | Required |
|--------------|----------------------------------------|----------|---------------------------------------------------------------|----------|
| command      | Command to run                         | `string` | n/a                                                           | yes      |
| account      | Snowflake account name                 | `string` | n/a                                                           | yes      |
| user         | Snowflake user name                    | `string` | n/a                                                           | yes      |
| database     | Snowflake database name                | `string` | n/a                                                           | yes      |
| schema       | Snowflake schema name                  | `string` | n/a                                                           | yes      |
| role         | Snowflake role name                    | `string` | n/a                                                           | yes      |
| warehouse    | Snowflake warehouse name               | `string` | n/a                                                           | yes      |
| password     | Snowflake password                     | `string` | n/a                                                           | yes      |
| snowcliImage | URI of the SnowCLI Docker image to use | `string` | `086679231553.dkr.ecr.us-east-1.amazonaws.com/snowcli:latest` | no       |

## Usage

```groovy
stage('Run SnowCLI') {
    steps {
        withSecrets(awsAccountId: '123456789012', awsRole: 'role-to-assume', secrets: [
            [id: 'prod/service_name/SNOWFLAKE_PRIVATE_KEY', environmentVariable: 'SNOWFLAKE_PRIVATE_KEY_RAW'],
            [id: 'prod/service_name/SNOWFLAKE_PRIVATE_KEY_PASSPHRASE', environmentVariable: 'PRIVATE_KEY_PASSPHRASE'],
        ]) {
            snowcli(
                command: 'connection test',
                account: 'account_name',
                user: 'user_name',
                database: 'database_name',
                schema: 'schema_name',
                role: 'role_name',
                warehouse: 'warehouse_name'
            )
        }
    }
}
```
