Skip to content

Commit 1a3d86d

Browse files
authored
Snowflakev2 connector transfer (microsoft#3853)
* Snowflake V2 connector code transfer * Added solution documentation * Added Snowflake contracts
1 parent 9cbcc4a commit 1a3d86d

118 files changed

Lines changed: 11292 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

certified-connectors/Snowflake v2/apiDefinition.swagger.json renamed to certified-connectors/Snowflake v2 Archive/apiDefinition.swagger.json

File renamed without changes.

certified-connectors/Snowflake v2/apiProperties.json renamed to certified-connectors/Snowflake v2 Archive/apiProperties.json

File renamed without changes.
File renamed without changes.
File renamed without changes.

certified-connectors/Snowflake v2/.gitignore

Lines changed: 412 additions & 0 deletions
Large diffs are not rendered by default.

certified-connectors/Snowflake v2/ConnectorArtifacts/apidefinition.swagger.json

Lines changed: 2195 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"apiName": "snowflakev2",
3+
"apiTier": "Premium"
4+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"properties": {
3+
"iconBrandColor": "#1EB8EB",
4+
"capabilities": [
5+
"tabular",
6+
"federatedKnowledgeSource"
7+
],
8+
"publisher": "Snowflake"
9+
}
10+
}
Lines changed: 323 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,323 @@
1+
{
2+
"parameterDefaults": {},
3+
"uniqueParameters": {
4+
5+
"DefaultPageSize": {
6+
"type": "string",
7+
"defaultValue": "200",
8+
"metadata": {
9+
"description": "Default query page size"
10+
}
11+
}
12+
},
13+
14+
"environments": {
15+
},
16+
17+
"flavorSpecificSettings": {
18+
"DOGFOOD": {
19+
"loginUri": "https://login.microsoftonline.com",
20+
"loginUriAAD": "https://login.microsoftonline.com",
21+
"redirectMode": "GlobalPerConnector"
22+
},
23+
"PRODUCTION": {
24+
"loginUri": "https://login.microsoftonline.com",
25+
"loginUriAAD": "https://login.microsoftonline.com",
26+
"redirectMode": "GlobalPerConnector"
27+
}
28+
},
29+
"api": {
30+
"generalInformation": {
31+
"scopes": {
32+
"will": [],
33+
"wont": []
34+
},
35+
"publisher": "Microsoft",
36+
"connectionDisplayName": "{database} {server}"
37+
},
38+
"interfaces": {
39+
"CDPTabular1": {
40+
"revisions": {
41+
"1": {
42+
"baseUrl": "/",
43+
"status": "Production"
44+
}
45+
}
46+
}
47+
},
48+
"metadata": {
49+
"useNewApimVersion": "true",
50+
"source": "marketplace"
51+
},
52+
53+
"connectionParameters": {
54+
"DummyValue": {
55+
"type": "string",
56+
"uiDefinition": {
57+
"displayName": "This is a a dummy placeholder needed for time being due to MCS UI connection widget bug. Any auth changes should be made in connectionParameterSets",
58+
"description": "This is a a dummy placeholder needed for time being due to MCS UI connection widget bug. Any auth changes should be made in connectionParameterSets",
59+
"constraints": {
60+
"required": "false"
61+
}
62+
}
63+
}
64+
},
65+
"connectionParameterSets": {
66+
"uiDefinition": {
67+
"displayName": "Authentication type",
68+
"description": "Type of authentication to be used."
69+
},
70+
"values": [
71+
{
72+
"name": "oauthSP",
73+
"uiDefinition": {
74+
"displayName": "Service principal (Microsoft Entra ID application)",
75+
"description": "Use Microsoft Entra ID application to access your Snowflake database."
76+
},
77+
"metadata": {
78+
"allowSharing": true
79+
},
80+
"parameters": {
81+
"token": {
82+
"type": "oauthSetting",
83+
"oauthSettings": {
84+
"identityProvider": "aad",
85+
"scopes": [ "" ],
86+
"redirectMode": "GlobalPerConnector",
87+
"customParameters": {
88+
"grantType": {
89+
"value": "client_credentials"
90+
},
91+
92+
"loginUri": {
93+
"value": "[variables('loginUri')]"
94+
},
95+
"loginUriAAD": {
96+
"value": "[variables('loginUriAAD')]"
97+
}
98+
}
99+
},
100+
"uiDefinition": {
101+
"displayName": "Sign in with your Microsoft Entra ID credentials",
102+
"description": "Sign in with your Microsoft Entra ID credentials",
103+
"tooltip": "Provide Microsoft Entra ID credentials",
104+
"constraints": {
105+
"required": "false",
106+
"hidden": "true"
107+
}
108+
}
109+
},
110+
"token:TenantId": {
111+
"type": "string",
112+
"uiDefinition": {
113+
"schema": {
114+
"description": "The tenant ID of the Microsoft Entra ID application",
115+
"type": "string"
116+
},
117+
"displayName": "Tenant",
118+
"constraints": {
119+
"required": "true",
120+
"hidden": "false"
121+
}
122+
}
123+
},
124+
"token:clientId": {
125+
"type": "string",
126+
"uiDefinition": {
127+
"displayName": "Client ID",
128+
"schema": {
129+
"type": "string",
130+
"description": "Client (or Application) ID of your Microsoft Entra ID application"
131+
},
132+
"constraints": {
133+
"required": "true",
134+
"hidden": "false"
135+
}
136+
}
137+
},
138+
"token:clientSecret": {
139+
"type": "securestring",
140+
"uiDefinition": {
141+
"displayName": "Client Secret",
142+
"schema": {
143+
"type": "securestring",
144+
"description": "Client secret of your Microsoft Entra ID application"
145+
},
146+
"constraints": {
147+
"required": "true",
148+
"hidden": "false",
149+
"clearText": false
150+
}
151+
}
152+
},
153+
"token:resourceUri": {
154+
"type": "string",
155+
"uiDefinition": {
156+
"constraints": {
157+
"required": "true",
158+
"hidden": "false"
159+
},
160+
"description": "Snowflake OAuth Audience URL (Resource URL)",
161+
"displayName": "Resource URL",
162+
"tooltip": "Snowflake OAuth Audience URL (Resource URL)"
163+
}
164+
},
165+
"server": {
166+
"type": "string",
167+
"uiDefinition": {
168+
"displayName": "Snowflake SaaS URL",
169+
"description": "Snowflake URL not including HTTPS prefix (e.g., fnpuupu-in12345.snowflakecomputing.com)",
170+
"tooltip": "Snowflake SaaS URL",
171+
"constraints": {
172+
"tabIndex": 1,
173+
"required": "true"
174+
}
175+
}
176+
},
177+
"database": {
178+
"type": "string",
179+
"uiDefinition": {
180+
"displayName": "Snowflake database",
181+
"description": "Specify the database to connect to",
182+
"tooltip": "Snowflake database",
183+
"constraints": {
184+
"tabIndex": 2,
185+
"required": "true"
186+
}
187+
}
188+
},
189+
"warehouse": {
190+
"type": "string",
191+
"uiDefinition": {
192+
"displayName": "Warehouse name",
193+
"description": "Snowflake warehouse to connect to",
194+
"tooltip": "Warehouse name",
195+
"constraints": {
196+
"tabIndex": 3,
197+
"required": "true"
198+
}
199+
}
200+
},
201+
"role": {
202+
"type": "string",
203+
"uiDefinition": {
204+
"displayName": "Role",
205+
"description": "Snowflake role to connect as",
206+
"tooltip": "Role",
207+
"constraints": {
208+
"tabIndex": 4,
209+
"required": "true"
210+
}
211+
}
212+
},
213+
"schema": {
214+
"type": "string",
215+
"uiDefinition": {
216+
"displayName": "Schema",
217+
"description": "Snowflake schema to connect to",
218+
"tooltip": "Schema",
219+
"constraints": {
220+
"tabIndex": 5,
221+
"required": "true"
222+
}
223+
}
224+
}
225+
}
226+
},
227+
{
228+
"name": "oauthSPUserDelegated",
229+
"uiDefinition": {
230+
"displayName": "Service principal Delegated Auth (Microsoft Entra ID application)",
231+
"description": "Use Microsoft Entra ID application to access your Snowflake database."
232+
},
233+
"metadata": {
234+
"allowSharing": true
235+
},
236+
"parameters": {
237+
"token": {
238+
"type": "oauthSetting",
239+
"oAuthSettings": {
240+
"identityProvider": "aad",
241+
"clientId": null,
242+
"clientSecret": null,
243+
"scopes": [],
244+
"redirectMode": "GlobalPerConnector",
245+
"properties": {
246+
"IsFirstParty": "False",
247+
"AzureActiveDirectoryResourceId": "@@id@@",
248+
"IsOnbehalfofLoginSupported": true
249+
},
250+
"customParameters": {
251+
"loginUri": {
252+
"value": "https://login.windows.net"
253+
},
254+
"tenantId": {
255+
"value": "common"
256+
},
257+
"resourceUri": {
258+
"value": "https://api.naisjen.onmicrosoft.com/c102aec3-57c1-4dd0-923f-7f08180d5329"
259+
},
260+
"enableOnbehalfOfLogin": {
261+
"value": "false"
262+
}
263+
}
264+
}
265+
},
266+
"token:TenantId": {
267+
"type": "string",
268+
"metadata": {
269+
"sourceType": "AzureActiveDirectoryTenant"
270+
},
271+
"uiDefinition": {
272+
"constraints": {
273+
"required": "false",
274+
"hidden": "true"
275+
}
276+
}
277+
},
278+
"token:clientId": {
279+
"type": "string",
280+
"uiDefinition": {
281+
"constraints": {
282+
"clearText": false,
283+
"required": "true",
284+
"tabIndex": 0
285+
},
286+
"description": "Snowflake OAuth Client ID",
287+
"displayName": "Client ID",
288+
"tooltip": "Snowflake OAuth Client ID"
289+
}
290+
},
291+
"token:clientSecret": {
292+
"type": "securestring",
293+
"uiDefinition": {
294+
"constraints": {
295+
"clearText": false,
296+
"required": "true",
297+
"tabIndex": 1
298+
},
299+
"description": "Snowflake OAuth Client Secret",
300+
"displayName": "Client Secret",
301+
"tooltip": "Snowflake OAuth Client Secret"
302+
}
303+
},
304+
"token:resourceUri": {
305+
"type": "string",
306+
"uiDefinition": {
307+
"constraints": {
308+
"clearText": false,
309+
"required": "true",
310+
"tabIndex": 2
311+
},
312+
"description": "Snowflake OAuth Audience URL(Resource URL)",
313+
"displayName": "Resource URL",
314+
"tooltip": "Snowflake OAuth Audience URL(Resource URL)"
315+
}
316+
}
317+
}
318+
}
319+
320+
]
321+
}
322+
}
323+
}
25.4 KB
Loading

0 commit comments

Comments
 (0)