@osdk/foundry.connectivity 2.16.0 → 2.18.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @osdk/foundry.connectivity
2
2
 
3
+ ## 2.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 98ec492: Update Platform SDKs
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [98ec492]
12
+ - @osdk/foundry.orchestration@2.18.0
13
+ - @osdk/foundry.filesystem@2.18.0
14
+ - @osdk/foundry.datasets@2.18.0
15
+ - @osdk/foundry.core@2.18.0
16
+
17
+ ## 2.17.0
18
+
19
+ ### Minor Changes
20
+
21
+ - db7ee48: Update Platform SDKs
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies [db7ee48]
26
+ - @osdk/foundry.orchestration@2.17.0
27
+ - @osdk/foundry.filesystem@2.17.0
28
+ - @osdk/foundry.datasets@2.17.0
29
+ - @osdk/foundry.core@2.17.0
30
+
3
31
  ## 2.16.0
4
32
 
5
33
  ### Minor Changes
@@ -4,37 +4,12 @@ import type * as _Filesystem from "@osdk/foundry.filesystem";
4
4
  export type LooselyBrandedString<T extends string> = string & {
5
5
  __LOOSE_BRAND?: T;
6
6
  };
7
- /**
8
- * The agent proxy runtime is used to connect
9
- to data sources not accessible over the Internet. The agent acts as an inverting network proxy, forwarding
10
- network traffic originating in Foundry into the network where the agent is deployed, and relaying traffic
11
- back to Foundry. This allows capabilities in Foundry to work almost exactly the same as when using a
12
- direct connection but without requiring you to allow inbound network traffic to your systems originating
13
- from Foundry's IP addresses.
14
- *
15
- * Log Safety: UNSAFE
16
- */
17
- export interface AgentProxyRuntime {
18
- agentRids: Array<AgentRid>;
19
- }
20
7
  /**
21
8
  * The Resource Identifier (RID) of an Agent.
22
9
  *
23
10
  * Log Safety: UNSAFE
24
11
  */
25
12
  export type AgentRid = LooselyBrandedString<"AgentRid">;
26
- /**
27
- * The agent worker runtime is used to
28
- connect to data sources not accessible over the Internet. An agent worker should only be used when the desired
29
- connector does not support the agent proxy runtime. Agent worker runtimes are associated with a single or
30
- multiple agents that store the source configuration and credentials locally in an encrypted format,
31
- and run source capabilities on the agent itself.
32
- *
33
- * Log Safety: UNSAFE
34
- */
35
- export interface AgentWorkerRuntime {
36
- agentRids: Array<AgentRid>;
37
- }
38
13
  /**
39
14
  * The API key used to authenticate to the external system.
40
15
  This can be configured as a header or query parameter.
@@ -70,6 +45,17 @@ export interface AwsAccessKey {
70
45
  accessKeyId: string;
71
46
  secretAccessKey: EncryptedProperty;
72
47
  }
48
+ /**
49
+ * OpenID Connect (OIDC) is an open authentication protocol that allows
50
+ you to authenticate to external system resources without the use of static credentials.
51
+ *
52
+ * Log Safety: UNSAFE
53
+ */
54
+ export interface AwsOidcAuthentication {
55
+ audience: string;
56
+ issuerUrl: string;
57
+ subject: ConnectionRid;
58
+ }
73
59
  /**
74
60
  * Log Safety: UNSAFE
75
61
  */
@@ -107,7 +93,6 @@ export interface Connection {
107
93
  rid: ConnectionRid;
108
94
  parentFolderRid: _Filesystem.FolderRid;
109
95
  displayName: ConnectionDisplayName;
110
- runtimePlatform: RuntimePlatform;
111
96
  configuration: ConnectionConfiguration;
112
97
  }
113
98
  /**
@@ -117,7 +102,11 @@ export type ConnectionConfiguration = ({
117
102
  type: "s3";
118
103
  } & S3ConnectionConfiguration) | ({
119
104
  type: "rest";
120
- } & RestConnectionConfiguration);
105
+ } & RestConnectionConfiguration) | ({
106
+ type: "snowflake";
107
+ } & SnowflakeConnectionConfiguration) | ({
108
+ type: "jdbc";
109
+ } & JdbcConnectionConfiguration);
121
110
  /**
122
111
  * The display name of the Connection. The display name must not be blank.
123
112
  *
@@ -135,22 +124,9 @@ export type ConnectionRid = LooselyBrandedString<"ConnectionRid">;
135
124
  */
136
125
  export interface CreateConnectionRequest {
137
126
  parentFolderRid: _Filesystem.FolderRid;
138
- runtimePlatform: CreateConnectionRequestRuntimePlatform;
139
127
  configuration: CreateConnectionRequestConnectionConfiguration;
140
128
  displayName: ConnectionDisplayName;
141
129
  }
142
- /**
143
- * Log Safety: UNSAFE
144
- */
145
- export interface CreateConnectionRequestAgentProxyRuntime {
146
- agentRids: Array<AgentRid>;
147
- }
148
- /**
149
- * Log Safety: UNSAFE
150
- */
151
- export interface CreateConnectionRequestAgentWorkerRuntime {
152
- agentRids: Array<AgentRid>;
153
- }
154
130
  /**
155
131
  * Log Safety: DO_NOT_LOG
156
132
  */
@@ -170,6 +146,12 @@ export interface CreateConnectionRequestAwsAccessKey {
170
146
  accessKeyId: string;
171
147
  secretAccessKey: CreateConnectionRequestEncryptedProperty;
172
148
  }
149
+ /**
150
+ * Log Safety: UNSAFE
151
+ */
152
+ export interface CreateConnectionRequestAwsOidcAuthentication {
153
+ audience: string;
154
+ }
173
155
  /**
174
156
  * Log Safety: UNSAFE
175
157
  */
@@ -190,13 +172,11 @@ export type CreateConnectionRequestConnectionConfiguration = ({
190
172
  type: "s3";
191
173
  } & CreateConnectionRequestS3ConnectionConfiguration) | ({
192
174
  type: "rest";
193
- } & CreateConnectionRequestRestConnectionConfiguration);
194
- /**
195
- * Log Safety: SAFE
196
- */
197
- export interface CreateConnectionRequestDirectConnectionRuntime {
198
- networkEgressPolicyRids: Array<NetworkEgressPolicyRid>;
199
- }
175
+ } & CreateConnectionRequestRestConnectionConfiguration) | ({
176
+ type: "snowflake";
177
+ } & CreateConnectionRequestSnowflakeConnectionConfiguration) | ({
178
+ type: "jdbc";
179
+ } & CreateConnectionRequestJdbcConnectionConfiguration);
200
180
  /**
201
181
  * Log Safety: SAFE
202
182
  */
@@ -222,8 +202,11 @@ export type CreateConnectionRequestEncryptedProperty = ({
222
202
  /**
223
203
  * Log Safety: UNSAFE
224
204
  */
225
- export interface CreateConnectionRequestOidc {
226
- audience: string;
205
+ export interface CreateConnectionRequestJdbcConnectionConfiguration {
206
+ credentials?: BasicCredentials;
207
+ driverClass: string;
208
+ jdbcProperties: Record<string, string>;
209
+ url: string;
227
210
  }
228
211
  /**
229
212
  * When creating or updating additional secrets, use SecretsWithPlaintextValues.
@@ -244,19 +227,6 @@ export interface CreateConnectionRequestRestConnectionConfiguration {
244
227
  oauth2ClientRid?: string;
245
228
  domains: Array<Domain>;
246
229
  }
247
- /**
248
- * The runtime of a Connection, which defines the
249
- networking configuration and where capabilities are executed.
250
- *
251
- * Log Safety: UNSAFE
252
- */
253
- export type CreateConnectionRequestRuntimePlatform = ({
254
- type: "directConnectionRuntime";
255
- } & CreateConnectionRequestDirectConnectionRuntime) | ({
256
- type: "agentProxyRuntime";
257
- } & CreateConnectionRequestAgentProxyRuntime) | ({
258
- type: "agentWorkerRuntime";
259
- } & CreateConnectionRequestAgentWorkerRuntime);
260
230
  /**
261
231
  * Log Safety: UNSAFE
262
232
  */
@@ -266,7 +236,7 @@ export type CreateConnectionRequestS3AuthenticationMode = ({
266
236
  type: "cloudIdentity";
267
237
  } & CreateConnectionRequestCloudIdentity) | ({
268
238
  type: "oidc";
269
- } & CreateConnectionRequestOidc);
239
+ } & CreateConnectionRequestAwsOidcAuthentication);
270
240
  /**
271
241
  * Log Safety: UNSAFE
272
242
  */
@@ -314,6 +284,40 @@ export interface CreateConnectionRequestSecretsNames {
314
284
  export interface CreateConnectionRequestSecretsWithPlaintextValues {
315
285
  secrets: Record<SecretName, PlaintextValue>;
316
286
  }
287
+ /**
288
+ * Log Safety: UNSAFE
289
+ */
290
+ export type CreateConnectionRequestSnowflakeAuthenticationMode = ({
291
+ type: "externalOauth";
292
+ } & CreateConnectionRequestSnowflakeExternalOauth) | ({
293
+ type: "keyPair";
294
+ } & CreateConnectionRequestSnowflakeKeyPairAuthentication) | ({
295
+ type: "basic";
296
+ } & CreateConnectionRequestBasicCredentials);
297
+ /**
298
+ * Log Safety: UNSAFE
299
+ */
300
+ export interface CreateConnectionRequestSnowflakeConnectionConfiguration {
301
+ schema?: string;
302
+ database?: string;
303
+ role?: string;
304
+ accountIdentifier: string;
305
+ jdbcProperties: Record<string, string>;
306
+ warehouse?: string;
307
+ authenticationMode: CreateConnectionRequestSnowflakeAuthenticationMode;
308
+ }
309
+ /**
310
+ * Log Safety: SAFE
311
+ */
312
+ export interface CreateConnectionRequestSnowflakeExternalOauth {
313
+ }
314
+ /**
315
+ * Log Safety: UNSAFE
316
+ */
317
+ export interface CreateConnectionRequestSnowflakeKeyPairAuthentication {
318
+ privateKey: CreateConnectionRequestEncryptedProperty;
319
+ user: string;
320
+ }
317
321
  /**
318
322
  * Log Safety: UNSAFE
319
323
  */
@@ -349,32 +353,79 @@ export interface CreateTableImportRequest {
349
353
  /**
350
354
  * Log Safety: UNSAFE
351
355
  */
352
- export interface CreateTableImportRequestJdbcImportConfig {
353
- query: string;
356
+ export interface CreateTableImportRequestDateColumnInitialIncrementalState {
357
+ currentValue: string;
358
+ columnName: string;
354
359
  }
355
360
  /**
356
361
  * Log Safety: UNSAFE
357
362
  */
358
- export interface CreateTableImportRequestMicrosoftAccessImportConfig {
359
- query: string;
363
+ export interface CreateTableImportRequestDecimalColumnInitialIncrementalState {
364
+ currentValue: string;
365
+ columnName: string;
360
366
  }
361
367
  /**
362
368
  * Log Safety: UNSAFE
363
369
  */
364
- export interface CreateTableImportRequestMicrosoftSqlServerImportConfig {
365
- query: string;
370
+ export interface CreateTableImportRequestIntegerColumnInitialIncrementalState {
371
+ currentValue: number;
372
+ columnName: string;
366
373
  }
367
374
  /**
368
375
  * Log Safety: UNSAFE
369
376
  */
370
- export interface CreateTableImportRequestOracleImportConfig {
371
- query: string;
377
+ export interface CreateTableImportRequestJdbcTableImportConfig {
378
+ initialIncrementalState?: TableImportInitialIncrementalState;
379
+ query: TableImportQuery;
372
380
  }
373
381
  /**
374
382
  * Log Safety: UNSAFE
375
383
  */
376
- export interface CreateTableImportRequestPostgreSqlImportConfig {
377
- query: string;
384
+ export interface CreateTableImportRequestLongColumnInitialIncrementalState {
385
+ currentValue: string;
386
+ columnName: string;
387
+ }
388
+ /**
389
+ * Log Safety: UNSAFE
390
+ */
391
+ export interface CreateTableImportRequestMicrosoftAccessTableImportConfig {
392
+ initialIncrementalState?: TableImportInitialIncrementalState;
393
+ query: TableImportQuery;
394
+ }
395
+ /**
396
+ * Log Safety: UNSAFE
397
+ */
398
+ export interface CreateTableImportRequestMicrosoftSqlServerTableImportConfig {
399
+ initialIncrementalState?: TableImportInitialIncrementalState;
400
+ query: TableImportQuery;
401
+ }
402
+ /**
403
+ * Log Safety: UNSAFE
404
+ */
405
+ export interface CreateTableImportRequestOracleTableImportConfig {
406
+ initialIncrementalState?: TableImportInitialIncrementalState;
407
+ query: TableImportQuery;
408
+ }
409
+ /**
410
+ * Log Safety: UNSAFE
411
+ */
412
+ export interface CreateTableImportRequestPostgreSqlTableImportConfig {
413
+ initialIncrementalState?: TableImportInitialIncrementalState;
414
+ query: TableImportQuery;
415
+ }
416
+ /**
417
+ * Log Safety: UNSAFE
418
+ */
419
+ export interface CreateTableImportRequestSnowflakeTableImportConfig {
420
+ initialIncrementalState?: TableImportInitialIncrementalState;
421
+ query: TableImportQuery;
422
+ }
423
+ /**
424
+ * Log Safety: UNSAFE
425
+ */
426
+ export interface CreateTableImportRequestStringColumnInitialIncrementalState {
427
+ currentValue: string;
428
+ columnName: string;
378
429
  }
379
430
  /**
380
431
  * The import configuration for a specific connector type.
@@ -383,25 +434,64 @@ export interface CreateTableImportRequestPostgreSqlImportConfig {
383
434
  */
384
435
  export type CreateTableImportRequestTableImportConfig = ({
385
436
  type: "jdbcImportConfig";
386
- } & CreateTableImportRequestJdbcImportConfig) | ({
437
+ } & CreateTableImportRequestJdbcTableImportConfig) | ({
387
438
  type: "microsoftSqlServerImportConfig";
388
- } & CreateTableImportRequestMicrosoftSqlServerImportConfig) | ({
439
+ } & CreateTableImportRequestMicrosoftSqlServerTableImportConfig) | ({
389
440
  type: "postgreSqlImportConfig";
390
- } & CreateTableImportRequestPostgreSqlImportConfig) | ({
441
+ } & CreateTableImportRequestPostgreSqlTableImportConfig) | ({
391
442
  type: "microsoftAccessImportConfig";
392
- } & CreateTableImportRequestMicrosoftAccessImportConfig) | ({
443
+ } & CreateTableImportRequestMicrosoftAccessTableImportConfig) | ({
444
+ type: "snowflakeImportConfig";
445
+ } & CreateTableImportRequestSnowflakeTableImportConfig) | ({
393
446
  type: "oracleImportConfig";
394
- } & CreateTableImportRequestOracleImportConfig);
395
- /**
396
- * Direct connections enable users to connect
397
- to data sources accessible over the Internet without needing to set up an agent. If your Foundry stack is
398
- hosted on-premises, you can also connect to data sources within your on-premises network.
399
- This is the preferred source connection method if the data source is accessible over the Internet.
447
+ } & CreateTableImportRequestOracleTableImportConfig);
448
+ /**
449
+ * The incremental configuration for a table import enables append-style transactions from the same table without duplication of data.
450
+ You must provide a monotonically increasing column such as a timestamp or id and an initial value for this column.
451
+ An incremental table import will import rows where the value is greater than the largest already imported.
452
+ You can use the '?' character to reference the incremental state value when constructing your query.
453
+ Normally this would be used in a WHERE clause or similar filter applied in order to only sync data with an incremental column value
454
+ larger than the previously observed maximum value stored in the incremental state.
400
455
  *
401
- * Log Safety: SAFE
456
+ * Log Safety: UNSAFE
402
457
  */
403
- export interface DirectConnectionRuntime {
404
- networkEgressPolicyRids: Array<NetworkEgressPolicyRid>;
458
+ export type CreateTableImportRequestTableImportInitialIncrementalState = ({
459
+ type: "stringColumnInitialIncrementalState";
460
+ } & CreateTableImportRequestStringColumnInitialIncrementalState) | ({
461
+ type: "dateColumnInitialIncrementalState";
462
+ } & CreateTableImportRequestDateColumnInitialIncrementalState) | ({
463
+ type: "integerColumnInitialIncrementalState";
464
+ } & CreateTableImportRequestIntegerColumnInitialIncrementalState) | ({
465
+ type: "timestampColumnInitialIncrementalState";
466
+ } & CreateTableImportRequestTimestampColumnInitialIncrementalState) | ({
467
+ type: "longColumnInitialIncrementalState";
468
+ } & CreateTableImportRequestLongColumnInitialIncrementalState) | ({
469
+ type: "decimalColumnInitialIncrementalState";
470
+ } & CreateTableImportRequestDecimalColumnInitialIncrementalState);
471
+ /**
472
+ * Log Safety: UNSAFE
473
+ */
474
+ export interface CreateTableImportRequestTimestampColumnInitialIncrementalState {
475
+ currentValue: string;
476
+ columnName: string;
477
+ }
478
+ /**
479
+ * The state for an incremental table import using a column with a date type.
480
+ *
481
+ * Log Safety: UNSAFE
482
+ */
483
+ export interface DateColumnInitialIncrementalState {
484
+ columnName: string;
485
+ currentValue: string;
486
+ }
487
+ /**
488
+ * The state for an incremental table import using a column with a decimal data type.
489
+ *
490
+ * Log Safety: UNSAFE
491
+ */
492
+ export interface DecimalColumnInitialIncrementalState {
493
+ columnName: string;
494
+ currentValue: string;
405
495
  }
406
496
  /**
407
497
  * The domain that the connection is allowed to access.
@@ -594,13 +684,34 @@ export interface FileSizeFilter {
594
684
  export interface HeaderApiKey {
595
685
  headerName: string;
596
686
  }
687
+ /**
688
+ * The state for an incremental table import using a numeric integer datatype.
689
+ *
690
+ * Log Safety: UNSAFE
691
+ */
692
+ export interface IntegerColumnInitialIncrementalState {
693
+ columnName: string;
694
+ currentValue: number;
695
+ }
696
+ /**
697
+ * The configuration needed to connect to an external system using the JDBC protocol.
698
+ *
699
+ * Log Safety: UNSAFE
700
+ */
701
+ export interface JdbcConnectionConfiguration {
702
+ url: string;
703
+ driverClass: string;
704
+ jdbcProperties: Record<string, string>;
705
+ credentials?: BasicCredentials;
706
+ }
597
707
  /**
598
708
  * The import configuration for a custom JDBC connection.
599
709
  *
600
710
  * Log Safety: UNSAFE
601
711
  */
602
- export interface JdbcImportConfig {
603
- query: string;
712
+ export interface JdbcTableImportConfig {
713
+ query: TableImportQuery;
714
+ initialIncrementalState?: TableImportInitialIncrementalState;
604
715
  }
605
716
  /**
606
717
  * Log Safety: UNSAFE
@@ -616,21 +727,32 @@ export interface ListTableImportsResponse {
616
727
  data: Array<TableImport>;
617
728
  nextPageToken?: _Core.PageToken;
618
729
  }
730
+ /**
731
+ * The state for an incremental table import using a column with a numeric long datatype.
732
+ *
733
+ * Log Safety: UNSAFE
734
+ */
735
+ export interface LongColumnInitialIncrementalState {
736
+ columnName: string;
737
+ currentValue: string;
738
+ }
619
739
  /**
620
740
  * The import configuration for a Microsoft Access connection.
621
741
  *
622
742
  * Log Safety: UNSAFE
623
743
  */
624
- export interface MicrosoftAccessImportConfig {
625
- query: string;
744
+ export interface MicrosoftAccessTableImportConfig {
745
+ query: TableImportQuery;
746
+ initialIncrementalState?: TableImportInitialIncrementalState;
626
747
  }
627
748
  /**
628
749
  * The import configuration for a Microsoft SQL Server connection.
629
750
  *
630
751
  * Log Safety: UNSAFE
631
752
  */
632
- export interface MicrosoftSqlServerImportConfig {
633
- query: string;
753
+ export interface MicrosoftSqlServerTableImportConfig {
754
+ query: TableImportQuery;
755
+ initialIncrementalState?: TableImportInitialIncrementalState;
634
756
  }
635
757
  /**
636
758
  * The Resource Identifier (RID) of a Network Egress Policy.
@@ -638,24 +760,14 @@ export interface MicrosoftSqlServerImportConfig {
638
760
  * Log Safety: SAFE
639
761
  */
640
762
  export type NetworkEgressPolicyRid = LooselyBrandedString<"NetworkEgressPolicyRid">;
641
- /**
642
- * OpenID Connect (OIDC) is an open authentication protocol that allows
643
- you to authenticate to external system resources without the use of static credentials.
644
- *
645
- * Log Safety: UNSAFE
646
- */
647
- export interface Oidc {
648
- audience: string;
649
- issuerUrl: string;
650
- subject: ConnectionRid;
651
- }
652
763
  /**
653
764
  * The import configuration for an Oracle Database 21 connection.
654
765
  *
655
766
  * Log Safety: UNSAFE
656
767
  */
657
- export interface OracleImportConfig {
658
- query: string;
768
+ export interface OracleTableImportConfig {
769
+ query: TableImportQuery;
770
+ initialIncrementalState?: TableImportInitialIncrementalState;
659
771
  }
660
772
  /**
661
773
  * Log Safety: DO_NOT_LOG
@@ -666,8 +778,9 @@ export type PlaintextValue = LooselyBrandedString<"PlaintextValue">;
666
778
  *
667
779
  * Log Safety: UNSAFE
668
780
  */
669
- export interface PostgreSqlImportConfig {
670
- query: string;
781
+ export interface PostgreSqlTableImportConfig {
782
+ query: TableImportQuery;
783
+ initialIncrementalState?: TableImportInitialIncrementalState;
671
784
  }
672
785
  /**
673
786
  * Protocol to establish a connection with another system.
@@ -751,19 +864,6 @@ export type RestRequestApiKeyLocation = ({
751
864
  } & HeaderApiKey) | ({
752
865
  type: "queryParameter";
753
866
  } & QueryParameterApiKey);
754
- /**
755
- * The runtime of a Connection, which defines the
756
- networking configuration and where capabilities are executed.
757
- *
758
- * Log Safety: UNSAFE
759
- */
760
- export type RuntimePlatform = ({
761
- type: "directConnectionRuntime";
762
- } & DirectConnectionRuntime) | ({
763
- type: "agentProxyRuntime";
764
- } & AgentProxyRuntime) | ({
765
- type: "agentWorkerRuntime";
766
- } & AgentWorkerRuntime);
767
867
  /**
768
868
  * Log Safety: UNSAFE
769
869
  */
@@ -773,7 +873,7 @@ export type S3AuthenticationMode = ({
773
873
  type: "cloudIdentity";
774
874
  } & CloudIdentity) | ({
775
875
  type: "oidc";
776
- } & Oidc);
876
+ } & AwsOidcAuthentication);
777
877
  /**
778
878
  * The configuration needed to connect to an AWS S3 external system (or any other S3-like external systems that
779
879
  implement the s3a protocol).
@@ -835,6 +935,69 @@ This should be used when creating or updating additional secrets for a REST conn
835
935
  export interface SecretsWithPlaintextValues {
836
936
  secrets: Record<SecretName, PlaintextValue>;
837
937
  }
938
+ /**
939
+ * Log Safety: UNSAFE
940
+ */
941
+ export type SnowflakeAuthenticationMode = ({
942
+ type: "externalOauth";
943
+ } & SnowflakeExternalOauth) | ({
944
+ type: "keyPair";
945
+ } & SnowflakeKeyPairAuthentication) | ({
946
+ type: "basic";
947
+ } & BasicCredentials);
948
+ /**
949
+ * The configuration needed to connect to a Snowflake database.
950
+ *
951
+ * Log Safety: UNSAFE
952
+ */
953
+ export interface SnowflakeConnectionConfiguration {
954
+ accountIdentifier: string;
955
+ database?: string;
956
+ role?: string;
957
+ schema?: string;
958
+ warehouse?: string;
959
+ authenticationMode: SnowflakeAuthenticationMode;
960
+ jdbcProperties: Record<string, string>;
961
+ }
962
+ /**
963
+ * Use an External OAuth security integration to connect and authenticate to Snowflake.
964
+ See https://docs.snowflake.com/en/user-guide/oauth-ext-custom
965
+ *
966
+ * Log Safety: UNSAFE
967
+ */
968
+ export interface SnowflakeExternalOauth {
969
+ audience: string;
970
+ issuerUrl: string;
971
+ subject: ConnectionRid;
972
+ }
973
+ /**
974
+ * Use a key-pair to connect and authenticate to Snowflake.
975
+ See https://docs.snowflake.com/en/user-guide/key-pair-auth
976
+ *
977
+ * Log Safety: UNSAFE
978
+ */
979
+ export interface SnowflakeKeyPairAuthentication {
980
+ user: string;
981
+ privateKey: EncryptedProperty;
982
+ }
983
+ /**
984
+ * The table import configuration for a Snowflake connection.
985
+ *
986
+ * Log Safety: UNSAFE
987
+ */
988
+ export interface SnowflakeTableImportConfig {
989
+ query: TableImportQuery;
990
+ initialIncrementalState?: TableImportInitialIncrementalState;
991
+ }
992
+ /**
993
+ * The state for an incremental table import using a column with a string data type.
994
+ *
995
+ * Log Safety: UNSAFE
996
+ */
997
+ export interface StringColumnInitialIncrementalState {
998
+ columnName: string;
999
+ currentValue: string;
1000
+ }
838
1001
  /**
839
1002
  * Log Safety: UNSAFE
840
1003
  */
@@ -871,19 +1034,44 @@ export type TableImportAllowSchemaChanges = boolean;
871
1034
  */
872
1035
  export type TableImportConfig = ({
873
1036
  type: "jdbcImportConfig";
874
- } & JdbcImportConfig) | ({
1037
+ } & JdbcTableImportConfig) | ({
875
1038
  type: "microsoftSqlServerImportConfig";
876
- } & MicrosoftSqlServerImportConfig) | ({
1039
+ } & MicrosoftSqlServerTableImportConfig) | ({
877
1040
  type: "postgreSqlImportConfig";
878
- } & PostgreSqlImportConfig) | ({
1041
+ } & PostgreSqlTableImportConfig) | ({
879
1042
  type: "microsoftAccessImportConfig";
880
- } & MicrosoftAccessImportConfig) | ({
1043
+ } & MicrosoftAccessTableImportConfig) | ({
1044
+ type: "snowflakeImportConfig";
1045
+ } & SnowflakeTableImportConfig) | ({
881
1046
  type: "oracleImportConfig";
882
- } & OracleImportConfig);
1047
+ } & OracleTableImportConfig);
883
1048
  /**
884
1049
  * Log Safety: UNSAFE
885
1050
  */
886
1051
  export type TableImportDisplayName = LooselyBrandedString<"TableImportDisplayName">;
1052
+ /**
1053
+ * The incremental configuration for a table import enables append-style transactions from the same table without duplication of data.
1054
+ You must provide a monotonically increasing column such as a timestamp or id and an initial value for this column.
1055
+ An incremental table import will import rows where the value is greater than the largest already imported.
1056
+ You can use the '?' character to reference the incremental state value when constructing your query.
1057
+ Normally this would be used in a WHERE clause or similar filter applied in order to only sync data with an incremental column value
1058
+ larger than the previously observed maximum value stored in the incremental state.
1059
+ *
1060
+ * Log Safety: UNSAFE
1061
+ */
1062
+ export type TableImportInitialIncrementalState = ({
1063
+ type: "stringColumnInitialIncrementalState";
1064
+ } & StringColumnInitialIncrementalState) | ({
1065
+ type: "dateColumnInitialIncrementalState";
1066
+ } & DateColumnInitialIncrementalState) | ({
1067
+ type: "integerColumnInitialIncrementalState";
1068
+ } & IntegerColumnInitialIncrementalState) | ({
1069
+ type: "timestampColumnInitialIncrementalState";
1070
+ } & TimestampColumnInitialIncrementalState) | ({
1071
+ type: "longColumnInitialIncrementalState";
1072
+ } & LongColumnInitialIncrementalState) | ({
1073
+ type: "decimalColumnInitialIncrementalState";
1074
+ } & DecimalColumnInitialIncrementalState);
887
1075
  /**
888
1076
  * Import mode governs how data is read from an external system, and written into a Foundry dataset.
889
1077
  SNAPSHOT: Defines a new dataset state consisting only of data from a particular import execution.
@@ -892,12 +1080,27 @@ APPEND: Purely additive and yields data from previous import executions in addit
892
1080
  * Log Safety: SAFE
893
1081
  */
894
1082
  export type TableImportMode = "SNAPSHOT" | "APPEND";
1083
+ /**
1084
+ * A single SQL query can be executed per sync, which should output a data table
1085
+ and avoid operations like invoking stored procedures.
1086
+ The query results are saved to the output dataset in Foundry.
1087
+ *
1088
+ * Log Safety: UNSAFE
1089
+ */
1090
+ export type TableImportQuery = LooselyBrandedString<"TableImportQuery">;
895
1091
  /**
896
1092
  * The Resource Identifier (RID) of a TableImport (also known as a batch sync).
897
1093
  *
898
1094
  * Log Safety: SAFE
899
1095
  */
900
1096
  export type TableImportRid = LooselyBrandedString<"TableImportRid">;
1097
+ /**
1098
+ * Log Safety: UNSAFE
1099
+ */
1100
+ export interface TimestampColumnInitialIncrementalState {
1101
+ columnName: string;
1102
+ currentValue: string;
1103
+ }
901
1104
  /**
902
1105
  * Log Safety: DO_NOT_LOG
903
1106
  */