@@ -32,7 +32,7 @@ resource "trocco_connection" "bigquery" {
3232}
3333```
3434
35- ### Snowflake
35+ ### Snowflake
3636
3737``` terraform
3838resource "trocco_connection" "snowflake" {
@@ -161,18 +161,20 @@ resource "trocco_connection" "s3_with_assume_role" {
161161- ` aws_auth_type ` (String) S3: The authentication type for the S3 connection. It must be one of ` iam_user ` or ` assume_role ` .
162162- ` aws_iam_user ` (Attributes) S3: IAM User configuration. (see [ below for nested schema] ( #nestedatt--aws_iam_user ) )
163163- ` description ` (String) The description of the connection.
164- - ` gateway ` (Attributes) MySQL: Whether to connect via SSH (see [ below for nested schema] ( #nestedatt--gateway ) )
165- - ` host ` (String) Snowflake: The host of a Snowflake account.
166- - ` password ` (String, Sensitive) Snowflake: The password for the Snowflake user.
167- - ` port ` (Number) MySQL: The port of the MySQL server.
164+ - ` driver ` (String) PostgreSQL: The name of a PostgreSQL driver.
165+ - ` gateway ` (Attributes) MySQL, PostgreSQL: Whether to connect via SSH (see [ below for nested schema] ( #nestedatt--gateway ) )
166+ - ` host ` (String) Snowflake, PostgreSQL: The host of a (Snowflake, PostgreSQL) account.
167+ - ` password ` (String, Sensitive) Snowflake, PostgreSQL: The password for the (Snowflake, PostgreSQL) user.
168+ - ` port ` (Number) MySQL, PostgreSQL: The port of the (MySQL, PostgreSQL) server.
168169- ` private_key ` (String, Sensitive) Snowflake: A private key for the Snowflake user.
169170- ` project_id ` (String) BigQuery, GCS: A GCP project ID.
170171- ` resource_group_id ` (Number) The ID of the resource group the connection belongs to.
171172- ` role ` (String) Snowflake: A role attached to the Snowflake user.
172173- ` service_account_email ` (String, Sensitive) GCS: A GCP service account email.
173174- ` service_account_json_key ` (String, Sensitive) BigQuery: A GCP service account key.
174- - ` ssl ` (Attributes) MySQL: SSL configuration. (see [ below for nested schema] ( #nestedatt--ssl ) )
175- - ` user_name ` (String) Snowflake: The name of a Snowflake user.
175+ - ` ssl ` (Attributes) MySQL, PostgreSQL: SSL configuration. (see [ below for nested schema] ( #nestedatt--ssl ) )
176+ - ` ssl_mode ` (String) PostgreSQL: SSL connection mode.
177+ - ` user_name ` (String) Snowflake, PostgreSQL: The name of a (Snowflake, PostgreSQL) user.
176178
177179### Read-Only
178180
@@ -201,26 +203,72 @@ Optional:
201203
202204Optional:
203205
204- - ` host ` (String, Sensitive) MySQL: SSH Host
205- - ` key ` (String, Sensitive) MySQL: SSH Private Key
206- - ` key_passphrase ` (String, Sensitive) MySQL: SSH Private Key Passphrase
207- - ` password ` (String, Sensitive) MySQL: SSH Password
208- - ` port ` (Number, Sensitive) MySQL: SSH Port
209- - ` user_name ` (String, Sensitive) MySQL: SSH User
206+ - ` host ` (String, Sensitive) MySQL, PostgreSQL : SSH Host
207+ - ` key ` (String, Sensitive) MySQL, PostgreSQL : SSH Private Key
208+ - ` key_passphrase ` (String, Sensitive) MySQL, PostgreSQL : SSH Private Key Passphrase
209+ - ` password ` (String, Sensitive) MySQL, PostgreSQL : SSH Password
210+ - ` port ` (Number, Sensitive) MySQL, PostgreSQL : SSH Port
211+ - ` user_name ` (String, Sensitive) MySQL, PostgreSQL : SSH User
210212
211213
212214<a id =" nestedatt--ssl " ></a >
213215### Nested Schema for ` ssl `
214216
215217Optional:
216218
217- - ` ca ` (String, Sensitive) MySQL: CA certificate
218- - ` cert ` (String, Sensitive) MySQL: Certificate (CRT file)
219- - ` key ` (String, Sensitive) MySQL: Key (KEY file)
219+ - ` ca ` (String, Sensitive) MySQL, PostgreSQL : CA certificate
220+ - ` cert ` (String, Sensitive) MySQL, PostgreSQL : Certificate (CRT file)
221+ - ` key ` (String, Sensitive) MySQL, PostgreSQL : Key (KEY file)
220222
221223
222224
223225
226+ ### PostgreSQL
227+
228+ ``` terraform
229+ resource "trocco_connection" "postgresql" {
230+ connection_type = "postgresql"
231+ name = "PostgreSQL Example"
232+ description = "This is a PostgreSQL connection example"
233+ host = "db.example.com"
234+ port = 5432
235+ user_name = "root"
236+ password = "password"
237+ ssl_mode = "require"
238+ driver = "postgresql_42_5_1"
239+ ssl = {
240+ ca = <<-SSL_CA
241+ -----BEGIN PRIVATE KEY-----
242+ ...SSL CA...
243+ -----END PRIVATE KEY-----
244+ SSL_CA
245+ cert = <<-SSL_CERT
246+ -----BEGIN CERTIFICATE-----
247+ ...SSL CRT...
248+ -----END CERTIFICATE-----
249+ SSL_CERT
250+ key = <<-SSL_KEY
251+ -----BEGIN PRIVATE KEY-----
252+ ...SSL KEY...
253+ -----END PRIVATE KEY-----
254+ SSL_KEY
255+ }
256+ gateway = {
257+ host = "gateway.example.com"
258+ port = 1234
259+ user_name = "gateway-joe"
260+ password = "gateway-joepass"
261+ key = <<-GATEWAY_KEY
262+ -----BEGIN PRIVATE KEY-----
263+ ... GATEWAY KEY...
264+ -----END PRIVATE KEY-----
265+ GATEWAY_KEY
266+ key_passphrase = "sample_passphrase"
267+ }
268+ resource_group_id = 1
269+ }
270+ ```
271+
224272## Import
225273
226274Import is supported using the following syntax:
0 commit comments