databay-cli 0.1.0__py3-none-any.whl

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 (403) hide show
  1. databay/__init__.py +5 -0
  2. databay/__main__.py +7 -0
  3. databay/agent_skill.py +184 -0
  4. databay/api.py +626 -0
  5. databay/cli/__init__.py +0 -0
  6. databay/cli/auth.py +377 -0
  7. databay/cli/build.py +89 -0
  8. databay/cli/commands/__init__.py +0 -0
  9. databay/cli/commands/alerting_webhook.py +19 -0
  10. databay/cli/commands/alerting_webhook_tag.py +14 -0
  11. databay/cli/commands/alerting_webhook_type.py +14 -0
  12. databay/cli/commands/alerting_webhook_undelivered.py +15 -0
  13. databay/cli/commands/announcement.py +17 -0
  14. databay/cli/commands/api_key.py +18 -0
  15. databay/cli/commands/api_key_project.py +16 -0
  16. databay/cli/commands/backfill_reason_code.py +14 -0
  17. databay/cli/commands/backfill_run.py +17 -0
  18. databay/cli/commands/canvas.py +16 -0
  19. databay/cli/commands/canvas_graph.py +15 -0
  20. databay/cli/commands/canvas_table_check.py +15 -0
  21. databay/cli/commands/dashboards.py +21 -0
  22. databay/cli/commands/dashboards_card.py +20 -0
  23. databay/cli/commands/dashboards_dataset.py +14 -0
  24. databay/cli/commands/dashboards_folder.py +16 -0
  25. databay/cli/commands/dashboards_home.py +17 -0
  26. databay/cli/commands/dashboards_placement.py +16 -0
  27. databay/cli/commands/db.py +19 -0
  28. databay/cli/commands/db_column.py +14 -0
  29. databay/cli/commands/docs_article.py +16 -0
  30. databay/cli/commands/dq_result.py +14 -0
  31. databay/cli/commands/dq_rule.py +16 -0
  32. databay/cli/commands/feature.py +14 -0
  33. databay/cli/commands/google_ads_source.py +14 -0
  34. databay/cli/commands/google_analytics_source.py +14 -0
  35. databay/cli/commands/instagram_account.py +14 -0
  36. databay/cli/commands/instagram_source.py +14 -0
  37. databay/cli/commands/linkedin_account.py +14 -0
  38. databay/cli/commands/linkedin_source.py +14 -0
  39. databay/cli/commands/me.py +14 -0
  40. databay/cli/commands/meta_ads_source.py +14 -0
  41. databay/cli/commands/metric_models.py +26 -0
  42. databay/cli/commands/metrics.py +14 -0
  43. databay/cli/commands/models.py +16 -0
  44. databay/cli/commands/nlq.py +15 -0
  45. databay/cli/commands/notebook_credential.py +16 -0
  46. databay/cli/commands/org.py +14 -0
  47. databay/cli/commands/org_member.py +17 -0
  48. databay/cli/commands/org_offboarding.py +14 -0
  49. databay/cli/commands/pipe.py +26 -0
  50. databay/cli/commands/pipe_backfill_run.py +14 -0
  51. databay/cli/commands/pipe_config_option.py +14 -0
  52. databay/cli/commands/pipe_destination.py +16 -0
  53. databay/cli/commands/pipe_leftover.py +16 -0
  54. databay/cli/commands/pipe_sink_type.py +14 -0
  55. databay/cli/commands/pipe_source_type.py +14 -0
  56. databay/cli/commands/pipe_status_bucket.py +14 -0
  57. databay/cli/commands/pipe_stuck_delete.py +14 -0
  58. databay/cli/commands/plan.py +14 -0
  59. databay/cli/commands/project.py +21 -0
  60. databay/cli/commands/project_budget.py +15 -0
  61. databay/cli/commands/project_member.py +18 -0
  62. databay/cli/commands/project_privilege.py +16 -0
  63. databay/cli/commands/project_share.py +16 -0
  64. databay/cli/commands/provision.py +14 -0
  65. databay/cli/commands/provisioning.py +14 -0
  66. databay/cli/commands/registry.py +14 -0
  67. databay/cli/commands/resource_home.py +14 -0
  68. databay/cli/commands/schema_change.py +18 -0
  69. databay/cli/commands/schema_history.py +17 -0
  70. databay/cli/commands/schema_version.py +16 -0
  71. databay/cli/commands/shopify_store.py +14 -0
  72. databay/cli/commands/sink_data_type.py +14 -0
  73. databay/cli/commands/source.py +24 -0
  74. databay/cli/commands/source_catalog.py +15 -0
  75. databay/cli/commands/source_check_run.py +17 -0
  76. databay/cli/commands/source_hidden_type.py +14 -0
  77. databay/cli/commands/source_name.py +14 -0
  78. databay/cli/commands/source_pipe.py +14 -0
  79. databay/cli/commands/source_publication.py +16 -0
  80. databay/cli/commands/source_readiness_override.py +15 -0
  81. databay/cli/commands/source_setup_choice.py +16 -0
  82. databay/cli/commands/source_stream.py +15 -0
  83. databay/cli/commands/source_table.py +14 -0
  84. databay/cli/commands/ssbi_job.py +18 -0
  85. databay/cli/commands/transform_type.py +14 -0
  86. databay/cli/commands/usage.py +14 -0
  87. databay/cli/commands/warehouse.py +21 -0
  88. databay/cli/commands/warehouse_access_assignment.py +16 -0
  89. databay/cli/commands/warehouse_access_role.py +22 -0
  90. databay/cli/commands/warehouse_access_settings.py +17 -0
  91. databay/cli/commands/warehouse_login.py +20 -0
  92. databay/cli/commands/warehouse_principal.py +17 -0
  93. databay/cli/commands/warehouse_service_account.py +17 -0
  94. databay/cli/commands/warehouse_service_account_credential.py +18 -0
  95. databay/cli/common.py +93 -0
  96. databay/cli/console.py +121 -0
  97. databay/cli/flags.py +183 -0
  98. databay/cli/handwritten.py +22 -0
  99. databay/cli/main.py +198 -0
  100. databay/cli/metrics.py +171 -0
  101. databay/cli/org.py +193 -0
  102. databay/cli/output.py +134 -0
  103. databay/cli/pipe_wait.py +357 -0
  104. databay/cli/profile.py +230 -0
  105. databay/cli/runner.py +432 -0
  106. databay/cli/skill.py +64 -0
  107. databay/cli/sql.py +84 -0
  108. databay/compat.py +161 -0
  109. databay/credentials.py +217 -0
  110. databay/error_catalog.py +226 -0
  111. databay/error_codes.py +3265 -0
  112. databay/errors.py +222 -0
  113. databay/feature_header.py +40 -0
  114. databay/invoke.py +225 -0
  115. databay/locks.py +41 -0
  116. databay/login_flow.py +245 -0
  117. databay/model_base.py +40 -0
  118. databay/models/__init__.py +0 -0
  119. databay/models/alerting_webhook.py +46 -0
  120. databay/models/alerting_webhook_tag.py +11 -0
  121. databay/models/alerting_webhook_type.py +11 -0
  122. databay/models/alerting_webhook_undelivered.py +23 -0
  123. databay/models/announcement.py +37 -0
  124. databay/models/api_key.py +81 -0
  125. databay/models/api_key_project.py +29 -0
  126. databay/models/backfill_reason_code.py +11 -0
  127. databay/models/backfill_run.py +41 -0
  128. databay/models/canvas.py +68 -0
  129. databay/models/canvas_graph.py +86 -0
  130. databay/models/canvas_table_check.py +181 -0
  131. databay/models/dashboards.py +79 -0
  132. databay/models/dashboards_card.py +37 -0
  133. databay/models/dashboards_dataset.py +27 -0
  134. databay/models/dashboards_folder.py +18 -0
  135. databay/models/dashboards_home.py +28 -0
  136. databay/models/db.py +34 -0
  137. databay/models/db_column.py +11 -0
  138. databay/models/docs_article.py +59 -0
  139. databay/models/dq_result.py +27 -0
  140. databay/models/dq_rule.py +43 -0
  141. databay/models/feature.py +15 -0
  142. databay/models/google_ads_source.py +11 -0
  143. databay/models/google_analytics_source.py +11 -0
  144. databay/models/instagram_source.py +11 -0
  145. databay/models/linkedin_source.py +11 -0
  146. databay/models/me.py +71 -0
  147. databay/models/meta_ads_source.py +11 -0
  148. databay/models/metric_models.py +274 -0
  149. databay/models/metrics.py +158 -0
  150. databay/models/models.py +73 -0
  151. databay/models/nlq.py +92 -0
  152. databay/models/notebook_credential.py +51 -0
  153. databay/models/org.py +44 -0
  154. databay/models/org_member.py +123 -0
  155. databay/models/org_offboarding.py +36 -0
  156. databay/models/pipe.py +340 -0
  157. databay/models/pipe_config_option.py +25 -0
  158. databay/models/pipe_destination.py +128 -0
  159. databay/models/pipe_leftover.py +51 -0
  160. databay/models/pipe_sink_type.py +11 -0
  161. databay/models/pipe_source_type.py +11 -0
  162. databay/models/pipe_status_bucket.py +13 -0
  163. databay/models/pipe_stuck_delete.py +25 -0
  164. databay/models/plan.py +37 -0
  165. databay/models/project.py +154 -0
  166. databay/models/project_budget.py +22 -0
  167. databay/models/project_member.py +67 -0
  168. databay/models/project_privilege.py +21 -0
  169. databay/models/project_share.py +76 -0
  170. databay/models/provision.py +12 -0
  171. databay/models/provisioning.py +20 -0
  172. databay/models/registry.py +18 -0
  173. databay/models/resource_home.py +35 -0
  174. databay/models/schema_change.py +96 -0
  175. databay/models/schema_history.py +32 -0
  176. databay/models/schema_version.py +23 -0
  177. databay/models/shared.py +875 -0
  178. databay/models/shopify_store.py +19 -0
  179. databay/models/sink_data_type.py +11 -0
  180. databay/models/source.py +263 -0
  181. databay/models/source_catalog.py +82 -0
  182. databay/models/source_check_run.py +63 -0
  183. databay/models/source_hidden_type.py +13 -0
  184. databay/models/source_name.py +18 -0
  185. databay/models/source_pipe.py +16 -0
  186. databay/models/source_publication.py +30 -0
  187. databay/models/source_readiness_override.py +13 -0
  188. databay/models/source_setup_choice.py +33 -0
  189. databay/models/source_stream.py +65 -0
  190. databay/models/source_table.py +27 -0
  191. databay/models/sql.py +31 -0
  192. databay/models/ssbi_job.py +97 -0
  193. databay/models/transform_type.py +40 -0
  194. databay/models/usage.py +112 -0
  195. databay/models/warehouse.py +38 -0
  196. databay/models/warehouse_access_assignment.py +70 -0
  197. databay/models/warehouse_access_role.py +148 -0
  198. databay/models/warehouse_access_settings.py +35 -0
  199. databay/models/warehouse_login.py +20 -0
  200. databay/models/warehouse_principal.py +49 -0
  201. databay/models/warehouse_service_account.py +35 -0
  202. databay/models/warehouse_service_account_credential.py +11 -0
  203. databay/oidc.py +205 -0
  204. databay/operation.py +191 -0
  205. databay/operations/__init__.py +0 -0
  206. databay/operations/alerting_webhook.py +317 -0
  207. databay/operations/alerting_webhook_tag.py +35 -0
  208. databay/operations/alerting_webhook_type.py +35 -0
  209. databay/operations/alerting_webhook_undelivered.py +74 -0
  210. databay/operations/announcement.py +135 -0
  211. databay/operations/api_key.py +198 -0
  212. databay/operations/api_key_project.py +130 -0
  213. databay/operations/backfill_reason_code.py +35 -0
  214. databay/operations/backfill_run.py +245 -0
  215. databay/operations/canvas.py +136 -0
  216. databay/operations/canvas_graph.py +102 -0
  217. databay/operations/canvas_table_check.py +101 -0
  218. databay/operations/dashboards.py +441 -0
  219. databay/operations/dashboards_card.py +406 -0
  220. databay/operations/dashboards_dataset.py +50 -0
  221. databay/operations/dashboards_folder.py +146 -0
  222. databay/operations/dashboards_home.py +176 -0
  223. databay/operations/dashboards_placement.py +152 -0
  224. databay/operations/db.py +337 -0
  225. databay/operations/db_column.py +57 -0
  226. databay/operations/docs_article.py +101 -0
  227. databay/operations/dq_result.py +43 -0
  228. databay/operations/dq_rule.py +155 -0
  229. databay/operations/feature.py +35 -0
  230. databay/operations/google_ads_source.py +40 -0
  231. databay/operations/google_analytics_source.py +40 -0
  232. databay/operations/instagram_account.py +47 -0
  233. databay/operations/instagram_source.py +40 -0
  234. databay/operations/linkedin_account.py +47 -0
  235. databay/operations/linkedin_source.py +40 -0
  236. databay/operations/me.py +57 -0
  237. databay/operations/meta_ads_source.py +40 -0
  238. databay/operations/metric_models.py +612 -0
  239. databay/operations/metrics.py +218 -0
  240. databay/operations/models.py +123 -0
  241. databay/operations/nlq.py +100 -0
  242. databay/operations/notebook_credential.py +95 -0
  243. databay/operations/org.py +79 -0
  244. databay/operations/org_member.py +192 -0
  245. databay/operations/org_offboarding.py +43 -0
  246. databay/operations/pipe.py +882 -0
  247. databay/operations/pipe_backfill_run.py +72 -0
  248. databay/operations/pipe_config_option.py +50 -0
  249. databay/operations/pipe_destination.py +178 -0
  250. databay/operations/pipe_leftover.py +110 -0
  251. databay/operations/pipe_sink_type.py +35 -0
  252. databay/operations/pipe_source_type.py +35 -0
  253. databay/operations/pipe_status_bucket.py +35 -0
  254. databay/operations/pipe_stuck_delete.py +52 -0
  255. databay/operations/plan.py +35 -0
  256. databay/operations/project.py +346 -0
  257. databay/operations/project_budget.py +135 -0
  258. databay/operations/project_member.py +226 -0
  259. databay/operations/project_privilege.py +143 -0
  260. databay/operations/project_share.py +160 -0
  261. databay/operations/provision.py +35 -0
  262. databay/operations/provisioning.py +35 -0
  263. databay/operations/registry.py +35 -0
  264. databay/operations/resource_home.py +80 -0
  265. databay/operations/schema_change.py +222 -0
  266. databay/operations/schema_history.py +136 -0
  267. databay/operations/schema_version.py +115 -0
  268. databay/operations/shopify_store.py +40 -0
  269. databay/operations/sink_data_type.py +43 -0
  270. databay/operations/source.py +1207 -0
  271. databay/operations/source_catalog.py +135 -0
  272. databay/operations/source_check_run.py +242 -0
  273. databay/operations/source_hidden_type.py +59 -0
  274. databay/operations/source_name.py +69 -0
  275. databay/operations/source_pipe.py +57 -0
  276. databay/operations/source_publication.py +139 -0
  277. databay/operations/source_readiness_override.py +96 -0
  278. databay/operations/source_setup_choice.py +161 -0
  279. databay/operations/source_stream.py +99 -0
  280. databay/operations/source_table.py +59 -0
  281. databay/operations/sql.py +54 -0
  282. databay/operations/ssbi_job.py +242 -0
  283. databay/operations/transform_type.py +35 -0
  284. databay/operations/usage.py +35 -0
  285. databay/operations/warehouse.py +343 -0
  286. databay/operations/warehouse_access_assignment.py +179 -0
  287. databay/operations/warehouse_access_role.py +473 -0
  288. databay/operations/warehouse_access_settings.py +172 -0
  289. databay/operations/warehouse_login.py +308 -0
  290. databay/operations/warehouse_principal.py +174 -0
  291. databay/operations/warehouse_service_account.py +206 -0
  292. databay/operations/warehouse_service_account_credential.py +285 -0
  293. databay/paths.py +32 -0
  294. databay/platform_check.py +20 -0
  295. databay/profiles.py +181 -0
  296. databay/redact.py +22 -0
  297. databay/reference.py +218 -0
  298. databay/resource.py +167 -0
  299. databay/resources/__init__.py +0 -0
  300. databay/resources/alerting_webhook.py +84 -0
  301. databay/resources/alerting_webhook_tag.py +21 -0
  302. databay/resources/alerting_webhook_type.py +21 -0
  303. databay/resources/alerting_webhook_undelivered.py +35 -0
  304. databay/resources/announcement.py +45 -0
  305. databay/resources/api_key.py +56 -0
  306. databay/resources/api_key_project.py +47 -0
  307. databay/resources/backfill_reason_code.py +21 -0
  308. databay/resources/backfill_run.py +78 -0
  309. databay/resources/canvas.py +43 -0
  310. databay/resources/canvas_graph.py +38 -0
  311. databay/resources/canvas_table_check.py +38 -0
  312. databay/resources/dashboards.py +105 -0
  313. databay/resources/dashboards_card.py +97 -0
  314. databay/resources/dashboards_dataset.py +27 -0
  315. databay/resources/dashboards_folder.py +47 -0
  316. databay/resources/dashboards_home.py +59 -0
  317. databay/resources/dashboards_placement.py +47 -0
  318. databay/resources/db.py +87 -0
  319. databay/resources/db_column.py +28 -0
  320. databay/resources/docs_article.py +37 -0
  321. databay/resources/dq_result.py +25 -0
  322. databay/resources/dq_rule.py +48 -0
  323. databay/resources/feature.py +21 -0
  324. databay/resources/google_ads_source.py +25 -0
  325. databay/resources/google_analytics_source.py +25 -0
  326. databay/resources/instagram_account.py +27 -0
  327. databay/resources/instagram_source.py +25 -0
  328. databay/resources/linkedin_account.py +27 -0
  329. databay/resources/linkedin_source.py +25 -0
  330. databay/resources/me.py +27 -0
  331. databay/resources/meta_ads_source.py +25 -0
  332. databay/resources/metric_models.py +154 -0
  333. databay/resources/metrics.py +57 -0
  334. databay/resources/models.py +42 -0
  335. databay/resources/nlq.py +34 -0
  336. databay/resources/notebook_credential.py +41 -0
  337. databay/resources/org.py +29 -0
  338. databay/resources/org_member.py +53 -0
  339. databay/resources/org_offboarding.py +25 -0
  340. databay/resources/pipe.py +208 -0
  341. databay/resources/pipe_backfill_run.py +28 -0
  342. databay/resources/pipe_config_option.py +26 -0
  343. databay/resources/pipe_destination.py +49 -0
  344. databay/resources/pipe_leftover.py +42 -0
  345. databay/resources/pipe_sink_type.py +21 -0
  346. databay/resources/pipe_source_type.py +21 -0
  347. databay/resources/pipe_status_bucket.py +21 -0
  348. databay/resources/pipe_stuck_delete.py +27 -0
  349. databay/resources/plan.py +21 -0
  350. databay/resources/project.py +92 -0
  351. databay/resources/project_budget.py +38 -0
  352. databay/resources/project_member.py +68 -0
  353. databay/resources/project_privilege.py +48 -0
  354. databay/resources/project_share.py +47 -0
  355. databay/resources/provision.py +21 -0
  356. databay/resources/provisioning.py +21 -0
  357. databay/resources/registry.py +21 -0
  358. databay/resources/resource_home.py +29 -0
  359. databay/resources/schema_change.py +62 -0
  360. databay/resources/schema_history.py +52 -0
  361. databay/resources/schema_version.py +43 -0
  362. databay/resources/shopify_store.py +25 -0
  363. databay/resources/sink_data_type.py +25 -0
  364. databay/resources/source.py +132 -0
  365. databay/resources/source_catalog.py +34 -0
  366. databay/resources/source_check_run.py +67 -0
  367. databay/resources/source_hidden_type.py +25 -0
  368. databay/resources/source_name.py +27 -0
  369. databay/resources/source_pipe.py +28 -0
  370. databay/resources/source_publication.py +47 -0
  371. databay/resources/source_readiness_override.py +37 -0
  372. databay/resources/source_setup_choice.py +50 -0
  373. databay/resources/source_stream.py +38 -0
  374. databay/resources/source_table.py +27 -0
  375. databay/resources/sql.py +27 -0
  376. databay/resources/ssbi_job.py +69 -0
  377. databay/resources/transform_type.py +21 -0
  378. databay/resources/usage.py +21 -0
  379. databay/resources/warehouse.py +136 -0
  380. databay/resources/warehouse_access_assignment.py +51 -0
  381. databay/resources/warehouse_access_role.py +118 -0
  382. databay/resources/warehouse_access_settings.py +56 -0
  383. databay/resources/warehouse_login.py +81 -0
  384. databay/resources/warehouse_principal.py +51 -0
  385. databay/resources/warehouse_service_account.py +61 -0
  386. databay/resources/warehouse_service_account_credential.py +78 -0
  387. databay/sdk.py +77 -0
  388. databay/settings.py +90 -0
  389. databay/skill/SKILL.md +357 -0
  390. databay/skill/references/commands.md +7025 -0
  391. databay/skill/references/errors.md +727 -0
  392. databay/spec.py +362 -0
  393. databay/stored_token.py +134 -0
  394. databay/tokens.py +108 -0
  395. databay/transport.py +357 -0
  396. databay/update_check.py +151 -0
  397. databay/version.py +6 -0
  398. databay/waits.py +330 -0
  399. databay_cli-0.1.0.dist-info/METADATA +42 -0
  400. databay_cli-0.1.0.dist-info/RECORD +403 -0
  401. databay_cli-0.1.0.dist-info/WHEEL +4 -0
  402. databay_cli-0.1.0.dist-info/entry_points.txt +2 -0
  403. databay_cli-0.1.0.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,135 @@
1
+ """The ``source-catalog`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Operation, Param, Response
7
+
8
+
9
+ SOURCE_CATALOG_LIST = Operation(
10
+ operation_id='source_catalog_list',
11
+ noun='source-catalog',
12
+ verb='list',
13
+ method='get',
14
+ path='/api/configstore/source-catalog',
15
+ summary='Connected Source Catalog',
16
+ description='Source-type catalog for the create wizard.\n\nPer type: display name, auth kind, and the form fields to render. Shopify is an\nOAuth entry whose only field is the shop domain.\n\nOnly the types this deployment offers are listed, and an organization may see its\nown variant of an entry.',
17
+ project=None,
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(),
22
+ body=None,
23
+ response=Response(
24
+ kind='json',
25
+ model='source_catalog:SourceCatalogListResponse',
26
+ shape='array',
27
+ ),
28
+ examples=(
29
+ 'databay source-catalog list',
30
+ ),
31
+ columns=(
32
+ 'type',
33
+ 'display_name',
34
+ 'auth_kind',
35
+ ),
36
+ )
37
+
38
+ SOURCE_CATALOG_SETUP_SCRIPT = Operation(
39
+ operation_id='source_catalog_setup_script',
40
+ noun='source-catalog',
41
+ verb='setup-script',
42
+ method='get',
43
+ path='/api/configstore/source-catalog/{source_type}/setup.sql',
44
+ summary='Connected Source Setup Script',
45
+ description="Download everything ``source_type`` needs as one script for a DBA.\n\nNames are quoted for the dialect; a blank name renders as ``<your_user>`` /\n``<your_database>``. Ends with read-only queries that print PASS/FAIL per requirement.\n\nWith ``step``, only that step's SQL for what's on the guided setup's screen; 422\n``setup_step_unknown`` names the steps there are. With no known ``provider``, each provider's\nvariant comes as a commented alternative.",
46
+ project=None,
47
+ destructive=False,
48
+ idempotent=False,
49
+ since='1.0',
50
+ params=(
51
+ Param(
52
+ name='source_type',
53
+ location='path',
54
+ kind='string',
55
+ required=True,
56
+ description='source type',
57
+ choices=(
58
+ 'postgres',
59
+ 'mysql',
60
+ 'mssql',
61
+ 'mongodb',
62
+ 'shopify',
63
+ 'meta_ads',
64
+ 'google_ads',
65
+ 'ga4',
66
+ 'instagram',
67
+ 'linkedin_pages',
68
+ 'x',
69
+ 'tiktok_ads',
70
+ 'file_upload',
71
+ ),
72
+ ),
73
+ Param(
74
+ name='username',
75
+ location='query',
76
+ kind='string',
77
+ required=False,
78
+ description='the database user Databay will use',
79
+ ),
80
+ Param(
81
+ name='db_name',
82
+ location='query',
83
+ kind='string',
84
+ required=False,
85
+ description='the database to replicate',
86
+ ),
87
+ Param(
88
+ name='provider',
89
+ location='query',
90
+ kind='string',
91
+ required=False,
92
+ description='who runs the database',
93
+ choices=(
94
+ 'rds',
95
+ 'cloudsql',
96
+ 'azure',
97
+ 'atlas',
98
+ 'self_managed',
99
+ 'unknown',
100
+ ),
101
+ ),
102
+ Param(
103
+ name='step',
104
+ location='query',
105
+ kind='string',
106
+ required=False,
107
+ description='only this step of the guided setup: replication or databay_user, and publication_admin or publication_databay where the deployment offers the choice',
108
+ nullable=True,
109
+ ),
110
+ Param(
111
+ name='publication_mode',
112
+ location='query',
113
+ kind='string',
114
+ required=False,
115
+ description='the publication path the whole script prepares for',
116
+ choices=(
117
+ 'customer_managed',
118
+ 'databay_managed',
119
+ ),
120
+ nullable=True,
121
+ ),
122
+ ),
123
+ body=None,
124
+ response=Response(
125
+ kind='text',
126
+ ),
127
+ examples=(
128
+ 'databay source-catalog setup-script postgres --username databay --db-name shop --provider rds',
129
+ ),
130
+ )
131
+
132
+ OPERATIONS = (
133
+ SOURCE_CATALOG_LIST,
134
+ SOURCE_CATALOG_SETUP_SCRIPT,
135
+ )
@@ -0,0 +1,242 @@
1
+ """The ``source-check-run`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Body, Operation, Param, Response
7
+
8
+
9
+ SOURCE_CHECK_RUN_GET = Operation(
10
+ operation_id='source_check_run_get',
11
+ noun='source-check-run',
12
+ verb='get',
13
+ method='get',
14
+ path='/api/configstore/source/check-runs/{run_id}',
15
+ summary='Source Check Run Get',
16
+ description="Read a run: the data the socket's events only announce.\n\nA saved run is authorized like its source; an unsaved one only for the user and project that started it. A run\npast ``expires_at`` reads as ``interrupted``, and one past its 24-hour retention is 404\n``source_check_run_not_found``.",
17
+ project='header',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='run_id',
24
+ location='path',
25
+ kind='string',
26
+ required=True,
27
+ description='the id the start answered',
28
+ ),
29
+ ),
30
+ body=None,
31
+ response=Response(
32
+ kind='json',
33
+ model='shared:CheckRunResponse',
34
+ shape='object',
35
+ ),
36
+ examples=(
37
+ 'databay source-check-run get <run_id>',
38
+ ),
39
+ )
40
+
41
+ SOURCE_CHECK_RUN_LATEST = Operation(
42
+ operation_id='source_check_run_latest',
43
+ noun='source-check-run',
44
+ verb='latest',
45
+ method='get',
46
+ path='/api/configstore/source/{source_uuid}/check-runs/latest',
47
+ summary='Source Check Run Latest',
48
+ description="Read the source's running run, with who started it; ``null`` when none is running.",
49
+ project='header',
50
+ destructive=False,
51
+ idempotent=False,
52
+ since='1.0',
53
+ params=(
54
+ Param(
55
+ name='source_uuid',
56
+ location='path',
57
+ kind='string',
58
+ required=True,
59
+ description='uuid of the connected source',
60
+ ),
61
+ ),
62
+ body=None,
63
+ response=Response(
64
+ kind='json',
65
+ model='source_check_run:SourceCheckRunLatestResponse',
66
+ ),
67
+ examples=(
68
+ 'databay source-check-run latest <source_uuid>',
69
+ ),
70
+ )
71
+
72
+ SOURCE_CHECK_RUN_START = Operation(
73
+ operation_id='source_check_run_start',
74
+ noun='source-check-run',
75
+ verb='start',
76
+ method='post',
77
+ path='/api/configstore/source/check-runs',
78
+ summary='Source Check Run Start',
79
+ description="Start checking a source and answer at once, with the run's id, its ordered checks and its deadlines.\n\nThe checks run one at a time in the background; each result is written, then sent on ``user:{sub}``. A new source\nsaves encrypted, as ``setup_incomplete``, the moment its login passes; a failed login saves nothing. Closing the\npage doesn't stop a run. ``active_probes`` also opens a real replication connection and creates a temporary slot,\nwhich a new pipe on a guided-setup type needs passed. Refusals: 409 ``source_name_taken``, 409\n``source_check_run_active`` (naming who started the running one), 409 ``quota_reached``, 422 ``host_not_allowed``,\n429 ``precheck_rate_limited``, and 503 ``precheck_busy`` or, on Check again only, ``precheck_limiter_unavailable``.\nA repeated ``Idempotency-Key`` answers the same run as it is now.",
80
+ project='header',
81
+ destructive=False,
82
+ idempotent=True,
83
+ since='1.0',
84
+ params=(),
85
+ body=Body(
86
+ schema='CheckRunStartRequest',
87
+ fields=(
88
+ Param(
89
+ name='active_probes',
90
+ location='body',
91
+ kind='boolean',
92
+ required=False,
93
+ description="also run the type's active probes (Postgres: open a real replication connection and create a temporary replication slot; a type with none runs only its catalog checks); passing them is what lets a new pipe use this source",
94
+ ),
95
+ Param(
96
+ name='config',
97
+ location='body',
98
+ kind='json',
99
+ required=False,
100
+ description="a new source's connection",
101
+ nullable=True,
102
+ ),
103
+ Param(
104
+ name='name',
105
+ location='body',
106
+ kind='string',
107
+ required=False,
108
+ description="a new source's name",
109
+ nullable=True,
110
+ ),
111
+ Param(
112
+ name='password',
113
+ location='body',
114
+ kind='string',
115
+ required=False,
116
+ description="a new source's password",
117
+ secret=True,
118
+ nullable=True,
119
+ ),
120
+ Param(
121
+ name='source_id',
122
+ location='body',
123
+ kind='string',
124
+ required=False,
125
+ description='the saved source to check again; null for a new source',
126
+ nullable=True,
127
+ ),
128
+ Param(
129
+ name='source_type',
130
+ location='body',
131
+ kind='string',
132
+ required=False,
133
+ description="a new source's type",
134
+ choices=(
135
+ 'postgres',
136
+ 'mysql',
137
+ 'mssql',
138
+ 'mongodb',
139
+ 'shopify',
140
+ 'meta_ads',
141
+ 'google_ads',
142
+ 'ga4',
143
+ 'instagram',
144
+ 'linkedin_pages',
145
+ 'x',
146
+ 'tiktok_ads',
147
+ 'file_upload',
148
+ ),
149
+ nullable=True,
150
+ ),
151
+ ),
152
+ ),
153
+ response=Response(
154
+ kind='json',
155
+ model='shared:CheckRunResponse',
156
+ shape='object',
157
+ ),
158
+ examples=(
159
+ 'databay source-check-run start --source-id <source_id> --active-probes',
160
+ 'databay source-check-run start --file <file>',
161
+ ),
162
+ )
163
+
164
+ SOURCE_CHECK_RUN_TABLES = Operation(
165
+ operation_id='source_check_run_tables',
166
+ noun='source-check-run',
167
+ verb='tables',
168
+ method='get',
169
+ path='/api/configstore/source/{source_uuid}/check-runs/{run_id}/tables',
170
+ summary='Source Check Run Tables',
171
+ description="Page and search the table list the run read, without touching the customer's database.\n\nThe list is as of the run: partition children aren't listed. Rows are capped and totals are not, ``read_status``\n``failed`` says the read failed (which blocks nothing), and past retention this is 404\n``source_check_run_not_found``, for Check again.",
172
+ project='header',
173
+ destructive=False,
174
+ idempotent=False,
175
+ since='1.0',
176
+ params=(
177
+ Param(
178
+ name='source_uuid',
179
+ location='path',
180
+ kind='string',
181
+ required=True,
182
+ description='uuid of the connected source',
183
+ ),
184
+ Param(
185
+ name='run_id',
186
+ location='path',
187
+ kind='string',
188
+ required=True,
189
+ description='a run of this source',
190
+ ),
191
+ Param(
192
+ name='group',
193
+ location='query',
194
+ kind='string',
195
+ required=True,
196
+ description='in: can be replicated. out: needs a fix first. in_publication and not_in_publication: whether databay_publication lists the table.',
197
+ choices=(
198
+ 'in',
199
+ 'out',
200
+ 'in_publication',
201
+ 'not_in_publication',
202
+ ),
203
+ ),
204
+ Param(
205
+ name='q',
206
+ location='query',
207
+ kind='string',
208
+ required=False,
209
+ description='search by schema.table',
210
+ ),
211
+ Param(
212
+ name='offset',
213
+ location='query',
214
+ kind='integer',
215
+ required=False,
216
+ description='Offset',
217
+ ),
218
+ Param(
219
+ name='limit',
220
+ location='query',
221
+ kind='integer',
222
+ required=False,
223
+ description='Limit',
224
+ ),
225
+ ),
226
+ body=None,
227
+ response=Response(
228
+ kind='json',
229
+ model='source_check_run:CheckRunTablesResponse',
230
+ shape='object',
231
+ ),
232
+ examples=(
233
+ 'databay source-check-run tables <source_uuid> <run_id> --group in',
234
+ ),
235
+ )
236
+
237
+ OPERATIONS = (
238
+ SOURCE_CHECK_RUN_GET,
239
+ SOURCE_CHECK_RUN_LATEST,
240
+ SOURCE_CHECK_RUN_START,
241
+ SOURCE_CHECK_RUN_TABLES,
242
+ )
@@ -0,0 +1,59 @@
1
+ """The ``source-hidden-type`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Operation, Param, Response
7
+
8
+
9
+ SOURCE_HIDDEN_TYPE_LIST = Operation(
10
+ operation_id='source_hidden_type_list',
11
+ noun='source-hidden-type',
12
+ verb='list',
13
+ method='get',
14
+ path='/api/configstore/source/hidden-types',
15
+ summary='Connected Source Hidden Types',
16
+ description='List the given source types the caller cannot fully see: Insights locks a section reading them.',
17
+ project=None,
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='type',
24
+ location='query',
25
+ kind='list',
26
+ required=True,
27
+ description='source types to check',
28
+ choices=(
29
+ 'postgres',
30
+ 'mysql',
31
+ 'mssql',
32
+ 'mongodb',
33
+ 'shopify',
34
+ 'meta_ads',
35
+ 'google_ads',
36
+ 'ga4',
37
+ 'instagram',
38
+ 'linkedin_pages',
39
+ 'x',
40
+ 'tiktok_ads',
41
+ 'file_upload',
42
+ ),
43
+ item_kind='string',
44
+ ),
45
+ ),
46
+ body=None,
47
+ response=Response(
48
+ kind='json',
49
+ model='source_hidden_type:HiddenSourceTypesResponse',
50
+ shape='object',
51
+ ),
52
+ examples=(
53
+ 'databay source-hidden-type list --type shopify --type ga4',
54
+ ),
55
+ )
56
+
57
+ OPERATIONS = (
58
+ SOURCE_HIDDEN_TYPE_LIST,
59
+ )
@@ -0,0 +1,69 @@
1
+ """The ``source-name`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Body, Operation, Param, Response
7
+
8
+
9
+ SOURCE_NAME_CHECK = Operation(
10
+ operation_id='source_name_check',
11
+ noun='source-name',
12
+ verb='check',
13
+ method='post',
14
+ path='/api/configstore/source/name-check',
15
+ summary='Source Name Check',
16
+ description='Say whether a name is free in the organization, where source names are unique.',
17
+ project='header',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(),
22
+ body=Body(
23
+ schema='NameCheckRequest',
24
+ fields=(
25
+ Param(
26
+ name='name',
27
+ location='body',
28
+ kind='string',
29
+ required=True,
30
+ description='the name to check',
31
+ ),
32
+ Param(
33
+ name='source_type',
34
+ location='body',
35
+ kind='string',
36
+ required=False,
37
+ description="when set, also refuses with quota_reached if the organization can't add this type",
38
+ choices=(
39
+ 'postgres',
40
+ 'mysql',
41
+ 'mssql',
42
+ 'mongodb',
43
+ 'shopify',
44
+ 'meta_ads',
45
+ 'google_ads',
46
+ 'ga4',
47
+ 'instagram',
48
+ 'linkedin_pages',
49
+ 'x',
50
+ 'tiktok_ads',
51
+ 'file_upload',
52
+ ),
53
+ nullable=True,
54
+ ),
55
+ ),
56
+ ),
57
+ response=Response(
58
+ kind='json',
59
+ model='source_name:NameCheckResponse',
60
+ shape='object',
61
+ ),
62
+ examples=(
63
+ 'databay source-name check --name <name>',
64
+ ),
65
+ )
66
+
67
+ OPERATIONS = (
68
+ SOURCE_NAME_CHECK,
69
+ )
@@ -0,0 +1,57 @@
1
+ """The ``source-pipe`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Operation, Param, Response
7
+
8
+
9
+ SOURCE_PIPE_LIST = Operation(
10
+ operation_id='source_pipe_list',
11
+ noun='source-pipe',
12
+ verb='list',
13
+ method='get',
14
+ path='/api/configstore/source/{source_uuid}/pipes',
15
+ summary='Connected Source Pipes',
16
+ description='Page through the pipelines depending on one source.\n\nLets the usage panel turn a page without re-fetching the whole detail view.\n\n404s on an unknown source and on another organization\'s source alike, so the uuid\'s\nexistence is not confirmed.\n\nA failed pipeline lookup is a 503, not an empty page: "0 pipelines" would tell someone\nit is safe to delete a source that may have live pipes. The client keeps the page it\nhad and offers a retry. (The detail view degrades to ``pipes_unavailable`` instead.)',
17
+ project='header',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='source_uuid',
24
+ location='path',
25
+ kind='string',
26
+ required=True,
27
+ description='uuid of the connected source',
28
+ ),
29
+ Param(
30
+ name='page',
31
+ location='query',
32
+ kind='integer',
33
+ required=False,
34
+ description='1-based page index.',
35
+ ),
36
+ Param(
37
+ name='page_size',
38
+ location='query',
39
+ kind='integer',
40
+ required=False,
41
+ description='Rows per page.',
42
+ ),
43
+ ),
44
+ body=None,
45
+ response=Response(
46
+ kind='json',
47
+ model='source_pipe:DependentPipePage',
48
+ shape='object',
49
+ ),
50
+ examples=(
51
+ 'databay source-pipe list <source_uuid> --page 2 --page-size 50',
52
+ ),
53
+ )
54
+
55
+ OPERATIONS = (
56
+ SOURCE_PIPE_LIST,
57
+ )