@@ -32,7 +32,7 @@ resource "trocco_connection" "bigquery" {
32
32
}
33
33
```
34
34
35
- ### Snowflake
35
+ ### Snowflake
36
36
37
37
``` terraform
38
38
resource "trocco_connection" "snowflake" {
@@ -161,18 +161,20 @@ resource "trocco_connection" "s3_with_assume_role" {
161
161
- ` aws_auth_type ` (String) S3: The authentication type for the S3 connection. It must be one of ` iam_user ` or ` assume_role ` .
162
162
- ` aws_iam_user ` (Attributes) S3: IAM User configuration. (see [ below for nested schema] ( #nestedatt--aws_iam_user ) )
163
163
- ` 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.
168
169
- ` private_key ` (String, Sensitive) Snowflake: A private key for the Snowflake user.
169
170
- ` project_id ` (String) BigQuery, GCS: A GCP project ID.
170
171
- ` resource_group_id ` (Number) The ID of the resource group the connection belongs to.
171
172
- ` role ` (String) Snowflake: A role attached to the Snowflake user.
172
173
- ` service_account_email ` (String, Sensitive) GCS: A GCP service account email.
173
174
- ` 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.
176
178
177
179
### Read-Only
178
180
@@ -201,26 +203,72 @@ Optional:
201
203
202
204
Optional:
203
205
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
210
212
211
213
212
214
<a id =" nestedatt--ssl " ></a >
213
215
### Nested Schema for ` ssl `
214
216
215
217
Optional:
216
218
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)
220
222
221
223
222
224
223
225
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
+
224
272
## Import
225
273
226
274
Import is supported using the following syntax:
0 commit comments