@itentialopensource/adapter-snowflake_sql 0.1.1

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 (73) hide show
  1. package/.eslintignore +6 -0
  2. package/.eslintrc.js +18 -0
  3. package/.gitlab/.gitkeep +0 -0
  4. package/.gitlab/issue_templates/.gitkeep +0 -0
  5. package/.gitlab/issue_templates/Default.md +17 -0
  6. package/.gitlab/issue_templates/bugReportTemplate.md +76 -0
  7. package/.gitlab/issue_templates/featureRequestTemplate.md +14 -0
  8. package/.jshintrc +0 -0
  9. package/AUTH.md +39 -0
  10. package/BROKER.md +199 -0
  11. package/CALLS.md +188 -0
  12. package/CHANGELOG.md +9 -0
  13. package/CODE_OF_CONDUCT.md +43 -0
  14. package/CONTRIBUTING.md +172 -0
  15. package/ENHANCE.md +69 -0
  16. package/LICENSE +201 -0
  17. package/PROPERTIES.md +641 -0
  18. package/README.md +337 -0
  19. package/SUMMARY.md +9 -0
  20. package/SYSTEMINFO.md +11 -0
  21. package/TROUBLESHOOT.md +47 -0
  22. package/adapter.js +1148 -0
  23. package/adapterBase.js +1787 -0
  24. package/entities/.generic/action.json +214 -0
  25. package/entities/.generic/schema.json +28 -0
  26. package/entities/.system/action.json +65 -0
  27. package/entities/.system/mockdatafiles/MFA_Step_1-default.json +4 -0
  28. package/entities/.system/mockdatafiles/MFA_Step_2-default.json +3 -0
  29. package/entities/.system/mockdatafiles/getToken-default.json +3 -0
  30. package/entities/.system/mockdatafiles/healthcheck-default.json +3 -0
  31. package/entities/.system/schema.json +19 -0
  32. package/entities/.system/schemaTokenReq.json +53 -0
  33. package/entities/.system/schemaTokenReq_MFA_Step_1.json +32 -0
  34. package/entities/.system/schemaTokenReq_MFA_Step_2.json +19 -0
  35. package/entities/.system/schemaTokenResp.json +53 -0
  36. package/entities/.system/schemaTokenResp_MFA_Step_1.json +26 -0
  37. package/entities/.system/schemaTokenResp_MFA_Step_2.json +26 -0
  38. package/entities/Statements/action.json +65 -0
  39. package/entities/Statements/schema.json +21 -0
  40. package/error.json +190 -0
  41. package/package.json +87 -0
  42. package/pronghorn.json +928 -0
  43. package/propertiesDecorators.json +14 -0
  44. package/propertiesSchema.json +1249 -0
  45. package/refs?service=git-upload-pack +0 -0
  46. package/report/adapterInfo.json +10 -0
  47. package/report/creationReport.json +225 -0
  48. package/report/snowFlakeopenapi.json +1067 -0
  49. package/sampleProperties.json +195 -0
  50. package/test/integration/adapterTestBasicGet.js +83 -0
  51. package/test/integration/adapterTestConnectivity.js +93 -0
  52. package/test/integration/adapterTestIntegration.js +453 -0
  53. package/test/unit/adapterBaseTestUnit.js +949 -0
  54. package/test/unit/adapterTestUnit.js +1398 -0
  55. package/utils/adapterInfo.js +206 -0
  56. package/utils/addAuth.js +94 -0
  57. package/utils/artifactize.js +146 -0
  58. package/utils/basicGet.js +50 -0
  59. package/utils/checkMigrate.js +63 -0
  60. package/utils/entitiesToDB.js +178 -0
  61. package/utils/findPath.js +74 -0
  62. package/utils/methodDocumentor.js +225 -0
  63. package/utils/modify.js +154 -0
  64. package/utils/packModificationScript.js +35 -0
  65. package/utils/patches2bundledDeps.js +90 -0
  66. package/utils/pre-commit.sh +32 -0
  67. package/utils/removeHooks.js +20 -0
  68. package/utils/setup.js +33 -0
  69. package/utils/tbScript.js +246 -0
  70. package/utils/tbUtils.js +490 -0
  71. package/utils/testRunner.js +298 -0
  72. package/utils/troubleshootingAdapter.js +195 -0
  73. package/workflows/README.md +3 -0
package/pronghorn.json ADDED
@@ -0,0 +1,928 @@
1
+ {
2
+ "id": "@itentialopensource/adapter-snowflake_sql",
3
+ "type": "Adapter",
4
+ "export": "SnowflakeSql",
5
+ "title": "Snowflake_sql",
6
+ "src": "adapter.js",
7
+ "roles": [
8
+ "admin"
9
+ ],
10
+ "methods": [
11
+ {
12
+ "name": "iapUpdateAdapterConfiguration",
13
+ "summary": "Updates the adapter configuration",
14
+ "description": "Updates the adapter configuration file with the provided changes",
15
+ "input": [
16
+ {
17
+ "name": "configFile",
18
+ "type": "string",
19
+ "info": "The name of the file to change",
20
+ "required": true,
21
+ "schema": {
22
+ "title": "configFile",
23
+ "type": "string"
24
+ }
25
+ },
26
+ {
27
+ "name": "changes",
28
+ "type": "object",
29
+ "info": "JSON object containing the configuration changes",
30
+ "required": true,
31
+ "schema": {
32
+ "title": "changes",
33
+ "type": "object"
34
+ }
35
+ },
36
+ {
37
+ "name": "entity",
38
+ "type": "string",
39
+ "info": "The entity in which the changes are being made",
40
+ "required": false,
41
+ "schema": {
42
+ "title": "entity",
43
+ "type": "string"
44
+ }
45
+ },
46
+ {
47
+ "name": "type",
48
+ "type": "string",
49
+ "info": "The type of file to change - action, schema, or mock",
50
+ "required": false,
51
+ "schema": {
52
+ "title": "type",
53
+ "type": "string"
54
+ }
55
+ },
56
+ {
57
+ "name": "action",
58
+ "type": "string",
59
+ "info": "The action to be changed",
60
+ "required": false,
61
+ "schema": {
62
+ "title": "action",
63
+ "type": "string"
64
+ }
65
+ }
66
+ ],
67
+ "output": {
68
+ "name": "result",
69
+ "type": "object",
70
+ "description": "A JSON Object containing status, code and the result",
71
+ "schema": {
72
+ "title": "result",
73
+ "type": "object"
74
+ }
75
+ },
76
+ "roles": [
77
+ "admin"
78
+ ],
79
+ "route": {
80
+ "verb": "POST",
81
+ "path": "/iapUpdateAdapterConfiguration"
82
+ },
83
+ "task": true
84
+ },
85
+ {
86
+ "name": "iapFindAdapterPath",
87
+ "summary": "Provides the ability to see if a particular API path is supported by the adapter",
88
+ "description": "Provides the ability to see if a particular API path is supported by the adapter",
89
+ "input": [
90
+ {
91
+ "name": "apiPath",
92
+ "type": "string",
93
+ "info": "The API Path you want to check - make sure to not include base path and version",
94
+ "description": "The API Path you want to check - make sure to not include base path and version",
95
+ "schema": {
96
+ "title": "apiPath",
97
+ "type": "string"
98
+ },
99
+ "required": true
100
+ }
101
+ ],
102
+ "output": {
103
+ "name": "result",
104
+ "type": "object",
105
+ "description": "A JSON Object containing the result",
106
+ "schema": {
107
+ "title": "result",
108
+ "type": "object"
109
+ }
110
+ },
111
+ "roles": [
112
+ "admin"
113
+ ],
114
+ "route": {
115
+ "verb": "POST",
116
+ "path": "/iapFindAdapterPath"
117
+ },
118
+ "task": true
119
+ },
120
+ {
121
+ "name": "iapSuspendAdapter",
122
+ "summary": "Suspends the adapter",
123
+ "description": "Suspends the adapter",
124
+ "input": [
125
+ {
126
+ "name": "mode",
127
+ "type": "enum",
128
+ "enumerals": [
129
+ "pause",
130
+ "error"
131
+ ],
132
+ "info": "How incoming requests are handled. Defaults to 'pause'",
133
+ "description": "How incoming requests are handled. Defaults to 'pause'",
134
+ "schema": {
135
+ "title": "mode",
136
+ "type": "string"
137
+ },
138
+ "required": false
139
+ }
140
+ ],
141
+ "output": {
142
+ "name": "result",
143
+ "type": "object",
144
+ "description": "A JSON Object containing the adapter suspended status",
145
+ "schema": {
146
+ "title": "result",
147
+ "type": "object"
148
+ }
149
+ },
150
+ "roles": [
151
+ "admin"
152
+ ],
153
+ "route": {
154
+ "verb": "POST",
155
+ "path": "/iapSuspendAdapter"
156
+ },
157
+ "task": true
158
+ },
159
+ {
160
+ "name": "iapUnsuspendAdapter",
161
+ "summary": "Unsuspends the adapter",
162
+ "description": "Unsuspends the adapter",
163
+ "input": [],
164
+ "output": {
165
+ "name": "result",
166
+ "type": "object",
167
+ "description": "A JSON Object containing the adapter suspended status",
168
+ "schema": {
169
+ "title": "result",
170
+ "type": "object"
171
+ }
172
+ },
173
+ "roles": [
174
+ "admin"
175
+ ],
176
+ "route": {
177
+ "verb": "POST",
178
+ "path": "/iapUnsuspendAdapter"
179
+ },
180
+ "task": true
181
+ },
182
+ {
183
+ "name": "iapGetAdapterQueue",
184
+ "summary": "Return the requests that are waiting in the queue if throttling is enabled",
185
+ "description": "Return the requests that are waiting in the queue if throttling is enabled",
186
+ "input": [],
187
+ "output": {
188
+ "name": "result",
189
+ "type": "object",
190
+ "description": "A JSON Object containing the adapter queue",
191
+ "schema": {
192
+ "title": "result",
193
+ "type": "object"
194
+ }
195
+ },
196
+ "roles": [
197
+ "admin"
198
+ ],
199
+ "route": {
200
+ "verb": "POST",
201
+ "path": "/iapGetAdapterQueue"
202
+ },
203
+ "task": true
204
+ },
205
+ {
206
+ "name": "iapTroubleshootAdapter",
207
+ "summary": "Runs troubleshoot script for adapter",
208
+ "description": "Runs troubleshoot script for adapter",
209
+ "input": [
210
+ {
211
+ "name": "props",
212
+ "type": "object",
213
+ "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
214
+ "required": true,
215
+ "schema": {
216
+ "title": "props",
217
+ "type": "object"
218
+ }
219
+ },
220
+ {
221
+ "name": "persistFlag",
222
+ "type": "boolean",
223
+ "info": "Whether the input properties should be saved",
224
+ "required": true
225
+ }
226
+ ],
227
+ "output": {
228
+ "name": "result",
229
+ "type": "object",
230
+ "description": "A JSON Object containing the test results",
231
+ "schema": {
232
+ "title": "result",
233
+ "type": "object"
234
+ }
235
+ },
236
+ "roles": [
237
+ "admin"
238
+ ],
239
+ "route": {
240
+ "verb": "POST",
241
+ "path": "/iapTroubleshootAdapter"
242
+ },
243
+ "task": true
244
+ },
245
+ {
246
+ "name": "iapRunAdapterHealthcheck",
247
+ "summary": "Runs healthcheck script for adapter",
248
+ "description": "Runs healthcheck script for adapter",
249
+ "input": [],
250
+ "output": {
251
+ "name": "result",
252
+ "type": "boolean",
253
+ "description": "Whether healthcheck passed or failed"
254
+ },
255
+ "roles": [
256
+ "admin"
257
+ ],
258
+ "route": {
259
+ "verb": "POST",
260
+ "path": "/iapRunAdapterHealthcheck"
261
+ },
262
+ "task": true
263
+ },
264
+ {
265
+ "name": "iapRunAdapterConnectivity",
266
+ "summary": "Runs connectivity check script for adapter",
267
+ "description": "Runs connectivity check script for adapter",
268
+ "input": [],
269
+ "output": {
270
+ "name": "result",
271
+ "type": "object",
272
+ "description": "A JSON Object containing the test results",
273
+ "schema": {
274
+ "title": "result",
275
+ "type": "object"
276
+ }
277
+ },
278
+ "roles": [
279
+ "admin"
280
+ ],
281
+ "route": {
282
+ "verb": "POST",
283
+ "path": "/iapRunAdapterConnectivity"
284
+ },
285
+ "task": true
286
+ },
287
+ {
288
+ "name": "iapRunAdapterBasicGet",
289
+ "summary": "Runs basicGet script for adapter",
290
+ "description": "Runs basicGet script for adapter",
291
+ "input": [],
292
+ "output": {
293
+ "name": "result",
294
+ "type": "object",
295
+ "description": "A JSON Object containing the test results",
296
+ "schema": {
297
+ "title": "result",
298
+ "type": "object"
299
+ }
300
+ },
301
+ "roles": [
302
+ "admin"
303
+ ],
304
+ "route": {
305
+ "verb": "POST",
306
+ "path": "/iapRunAdapterBasicGet"
307
+ },
308
+ "task": true
309
+ },
310
+ {
311
+ "name": "iapMoveAdapterEntitiesToDB",
312
+ "summary": "Moves entities from an adapter into the IAP database",
313
+ "description": "Moves entities from an adapter into the IAP database",
314
+ "input": [],
315
+ "output": {
316
+ "name": "res",
317
+ "type": "object",
318
+ "description": "A JSON Object containing status, code and the response from the mongo transaction",
319
+ "schema": {
320
+ "title": "res",
321
+ "type": "object"
322
+ }
323
+ },
324
+ "roles": [
325
+ "admin"
326
+ ],
327
+ "route": {
328
+ "verb": "POST",
329
+ "path": "/iapMoveAdapterEntitiesToDB"
330
+ },
331
+ "task": true
332
+ },
333
+ {
334
+ "name": "genericAdapterRequest",
335
+ "summary": "Makes the requested generic call",
336
+ "description": "Makes the requested generic call",
337
+ "input": [
338
+ {
339
+ "name": "uriPath",
340
+ "type": "string",
341
+ "info": "the path of the api call - do not include the host, port, base path or version",
342
+ "description": "the path of the api call",
343
+ "schema": {
344
+ "title": "uriPath",
345
+ "type": "string"
346
+ },
347
+ "required": true
348
+ },
349
+ {
350
+ "name": "restMethod",
351
+ "type": "string",
352
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
353
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
354
+ "schema": {
355
+ "title": "restMethod",
356
+ "type": "string"
357
+ },
358
+ "required": true
359
+ },
360
+ {
361
+ "name": "queryData",
362
+ "type": "object",
363
+ "info": "the query parameters to be put on the url (optional)",
364
+ "description": "the query parameters to be put on the url (optional)",
365
+ "schema": {
366
+ "title": "queryData",
367
+ "type": "object"
368
+ },
369
+ "required": false
370
+ },
371
+ {
372
+ "name": "requestBody",
373
+ "type": "object",
374
+ "info": "the payload to be sent with the request (optional)",
375
+ "description": "the payload to be sent with the request (optional)",
376
+ "schema": {
377
+ "title": "requestBody",
378
+ "type": "object"
379
+ },
380
+ "required": false
381
+ },
382
+ {
383
+ "name": "addlHeaders",
384
+ "type": "object",
385
+ "info": "additional headers to be put on the call (optional)",
386
+ "description": "additional headers to be put on the call (optional)",
387
+ "schema": {
388
+ "title": "addlHeaders",
389
+ "type": "object"
390
+ },
391
+ "required": false
392
+ }
393
+ ],
394
+ "output": {
395
+ "name": "result",
396
+ "type": "object",
397
+ "description": "A JSON Object containing status, code and the result",
398
+ "schema": {
399
+ "title": "result",
400
+ "type": "object"
401
+ }
402
+ },
403
+ "roles": [
404
+ "admin"
405
+ ],
406
+ "route": {
407
+ "verb": "POST",
408
+ "path": "/genericAdapterRequest"
409
+ },
410
+ "task": true
411
+ },
412
+ {
413
+ "name": "genericAdapterRequestNoBasePath",
414
+ "summary": "Makes the requested generic call",
415
+ "description": "Makes the requested generic call",
416
+ "input": [
417
+ {
418
+ "name": "uriPath",
419
+ "type": "string",
420
+ "info": "the path of the api call - do not include the host, port, base path or version",
421
+ "description": "the path of the api call",
422
+ "schema": {
423
+ "title": "uriPath",
424
+ "type": "string"
425
+ },
426
+ "required": true
427
+ },
428
+ {
429
+ "name": "restMethod",
430
+ "type": "string",
431
+ "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
432
+ "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
433
+ "schema": {
434
+ "title": "restMethod",
435
+ "type": "string"
436
+ },
437
+ "required": true
438
+ },
439
+ {
440
+ "name": "queryData",
441
+ "type": "object",
442
+ "info": "the query parameters to be put on the url (optional)",
443
+ "description": "the query parameters to be put on the url (optional)",
444
+ "schema": {
445
+ "title": "queryData",
446
+ "type": "object"
447
+ },
448
+ "required": false
449
+ },
450
+ {
451
+ "name": "requestBody",
452
+ "type": "object",
453
+ "info": "the payload to be sent with the request (optional)",
454
+ "description": "the payload to be sent with the request (optional)",
455
+ "schema": {
456
+ "title": "requestBody",
457
+ "type": "object"
458
+ },
459
+ "required": false
460
+ },
461
+ {
462
+ "name": "addlHeaders",
463
+ "type": "object",
464
+ "info": "additional headers to be put on the call (optional)",
465
+ "description": "additional headers to be put on the call (optional)",
466
+ "schema": {
467
+ "title": "addlHeaders",
468
+ "type": "object"
469
+ },
470
+ "required": false
471
+ }
472
+ ],
473
+ "output": {
474
+ "name": "result",
475
+ "type": "object",
476
+ "description": "A JSON Object containing status, code and the result",
477
+ "schema": {
478
+ "title": "result",
479
+ "type": "object"
480
+ }
481
+ },
482
+ "roles": [
483
+ "admin"
484
+ ],
485
+ "route": {
486
+ "verb": "POST",
487
+ "path": "/genericAdapterRequestNoBasePath"
488
+ },
489
+ "task": true
490
+ },
491
+ {
492
+ "name": "getDevice",
493
+ "summary": "Get the Appliance",
494
+ "description": "Get the Appliance",
495
+ "input": [
496
+ {
497
+ "name": "deviceName",
498
+ "type": "string",
499
+ "info": "An Appliance Device Name",
500
+ "required": true,
501
+ "schema": {
502
+ "title": "deviceName",
503
+ "type": "string"
504
+ }
505
+ }
506
+ ],
507
+ "output": {
508
+ "name": "result",
509
+ "type": "object",
510
+ "description": "A JSON Object containing status, code and the result",
511
+ "schema": {
512
+ "title": "result",
513
+ "type": "object"
514
+ }
515
+ },
516
+ "roles": [
517
+ "admin"
518
+ ],
519
+ "route": {
520
+ "verb": "POST",
521
+ "path": "/getDevice"
522
+ },
523
+ "task": true
524
+ },
525
+ {
526
+ "name": "getDevicesFiltered",
527
+ "summary": "Get Appliances that match the filter",
528
+ "description": "Get Appliances that match the filter",
529
+ "input": [
530
+ {
531
+ "name": "options",
532
+ "type": "object",
533
+ "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
534
+ "required": true,
535
+ "schema": {
536
+ "title": "options",
537
+ "type": "object"
538
+ }
539
+ }
540
+ ],
541
+ "output": {
542
+ "name": "result",
543
+ "type": "array",
544
+ "description": "A JSON Object containing status, code and the result",
545
+ "schema": {
546
+ "title": "result",
547
+ "type": "array"
548
+ }
549
+ },
550
+ "roles": [
551
+ "admin"
552
+ ],
553
+ "route": {
554
+ "verb": "POST",
555
+ "path": "/getDevicesFiltered"
556
+ },
557
+ "task": true
558
+ },
559
+ {
560
+ "name": "isAlive",
561
+ "summary": "Checks the status for the provided Appliance",
562
+ "description": "Checks the status for the provided Appliance",
563
+ "input": [
564
+ {
565
+ "name": "deviceName",
566
+ "type": "string",
567
+ "info": "An Appliance Device Name",
568
+ "required": true,
569
+ "schema": {
570
+ "title": "deviceName",
571
+ "type": "string"
572
+ }
573
+ }
574
+ ],
575
+ "output": {
576
+ "name": "result",
577
+ "type": "boolean",
578
+ "description": "A JSON Object containing status, code and the result",
579
+ "schema": {
580
+ "title": "result",
581
+ "type": "boolean"
582
+ }
583
+ },
584
+ "roles": [
585
+ "admin"
586
+ ],
587
+ "route": {
588
+ "verb": "POST",
589
+ "path": "/isAlive"
590
+ },
591
+ "task": true
592
+ },
593
+ {
594
+ "name": "getConfig",
595
+ "summary": "Gets a config for the provided Appliance",
596
+ "description": "Gets a config for the provided Appliance",
597
+ "input": [
598
+ {
599
+ "name": "deviceName",
600
+ "type": "string",
601
+ "info": "An Appliance Device Name",
602
+ "required": true,
603
+ "schema": {
604
+ "title": "deviceName",
605
+ "type": "string"
606
+ }
607
+ },
608
+ {
609
+ "name": "format",
610
+ "type": "string",
611
+ "info": "The format to be returned - this is ignored as we always return json",
612
+ "required": false,
613
+ "schema": {
614
+ "title": "format",
615
+ "type": "string"
616
+ }
617
+ }
618
+ ],
619
+ "output": {
620
+ "name": "result",
621
+ "type": "object",
622
+ "description": "A JSON Object containing status, code and the result",
623
+ "schema": {
624
+ "title": "result",
625
+ "type": "object"
626
+ }
627
+ },
628
+ "roles": [
629
+ "admin"
630
+ ],
631
+ "route": {
632
+ "verb": "POST",
633
+ "path": "/getConfig"
634
+ },
635
+ "task": true
636
+ },
637
+ {
638
+ "name": "iapGetDeviceCount",
639
+ "summary": "Gets a device count from the system",
640
+ "description": "Gets a device count from the system",
641
+ "input": [],
642
+ "output": {
643
+ "name": "result",
644
+ "type": "object",
645
+ "description": "A JSON Object containing status, code and the result",
646
+ "schema": {
647
+ "title": "result",
648
+ "type": "object"
649
+ }
650
+ },
651
+ "roles": [
652
+ "admin"
653
+ ],
654
+ "route": {
655
+ "verb": "POST",
656
+ "path": "/iapGetDeviceCount"
657
+ },
658
+ "task": true
659
+ },
660
+ {
661
+ "name": "submitStatement",
662
+ "summary": "Submits a SQL statement for execution.",
663
+ "description": "Submits a single statement for execution. You can specify that the statement should be executed asynchronously.",
664
+ "input": [
665
+ {
666
+ "name": "requestId",
667
+ "type": "string",
668
+ "info": "Unique ID of the API request. This ensures that the execution is idempotent. If not specified, a new UUID is generated and assigned.: string",
669
+ "required": false,
670
+ "schema": {
671
+ "title": "requestId",
672
+ "type": "string"
673
+ }
674
+ },
675
+ {
676
+ "name": "async",
677
+ "type": "boolean",
678
+ "info": "Set to true to execute the statement asynchronously and return the statement handle. If the parameter is not specified or is set to false, a statement is executed and the...(description truncated): boolean",
679
+ "required": false,
680
+ "schema": {
681
+ "title": "async",
682
+ "type": "boolean"
683
+ }
684
+ },
685
+ {
686
+ "name": "nullable",
687
+ "type": "boolean",
688
+ "info": "Set to true to execute the statement to generate the result set including null. If the parameter is set to false, the result set value null will be replaced with a string...(description truncated): boolean",
689
+ "required": false,
690
+ "schema": {
691
+ "title": "nullable",
692
+ "type": "boolean"
693
+ }
694
+ },
695
+ {
696
+ "name": "body",
697
+ "type": "object",
698
+ "info": "Specifies the SQL statement to execute and the statement context.: {\"statement\": \"string\", \"timeout\": 123, \"database\": \"string\", \"schema\": \"string\", \"warehouse\": \"string\", \"role\": \"string\", \"bindings\": }, \"parameters\": {\"timezone\": \"string\", \"query_tag\": \"string\", \"binary_output_format\": \"string\", \"date_output_format\": \"string\", \"time_output_format\": \"string\", \"timestamp_output_format\": \"string\", \"timestamp_ltz_output_format\": \"string\", \"timestamp_ntz_output_format\": \"string\", \"timestamp_tz_output_format\": \"string\", \"multi_statement_count\": 123}}",
699
+ "required": true,
700
+ "schema": {
701
+ "type": "object",
702
+ "properties": {
703
+ "statement": {
704
+ "description": "SQL statement or batch of SQL statements to execute. You can specify query, DML and DDL statements. The following statements are not supported: PUT, GET, USE, ALTER SESSION, BEGIN, COMMIT, ROLLBACK, statements that set session variables, and statements that create temporary tables and stages.",
705
+ "type": "string"
706
+ },
707
+ "timeout": {
708
+ "description": "Timeout in seconds for statement execution. If the execution of a statement takes longer than the specified timeout, the execution is automatically canceled. To set the timeout to the maximum value (604800 seconds), set timeout to 0.",
709
+ "type": "integer",
710
+ "minimum": 0,
711
+ "example": 10
712
+ },
713
+ "database": {
714
+ "description": "Database in which the statement should be executed. The value in this field is case-sensitive.",
715
+ "type": "string",
716
+ "example": "TESTDB"
717
+ },
718
+ "schema": {
719
+ "description": "Schema in which the statement should be executed. The value in this field is case-sensitive.",
720
+ "type": "string",
721
+ "example": "TESTSCHEMA"
722
+ },
723
+ "warehouse": {
724
+ "description": "Warehouse to use when executing the statement. The value in this field is case-sensitive.",
725
+ "type": "string",
726
+ "example": "TESTWH"
727
+ },
728
+ "role": {
729
+ "description": "Role to use when executing the statement. The value in this field is case-sensitive.",
730
+ "type": "string",
731
+ "example": "TESTROLE"
732
+ },
733
+ "bindings": {
734
+ "description": "Values of bind variables in the SQL statement. When executing the statement, Snowflake replaces placeholders ('?' and ':name') in the statement with these specified values.",
735
+ "type": "object",
736
+ "properties": {},
737
+ "example": {
738
+ "1": {
739
+ "type": "FIXED",
740
+ "value": "123"
741
+ },
742
+ "2": {
743
+ "type": "TEXT",
744
+ "value": "teststring"
745
+ }
746
+ }
747
+ },
748
+ "parameters": {
749
+ "description": "Session parameters that should be set before executing the statement.",
750
+ "type": "object",
751
+ "properties": {
752
+ "timezone": {
753
+ "description": "Time zone to use when executing the statement.",
754
+ "type": "string",
755
+ "example": "america/los_angeles"
756
+ },
757
+ "query_tag": {
758
+ "description": "Query tag that you want to associate with the SQL statement.",
759
+ "type": "string",
760
+ "example": "tag-1234"
761
+ },
762
+ "binary_output_format": {
763
+ "description": "Output format for binary values.",
764
+ "type": "string",
765
+ "example": "HEX"
766
+ },
767
+ "date_output_format": {
768
+ "description": "Output format for DATE values.",
769
+ "type": "string",
770
+ "example": "YYYY-MM-DD"
771
+ },
772
+ "time_output_format": {
773
+ "description": "Output format for TIME values.",
774
+ "type": "string",
775
+ "example": "HH24:MI:SS.FF6"
776
+ },
777
+ "timestamp_output_format": {
778
+ "description": "Output format for TIMESTAMP values.",
779
+ "type": "string",
780
+ "example": "YYYY-MM-DDTHH24:MI:SS.FF6"
781
+ },
782
+ "timestamp_ltz_output_format": {
783
+ "description": "Output format for TIMESTAMP_LTZ values.",
784
+ "type": "string",
785
+ "example": "YYYY-MM-DDTHH24:MI:SS.FF6"
786
+ },
787
+ "timestamp_ntz_output_format": {
788
+ "description": "Output format for TIMESTAMP_NTZ values.",
789
+ "type": "string",
790
+ "example": "YYYY-MM-DDTHH24:MI:SS.FF6"
791
+ },
792
+ "timestamp_tz_output_format": {
793
+ "description": "Output format for TIMESTAMP_TZ values.",
794
+ "type": "string",
795
+ "example": "YYYY-MM-DDTHH24:MI:SS.FF6 TZHTZM"
796
+ },
797
+ "multi_statement_count": {
798
+ "description": "Number of statements to execute when using multi-statement capability. 0 implies variable number of statements. Negative numbers are not allowed.",
799
+ "type": "integer",
800
+ "example": 4,
801
+ "default": 1
802
+ }
803
+ }
804
+ }
805
+ },
806
+ "definitions": {}
807
+ }
808
+ }
809
+ ],
810
+ "output": {
811
+ "name": "result",
812
+ "type": "object",
813
+ "description": "A JSON Object containing status, code and the result",
814
+ "schema": {
815
+ "title": "result",
816
+ "type": "object"
817
+ }
818
+ },
819
+ "roles": [
820
+ "admin"
821
+ ],
822
+ "route": {
823
+ "verb": "POST",
824
+ "path": "/submitStatement"
825
+ },
826
+ "task": true
827
+ },
828
+ {
829
+ "name": "getStatementStatus",
830
+ "summary": "Checks the status of the execution of a statement",
831
+ "description": "Checks the status of the execution of the statement with the specified statement handle. If the statement was executed successfully, the operation returns the requested partition of the result set.",
832
+ "input": [
833
+ {
834
+ "name": "statementHandle",
835
+ "type": "string",
836
+ "info": "The handle of the statement that you want to use (e.g. to fetch the result set or cancel execution).: string",
837
+ "required": true,
838
+ "schema": {
839
+ "title": "statementHandle",
840
+ "type": "string"
841
+ }
842
+ },
843
+ {
844
+ "name": "requestId",
845
+ "type": "string",
846
+ "info": "Unique ID of the API request. This ensures that the execution is idempotent. If not specified, a new UUID is generated and assigned.: string",
847
+ "required": false,
848
+ "schema": {
849
+ "title": "requestId",
850
+ "type": "string"
851
+ }
852
+ },
853
+ {
854
+ "name": "partition",
855
+ "type": "number",
856
+ "info": "Number of the partition of results to return. The number can range from 0 to the total number of partitions minus 1.: 123",
857
+ "required": false,
858
+ "schema": {
859
+ "title": "partition",
860
+ "type": "number"
861
+ }
862
+ }
863
+ ],
864
+ "output": {
865
+ "name": "result",
866
+ "type": "object",
867
+ "description": "A JSON Object containing status, code and the result",
868
+ "schema": {
869
+ "title": "result",
870
+ "type": "object"
871
+ }
872
+ },
873
+ "roles": [
874
+ "admin"
875
+ ],
876
+ "route": {
877
+ "verb": "POST",
878
+ "path": "/getStatementStatus"
879
+ },
880
+ "task": true
881
+ },
882
+ {
883
+ "name": "cancelStatement",
884
+ "summary": "Cancels the execution of a statement.",
885
+ "description": "Cancels the execution of the statement with the specified statement handle.",
886
+ "input": [
887
+ {
888
+ "name": "statementHandle",
889
+ "type": "string",
890
+ "info": "The handle of the statement that you want to use (e.g. to fetch the result set or cancel execution).: string",
891
+ "required": true,
892
+ "schema": {
893
+ "title": "statementHandle",
894
+ "type": "string"
895
+ }
896
+ },
897
+ {
898
+ "name": "requestId",
899
+ "type": "string",
900
+ "info": "Unique ID of the API request. This ensures that the execution is idempotent. If not specified, a new UUID is generated and assigned.: string",
901
+ "required": false,
902
+ "schema": {
903
+ "title": "requestId",
904
+ "type": "string"
905
+ }
906
+ }
907
+ ],
908
+ "output": {
909
+ "name": "result",
910
+ "type": "object",
911
+ "description": "A JSON Object containing status, code and the result",
912
+ "schema": {
913
+ "title": "result",
914
+ "type": "object"
915
+ }
916
+ },
917
+ "roles": [
918
+ "admin"
919
+ ],
920
+ "route": {
921
+ "verb": "POST",
922
+ "path": "/cancelStatement"
923
+ },
924
+ "task": true
925
+ }
926
+ ],
927
+ "views": []
928
+ }