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,346 @@
1
+ """The ``project`` 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
+ PROJECT_CREATE = Operation(
10
+ operation_id='project_create',
11
+ noun='project',
12
+ verb='create',
13
+ method='post',
14
+ path='/api/workspace/projects',
15
+ summary='Create Project',
16
+ description="Create a project with the caller as its admin.\n\nA repeated key answers the project as it is now, with the caller's own role: 404 once it is\ndeleted or when the caller can't see it, and 403 while it is being deleted.",
17
+ project=None,
18
+ destructive=False,
19
+ idempotent=True,
20
+ since='1.0',
21
+ params=(),
22
+ body=Body(
23
+ schema='ProjectCreate',
24
+ fields=(
25
+ Param(
26
+ name='access',
27
+ location='body',
28
+ kind='string',
29
+ required=False,
30
+ description='Access',
31
+ choices=(
32
+ 'restricted',
33
+ 'organization',
34
+ ),
35
+ ),
36
+ Param(
37
+ name='name',
38
+ location='body',
39
+ kind='string',
40
+ required=True,
41
+ description='Name',
42
+ ),
43
+ ),
44
+ ),
45
+ response=Response(
46
+ kind='json',
47
+ model='project:Project',
48
+ shape='object',
49
+ ),
50
+ examples=(
51
+ 'databay project create --name <name> --access restricted',
52
+ ),
53
+ )
54
+
55
+ PROJECT_DELETE = Operation(
56
+ operation_id='project_delete',
57
+ noun='project',
58
+ verb='delete',
59
+ method='delete',
60
+ path='/api/workspace/projects/{project_id}',
61
+ summary='Delete Project',
62
+ description='Empty projects (any project admin), or ``force=true`` into a target (org admins).',
63
+ project='path:project_id',
64
+ destructive=True,
65
+ idempotent=False,
66
+ since='1.0',
67
+ params=(
68
+ Param(
69
+ name='project_id',
70
+ location='path',
71
+ kind='string',
72
+ required=True,
73
+ description='Project Id',
74
+ ),
75
+ Param(
76
+ name='force',
77
+ location='query',
78
+ kind='boolean',
79
+ required=False,
80
+ description='Force',
81
+ ),
82
+ Param(
83
+ name='target_project_id',
84
+ location='query',
85
+ kind='string',
86
+ required=False,
87
+ description='Target Project Id',
88
+ nullable=True,
89
+ ),
90
+ Param(
91
+ name='manifest_version',
92
+ location='query',
93
+ kind='integer',
94
+ required=False,
95
+ description='Manifest Version',
96
+ nullable=True,
97
+ ),
98
+ ),
99
+ body=None,
100
+ response=Response(
101
+ kind='empty',
102
+ ),
103
+ examples=(
104
+ 'databay project delete <project_id>',
105
+ 'databay project delete <project_id> --force --target-project-id <target> --manifest-version <version>',
106
+ ),
107
+ )
108
+
109
+ PROJECT_DELETE_PREVIEW = Operation(
110
+ operation_id='project_delete_preview',
111
+ noun='project',
112
+ verb='delete-preview',
113
+ method='get',
114
+ path='/api/workspace/projects/{project_id}/delete-preview',
115
+ summary='Delete Preview',
116
+ description='Build the versioned manifest of a forced delete into ``target_project_id`` (org admins).',
117
+ project='path:project_id',
118
+ destructive=False,
119
+ idempotent=False,
120
+ since='1.0',
121
+ params=(
122
+ Param(
123
+ name='project_id',
124
+ location='path',
125
+ kind='string',
126
+ required=True,
127
+ description='Project Id',
128
+ ),
129
+ Param(
130
+ name='target_project_id',
131
+ location='query',
132
+ kind='string',
133
+ required=True,
134
+ description='Target Project Id',
135
+ ),
136
+ ),
137
+ body=None,
138
+ response=Response(
139
+ kind='json',
140
+ model='project:DeleteManifest',
141
+ shape='object',
142
+ ),
143
+ examples=(
144
+ 'databay project delete-preview <project_id> --target-project-id <target_project_id>',
145
+ ),
146
+ )
147
+
148
+ PROJECT_DELETE_RETRY = Operation(
149
+ operation_id='project_delete_retry',
150
+ noun='project',
151
+ verb='delete-retry',
152
+ method='post',
153
+ path='/api/workspace/projects/{project_id}/delete-retry',
154
+ summary='Retry Project Delete',
155
+ description='Org admins: re-announce a delete still awaiting acknowledgements (409 ``project_not_deleting``).',
156
+ project='path:project_id',
157
+ destructive=True,
158
+ idempotent=False,
159
+ since='1.0',
160
+ params=(
161
+ Param(
162
+ name='project_id',
163
+ location='path',
164
+ kind='string',
165
+ required=True,
166
+ description='Project Id',
167
+ ),
168
+ ),
169
+ body=None,
170
+ response=Response(
171
+ kind='json',
172
+ model='project:DeleteRetry',
173
+ shape='object',
174
+ ),
175
+ examples=(
176
+ 'databay project delete-retry <project_id>',
177
+ ),
178
+ )
179
+
180
+ PROJECT_GET = Operation(
181
+ operation_id='project_get',
182
+ noun='project',
183
+ verb='get',
184
+ method='get',
185
+ path='/api/workspace/projects/{project_id}',
186
+ summary='Get Project',
187
+ description='',
188
+ project='path:project_id',
189
+ destructive=False,
190
+ idempotent=False,
191
+ since='1.0',
192
+ params=(
193
+ Param(
194
+ name='project_id',
195
+ location='path',
196
+ kind='string',
197
+ required=True,
198
+ description='Project Id',
199
+ ),
200
+ ),
201
+ body=None,
202
+ response=Response(
203
+ kind='json',
204
+ model='project:Project',
205
+ shape='object',
206
+ ),
207
+ examples=(
208
+ 'databay project get <project_id>',
209
+ ),
210
+ )
211
+
212
+ PROJECT_LIST = Operation(
213
+ operation_id='project_list',
214
+ noun='project',
215
+ verb='list',
216
+ method='get',
217
+ path='/api/workspace/projects',
218
+ summary='List Projects',
219
+ description='',
220
+ project=None,
221
+ destructive=False,
222
+ idempotent=False,
223
+ since='1.0',
224
+ params=(),
225
+ body=None,
226
+ response=Response(
227
+ kind='json',
228
+ model='project:ProjectListResponse',
229
+ shape='array',
230
+ ),
231
+ examples=(
232
+ 'databay project list',
233
+ ),
234
+ )
235
+
236
+ PROJECT_MY_ACCESS = Operation(
237
+ operation_id='project_my_access',
238
+ noun='project',
239
+ verb='my-access',
240
+ method='get',
241
+ path='/api/workspace/projects/{project_id}/my-access',
242
+ summary='Get My Access',
243
+ description='Your own role in the project and what it lets you do, the privileges granted to you included.',
244
+ project='path:project_id',
245
+ destructive=False,
246
+ idempotent=False,
247
+ since='1.0',
248
+ params=(
249
+ Param(
250
+ name='project_id',
251
+ location='path',
252
+ kind='string',
253
+ required=True,
254
+ description='Project Id',
255
+ ),
256
+ ),
257
+ body=None,
258
+ response=Response(
259
+ kind='json',
260
+ model='project:MyAccess',
261
+ shape='object',
262
+ ),
263
+ examples=(
264
+ 'databay project my-access <project_id>',
265
+ ),
266
+ )
267
+
268
+ PROJECT_UPDATE = Operation(
269
+ operation_id='project_update',
270
+ noun='project',
271
+ verb='update',
272
+ method='patch',
273
+ path='/api/workspace/projects/{project_id}',
274
+ summary='Update Project',
275
+ description='',
276
+ project='path:project_id',
277
+ destructive=False,
278
+ idempotent=False,
279
+ since='1.0',
280
+ params=(
281
+ Param(
282
+ name='project_id',
283
+ location='path',
284
+ kind='string',
285
+ required=True,
286
+ description='Project Id',
287
+ ),
288
+ ),
289
+ body=Body(
290
+ schema='ProjectUpdate',
291
+ fields=(
292
+ Param(
293
+ name='access',
294
+ location='body',
295
+ kind='string',
296
+ required=False,
297
+ description='Access',
298
+ choices=(
299
+ 'restricted',
300
+ 'organization',
301
+ ),
302
+ nullable=True,
303
+ ),
304
+ Param(
305
+ name='name',
306
+ location='body',
307
+ kind='string',
308
+ required=False,
309
+ description='Name',
310
+ nullable=True,
311
+ ),
312
+ Param(
313
+ name='new_columns_default',
314
+ location='body',
315
+ kind='string',
316
+ required=False,
317
+ description='What a new pipe in this project does with a new source column: add it automatically (`add`) or wait for a decision (`ask`). Each pipe takes it when it is created and can override it.',
318
+ choices=(
319
+ 'add',
320
+ 'ask',
321
+ ),
322
+ nullable=True,
323
+ ),
324
+ ),
325
+ ),
326
+ response=Response(
327
+ kind='json',
328
+ model='project:Project',
329
+ shape='object',
330
+ ),
331
+ examples=(
332
+ 'databay project update <project_id> --name "Marketing analytics" --access organization',
333
+ 'databay project update <project_id> --new-columns-default ask',
334
+ ),
335
+ )
336
+
337
+ OPERATIONS = (
338
+ PROJECT_CREATE,
339
+ PROJECT_DELETE,
340
+ PROJECT_DELETE_PREVIEW,
341
+ PROJECT_DELETE_RETRY,
342
+ PROJECT_GET,
343
+ PROJECT_LIST,
344
+ PROJECT_MY_ACCESS,
345
+ PROJECT_UPDATE,
346
+ )
@@ -0,0 +1,135 @@
1
+ """The ``project-budget`` 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
+ PROJECT_BUDGET_LIST = Operation(
10
+ operation_id='project_budget_list',
11
+ noun='project-budget',
12
+ verb='list',
13
+ method='get',
14
+ path='/api/entitlements/projects/{project_id}/budgets',
15
+ summary='Get Budgets',
16
+ description="Return the project's budgets and its usage of each budget meter.",
17
+ project='path:project_id',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='project_id',
24
+ location='path',
25
+ kind='string',
26
+ required=True,
27
+ description='Project Id',
28
+ ),
29
+ ),
30
+ body=None,
31
+ response=Response(
32
+ kind='json',
33
+ model='project_budget:ProjectBudgetsView',
34
+ shape='object',
35
+ ),
36
+ examples=(
37
+ 'databay project-budget list <project_id>',
38
+ ),
39
+ )
40
+
41
+ PROJECT_BUDGET_SET = Operation(
42
+ operation_id='project_budget_set',
43
+ noun='project-budget',
44
+ verb='set',
45
+ method='put',
46
+ path='/api/entitlements/projects/{project_id}/budgets',
47
+ summary='Put Budget',
48
+ description='Set or (``limit`` null) remove one budget; 409 ``budget_below_usage`` without ``confirm_pause``.',
49
+ project='path:project_id',
50
+ destructive=False,
51
+ idempotent=False,
52
+ since='1.0',
53
+ params=(
54
+ Param(
55
+ name='project_id',
56
+ location='path',
57
+ kind='string',
58
+ required=True,
59
+ description='Project Id',
60
+ ),
61
+ ),
62
+ body=Body(
63
+ schema='BudgetPut',
64
+ fields=(
65
+ Param(
66
+ name='confirm_pause',
67
+ location='body',
68
+ kind='boolean',
69
+ required=False,
70
+ description="Save a flow budget below this period's usage anyway.",
71
+ ),
72
+ Param(
73
+ name='limit',
74
+ location='body',
75
+ kind='integer',
76
+ required=False,
77
+ description='The budget; null removes it.',
78
+ nullable=True,
79
+ ),
80
+ Param(
81
+ name='meter',
82
+ location='body',
83
+ kind='string',
84
+ required=True,
85
+ choices=(
86
+ 'pipes',
87
+ 'sources_db',
88
+ 'sources_saas',
89
+ 'warehouses_managed',
90
+ 'projects',
91
+ 'seats_editor',
92
+ 'api_keys',
93
+ 'ssbi_jobs',
94
+ 'rows_landed',
95
+ 'snapshot_rows',
96
+ 'saas_sync_runs',
97
+ 'max_backfill_days',
98
+ 'max_streams_per_source',
99
+ 'console_ch_queries',
100
+ 'console_ch_errors',
101
+ 'console_ch_read_rows',
102
+ 'console_ch_execution_time',
103
+ 'notebook_ch_queries',
104
+ 'notebook_ch_errors',
105
+ 'notebook_ch_read_rows',
106
+ 'notebook_ch_execution_time',
107
+ 'semantic_ch_queries',
108
+ 'semantic_ch_errors',
109
+ 'semantic_ch_read_rows',
110
+ 'semantic_ch_execution_time',
111
+ 'warehouse_cpu_seconds',
112
+ 'warehouse_read_bytes',
113
+ 'warehouse_principals',
114
+ 'warehouse_login_ch_queries',
115
+ 'warehouse_login_ch_errors',
116
+ 'warehouse_login_ch_read_rows',
117
+ 'warehouse_login_ch_execution_time',
118
+ ),
119
+ ),
120
+ ),
121
+ ),
122
+ response=Response(
123
+ kind='json',
124
+ model='project_budget:ProjectBudgetsView',
125
+ shape='object',
126
+ ),
127
+ examples=(
128
+ 'databay project-budget set <project_id> --meter rows_landed --limit 5000000',
129
+ ),
130
+ )
131
+
132
+ OPERATIONS = (
133
+ PROJECT_BUDGET_LIST,
134
+ PROJECT_BUDGET_SET,
135
+ )
@@ -0,0 +1,226 @@
1
+ """The ``project-member`` 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
+ PROJECT_MEMBER_LIST = Operation(
10
+ operation_id='project_member_list',
11
+ noun='project-member',
12
+ verb='list',
13
+ method='get',
14
+ path='/api/workspace/projects/{project_id}/members',
15
+ summary='List Members',
16
+ description='',
17
+ project='path:project_id',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='project_id',
24
+ location='path',
25
+ kind='string',
26
+ required=True,
27
+ description='Project Id',
28
+ ),
29
+ ),
30
+ body=None,
31
+ response=Response(
32
+ kind='json',
33
+ model='project_member:ProjectMemberListResponse',
34
+ shape='array',
35
+ ),
36
+ examples=(
37
+ 'databay project-member list <project_id>',
38
+ ),
39
+ )
40
+
41
+ PROJECT_MEMBER_PEOPLE = Operation(
42
+ operation_id='project_member_people',
43
+ noun='project-member',
44
+ verb='people',
45
+ method='get',
46
+ path='/api/workspace/projects/{project_id}/people',
47
+ summary='List People',
48
+ description='Project admins: one page of everyone who reads the project now, with their role; follow ``next_first``.',
49
+ project='path:project_id',
50
+ destructive=False,
51
+ idempotent=False,
52
+ since='1.0',
53
+ params=(
54
+ Param(
55
+ name='project_id',
56
+ location='path',
57
+ kind='string',
58
+ required=True,
59
+ description='Project Id',
60
+ ),
61
+ Param(
62
+ name='first',
63
+ location='query',
64
+ kind='integer',
65
+ required=False,
66
+ description='First',
67
+ ),
68
+ ),
69
+ body=None,
70
+ response=Response(
71
+ kind='json',
72
+ model='project_member:ProjectPeopleOut',
73
+ shape='object',
74
+ ),
75
+ examples=(
76
+ 'databay project-member people <project_id> --first 0',
77
+ ),
78
+ )
79
+
80
+ PROJECT_MEMBER_REMOVE = Operation(
81
+ operation_id='project_member_remove',
82
+ noun='project-member',
83
+ verb='remove',
84
+ method='delete',
85
+ path='/api/workspace/projects/{project_id}/members/{user_id}',
86
+ summary='Remove Member',
87
+ description='',
88
+ project='path:project_id',
89
+ destructive=True,
90
+ idempotent=False,
91
+ since='1.0',
92
+ params=(
93
+ Param(
94
+ name='project_id',
95
+ location='path',
96
+ kind='string',
97
+ required=True,
98
+ description='Project Id',
99
+ ),
100
+ Param(
101
+ name='user_id',
102
+ location='path',
103
+ kind='string',
104
+ required=True,
105
+ description='User Id',
106
+ ),
107
+ ),
108
+ body=None,
109
+ response=Response(
110
+ kind='empty',
111
+ ),
112
+ examples=(
113
+ 'databay project-member remove <project_id> <user_id>',
114
+ ),
115
+ )
116
+
117
+ PROJECT_MEMBER_SEARCH = Operation(
118
+ operation_id='project_member_search',
119
+ noun='project-member',
120
+ verb='search',
121
+ method='get',
122
+ path='/api/workspace/projects/{project_id}/member-search',
123
+ summary='Member Search',
124
+ description='Project admins: organization members to add, matching ``q`` or exactly ``user_id`` (at most 50).',
125
+ project='path:project_id',
126
+ destructive=False,
127
+ idempotent=False,
128
+ since='1.0',
129
+ params=(
130
+ Param(
131
+ name='project_id',
132
+ location='path',
133
+ kind='string',
134
+ required=True,
135
+ description='Project Id',
136
+ ),
137
+ Param(
138
+ name='q',
139
+ location='query',
140
+ kind='string',
141
+ required=False,
142
+ description='Q',
143
+ nullable=True,
144
+ ),
145
+ Param(
146
+ name='user_id',
147
+ location='query',
148
+ kind='string',
149
+ required=False,
150
+ description='User Id',
151
+ nullable=True,
152
+ ),
153
+ ),
154
+ body=None,
155
+ response=Response(
156
+ kind='json',
157
+ model='project_member:MemberSearchOut',
158
+ shape='object',
159
+ ),
160
+ examples=(
161
+ 'databay project-member search <project_id> --q ana',
162
+ ),
163
+ )
164
+
165
+ PROJECT_MEMBER_SET = Operation(
166
+ operation_id='project_member_set',
167
+ noun='project-member',
168
+ verb='set',
169
+ method='put',
170
+ path='/api/workspace/projects/{project_id}/members/{user_id}',
171
+ summary='Put Member',
172
+ description='',
173
+ project='path:project_id',
174
+ destructive=True,
175
+ idempotent=False,
176
+ since='1.0',
177
+ params=(
178
+ Param(
179
+ name='project_id',
180
+ location='path',
181
+ kind='string',
182
+ required=True,
183
+ description='Project Id',
184
+ ),
185
+ Param(
186
+ name='user_id',
187
+ location='path',
188
+ kind='string',
189
+ required=True,
190
+ description='User Id',
191
+ ),
192
+ ),
193
+ body=Body(
194
+ schema='MemberWrite',
195
+ fields=(
196
+ Param(
197
+ name='role',
198
+ location='body',
199
+ kind='string',
200
+ required=True,
201
+ description='Role',
202
+ choices=(
203
+ 'viewer',
204
+ 'editor',
205
+ 'admin',
206
+ ),
207
+ ),
208
+ ),
209
+ ),
210
+ response=Response(
211
+ kind='json',
212
+ model='project_member:Member',
213
+ shape='object',
214
+ ),
215
+ examples=(
216
+ 'databay project-member set <project_id> <user_id> --role editor',
217
+ ),
218
+ )
219
+
220
+ OPERATIONS = (
221
+ PROJECT_MEMBER_LIST,
222
+ PROJECT_MEMBER_PEOPLE,
223
+ PROJECT_MEMBER_REMOVE,
224
+ PROJECT_MEMBER_SEARCH,
225
+ PROJECT_MEMBER_SET,
226
+ )