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.
- databay/__init__.py +5 -0
- databay/__main__.py +7 -0
- databay/agent_skill.py +184 -0
- databay/api.py +626 -0
- databay/cli/__init__.py +0 -0
- databay/cli/auth.py +377 -0
- databay/cli/build.py +89 -0
- databay/cli/commands/__init__.py +0 -0
- databay/cli/commands/alerting_webhook.py +19 -0
- databay/cli/commands/alerting_webhook_tag.py +14 -0
- databay/cli/commands/alerting_webhook_type.py +14 -0
- databay/cli/commands/alerting_webhook_undelivered.py +15 -0
- databay/cli/commands/announcement.py +17 -0
- databay/cli/commands/api_key.py +18 -0
- databay/cli/commands/api_key_project.py +16 -0
- databay/cli/commands/backfill_reason_code.py +14 -0
- databay/cli/commands/backfill_run.py +17 -0
- databay/cli/commands/canvas.py +16 -0
- databay/cli/commands/canvas_graph.py +15 -0
- databay/cli/commands/canvas_table_check.py +15 -0
- databay/cli/commands/dashboards.py +21 -0
- databay/cli/commands/dashboards_card.py +20 -0
- databay/cli/commands/dashboards_dataset.py +14 -0
- databay/cli/commands/dashboards_folder.py +16 -0
- databay/cli/commands/dashboards_home.py +17 -0
- databay/cli/commands/dashboards_placement.py +16 -0
- databay/cli/commands/db.py +19 -0
- databay/cli/commands/db_column.py +14 -0
- databay/cli/commands/docs_article.py +16 -0
- databay/cli/commands/dq_result.py +14 -0
- databay/cli/commands/dq_rule.py +16 -0
- databay/cli/commands/feature.py +14 -0
- databay/cli/commands/google_ads_source.py +14 -0
- databay/cli/commands/google_analytics_source.py +14 -0
- databay/cli/commands/instagram_account.py +14 -0
- databay/cli/commands/instagram_source.py +14 -0
- databay/cli/commands/linkedin_account.py +14 -0
- databay/cli/commands/linkedin_source.py +14 -0
- databay/cli/commands/me.py +14 -0
- databay/cli/commands/meta_ads_source.py +14 -0
- databay/cli/commands/metric_models.py +26 -0
- databay/cli/commands/metrics.py +14 -0
- databay/cli/commands/models.py +16 -0
- databay/cli/commands/nlq.py +15 -0
- databay/cli/commands/notebook_credential.py +16 -0
- databay/cli/commands/org.py +14 -0
- databay/cli/commands/org_member.py +17 -0
- databay/cli/commands/org_offboarding.py +14 -0
- databay/cli/commands/pipe.py +26 -0
- databay/cli/commands/pipe_backfill_run.py +14 -0
- databay/cli/commands/pipe_config_option.py +14 -0
- databay/cli/commands/pipe_destination.py +16 -0
- databay/cli/commands/pipe_leftover.py +16 -0
- databay/cli/commands/pipe_sink_type.py +14 -0
- databay/cli/commands/pipe_source_type.py +14 -0
- databay/cli/commands/pipe_status_bucket.py +14 -0
- databay/cli/commands/pipe_stuck_delete.py +14 -0
- databay/cli/commands/plan.py +14 -0
- databay/cli/commands/project.py +21 -0
- databay/cli/commands/project_budget.py +15 -0
- databay/cli/commands/project_member.py +18 -0
- databay/cli/commands/project_privilege.py +16 -0
- databay/cli/commands/project_share.py +16 -0
- databay/cli/commands/provision.py +14 -0
- databay/cli/commands/provisioning.py +14 -0
- databay/cli/commands/registry.py +14 -0
- databay/cli/commands/resource_home.py +14 -0
- databay/cli/commands/schema_change.py +18 -0
- databay/cli/commands/schema_history.py +17 -0
- databay/cli/commands/schema_version.py +16 -0
- databay/cli/commands/shopify_store.py +14 -0
- databay/cli/commands/sink_data_type.py +14 -0
- databay/cli/commands/source.py +24 -0
- databay/cli/commands/source_catalog.py +15 -0
- databay/cli/commands/source_check_run.py +17 -0
- databay/cli/commands/source_hidden_type.py +14 -0
- databay/cli/commands/source_name.py +14 -0
- databay/cli/commands/source_pipe.py +14 -0
- databay/cli/commands/source_publication.py +16 -0
- databay/cli/commands/source_readiness_override.py +15 -0
- databay/cli/commands/source_setup_choice.py +16 -0
- databay/cli/commands/source_stream.py +15 -0
- databay/cli/commands/source_table.py +14 -0
- databay/cli/commands/ssbi_job.py +18 -0
- databay/cli/commands/transform_type.py +14 -0
- databay/cli/commands/usage.py +14 -0
- databay/cli/commands/warehouse.py +21 -0
- databay/cli/commands/warehouse_access_assignment.py +16 -0
- databay/cli/commands/warehouse_access_role.py +22 -0
- databay/cli/commands/warehouse_access_settings.py +17 -0
- databay/cli/commands/warehouse_login.py +20 -0
- databay/cli/commands/warehouse_principal.py +17 -0
- databay/cli/commands/warehouse_service_account.py +17 -0
- databay/cli/commands/warehouse_service_account_credential.py +18 -0
- databay/cli/common.py +93 -0
- databay/cli/console.py +121 -0
- databay/cli/flags.py +183 -0
- databay/cli/handwritten.py +22 -0
- databay/cli/main.py +198 -0
- databay/cli/metrics.py +171 -0
- databay/cli/org.py +193 -0
- databay/cli/output.py +134 -0
- databay/cli/pipe_wait.py +357 -0
- databay/cli/profile.py +230 -0
- databay/cli/runner.py +432 -0
- databay/cli/skill.py +64 -0
- databay/cli/sql.py +84 -0
- databay/compat.py +161 -0
- databay/credentials.py +217 -0
- databay/error_catalog.py +226 -0
- databay/error_codes.py +3265 -0
- databay/errors.py +222 -0
- databay/feature_header.py +40 -0
- databay/invoke.py +225 -0
- databay/locks.py +41 -0
- databay/login_flow.py +245 -0
- databay/model_base.py +40 -0
- databay/models/__init__.py +0 -0
- databay/models/alerting_webhook.py +46 -0
- databay/models/alerting_webhook_tag.py +11 -0
- databay/models/alerting_webhook_type.py +11 -0
- databay/models/alerting_webhook_undelivered.py +23 -0
- databay/models/announcement.py +37 -0
- databay/models/api_key.py +81 -0
- databay/models/api_key_project.py +29 -0
- databay/models/backfill_reason_code.py +11 -0
- databay/models/backfill_run.py +41 -0
- databay/models/canvas.py +68 -0
- databay/models/canvas_graph.py +86 -0
- databay/models/canvas_table_check.py +181 -0
- databay/models/dashboards.py +79 -0
- databay/models/dashboards_card.py +37 -0
- databay/models/dashboards_dataset.py +27 -0
- databay/models/dashboards_folder.py +18 -0
- databay/models/dashboards_home.py +28 -0
- databay/models/db.py +34 -0
- databay/models/db_column.py +11 -0
- databay/models/docs_article.py +59 -0
- databay/models/dq_result.py +27 -0
- databay/models/dq_rule.py +43 -0
- databay/models/feature.py +15 -0
- databay/models/google_ads_source.py +11 -0
- databay/models/google_analytics_source.py +11 -0
- databay/models/instagram_source.py +11 -0
- databay/models/linkedin_source.py +11 -0
- databay/models/me.py +71 -0
- databay/models/meta_ads_source.py +11 -0
- databay/models/metric_models.py +274 -0
- databay/models/metrics.py +158 -0
- databay/models/models.py +73 -0
- databay/models/nlq.py +92 -0
- databay/models/notebook_credential.py +51 -0
- databay/models/org.py +44 -0
- databay/models/org_member.py +123 -0
- databay/models/org_offboarding.py +36 -0
- databay/models/pipe.py +340 -0
- databay/models/pipe_config_option.py +25 -0
- databay/models/pipe_destination.py +128 -0
- databay/models/pipe_leftover.py +51 -0
- databay/models/pipe_sink_type.py +11 -0
- databay/models/pipe_source_type.py +11 -0
- databay/models/pipe_status_bucket.py +13 -0
- databay/models/pipe_stuck_delete.py +25 -0
- databay/models/plan.py +37 -0
- databay/models/project.py +154 -0
- databay/models/project_budget.py +22 -0
- databay/models/project_member.py +67 -0
- databay/models/project_privilege.py +21 -0
- databay/models/project_share.py +76 -0
- databay/models/provision.py +12 -0
- databay/models/provisioning.py +20 -0
- databay/models/registry.py +18 -0
- databay/models/resource_home.py +35 -0
- databay/models/schema_change.py +96 -0
- databay/models/schema_history.py +32 -0
- databay/models/schema_version.py +23 -0
- databay/models/shared.py +875 -0
- databay/models/shopify_store.py +19 -0
- databay/models/sink_data_type.py +11 -0
- databay/models/source.py +263 -0
- databay/models/source_catalog.py +82 -0
- databay/models/source_check_run.py +63 -0
- databay/models/source_hidden_type.py +13 -0
- databay/models/source_name.py +18 -0
- databay/models/source_pipe.py +16 -0
- databay/models/source_publication.py +30 -0
- databay/models/source_readiness_override.py +13 -0
- databay/models/source_setup_choice.py +33 -0
- databay/models/source_stream.py +65 -0
- databay/models/source_table.py +27 -0
- databay/models/sql.py +31 -0
- databay/models/ssbi_job.py +97 -0
- databay/models/transform_type.py +40 -0
- databay/models/usage.py +112 -0
- databay/models/warehouse.py +38 -0
- databay/models/warehouse_access_assignment.py +70 -0
- databay/models/warehouse_access_role.py +148 -0
- databay/models/warehouse_access_settings.py +35 -0
- databay/models/warehouse_login.py +20 -0
- databay/models/warehouse_principal.py +49 -0
- databay/models/warehouse_service_account.py +35 -0
- databay/models/warehouse_service_account_credential.py +11 -0
- databay/oidc.py +205 -0
- databay/operation.py +191 -0
- databay/operations/__init__.py +0 -0
- databay/operations/alerting_webhook.py +317 -0
- databay/operations/alerting_webhook_tag.py +35 -0
- databay/operations/alerting_webhook_type.py +35 -0
- databay/operations/alerting_webhook_undelivered.py +74 -0
- databay/operations/announcement.py +135 -0
- databay/operations/api_key.py +198 -0
- databay/operations/api_key_project.py +130 -0
- databay/operations/backfill_reason_code.py +35 -0
- databay/operations/backfill_run.py +245 -0
- databay/operations/canvas.py +136 -0
- databay/operations/canvas_graph.py +102 -0
- databay/operations/canvas_table_check.py +101 -0
- databay/operations/dashboards.py +441 -0
- databay/operations/dashboards_card.py +406 -0
- databay/operations/dashboards_dataset.py +50 -0
- databay/operations/dashboards_folder.py +146 -0
- databay/operations/dashboards_home.py +176 -0
- databay/operations/dashboards_placement.py +152 -0
- databay/operations/db.py +337 -0
- databay/operations/db_column.py +57 -0
- databay/operations/docs_article.py +101 -0
- databay/operations/dq_result.py +43 -0
- databay/operations/dq_rule.py +155 -0
- databay/operations/feature.py +35 -0
- databay/operations/google_ads_source.py +40 -0
- databay/operations/google_analytics_source.py +40 -0
- databay/operations/instagram_account.py +47 -0
- databay/operations/instagram_source.py +40 -0
- databay/operations/linkedin_account.py +47 -0
- databay/operations/linkedin_source.py +40 -0
- databay/operations/me.py +57 -0
- databay/operations/meta_ads_source.py +40 -0
- databay/operations/metric_models.py +612 -0
- databay/operations/metrics.py +218 -0
- databay/operations/models.py +123 -0
- databay/operations/nlq.py +100 -0
- databay/operations/notebook_credential.py +95 -0
- databay/operations/org.py +79 -0
- databay/operations/org_member.py +192 -0
- databay/operations/org_offboarding.py +43 -0
- databay/operations/pipe.py +882 -0
- databay/operations/pipe_backfill_run.py +72 -0
- databay/operations/pipe_config_option.py +50 -0
- databay/operations/pipe_destination.py +178 -0
- databay/operations/pipe_leftover.py +110 -0
- databay/operations/pipe_sink_type.py +35 -0
- databay/operations/pipe_source_type.py +35 -0
- databay/operations/pipe_status_bucket.py +35 -0
- databay/operations/pipe_stuck_delete.py +52 -0
- databay/operations/plan.py +35 -0
- databay/operations/project.py +346 -0
- databay/operations/project_budget.py +135 -0
- databay/operations/project_member.py +226 -0
- databay/operations/project_privilege.py +143 -0
- databay/operations/project_share.py +160 -0
- databay/operations/provision.py +35 -0
- databay/operations/provisioning.py +35 -0
- databay/operations/registry.py +35 -0
- databay/operations/resource_home.py +80 -0
- databay/operations/schema_change.py +222 -0
- databay/operations/schema_history.py +136 -0
- databay/operations/schema_version.py +115 -0
- databay/operations/shopify_store.py +40 -0
- databay/operations/sink_data_type.py +43 -0
- databay/operations/source.py +1207 -0
- databay/operations/source_catalog.py +135 -0
- databay/operations/source_check_run.py +242 -0
- databay/operations/source_hidden_type.py +59 -0
- databay/operations/source_name.py +69 -0
- databay/operations/source_pipe.py +57 -0
- databay/operations/source_publication.py +139 -0
- databay/operations/source_readiness_override.py +96 -0
- databay/operations/source_setup_choice.py +161 -0
- databay/operations/source_stream.py +99 -0
- databay/operations/source_table.py +59 -0
- databay/operations/sql.py +54 -0
- databay/operations/ssbi_job.py +242 -0
- databay/operations/transform_type.py +35 -0
- databay/operations/usage.py +35 -0
- databay/operations/warehouse.py +343 -0
- databay/operations/warehouse_access_assignment.py +179 -0
- databay/operations/warehouse_access_role.py +473 -0
- databay/operations/warehouse_access_settings.py +172 -0
- databay/operations/warehouse_login.py +308 -0
- databay/operations/warehouse_principal.py +174 -0
- databay/operations/warehouse_service_account.py +206 -0
- databay/operations/warehouse_service_account_credential.py +285 -0
- databay/paths.py +32 -0
- databay/platform_check.py +20 -0
- databay/profiles.py +181 -0
- databay/redact.py +22 -0
- databay/reference.py +218 -0
- databay/resource.py +167 -0
- databay/resources/__init__.py +0 -0
- databay/resources/alerting_webhook.py +84 -0
- databay/resources/alerting_webhook_tag.py +21 -0
- databay/resources/alerting_webhook_type.py +21 -0
- databay/resources/alerting_webhook_undelivered.py +35 -0
- databay/resources/announcement.py +45 -0
- databay/resources/api_key.py +56 -0
- databay/resources/api_key_project.py +47 -0
- databay/resources/backfill_reason_code.py +21 -0
- databay/resources/backfill_run.py +78 -0
- databay/resources/canvas.py +43 -0
- databay/resources/canvas_graph.py +38 -0
- databay/resources/canvas_table_check.py +38 -0
- databay/resources/dashboards.py +105 -0
- databay/resources/dashboards_card.py +97 -0
- databay/resources/dashboards_dataset.py +27 -0
- databay/resources/dashboards_folder.py +47 -0
- databay/resources/dashboards_home.py +59 -0
- databay/resources/dashboards_placement.py +47 -0
- databay/resources/db.py +87 -0
- databay/resources/db_column.py +28 -0
- databay/resources/docs_article.py +37 -0
- databay/resources/dq_result.py +25 -0
- databay/resources/dq_rule.py +48 -0
- databay/resources/feature.py +21 -0
- databay/resources/google_ads_source.py +25 -0
- databay/resources/google_analytics_source.py +25 -0
- databay/resources/instagram_account.py +27 -0
- databay/resources/instagram_source.py +25 -0
- databay/resources/linkedin_account.py +27 -0
- databay/resources/linkedin_source.py +25 -0
- databay/resources/me.py +27 -0
- databay/resources/meta_ads_source.py +25 -0
- databay/resources/metric_models.py +154 -0
- databay/resources/metrics.py +57 -0
- databay/resources/models.py +42 -0
- databay/resources/nlq.py +34 -0
- databay/resources/notebook_credential.py +41 -0
- databay/resources/org.py +29 -0
- databay/resources/org_member.py +53 -0
- databay/resources/org_offboarding.py +25 -0
- databay/resources/pipe.py +208 -0
- databay/resources/pipe_backfill_run.py +28 -0
- databay/resources/pipe_config_option.py +26 -0
- databay/resources/pipe_destination.py +49 -0
- databay/resources/pipe_leftover.py +42 -0
- databay/resources/pipe_sink_type.py +21 -0
- databay/resources/pipe_source_type.py +21 -0
- databay/resources/pipe_status_bucket.py +21 -0
- databay/resources/pipe_stuck_delete.py +27 -0
- databay/resources/plan.py +21 -0
- databay/resources/project.py +92 -0
- databay/resources/project_budget.py +38 -0
- databay/resources/project_member.py +68 -0
- databay/resources/project_privilege.py +48 -0
- databay/resources/project_share.py +47 -0
- databay/resources/provision.py +21 -0
- databay/resources/provisioning.py +21 -0
- databay/resources/registry.py +21 -0
- databay/resources/resource_home.py +29 -0
- databay/resources/schema_change.py +62 -0
- databay/resources/schema_history.py +52 -0
- databay/resources/schema_version.py +43 -0
- databay/resources/shopify_store.py +25 -0
- databay/resources/sink_data_type.py +25 -0
- databay/resources/source.py +132 -0
- databay/resources/source_catalog.py +34 -0
- databay/resources/source_check_run.py +67 -0
- databay/resources/source_hidden_type.py +25 -0
- databay/resources/source_name.py +27 -0
- databay/resources/source_pipe.py +28 -0
- databay/resources/source_publication.py +47 -0
- databay/resources/source_readiness_override.py +37 -0
- databay/resources/source_setup_choice.py +50 -0
- databay/resources/source_stream.py +38 -0
- databay/resources/source_table.py +27 -0
- databay/resources/sql.py +27 -0
- databay/resources/ssbi_job.py +69 -0
- databay/resources/transform_type.py +21 -0
- databay/resources/usage.py +21 -0
- databay/resources/warehouse.py +136 -0
- databay/resources/warehouse_access_assignment.py +51 -0
- databay/resources/warehouse_access_role.py +118 -0
- databay/resources/warehouse_access_settings.py +56 -0
- databay/resources/warehouse_login.py +81 -0
- databay/resources/warehouse_principal.py +51 -0
- databay/resources/warehouse_service_account.py +61 -0
- databay/resources/warehouse_service_account_credential.py +78 -0
- databay/sdk.py +77 -0
- databay/settings.py +90 -0
- databay/skill/SKILL.md +357 -0
- databay/skill/references/commands.md +7025 -0
- databay/skill/references/errors.md +727 -0
- databay/spec.py +362 -0
- databay/stored_token.py +134 -0
- databay/tokens.py +108 -0
- databay/transport.py +357 -0
- databay/update_check.py +151 -0
- databay/version.py +6 -0
- databay/waits.py +330 -0
- databay_cli-0.1.0.dist-info/METADATA +42 -0
- databay_cli-0.1.0.dist-info/RECORD +403 -0
- databay_cli-0.1.0.dist-info/WHEEL +4 -0
- databay_cli-0.1.0.dist-info/entry_points.txt +2 -0
- databay_cli-0.1.0.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"""The ``source-publication`` 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_PUBLICATION_CHECK = Operation(
|
|
10
|
+
operation_id='source_publication_check',
|
|
11
|
+
noun='source-publication',
|
|
12
|
+
verb='check',
|
|
13
|
+
method='post',
|
|
14
|
+
path='/api/configstore/source/{source_uuid}/publication/check',
|
|
15
|
+
summary='Source Publication Check',
|
|
16
|
+
description="Read one path's publication state and the source's table list, and answer at once with a check run.\n\nRuns no probes, so it can't re-block a source that passed: the admin path reads whether ``databay_publication``\nexists (not finding it doesn't block), the Databay path whether the user has ``CREATE``. Read the tables with\n``source-check-run tables --group in_publication``. Refusals: 409 ``not_checked`` before the source's first check,\n409 ``publication_modes_off``, 409 ``publication_mode_not_applicable``, 409 ``source_check_run_active``, 429\n``precheck_rate_limited``, and 503 ``precheck_busy`` or ``precheck_limiter_unavailable``.",
|
|
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
|
+
),
|
|
30
|
+
body=Body(
|
|
31
|
+
schema='PublicationModeRequest',
|
|
32
|
+
fields=(
|
|
33
|
+
Param(
|
|
34
|
+
name='publication_mode',
|
|
35
|
+
location='body',
|
|
36
|
+
kind='string',
|
|
37
|
+
required=True,
|
|
38
|
+
description="who creates the source's publication",
|
|
39
|
+
choices=(
|
|
40
|
+
'customer_managed',
|
|
41
|
+
'databay_managed',
|
|
42
|
+
),
|
|
43
|
+
),
|
|
44
|
+
),
|
|
45
|
+
),
|
|
46
|
+
response=Response(
|
|
47
|
+
kind='json',
|
|
48
|
+
model='shared:CheckRunResponse',
|
|
49
|
+
shape='object',
|
|
50
|
+
),
|
|
51
|
+
examples=(
|
|
52
|
+
'databay source-publication check <source_uuid> --publication-mode customer_managed',
|
|
53
|
+
),
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
SOURCE_PUBLICATION_GET = Operation(
|
|
57
|
+
operation_id='source_publication_get',
|
|
58
|
+
noun='source-publication',
|
|
59
|
+
verb='get',
|
|
60
|
+
method='get',
|
|
61
|
+
path='/api/configstore/source/{source_uuid}/publication',
|
|
62
|
+
summary='Source Publication Get',
|
|
63
|
+
description="Read who creates this Postgres source's publication, and which paths this server can use.\n\nBoth paths always come back in the same order, and one this server can't use says why. 409\n``publication_modes_off`` where the deployment offers no choice, 409 ``publication_mode_not_applicable`` on a type\nwith no publication, and 503 ``publication_state_unavailable`` when it cannot be read.",
|
|
64
|
+
project='header',
|
|
65
|
+
destructive=False,
|
|
66
|
+
idempotent=False,
|
|
67
|
+
since='1.0',
|
|
68
|
+
params=(
|
|
69
|
+
Param(
|
|
70
|
+
name='source_uuid',
|
|
71
|
+
location='path',
|
|
72
|
+
kind='string',
|
|
73
|
+
required=True,
|
|
74
|
+
description='uuid of the connected source',
|
|
75
|
+
),
|
|
76
|
+
),
|
|
77
|
+
body=None,
|
|
78
|
+
response=Response(
|
|
79
|
+
kind='json',
|
|
80
|
+
model='source_publication:SourcePublicationResponse',
|
|
81
|
+
shape='object',
|
|
82
|
+
),
|
|
83
|
+
examples=(
|
|
84
|
+
'databay source-publication get <source_uuid>',
|
|
85
|
+
),
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
SOURCE_PUBLICATION_SET = Operation(
|
|
89
|
+
operation_id='source_publication_set',
|
|
90
|
+
noun='source-publication',
|
|
91
|
+
verb='set',
|
|
92
|
+
method='put',
|
|
93
|
+
path='/api/configstore/source/{source_uuid}/publication',
|
|
94
|
+
summary='Source Publication Set',
|
|
95
|
+
description="Save who creates this Postgres source's publication: ``customer_managed`` (your admin) or ``databay_managed``.\n\nThe source is then held to that path's checks: the admin path finishes setup whether or not the publication exists\nyet, and the Databay path waits for ``CREATE`` on the database to pass. Refusals: 409\n``publication_mode_locked`` once the source has pipelines, 409 ``publication_mode_unsupported`` where the admin path\ncan't run (``reason``: ``engine``, ``postgres_version`` or ``version_unknown``), 409 ``publication_modes_off``, 409\n``publication_mode_not_applicable``, and 503 ``publication_state_unavailable`` when it cannot be read.",
|
|
96
|
+
project='header',
|
|
97
|
+
destructive=False,
|
|
98
|
+
idempotent=False,
|
|
99
|
+
since='1.0',
|
|
100
|
+
params=(
|
|
101
|
+
Param(
|
|
102
|
+
name='source_uuid',
|
|
103
|
+
location='path',
|
|
104
|
+
kind='string',
|
|
105
|
+
required=True,
|
|
106
|
+
description='uuid of the connected source',
|
|
107
|
+
),
|
|
108
|
+
),
|
|
109
|
+
body=Body(
|
|
110
|
+
schema='PublicationModeRequest',
|
|
111
|
+
fields=(
|
|
112
|
+
Param(
|
|
113
|
+
name='publication_mode',
|
|
114
|
+
location='body',
|
|
115
|
+
kind='string',
|
|
116
|
+
required=True,
|
|
117
|
+
description="who creates the source's publication",
|
|
118
|
+
choices=(
|
|
119
|
+
'customer_managed',
|
|
120
|
+
'databay_managed',
|
|
121
|
+
),
|
|
122
|
+
),
|
|
123
|
+
),
|
|
124
|
+
),
|
|
125
|
+
response=Response(
|
|
126
|
+
kind='json',
|
|
127
|
+
model='shared:ConnectedSourceResponse',
|
|
128
|
+
shape='object',
|
|
129
|
+
),
|
|
130
|
+
examples=(
|
|
131
|
+
'databay source-publication set <source_uuid> --publication-mode customer_managed',
|
|
132
|
+
),
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
OPERATIONS = (
|
|
136
|
+
SOURCE_PUBLICATION_CHECK,
|
|
137
|
+
SOURCE_PUBLICATION_GET,
|
|
138
|
+
SOURCE_PUBLICATION_SET,
|
|
139
|
+
)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""The ``source-readiness-override`` 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_READINESS_OVERRIDE_DELETE = Operation(
|
|
10
|
+
operation_id='source_readiness_override_delete',
|
|
11
|
+
noun='source-readiness-override',
|
|
12
|
+
verb='delete',
|
|
13
|
+
method='delete',
|
|
14
|
+
path='/api/configstore/source/{source_uuid}/readiness-override',
|
|
15
|
+
summary='Connected Source Clear Readiness Override',
|
|
16
|
+
description="Withdraw a readiness override; the source's status goes back to what its checks say.",
|
|
17
|
+
project='header',
|
|
18
|
+
destructive=True,
|
|
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
|
+
),
|
|
30
|
+
body=None,
|
|
31
|
+
response=Response(
|
|
32
|
+
kind='json',
|
|
33
|
+
model='shared:ConnectedSourceResponse',
|
|
34
|
+
shape='object',
|
|
35
|
+
),
|
|
36
|
+
examples=(
|
|
37
|
+
'databay source-readiness-override delete <source_uuid> --yes',
|
|
38
|
+
),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
SOURCE_READINESS_OVERRIDE_SET = Operation(
|
|
42
|
+
operation_id='source_readiness_override_set',
|
|
43
|
+
noun='source-readiness-override',
|
|
44
|
+
verb='set',
|
|
45
|
+
method='post',
|
|
46
|
+
path='/api/configstore/source/{source_uuid}/readiness-override',
|
|
47
|
+
summary='Connected Source Readiness Override',
|
|
48
|
+
description='Accept failing setup checks on a source, audited.\n\nA source type with guided setup takes no new override from anyone: 403 ``source_override_not_offered``.\nOn any other type, support (superadmin) may accept any failing check: the escape hatch when\na check is wrong about a database, until the check is fixed. Anyone else may only acknowledge\na check Databay couldn\'t verify ("I\'ve verified this manually"); a failed check needs\nsupport. The override survives re-checks for the checks it accepted and clears itself\nonce they pass. 409 ``not_checked`` before the first check; 422 ``not_blocking``;\n403 ``requires_support``.',
|
|
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=Body(
|
|
63
|
+
schema='ReadinessOverrideRequest',
|
|
64
|
+
fields=(
|
|
65
|
+
Param(
|
|
66
|
+
name='reason',
|
|
67
|
+
location='body',
|
|
68
|
+
kind='string',
|
|
69
|
+
required=True,
|
|
70
|
+
description='why, for the audit record',
|
|
71
|
+
),
|
|
72
|
+
Param(
|
|
73
|
+
name='requirement_ids',
|
|
74
|
+
location='body',
|
|
75
|
+
kind='list',
|
|
76
|
+
required=False,
|
|
77
|
+
description='checks to accept; all current blockers when omitted',
|
|
78
|
+
item_kind='string',
|
|
79
|
+
nullable=True,
|
|
80
|
+
),
|
|
81
|
+
),
|
|
82
|
+
),
|
|
83
|
+
response=Response(
|
|
84
|
+
kind='json',
|
|
85
|
+
model='shared:ConnectedSourceResponse',
|
|
86
|
+
shape='object',
|
|
87
|
+
),
|
|
88
|
+
examples=(
|
|
89
|
+
'databay source-readiness-override set <source_uuid> --reason "checked REPLICA IDENTITY by hand"',
|
|
90
|
+
),
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
OPERATIONS = (
|
|
94
|
+
SOURCE_READINESS_OVERRIDE_DELETE,
|
|
95
|
+
SOURCE_READINESS_OVERRIDE_SET,
|
|
96
|
+
)
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"""The ``source-setup-choice`` 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_SETUP_CHOICE_CHECK = Operation(
|
|
10
|
+
operation_id='source_setup_choice_check',
|
|
11
|
+
noun='source-setup-choice',
|
|
12
|
+
verb='check',
|
|
13
|
+
method='post',
|
|
14
|
+
path='/api/configstore/source/{source_uuid}/setup/choices/{choice}/check',
|
|
15
|
+
summary='Setup Choice Check',
|
|
16
|
+
description="Start the source's check run for one option, without saving it; answers at once with the run.\n\n422 ``request_invalid`` for an unknown ``value``. ``publication`` answers the publication check's refusals: 409\n``not_checked``, ``publication_modes_off``, ``publication_mode_not_applicable`` or ``source_check_run_active``, 429\n``precheck_rate_limited``, and 503 ``precheck_busy`` or ``precheck_limiter_unavailable``.",
|
|
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='choice',
|
|
31
|
+
location='path',
|
|
32
|
+
kind='string',
|
|
33
|
+
required=True,
|
|
34
|
+
description='the choice a journey recipe names',
|
|
35
|
+
choices=(
|
|
36
|
+
'publication',
|
|
37
|
+
),
|
|
38
|
+
),
|
|
39
|
+
),
|
|
40
|
+
body=Body(
|
|
41
|
+
schema='SetupChoiceRequest',
|
|
42
|
+
fields=(
|
|
43
|
+
Param(
|
|
44
|
+
name='value',
|
|
45
|
+
location='body',
|
|
46
|
+
kind='string',
|
|
47
|
+
required=True,
|
|
48
|
+
description="the option to save or check, one of the choice's option values",
|
|
49
|
+
),
|
|
50
|
+
),
|
|
51
|
+
),
|
|
52
|
+
response=Response(
|
|
53
|
+
kind='json',
|
|
54
|
+
model='shared:CheckRunResponse',
|
|
55
|
+
shape='object',
|
|
56
|
+
),
|
|
57
|
+
examples=(
|
|
58
|
+
'databay source-setup-choice check <source_uuid> publication --value customer_managed',
|
|
59
|
+
),
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
SOURCE_SETUP_CHOICE_GET = Operation(
|
|
63
|
+
operation_id='source_setup_choice_get',
|
|
64
|
+
noun='source-setup-choice',
|
|
65
|
+
verb='get',
|
|
66
|
+
method='get',
|
|
67
|
+
path='/api/configstore/source/{source_uuid}/setup/choices/{choice}',
|
|
68
|
+
summary='Setup Choice Get',
|
|
69
|
+
description="Read one guided-setup choice: its saved option, whether it can still change, and every option with why one is off.\n\n``publication`` answers the publication route's refusals: 409 ``publication_modes_off``, 409\n``publication_mode_not_applicable`` and 503 ``publication_state_unavailable``.",
|
|
70
|
+
project='header',
|
|
71
|
+
destructive=False,
|
|
72
|
+
idempotent=False,
|
|
73
|
+
since='1.0',
|
|
74
|
+
params=(
|
|
75
|
+
Param(
|
|
76
|
+
name='source_uuid',
|
|
77
|
+
location='path',
|
|
78
|
+
kind='string',
|
|
79
|
+
required=True,
|
|
80
|
+
description='uuid of the connected source',
|
|
81
|
+
),
|
|
82
|
+
Param(
|
|
83
|
+
name='choice',
|
|
84
|
+
location='path',
|
|
85
|
+
kind='string',
|
|
86
|
+
required=True,
|
|
87
|
+
description='the choice a journey recipe names',
|
|
88
|
+
choices=(
|
|
89
|
+
'publication',
|
|
90
|
+
),
|
|
91
|
+
),
|
|
92
|
+
),
|
|
93
|
+
body=None,
|
|
94
|
+
response=Response(
|
|
95
|
+
kind='json',
|
|
96
|
+
model='source_setup_choice:SetupChoiceResponse',
|
|
97
|
+
shape='object',
|
|
98
|
+
),
|
|
99
|
+
examples=(
|
|
100
|
+
'databay source-setup-choice get <source_uuid> publication',
|
|
101
|
+
),
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
SOURCE_SETUP_CHOICE_SET = Operation(
|
|
105
|
+
operation_id='source_setup_choice_set',
|
|
106
|
+
noun='source-setup-choice',
|
|
107
|
+
verb='set',
|
|
108
|
+
method='put',
|
|
109
|
+
path='/api/configstore/source/{source_uuid}/setup/choices/{choice}',
|
|
110
|
+
summary='Setup Choice Set',
|
|
111
|
+
description="Save a guided-setup choice; the source is then held to that option's checks.\n\n422 ``request_invalid`` when ``value`` is not one of the choice's options (``allowed`` lists them). ``publication``\nanswers the publication route's refusals: 409 ``publication_mode_locked``, ``publication_mode_unsupported``,\n``publication_modes_off`` or ``publication_mode_not_applicable``, and 503 ``publication_state_unavailable``.",
|
|
112
|
+
project='header',
|
|
113
|
+
destructive=False,
|
|
114
|
+
idempotent=False,
|
|
115
|
+
since='1.0',
|
|
116
|
+
params=(
|
|
117
|
+
Param(
|
|
118
|
+
name='source_uuid',
|
|
119
|
+
location='path',
|
|
120
|
+
kind='string',
|
|
121
|
+
required=True,
|
|
122
|
+
description='uuid of the connected source',
|
|
123
|
+
),
|
|
124
|
+
Param(
|
|
125
|
+
name='choice',
|
|
126
|
+
location='path',
|
|
127
|
+
kind='string',
|
|
128
|
+
required=True,
|
|
129
|
+
description='the choice a journey recipe names',
|
|
130
|
+
choices=(
|
|
131
|
+
'publication',
|
|
132
|
+
),
|
|
133
|
+
),
|
|
134
|
+
),
|
|
135
|
+
body=Body(
|
|
136
|
+
schema='SetupChoiceRequest',
|
|
137
|
+
fields=(
|
|
138
|
+
Param(
|
|
139
|
+
name='value',
|
|
140
|
+
location='body',
|
|
141
|
+
kind='string',
|
|
142
|
+
required=True,
|
|
143
|
+
description="the option to save or check, one of the choice's option values",
|
|
144
|
+
),
|
|
145
|
+
),
|
|
146
|
+
),
|
|
147
|
+
response=Response(
|
|
148
|
+
kind='json',
|
|
149
|
+
model='shared:ConnectedSourceResponse',
|
|
150
|
+
shape='object',
|
|
151
|
+
),
|
|
152
|
+
examples=(
|
|
153
|
+
'databay source-setup-choice set <source_uuid> publication --value customer_managed',
|
|
154
|
+
),
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
OPERATIONS = (
|
|
158
|
+
SOURCE_SETUP_CHOICE_CHECK,
|
|
159
|
+
SOURCE_SETUP_CHOICE_GET,
|
|
160
|
+
SOURCE_SETUP_CHOICE_SET,
|
|
161
|
+
)
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"""The ``source-stream`` 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_STREAM_GET = Operation(
|
|
10
|
+
operation_id='source_stream_get',
|
|
11
|
+
noun='source-stream',
|
|
12
|
+
verb='get',
|
|
13
|
+
method='get',
|
|
14
|
+
path='/api/configstore/source/{source_uuid}/streams/shape',
|
|
15
|
+
summary='Connected Source Stream Shape',
|
|
16
|
+
description='Describe one stream: its columns, declared key, unique-key candidates and replica identity.\n\n404 ``stream_not_found`` when the source has no such stream; the other error codes are those\nof ``GET /source/{source_uuid}/streams``.',
|
|
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='namespace',
|
|
31
|
+
location='query',
|
|
32
|
+
kind='string',
|
|
33
|
+
required=True,
|
|
34
|
+
description='The stream\'s schema or database; "" for SaaS.',
|
|
35
|
+
),
|
|
36
|
+
Param(
|
|
37
|
+
name='stream',
|
|
38
|
+
location='query',
|
|
39
|
+
kind='string',
|
|
40
|
+
required=True,
|
|
41
|
+
description="The stream's name.",
|
|
42
|
+
),
|
|
43
|
+
),
|
|
44
|
+
body=None,
|
|
45
|
+
response=Response(
|
|
46
|
+
kind='json',
|
|
47
|
+
model='source_stream:StreamShapeResponse',
|
|
48
|
+
shape='object',
|
|
49
|
+
),
|
|
50
|
+
examples=(
|
|
51
|
+
'databay source-stream get <source_uuid> --namespace public --stream orders',
|
|
52
|
+
),
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
SOURCE_STREAM_LIST = Operation(
|
|
56
|
+
operation_id='source_stream_list',
|
|
57
|
+
noun='source-stream',
|
|
58
|
+
verb='list',
|
|
59
|
+
method='get',
|
|
60
|
+
path='/api/configstore/source/{source_uuid}/streams',
|
|
61
|
+
summary='Connected Source Streams',
|
|
62
|
+
description="List any connected source's streams: a database's schemas and tables, or a SaaS source's reports.\n\n412 ``source_needs_reauth`` and 409 ``source_uninstalled`` name the fix.",
|
|
63
|
+
project='header',
|
|
64
|
+
destructive=False,
|
|
65
|
+
idempotent=False,
|
|
66
|
+
since='1.0',
|
|
67
|
+
params=(
|
|
68
|
+
Param(
|
|
69
|
+
name='source_uuid',
|
|
70
|
+
location='path',
|
|
71
|
+
kind='string',
|
|
72
|
+
required=True,
|
|
73
|
+
description='uuid of the connected source',
|
|
74
|
+
),
|
|
75
|
+
Param(
|
|
76
|
+
name='namespace',
|
|
77
|
+
location='query',
|
|
78
|
+
kind='string',
|
|
79
|
+
required=False,
|
|
80
|
+
description='Omit to list namespaces; a schema or database name to list its streams; "" for SaaS.',
|
|
81
|
+
nullable=True,
|
|
82
|
+
),
|
|
83
|
+
),
|
|
84
|
+
body=None,
|
|
85
|
+
response=Response(
|
|
86
|
+
kind='json',
|
|
87
|
+
model='source_stream:StreamCatalogResponse',
|
|
88
|
+
shape='object',
|
|
89
|
+
),
|
|
90
|
+
examples=(
|
|
91
|
+
'databay source-stream list <source_uuid>',
|
|
92
|
+
'databay source-stream list <source_uuid> --namespace public',
|
|
93
|
+
),
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
OPERATIONS = (
|
|
97
|
+
SOURCE_STREAM_GET,
|
|
98
|
+
SOURCE_STREAM_LIST,
|
|
99
|
+
)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""The ``source-table`` 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, Verdict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
SOURCE_TABLE_CHECK = Operation(
|
|
10
|
+
operation_id='source_table_check',
|
|
11
|
+
noun='source-table',
|
|
12
|
+
verb='check',
|
|
13
|
+
method='get',
|
|
14
|
+
path='/api/configstore/source/{source_uuid}/schemas/{schema_name}/tables/readiness',
|
|
15
|
+
summary='Connected Source Table Readiness',
|
|
16
|
+
description='Per-table setup checks for the pipe wizard.\n\nEach table says whether it can be replicated and backfilled without a blocking\nsnapshot, and if not, the exact fix: a primary key, ``REPLICA IDENTITY`` other than\nNOTHING and ownership (Postgres), CDC on the table (SQL Server). One catalog query.',
|
|
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='schema_name',
|
|
31
|
+
location='path',
|
|
32
|
+
kind='string',
|
|
33
|
+
required=True,
|
|
34
|
+
description='schema name',
|
|
35
|
+
),
|
|
36
|
+
),
|
|
37
|
+
body=None,
|
|
38
|
+
response=Response(
|
|
39
|
+
kind='json',
|
|
40
|
+
model='source_table:TableReadinessReport',
|
|
41
|
+
shape='object',
|
|
42
|
+
),
|
|
43
|
+
examples=(
|
|
44
|
+
'databay source-table check <source_uuid> public',
|
|
45
|
+
),
|
|
46
|
+
verdict=Verdict(
|
|
47
|
+
field='/ready',
|
|
48
|
+
ok=(
|
|
49
|
+
'true',
|
|
50
|
+
),
|
|
51
|
+
not_ready=(
|
|
52
|
+
'false',
|
|
53
|
+
),
|
|
54
|
+
),
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
OPERATIONS = (
|
|
58
|
+
SOURCE_TABLE_CHECK,
|
|
59
|
+
)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"""The ``sql`` 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
|
+
SQL_EXECUTE = Operation(
|
|
10
|
+
operation_id='sql_execute',
|
|
11
|
+
noun='sql',
|
|
12
|
+
verb='execute',
|
|
13
|
+
method='post',
|
|
14
|
+
path='/api/configstore/sql/execute',
|
|
15
|
+
summary='Execute Sql',
|
|
16
|
+
description="Run one read-only statement for the SQL editor.\n\nRuns server-side, so ClickHouse need not be reachable from the browser and its\ncredentials stay on the server. ``db_uuid`` picks the warehouse (the org default when\nomitted). On a project-scoped console the statement runs as the caller's console\nreader in the active project (``X-Databay-Project-ID``), which can read only the\nproject's visible managed warehouses; 404 ``warehouse_not_visible`` / 409\n``warehouse_not_queryable``. ClickHouse's ``readonly=1`` is set on every request.",
|
|
17
|
+
project='header',
|
|
18
|
+
destructive=False,
|
|
19
|
+
idempotent=False,
|
|
20
|
+
since='1.0',
|
|
21
|
+
params=(),
|
|
22
|
+
body=Body(
|
|
23
|
+
schema='SqlExecuteRequest',
|
|
24
|
+
fields=(
|
|
25
|
+
Param(
|
|
26
|
+
name='db_uuid',
|
|
27
|
+
location='body',
|
|
28
|
+
kind='string',
|
|
29
|
+
required=False,
|
|
30
|
+
description="The warehouse to run against: the request's default database. Omitted: the organization default warehouse. When the console is project-scoped it must be a managed warehouse visible in the active project (404 ``warehouse_not_visible``, 409 ``warehouse_not_queryable``).",
|
|
31
|
+
nullable=True,
|
|
32
|
+
),
|
|
33
|
+
Param(
|
|
34
|
+
name='query',
|
|
35
|
+
location='body',
|
|
36
|
+
kind='string',
|
|
37
|
+
required=True,
|
|
38
|
+
description="A single read-only statement (SELECT, WITH, SHOW, DESCRIBE, EXPLAIN). Executed against the caller's organization database with ClickHouse's readonly setting applied; writes and DDL are refused.",
|
|
39
|
+
),
|
|
40
|
+
),
|
|
41
|
+
),
|
|
42
|
+
response=Response(
|
|
43
|
+
kind='json',
|
|
44
|
+
model='sql:SqlExecuteResponse',
|
|
45
|
+
shape='object',
|
|
46
|
+
),
|
|
47
|
+
examples=(
|
|
48
|
+
'databay sql --db <db_uuid> "select count(*) from analytics.orders"',
|
|
49
|
+
),
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
OPERATIONS = (
|
|
53
|
+
SQL_EXECUTE,
|
|
54
|
+
)
|