@ryan-pip/pulumi-fivetran 1.9.4-alpha.2 → 1.9.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/connection.d.ts +341 -0
  2. package/connection.d.ts.map +1 -0
  3. package/connection.js +239 -0
  4. package/connection.js.map +1 -0
  5. package/connectionConfig.d.ts +243 -0
  6. package/connectionConfig.d.ts.map +1 -0
  7. package/connectionConfig.js +219 -0
  8. package/connectionConfig.js.map +1 -0
  9. package/connector.d.ts +36 -34
  10. package/connector.d.ts.map +1 -1
  11. package/connector.js +2 -0
  12. package/connector.js.map +1 -1
  13. package/connectorCertificates.d.ts +3 -3
  14. package/connectorCertificates.d.ts.map +1 -1
  15. package/connectorFingerprints.d.ts +3 -3
  16. package/connectorFingerprints.d.ts.map +1 -1
  17. package/connectorSchedule.d.ts +54 -16
  18. package/connectorSchedule.d.ts.map +1 -1
  19. package/connectorSchedule.js +6 -3
  20. package/connectorSchedule.js.map +1 -1
  21. package/connectorSchemaConfig.d.ts +39 -15
  22. package/connectorSchemaConfig.d.ts.map +1 -1
  23. package/connectorSchemaConfig.js +4 -3
  24. package/connectorSchemaConfig.js.map +1 -1
  25. package/connectorSdkPackage.d.ts +107 -0
  26. package/connectorSdkPackage.d.ts.map +1 -0
  27. package/connectorSdkPackage.js +115 -0
  28. package/connectorSdkPackage.js.map +1 -0
  29. package/destination.d.ts +38 -26
  30. package/destination.d.ts.map +1 -1
  31. package/destination.js +2 -0
  32. package/destination.js.map +1 -1
  33. package/destinationCertificates.d.ts +3 -3
  34. package/destinationCertificates.d.ts.map +1 -1
  35. package/destinationFingerprints.d.ts +3 -3
  36. package/destinationFingerprints.d.ts.map +1 -1
  37. package/externalLogging.d.ts +8 -8
  38. package/externalLogging.d.ts.map +1 -1
  39. package/getConnection.d.ts +8 -8
  40. package/getConnection.d.ts.map +1 -1
  41. package/getConnectionCertificates.d.ts +1 -1
  42. package/getConnectionCertificates.d.ts.map +1 -1
  43. package/getConnectionFingerprints.d.ts +1 -1
  44. package/getConnectionFingerprints.d.ts.map +1 -1
  45. package/getConnections.d.ts +25 -1
  46. package/getConnections.d.ts.map +1 -1
  47. package/getConnections.js +4 -0
  48. package/getConnections.js.map +1 -1
  49. package/getConnector.d.ts +3 -3
  50. package/getConnector.d.ts.map +1 -1
  51. package/getConnectorCertificates.d.ts +1 -1
  52. package/getConnectorCertificates.d.ts.map +1 -1
  53. package/getConnectorFingerprints.d.ts +1 -1
  54. package/getConnectorFingerprints.d.ts.map +1 -1
  55. package/getConnectors.d.ts +1 -1
  56. package/getConnectors.d.ts.map +1 -1
  57. package/getConnectorsMetadata.d.ts +1 -1
  58. package/getConnectorsMetadata.d.ts.map +1 -1
  59. package/getDestination.d.ts +2 -1
  60. package/getDestination.d.ts.map +1 -1
  61. package/getDestination.js.map +1 -1
  62. package/getDestinationCertificates.d.ts +1 -1
  63. package/getDestinationCertificates.d.ts.map +1 -1
  64. package/getDestinationFingerprints.d.ts +1 -1
  65. package/getDestinationFingerprints.d.ts.map +1 -1
  66. package/getDestinations.d.ts +1 -1
  67. package/getDestinations.d.ts.map +1 -1
  68. package/getExternalLogging.d.ts +2 -2
  69. package/getExternalLogging.d.ts.map +1 -1
  70. package/getExternalLogs.d.ts +1 -1
  71. package/getExternalLogs.d.ts.map +1 -1
  72. package/getGroupConnections.d.ts +2 -2
  73. package/getGroupConnections.d.ts.map +1 -1
  74. package/getGroupConnectors.d.ts +2 -2
  75. package/getGroupConnectors.d.ts.map +1 -1
  76. package/getGroupUsers.d.ts +1 -1
  77. package/getGroupUsers.d.ts.map +1 -1
  78. package/getGroups.d.ts +1 -1
  79. package/getGroups.d.ts.map +1 -1
  80. package/getPrivateLinks.d.ts +1 -1
  81. package/getPrivateLinks.d.ts.map +1 -1
  82. package/getProxyAgents.d.ts +1 -1
  83. package/getProxyAgents.d.ts.map +1 -1
  84. package/getQuickstartPackage.d.ts +7 -0
  85. package/getQuickstartPackage.d.ts.map +1 -1
  86. package/getQuickstartPackage.js.map +1 -1
  87. package/getQuickstartPackages.d.ts +1 -1
  88. package/getQuickstartPackages.d.ts.map +1 -1
  89. package/getRoles.d.ts +1 -1
  90. package/getRoles.d.ts.map +1 -1
  91. package/getTeamConnectionMemberships.d.ts +1 -1
  92. package/getTeamConnectionMemberships.d.ts.map +1 -1
  93. package/getTeamConnectorMemberships.d.ts +1 -1
  94. package/getTeamConnectorMemberships.d.ts.map +1 -1
  95. package/getTeamGroupMemberships.d.ts +1 -1
  96. package/getTeamGroupMemberships.d.ts.map +1 -1
  97. package/getTeamUserMemberships.d.ts +1 -1
  98. package/getTeamUserMemberships.d.ts.map +1 -1
  99. package/getTeams.d.ts +2 -2
  100. package/getTeams.d.ts.map +1 -1
  101. package/getTransformation.d.ts +2 -2
  102. package/getTransformation.d.ts.map +1 -1
  103. package/getTransformationProject.d.ts +1 -1
  104. package/getTransformationProject.d.ts.map +1 -1
  105. package/getTransformations.d.ts +1 -1
  106. package/getTransformations.d.ts.map +1 -1
  107. package/getUserConnectionMemberships.d.ts +1 -1
  108. package/getUserConnectionMemberships.d.ts.map +1 -1
  109. package/getUserConnectorMemberships.d.ts +1 -1
  110. package/getUserConnectorMemberships.d.ts.map +1 -1
  111. package/getUserGroupMemberships.d.ts +1 -1
  112. package/getUserGroupMemberships.d.ts.map +1 -1
  113. package/getUsers.d.ts +2 -2
  114. package/getUsers.d.ts.map +1 -1
  115. package/group.d.ts +4 -4
  116. package/group.d.ts.map +1 -1
  117. package/groupUsers.d.ts +32 -6
  118. package/groupUsers.d.ts.map +1 -1
  119. package/groupUsers.js +28 -2
  120. package/groupUsers.js.map +1 -1
  121. package/hybridDeploymentAgent.d.ts +11 -11
  122. package/hybridDeploymentAgent.d.ts.map +1 -1
  123. package/index.d.ts +9 -0
  124. package/index.d.ts.map +1 -1
  125. package/index.js +18 -3
  126. package/index.js.map +1 -1
  127. package/package.json +2 -2
  128. package/privateLink.d.ts +11 -11
  129. package/privateLink.d.ts.map +1 -1
  130. package/provider.d.ts +3 -3
  131. package/provider.d.ts.map +1 -1
  132. package/proxyAgent.d.ts +9 -9
  133. package/proxyAgent.d.ts.map +1 -1
  134. package/team.d.ts +5 -5
  135. package/team.d.ts.map +1 -1
  136. package/teamConnectorMembership.d.ts +5 -5
  137. package/teamConnectorMembership.d.ts.map +1 -1
  138. package/teamConnectorMembership.js +2 -2
  139. package/teamGroupMembership.d.ts +5 -5
  140. package/teamGroupMembership.d.ts.map +1 -1
  141. package/teamGroupMembership.js +2 -2
  142. package/teamUserMembership.d.ts +5 -5
  143. package/teamUserMembership.d.ts.map +1 -1
  144. package/teamUserMembership.js +2 -2
  145. package/transformation.d.ts +12 -14
  146. package/transformation.d.ts.map +1 -1
  147. package/transformation.js +0 -2
  148. package/transformation.js.map +1 -1
  149. package/transformationProject.d.ts +10 -12
  150. package/transformationProject.d.ts.map +1 -1
  151. package/transformationProject.js +0 -2
  152. package/transformationProject.js.map +1 -1
  153. package/types/input.d.ts +6124 -2630
  154. package/types/input.d.ts.map +1 -1
  155. package/types/output.d.ts +2677 -312
  156. package/types/output.d.ts.map +1 -1
  157. package/user.d.ts +15 -15
  158. package/user.d.ts.map +1 -1
  159. package/userConnectorMembership.d.ts +5 -5
  160. package/userConnectorMembership.d.ts.map +1 -1
  161. package/userConnectorMembership.js +2 -2
  162. package/userGroupMembership.d.ts +5 -5
  163. package/userGroupMembership.d.ts.map +1 -1
  164. package/userGroupMembership.js +2 -2
  165. package/webhook.d.ts +11 -11
  166. package/webhook.d.ts.map +1 -1
@@ -0,0 +1,341 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * This resource allows you to create, update, and delete connections in Fivetran using JSON-based configuration.
6
+ *
7
+ * The `fivetran.Connection` resource creates a connection with basic metadata (service type, destination schema, networking options). To configure connection details like host, port, credentials, use the `fivetran.ConnectionConfig` resource.
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ### Basic PostgreSQL Connection with Minimal Config
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
16
+ *
17
+ * const example = new fivetran.Group("example", {name: "My Destination"});
18
+ * const postgres = new fivetran.Connection("postgres", {
19
+ * groupId: example.id,
20
+ * service: "postgres",
21
+ * destinationSchema: {
22
+ * prefix: "my_postgres",
23
+ * },
24
+ * config: JSON.stringify({
25
+ * update_method: "XMIN",
26
+ * }),
27
+ * runSetupTests: false,
28
+ * trustCertificates: false,
29
+ * trustFingerprints: false,
30
+ * });
31
+ * ```
32
+ *
33
+ * ### PostgreSQL Connection with Full Configuration
34
+ *
35
+ * ```typescript
36
+ * import * as pulumi from "@pulumi/pulumi";
37
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
38
+ *
39
+ * const postgresFull = new fivetran.Connection("postgres_full", {
40
+ * groupId: example.id,
41
+ * service: "postgres",
42
+ * destinationSchema: {
43
+ * prefix: "my_postgres",
44
+ * },
45
+ * config: JSON.stringify({
46
+ * update_method: "XMIN",
47
+ * host: databaseConfig.host,
48
+ * port: 5432,
49
+ * database: "mydb",
50
+ * user: "fivetran_user",
51
+ * }),
52
+ * runSetupTests: false,
53
+ * });
54
+ * ```
55
+ *
56
+ * ### MySQL Connection with Proxy Agent
57
+ *
58
+ * ```typescript
59
+ * import * as pulumi from "@pulumi/pulumi";
60
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
61
+ *
62
+ * const example = new fivetran.ProxyAgent("example", {
63
+ * displayName: "My Proxy Agent",
64
+ * groupRegion: "GCP_US_EAST4",
65
+ * });
66
+ * const mysql = new fivetran.Connection("mysql", {
67
+ * groupId: exampleFivetranGroup.id,
68
+ * service: "mysql",
69
+ * destinationSchema: {
70
+ * prefix: "my_mysql",
71
+ * },
72
+ * networkingMethod: "ProxyAgent",
73
+ * proxyAgentId: example.id,
74
+ * runSetupTests: false,
75
+ * });
76
+ * ```
77
+ *
78
+ * ### S3 Connection with Custom Schema Name
79
+ *
80
+ * ```typescript
81
+ * import * as pulumi from "@pulumi/pulumi";
82
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
83
+ *
84
+ * const s3 = new fivetran.Connection("s3", {
85
+ * groupId: example.id,
86
+ * service: "s3",
87
+ * destinationSchema: {
88
+ * name: "s3_data_schema",
89
+ * },
90
+ * runSetupTests: false,
91
+ * });
92
+ * ```
93
+ *
94
+ * ### Connection with Data Delay Settings
95
+ *
96
+ * ```typescript
97
+ * import * as pulumi from "@pulumi/pulumi";
98
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
99
+ *
100
+ * const snowflakeConnection = new fivetran.Connection("snowflake_connection", {
101
+ * groupId: example.id,
102
+ * service: "snowflake",
103
+ * destinationSchema: {
104
+ * prefix: "snowflake_data",
105
+ * },
106
+ * dataDelaySensitivity: "HIGH",
107
+ * dataDelayThreshold: 30,
108
+ * runSetupTests: false,
109
+ * });
110
+ * ```
111
+ *
112
+ * ## Notes
113
+ *
114
+ * - **Configuration Details:** This resource creates the connection structure. To configure connection-specific details (host, port, credentials, etc.), use the `fivetran.ConnectionConfig` resource.
115
+ * - **Setup Tests:** When `runSetupTests` is `true`, Fivetran will validate the connection configuration. Any test failures will appear as warnings in the Terraform output.
116
+ * - **Paused State:** Connections are created in a paused state by default. Use the connection schedule resource or the Fivetran UI to unpause the connection.
117
+ * - **Service Types:** See the [Fivetran documentation](https://fivetran.com/docs/connectors) for the complete list of available connection services.
118
+ *
119
+ * ## See Also
120
+ *
121
+ * - `fivetran.ConnectionConfig` - Configure connection details (host, credentials, etc.)
122
+ * - `fivetran.ConnectorSchedule` - Manage connection sync schedules
123
+ * - `fivetranConnectorSchema` - Manage connection schema settings
124
+ *
125
+ * ## Import
126
+ *
127
+ * Connections can be imported using the connection ID:
128
+ *
129
+ * ```sh
130
+ * $ pulumi import fivetran:index/connection:Connection example connection_id_here
131
+ * ```
132
+ *
133
+ * **Note:** When importing, the `runSetupTests`, `trustCertificates`, and `trustFingerprints` attributes will not be imported as they are plan-only attributes.
134
+ */
135
+ export declare class Connection extends pulumi.CustomResource {
136
+ /**
137
+ * Get an existing Connection resource's state with the given name, ID, and optional extra
138
+ * properties used to qualify the lookup.
139
+ *
140
+ * @param name The _unique_ name of the resulting resource.
141
+ * @param id The _unique_ provider ID of the resource to lookup.
142
+ * @param state Any extra arguments used during the lookup.
143
+ * @param opts Optional settings to control the behavior of the CustomResource.
144
+ */
145
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ConnectionState, opts?: pulumi.CustomResourceOptions): Connection;
146
+ /**
147
+ * Returns true if the given object is an instance of Connection. This is designed to work even
148
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
149
+ */
150
+ static isInstance(obj: any): obj is Connection;
151
+ /**
152
+ * Optional connection configuration as a JSON-encoded string. This config is merged with destinationSchema fields and sent to the API during creation. The connection resource does not read this field back, allowing it to be managed separately by the `fivetran.ConnectionConfig` resource. Use this to provide service-specific required fields (e.g., `updateMethod` for Postgres/MySQL) or full connection configuration.
153
+ */
154
+ readonly config: pulumi.Output<string | undefined>;
155
+ /**
156
+ * The unique identifier of the user who has created the connection in your account.
157
+ */
158
+ readonly connectedBy: pulumi.Output<string>;
159
+ /**
160
+ * The timestamp of the time the connection was created in your account.
161
+ */
162
+ readonly createdAt: pulumi.Output<string>;
163
+ /**
164
+ * The level of data delay notification threshold. Possible values: LOW, NORMAL, HIGH, CUSTOM, SYNC_FREQUENCY. The default value NORMAL. CUSTOM is only available for customers using the [Enterprise plan](https://fivetran.com/docs/getting-started/pricing#fivetranplans) or above.
165
+ */
166
+ readonly dataDelaySensitivity: pulumi.Output<string | undefined>;
167
+ /**
168
+ * Custom sync delay notification threshold in minutes. The default value is 0. This parameter is only used when data*delay*sensitivity set to CUSTOM.
169
+ */
170
+ readonly dataDelayThreshold: pulumi.Output<number>;
171
+ readonly destinationSchema: pulumi.Output<outputs.ConnectionDestinationSchema | undefined>;
172
+ /**
173
+ * The unique identifier for the Group (Destination) within the Fivetran system.
174
+ */
175
+ readonly groupId: pulumi.Output<string>;
176
+ /**
177
+ * The hybrid deployment agent ID that refers to the controller created for the group the connection belongs to. If the value is specified, the system will try to associate the connection with an existing agent.
178
+ */
179
+ readonly hybridDeploymentAgentId: pulumi.Output<string | undefined>;
180
+ /**
181
+ * The name used both as the connection's name within the Fivetran system and as the source schema's name within your destination.
182
+ */
183
+ readonly name: pulumi.Output<string>;
184
+ /**
185
+ * The networking method for the connection. Possible values: `Directly`, `SshTunnel`, `ProxyAgent`, `PrivateLink`.
186
+ */
187
+ readonly networkingMethod: pulumi.Output<string>;
188
+ /**
189
+ * The private link ID. Required when `networkingMethod` is `PrivateLink`.
190
+ */
191
+ readonly privateLinkId: pulumi.Output<string | undefined>;
192
+ /**
193
+ * The ID of the proxy agent to use. Required when `networkingMethod` is `ProxyAgent`.
194
+ */
195
+ readonly proxyAgentId: pulumi.Output<string | undefined>;
196
+ /**
197
+ * Whether to run setup tests when creating the connection. Default: `false`. **Note:** This is a plan-only attribute and will not be stored in state.
198
+ */
199
+ readonly runSetupTests: pulumi.Output<boolean>;
200
+ /**
201
+ * The connection service type (e.g., `postgres`, `mysql`, `s3`, `snowflake`). See [Fivetran connection types documentation](https://fivetran.com/docs/connectors) for available services.
202
+ */
203
+ readonly service: pulumi.Output<string>;
204
+ /**
205
+ * Specifies whether we should trust the certificate automatically. The default value is FALSE. If a certificate is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination certificate](https://fivetran.com/docs/rest-api/certificates#approveadestinationcertificate). **Note:** This is a plan-only attribute.
206
+ */
207
+ readonly trustCertificates: pulumi.Output<boolean>;
208
+ /**
209
+ * Specifies whether we should trust the SSH fingerprint automatically. The default value is FALSE. If a fingerprint is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination fingerprint](https://fivetran.com/docs/rest-api/certificates#approveadestinationfingerprint). **Note:** This is a plan-only attribute.
210
+ */
211
+ readonly trustFingerprints: pulumi.Output<boolean>;
212
+ /**
213
+ * Create a Connection resource with the given unique name, arguments, and options.
214
+ *
215
+ * @param name The _unique_ name of the resource.
216
+ * @param args The arguments to use to populate this resource's properties.
217
+ * @param opts A bag of options that control this resource's behavior.
218
+ */
219
+ constructor(name: string, args: ConnectionArgs, opts?: pulumi.CustomResourceOptions);
220
+ }
221
+ /**
222
+ * Input properties used for looking up and filtering Connection resources.
223
+ */
224
+ export interface ConnectionState {
225
+ /**
226
+ * Optional connection configuration as a JSON-encoded string. This config is merged with destinationSchema fields and sent to the API during creation. The connection resource does not read this field back, allowing it to be managed separately by the `fivetran.ConnectionConfig` resource. Use this to provide service-specific required fields (e.g., `updateMethod` for Postgres/MySQL) or full connection configuration.
227
+ */
228
+ config?: pulumi.Input<string | undefined>;
229
+ /**
230
+ * The unique identifier of the user who has created the connection in your account.
231
+ */
232
+ connectedBy?: pulumi.Input<string | undefined>;
233
+ /**
234
+ * The timestamp of the time the connection was created in your account.
235
+ */
236
+ createdAt?: pulumi.Input<string | undefined>;
237
+ /**
238
+ * The level of data delay notification threshold. Possible values: LOW, NORMAL, HIGH, CUSTOM, SYNC_FREQUENCY. The default value NORMAL. CUSTOM is only available for customers using the [Enterprise plan](https://fivetran.com/docs/getting-started/pricing#fivetranplans) or above.
239
+ */
240
+ dataDelaySensitivity?: pulumi.Input<string | undefined>;
241
+ /**
242
+ * Custom sync delay notification threshold in minutes. The default value is 0. This parameter is only used when data*delay*sensitivity set to CUSTOM.
243
+ */
244
+ dataDelayThreshold?: pulumi.Input<number | undefined>;
245
+ destinationSchema?: pulumi.Input<inputs.ConnectionDestinationSchema | undefined>;
246
+ /**
247
+ * The unique identifier for the Group (Destination) within the Fivetran system.
248
+ */
249
+ groupId?: pulumi.Input<string | undefined>;
250
+ /**
251
+ * The hybrid deployment agent ID that refers to the controller created for the group the connection belongs to. If the value is specified, the system will try to associate the connection with an existing agent.
252
+ */
253
+ hybridDeploymentAgentId?: pulumi.Input<string | undefined>;
254
+ /**
255
+ * The name used both as the connection's name within the Fivetran system and as the source schema's name within your destination.
256
+ */
257
+ name?: pulumi.Input<string | undefined>;
258
+ /**
259
+ * The networking method for the connection. Possible values: `Directly`, `SshTunnel`, `ProxyAgent`, `PrivateLink`.
260
+ */
261
+ networkingMethod?: pulumi.Input<string | undefined>;
262
+ /**
263
+ * The private link ID. Required when `networkingMethod` is `PrivateLink`.
264
+ */
265
+ privateLinkId?: pulumi.Input<string | undefined>;
266
+ /**
267
+ * The ID of the proxy agent to use. Required when `networkingMethod` is `ProxyAgent`.
268
+ */
269
+ proxyAgentId?: pulumi.Input<string | undefined>;
270
+ /**
271
+ * Whether to run setup tests when creating the connection. Default: `false`. **Note:** This is a plan-only attribute and will not be stored in state.
272
+ */
273
+ runSetupTests?: pulumi.Input<boolean | undefined>;
274
+ /**
275
+ * The connection service type (e.g., `postgres`, `mysql`, `s3`, `snowflake`). See [Fivetran connection types documentation](https://fivetran.com/docs/connectors) for available services.
276
+ */
277
+ service?: pulumi.Input<string | undefined>;
278
+ /**
279
+ * Specifies whether we should trust the certificate automatically. The default value is FALSE. If a certificate is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination certificate](https://fivetran.com/docs/rest-api/certificates#approveadestinationcertificate). **Note:** This is a plan-only attribute.
280
+ */
281
+ trustCertificates?: pulumi.Input<boolean | undefined>;
282
+ /**
283
+ * Specifies whether we should trust the SSH fingerprint automatically. The default value is FALSE. If a fingerprint is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination fingerprint](https://fivetran.com/docs/rest-api/certificates#approveadestinationfingerprint). **Note:** This is a plan-only attribute.
284
+ */
285
+ trustFingerprints?: pulumi.Input<boolean | undefined>;
286
+ }
287
+ /**
288
+ * The set of arguments for constructing a Connection resource.
289
+ */
290
+ export interface ConnectionArgs {
291
+ /**
292
+ * Optional connection configuration as a JSON-encoded string. This config is merged with destinationSchema fields and sent to the API during creation. The connection resource does not read this field back, allowing it to be managed separately by the `fivetran.ConnectionConfig` resource. Use this to provide service-specific required fields (e.g., `updateMethod` for Postgres/MySQL) or full connection configuration.
293
+ */
294
+ config?: pulumi.Input<string | undefined>;
295
+ /**
296
+ * The level of data delay notification threshold. Possible values: LOW, NORMAL, HIGH, CUSTOM, SYNC_FREQUENCY. The default value NORMAL. CUSTOM is only available for customers using the [Enterprise plan](https://fivetran.com/docs/getting-started/pricing#fivetranplans) or above.
297
+ */
298
+ dataDelaySensitivity?: pulumi.Input<string | undefined>;
299
+ /**
300
+ * Custom sync delay notification threshold in minutes. The default value is 0. This parameter is only used when data*delay*sensitivity set to CUSTOM.
301
+ */
302
+ dataDelayThreshold?: pulumi.Input<number | undefined>;
303
+ destinationSchema?: pulumi.Input<inputs.ConnectionDestinationSchema | undefined>;
304
+ /**
305
+ * The unique identifier for the Group (Destination) within the Fivetran system.
306
+ */
307
+ groupId: pulumi.Input<string>;
308
+ /**
309
+ * The hybrid deployment agent ID that refers to the controller created for the group the connection belongs to. If the value is specified, the system will try to associate the connection with an existing agent.
310
+ */
311
+ hybridDeploymentAgentId?: pulumi.Input<string | undefined>;
312
+ /**
313
+ * The networking method for the connection. Possible values: `Directly`, `SshTunnel`, `ProxyAgent`, `PrivateLink`.
314
+ */
315
+ networkingMethod?: pulumi.Input<string | undefined>;
316
+ /**
317
+ * The private link ID. Required when `networkingMethod` is `PrivateLink`.
318
+ */
319
+ privateLinkId?: pulumi.Input<string | undefined>;
320
+ /**
321
+ * The ID of the proxy agent to use. Required when `networkingMethod` is `ProxyAgent`.
322
+ */
323
+ proxyAgentId?: pulumi.Input<string | undefined>;
324
+ /**
325
+ * Whether to run setup tests when creating the connection. Default: `false`. **Note:** This is a plan-only attribute and will not be stored in state.
326
+ */
327
+ runSetupTests?: pulumi.Input<boolean | undefined>;
328
+ /**
329
+ * The connection service type (e.g., `postgres`, `mysql`, `s3`, `snowflake`). See [Fivetran connection types documentation](https://fivetran.com/docs/connectors) for available services.
330
+ */
331
+ service: pulumi.Input<string>;
332
+ /**
333
+ * Specifies whether we should trust the certificate automatically. The default value is FALSE. If a certificate is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination certificate](https://fivetran.com/docs/rest-api/certificates#approveadestinationcertificate). **Note:** This is a plan-only attribute.
334
+ */
335
+ trustCertificates?: pulumi.Input<boolean | undefined>;
336
+ /**
337
+ * Specifies whether we should trust the SSH fingerprint automatically. The default value is FALSE. If a fingerprint is not trusted automatically, it has to be approved with [Certificates Management API Approve a destination fingerprint](https://fivetran.com/docs/rest-api/certificates#approveadestinationfingerprint). **Note:** This is a plan-only attribute.
338
+ */
339
+ trustFingerprints?: pulumi.Input<boolean | undefined>;
340
+ }
341
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../connection.ts"],"names":[],"mappings":"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"}
package/connection.js ADDED
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.Connection = void 0;
29
+ const pulumi = __importStar(require("@pulumi/pulumi"));
30
+ const utilities = __importStar(require("./utilities"));
31
+ /**
32
+ * This resource allows you to create, update, and delete connections in Fivetran using JSON-based configuration.
33
+ *
34
+ * The `fivetran.Connection` resource creates a connection with basic metadata (service type, destination schema, networking options). To configure connection details like host, port, credentials, use the `fivetran.ConnectionConfig` resource.
35
+ *
36
+ * ## Example Usage
37
+ *
38
+ * ### Basic PostgreSQL Connection with Minimal Config
39
+ *
40
+ * ```typescript
41
+ * import * as pulumi from "@pulumi/pulumi";
42
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
43
+ *
44
+ * const example = new fivetran.Group("example", {name: "My Destination"});
45
+ * const postgres = new fivetran.Connection("postgres", {
46
+ * groupId: example.id,
47
+ * service: "postgres",
48
+ * destinationSchema: {
49
+ * prefix: "my_postgres",
50
+ * },
51
+ * config: JSON.stringify({
52
+ * update_method: "XMIN",
53
+ * }),
54
+ * runSetupTests: false,
55
+ * trustCertificates: false,
56
+ * trustFingerprints: false,
57
+ * });
58
+ * ```
59
+ *
60
+ * ### PostgreSQL Connection with Full Configuration
61
+ *
62
+ * ```typescript
63
+ * import * as pulumi from "@pulumi/pulumi";
64
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
65
+ *
66
+ * const postgresFull = new fivetran.Connection("postgres_full", {
67
+ * groupId: example.id,
68
+ * service: "postgres",
69
+ * destinationSchema: {
70
+ * prefix: "my_postgres",
71
+ * },
72
+ * config: JSON.stringify({
73
+ * update_method: "XMIN",
74
+ * host: databaseConfig.host,
75
+ * port: 5432,
76
+ * database: "mydb",
77
+ * user: "fivetran_user",
78
+ * }),
79
+ * runSetupTests: false,
80
+ * });
81
+ * ```
82
+ *
83
+ * ### MySQL Connection with Proxy Agent
84
+ *
85
+ * ```typescript
86
+ * import * as pulumi from "@pulumi/pulumi";
87
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
88
+ *
89
+ * const example = new fivetran.ProxyAgent("example", {
90
+ * displayName: "My Proxy Agent",
91
+ * groupRegion: "GCP_US_EAST4",
92
+ * });
93
+ * const mysql = new fivetran.Connection("mysql", {
94
+ * groupId: exampleFivetranGroup.id,
95
+ * service: "mysql",
96
+ * destinationSchema: {
97
+ * prefix: "my_mysql",
98
+ * },
99
+ * networkingMethod: "ProxyAgent",
100
+ * proxyAgentId: example.id,
101
+ * runSetupTests: false,
102
+ * });
103
+ * ```
104
+ *
105
+ * ### S3 Connection with Custom Schema Name
106
+ *
107
+ * ```typescript
108
+ * import * as pulumi from "@pulumi/pulumi";
109
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
110
+ *
111
+ * const s3 = new fivetran.Connection("s3", {
112
+ * groupId: example.id,
113
+ * service: "s3",
114
+ * destinationSchema: {
115
+ * name: "s3_data_schema",
116
+ * },
117
+ * runSetupTests: false,
118
+ * });
119
+ * ```
120
+ *
121
+ * ### Connection with Data Delay Settings
122
+ *
123
+ * ```typescript
124
+ * import * as pulumi from "@pulumi/pulumi";
125
+ * import * as fivetran from "@ryan-pip/pulumi-fivetran";
126
+ *
127
+ * const snowflakeConnection = new fivetran.Connection("snowflake_connection", {
128
+ * groupId: example.id,
129
+ * service: "snowflake",
130
+ * destinationSchema: {
131
+ * prefix: "snowflake_data",
132
+ * },
133
+ * dataDelaySensitivity: "HIGH",
134
+ * dataDelayThreshold: 30,
135
+ * runSetupTests: false,
136
+ * });
137
+ * ```
138
+ *
139
+ * ## Notes
140
+ *
141
+ * - **Configuration Details:** This resource creates the connection structure. To configure connection-specific details (host, port, credentials, etc.), use the `fivetran.ConnectionConfig` resource.
142
+ * - **Setup Tests:** When `runSetupTests` is `true`, Fivetran will validate the connection configuration. Any test failures will appear as warnings in the Terraform output.
143
+ * - **Paused State:** Connections are created in a paused state by default. Use the connection schedule resource or the Fivetran UI to unpause the connection.
144
+ * - **Service Types:** See the [Fivetran documentation](https://fivetran.com/docs/connectors) for the complete list of available connection services.
145
+ *
146
+ * ## See Also
147
+ *
148
+ * - `fivetran.ConnectionConfig` - Configure connection details (host, credentials, etc.)
149
+ * - `fivetran.ConnectorSchedule` - Manage connection sync schedules
150
+ * - `fivetranConnectorSchema` - Manage connection schema settings
151
+ *
152
+ * ## Import
153
+ *
154
+ * Connections can be imported using the connection ID:
155
+ *
156
+ * ```sh
157
+ * $ pulumi import fivetran:index/connection:Connection example connection_id_here
158
+ * ```
159
+ *
160
+ * **Note:** When importing, the `runSetupTests`, `trustCertificates`, and `trustFingerprints` attributes will not be imported as they are plan-only attributes.
161
+ */
162
+ class Connection extends pulumi.CustomResource {
163
+ /**
164
+ * Get an existing Connection resource's state with the given name, ID, and optional extra
165
+ * properties used to qualify the lookup.
166
+ *
167
+ * @param name The _unique_ name of the resulting resource.
168
+ * @param id The _unique_ provider ID of the resource to lookup.
169
+ * @param state Any extra arguments used during the lookup.
170
+ * @param opts Optional settings to control the behavior of the CustomResource.
171
+ */
172
+ static get(name, id, state, opts) {
173
+ return new Connection(name, state, { ...opts, id: id });
174
+ }
175
+ /** @internal */
176
+ static __pulumiType = 'fivetran:index/connection:Connection';
177
+ /**
178
+ * Returns true if the given object is an instance of Connection. This is designed to work even
179
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
180
+ */
181
+ static isInstance(obj) {
182
+ if (obj === undefined || obj === null) {
183
+ return false;
184
+ }
185
+ return obj['__pulumiType'] === Connection.__pulumiType;
186
+ }
187
+ constructor(name, argsOrState, opts) {
188
+ let resourceInputs = {};
189
+ opts = opts || {};
190
+ if (opts.id) {
191
+ const state = argsOrState;
192
+ resourceInputs["config"] = state?.config;
193
+ resourceInputs["connectedBy"] = state?.connectedBy;
194
+ resourceInputs["createdAt"] = state?.createdAt;
195
+ resourceInputs["dataDelaySensitivity"] = state?.dataDelaySensitivity;
196
+ resourceInputs["dataDelayThreshold"] = state?.dataDelayThreshold;
197
+ resourceInputs["destinationSchema"] = state?.destinationSchema;
198
+ resourceInputs["groupId"] = state?.groupId;
199
+ resourceInputs["hybridDeploymentAgentId"] = state?.hybridDeploymentAgentId;
200
+ resourceInputs["name"] = state?.name;
201
+ resourceInputs["networkingMethod"] = state?.networkingMethod;
202
+ resourceInputs["privateLinkId"] = state?.privateLinkId;
203
+ resourceInputs["proxyAgentId"] = state?.proxyAgentId;
204
+ resourceInputs["runSetupTests"] = state?.runSetupTests;
205
+ resourceInputs["service"] = state?.service;
206
+ resourceInputs["trustCertificates"] = state?.trustCertificates;
207
+ resourceInputs["trustFingerprints"] = state?.trustFingerprints;
208
+ }
209
+ else {
210
+ const args = argsOrState;
211
+ if (args?.groupId === undefined && !opts.urn) {
212
+ throw new Error("Missing required property 'groupId'");
213
+ }
214
+ if (args?.service === undefined && !opts.urn) {
215
+ throw new Error("Missing required property 'service'");
216
+ }
217
+ resourceInputs["config"] = args?.config;
218
+ resourceInputs["dataDelaySensitivity"] = args?.dataDelaySensitivity;
219
+ resourceInputs["dataDelayThreshold"] = args?.dataDelayThreshold;
220
+ resourceInputs["destinationSchema"] = args?.destinationSchema;
221
+ resourceInputs["groupId"] = args?.groupId;
222
+ resourceInputs["hybridDeploymentAgentId"] = args?.hybridDeploymentAgentId;
223
+ resourceInputs["networkingMethod"] = args?.networkingMethod;
224
+ resourceInputs["privateLinkId"] = args?.privateLinkId;
225
+ resourceInputs["proxyAgentId"] = args?.proxyAgentId;
226
+ resourceInputs["runSetupTests"] = args?.runSetupTests;
227
+ resourceInputs["service"] = args?.service;
228
+ resourceInputs["trustCertificates"] = args?.trustCertificates;
229
+ resourceInputs["trustFingerprints"] = args?.trustFingerprints;
230
+ resourceInputs["connectedBy"] = undefined /*out*/;
231
+ resourceInputs["createdAt"] = undefined /*out*/;
232
+ resourceInputs["name"] = undefined /*out*/;
233
+ }
234
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
235
+ super(Connection.__pulumiType, name, resourceInputs, opts);
236
+ }
237
+ }
238
+ exports.Connection = Connection;
239
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../connection.ts"],"names":[],"mappings":"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"}