diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 1f46a0a57c6..1cec48c3f50 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -12,5 +12,6 @@ ### Dependency updates * Bump `github.com/databricks/databricks-sdk-go` from v0.141.0 to v0.147.0 ([#5636](https://github.com/databricks/cli/pull/5636)). +* Bump Terraform provider from v1.117.0 to v1.118.0 ([#5637](https://github.com/databricks/cli/pull/5637)). ### API Changes diff --git a/acceptance/bin/print_requests.py b/acceptance/bin/print_requests.py index acf63874432..64479b79a5a 100755 --- a/acceptance/bin/print_requests.py +++ b/acceptance/bin/print_requests.py @@ -187,9 +187,20 @@ def main(): help="Collapse consecutive duplicate requests (like uniq), e.g. repeated GET polls", ) parser.add_argument("--oneline", action="store_true", help="Print output with one request per line") + parser.add_argument( + "--del-body", + action="append", + default=[], + metavar="FIELDS", + help="Comma-separated body fields to delete from each request (repeatable). Use for " + "body fields that diverge between deployment engines, e.g. identity fields the " + "terraform provider serializes into the body but the direct engine sends as query params.", + ) parser.add_argument("--fname", default="out.requests.txt") args = parser.parse_args() + del_body_fields = [field for group in args.del_body for field in group.split(",")] + test_tmp_dir = os.environ.get("TEST_TMP_DIR") if test_tmp_dir: requests_file = Path(test_tmp_dir) / args.fname @@ -207,6 +218,12 @@ def main(): requests = read_json_many(data) filtered_requests = filter_requests(requests, args.path_filters, args.get, args.sort, args.unique) + + for req in filtered_requests: + body = req.get("body") + if isinstance(body, dict): + for field in del_body_fields: + body.pop(field, None) if args.verbose: print( f"Read {len(data)} chars, {len(requests)} requests, {len(filtered_requests)} after filtering", diff --git a/acceptance/bundle/migrate/runas/out.create_requests.json b/acceptance/bundle/migrate/runas/out.create_requests.json index c80fa0eaeb6..d201cf5f209 100644 --- a/acceptance/bundle/migrate/runas/out.create_requests.json +++ b/acceptance/bundle/migrate/runas/out.create_requests.json @@ -1,7 +1,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/pipeline auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/pipeline auth/pat" ] }, "method": "POST", @@ -32,7 +32,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/permissions auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/permissions auth/pat" ] }, "method": "PUT", diff --git a/acceptance/bundle/resources/postgres_branches/basic/output.txt b/acceptance/bundle/resources/postgres_branches/basic/output.txt index c8736ddecf9..3dc758224fc 100644 --- a/acceptance/bundle/resources/postgres_branches/basic/output.txt +++ b/acceptance/bundle/resources/postgres_branches/basic/output.txt @@ -64,7 +64,7 @@ Resources: Name: Test Project for Branch URL: (not deployed) ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_branches/basic/script b/acceptance/bundle/resources/postgres_branches/basic/script index 0086234c2e5..46f1f847ab3 100644 --- a/acceptance/bundle/resources/postgres_branches/basic/script +++ b/acceptance/bundle/resources/postgres_branches/basic/script @@ -21,4 +21,4 @@ trace $CLI postgres get-branch "${branch_name}" | jq 'del(.create_time, .update_ trace $CLI bundle summary # Filter requests to only show postgres operations (exclude workspace, telemetry, and operation polling) -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json diff --git a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.terraform.txt b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.terraform.txt deleted file mode 100644 index 04d889a8385..00000000000 --- a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.terraform.txt +++ /dev/null @@ -1,32 +0,0 @@ -{ - "body": { - "spec": { - "default_endpoint_settings": { - "autoscaling_limit_max_cu": 4, - "autoscaling_limit_min_cu": 0.5, - "suspend_timeout_duration": "300s" - }, - "display_name": "Test Project", - "history_retention_duration": "604800s", - "pg_version": 16 - } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-proj-[UNIQUE_NAME]" - } -} -{ - "body": { - "parent": "projects/test-pg-proj-[UNIQUE_NAME]", - "spec": { - "no_expiry": true - } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", - "q": { - "branch_id": "old-branch-[UNIQUE_NAME]" - } -} diff --git a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.direct.txt b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.txt similarity index 100% rename from acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.direct.txt rename to acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.txt index b9078ba35cd..147d02d0355 100644 --- a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.direct.txt +++ b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.create.txt @@ -1,4 +1,9 @@ { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-proj-[UNIQUE_NAME]" + }, "body": { "spec": { "default_endpoint_settings": { @@ -10,22 +15,17 @@ "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-proj-[UNIQUE_NAME]" } } { - "body": { - "spec": { - "no_expiry": true - } - }, "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", "q": { "branch_id": "old-branch-[UNIQUE_NAME]" + }, + "body": { + "spec": { + "no_expiry": true + } } } diff --git a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.terraform.txt b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.terraform.txt deleted file mode 100644 index 69dc86caf68..00000000000 --- a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.terraform.txt +++ /dev/null @@ -1,8 +0,0 @@ -{ - "method": "DELETE", - "path": "/api/2.0/postgres/[MAIN_ID_2]" -} -{ - "method": "DELETE", - "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]" -} diff --git a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.direct.txt b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.txt similarity index 100% rename from acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.direct.txt rename to acceptance/bundle/resources/postgres_branches/recreate/out.requests.destroy.txt diff --git a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.terraform.txt b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.terraform.txt deleted file mode 100644 index 3dbd3b1e286..00000000000 --- a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.terraform.txt +++ /dev/null @@ -1,17 +0,0 @@ -{ - "method": "DELETE", - "path": "/api/2.0/postgres/[MAIN_ID]" -} -{ - "body": { - "parent": "projects/test-pg-proj-[UNIQUE_NAME]", - "spec": { - "no_expiry": true - } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", - "q": { - "branch_id": "new-branch-[UNIQUE_NAME]" - } -} diff --git a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.direct.txt b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.txt similarity index 100% rename from acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.direct.txt rename to acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.txt index 9c8f1eefca3..2982e29445d 100644 --- a/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.direct.txt +++ b/acceptance/bundle/resources/postgres_branches/recreate/out.requests.update.txt @@ -3,14 +3,14 @@ "path": "/api/2.0/postgres/[MAIN_ID]" } { - "body": { - "spec": { - "no_expiry": true - } - }, "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", "q": { "branch_id": "new-branch-[UNIQUE_NAME]" + }, + "body": { + "spec": { + "no_expiry": true + } } } diff --git a/acceptance/bundle/resources/postgres_branches/recreate/script b/acceptance/bundle/resources/postgres_branches/recreate/script index f81650b2e77..695b5544585 100755 --- a/acceptance/bundle/resources/postgres_branches/recreate/script +++ b/acceptance/bundle/resources/postgres_branches/recreate/script @@ -21,13 +21,7 @@ trace $CLI bundle deploy branch_id_1=`read_id.py main` -print_requests() { - local name=$1 - jq --sort-keys 'select(.method != "GET" and (.path | contains("/postgres")))' < out.requests.txt > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.txt - rm -f out.requests.txt -} - -print_requests create +print_requests.py --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.create.txt title "Change branch_id (should trigger recreation in direct, update in terraform)" sed "s/old-branch-${UNIQUE_NAME}/new-branch-${UNIQUE_NAME}/" databricks.yml > databricks.yml.new @@ -39,7 +33,7 @@ trace cat databricks.yml $CLI bundle plan > out.plan.txt 2>&1 trace $CLI bundle deploy --auto-approve -print_requests update +print_requests.py --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.update.txt title "Fetch new branch ID" branch_id_2=`read_id.py main` @@ -49,7 +43,7 @@ $CLI postgres get-branch $branch_id_2 | jq 'del(.create_time, .update_time, .sta title "Destroy and verify cleanup" trace $CLI bundle destroy --auto-approve -print_requests destroy +print_requests.py --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.txt # Clean up any orphaned old branch (terraform doesn't delete it on recreation) $CLI postgres delete-branch $branch_id_1 2>/dev/null || true diff --git a/acceptance/bundle/resources/postgres_branches/replace_existing/output.txt b/acceptance/bundle/resources/postgres_branches/replace_existing/output.txt index 1ff2fde8588..7f3f76ab3e3 100644 --- a/acceptance/bundle/resources/postgres_branches/replace_existing/output.txt +++ b/acceptance/bundle/resources/postgres_branches/replace_existing/output.txt @@ -29,7 +29,7 @@ Deployment complete! "uid": "[BRANCH_UID]" } ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === bundle destroy ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ diff --git a/acceptance/bundle/resources/postgres_branches/replace_existing/script b/acceptance/bundle/resources/postgres_branches/replace_existing/script index 3c3cc7e9300..a25851b936b 100644 --- a/acceptance/bundle/resources/postgres_branches/replace_existing/script +++ b/acceptance/bundle/resources/postgres_branches/replace_existing/script @@ -15,7 +15,7 @@ trace $CLI bundle deploy # Confirm the implicit production branch is now under management. trace $CLI postgres get-branch "projects/test-pg-proj-${UNIQUE_NAME}/branches/production" | jq 'del(.create_time, .update_time, .status.logical_size_bytes)' -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.deploy.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.deploy.$DATABRICKS_BUNDLE_ENGINE.json # bundle destroy: the backend rejects independent deletion of the root # branch with a MANAGED_BY_PARENT marker; both engines disregard that @@ -25,4 +25,4 @@ trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//work title "bundle destroy" $CLI bundle destroy --auto-approve > out.destroy.$DATABRICKS_BUNDLE_ENGINE.txt 2>&1 || true -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.$DATABRICKS_BUNDLE_ENGINE.json diff --git a/acceptance/bundle/resources/postgres_branches/update_protected/output.txt b/acceptance/bundle/resources/postgres_branches/update_protected/output.txt index aeb6be6d5ad..e14d52f3537 100644 --- a/acceptance/bundle/resources/postgres_branches/update_protected/output.txt +++ b/acceptance/bundle/resources/postgres_branches/update_protected/output.txt @@ -23,7 +23,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-branch [DEV_BRANCH_ID] { @@ -55,7 +55,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === Update is_protected to true and re-deploy >>> update_file.py databricks.yml is_protected: false is_protected: true @@ -99,7 +99,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-branch [DEV_BRANCH_ID] { @@ -135,7 +135,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-branch [DEV_BRANCH_ID] { diff --git a/acceptance/bundle/resources/postgres_branches/update_protected/script b/acceptance/bundle/resources/postgres_branches/update_protected/script index cbdec19a6ca..185061daf4b 100755 --- a/acceptance/bundle/resources/postgres_branches/update_protected/script +++ b/acceptance/bundle/resources/postgres_branches/update_protected/script @@ -8,7 +8,7 @@ trap cleanup EXIT print_requests() { local name=$1 - trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json + trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json rm -f out.requests.txt } diff --git a/acceptance/bundle/resources/postgres_catalogs/basic/output.txt b/acceptance/bundle/resources/postgres_catalogs/basic/output.txt index a38436726c5..c5eed407fe9 100644 --- a/acceptance/bundle/resources/postgres_catalogs/basic/output.txt +++ b/acceptance/bundle/resources/postgres_catalogs/basic/output.txt @@ -57,7 +57,7 @@ Resources: Name: Test Project for Catalog URL: (not deployed) ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_catalogs/basic/script b/acceptance/bundle/resources/postgres_catalogs/basic/script index ba6240838c8..c4b7b04934a 100644 --- a/acceptance/bundle/resources/postgres_catalogs/basic/script +++ b/acceptance/bundle/resources/postgres_catalogs/basic/script @@ -20,4 +20,4 @@ trace $CLI postgres get-catalog "${catalog_name}" | jq 'del(.create_time, .updat trace $CLI bundle summary # Filter requests to only show postgres operations (exclude workspace, telemetry, and operation polling). -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.json diff --git a/acceptance/bundle/resources/postgres_databases/basic/output.txt b/acceptance/bundle/resources/postgres_databases/basic/output.txt index a7a80a5eda5..c316a1c6c98 100644 --- a/acceptance/bundle/resources/postgres_databases/basic/output.txt +++ b/acceptance/bundle/resources/postgres_databases/basic/output.txt @@ -74,7 +74,7 @@ Resources: Name: URL: (not deployed) ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_databases/basic/script b/acceptance/bundle/resources/postgres_databases/basic/script index d6c5e1a4138..e156b23b811 100644 --- a/acceptance/bundle/resources/postgres_databases/basic/script +++ b/acceptance/bundle/resources/postgres_databases/basic/script @@ -22,4 +22,4 @@ trace $CLI postgres get-database "${database_name}" | jq 'del(.create_time, .upd trace $CLI bundle summary # Filter requests to only show postgres operations (exclude workspace, telemetry, and operation polling) -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json diff --git a/acceptance/bundle/resources/postgres_databases/recreate/output.txt b/acceptance/bundle/resources/postgres_databases/recreate/output.txt index cc7445ae980..73034cb4931 100644 --- a/acceptance/bundle/resources/postgres_databases/recreate/output.txt +++ b/acceptance/bundle/resources/postgres_databases/recreate/output.txt @@ -47,31 +47,58 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-proj-[UNIQUE_NAME]" + }, "body": { "spec": { "display_name": "Test Project for Database", "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-proj-[UNIQUE_NAME]" } } - "no_expiry": true +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", + "q": { "branch_id": "main" - "postgres_role": "app_owner" + }, + "body": { + "spec": { + "no_expiry": true + } + } +} +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles", + "q": { "role_id": "app-owner" - "postgres_database": "app_db", - "role": "projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/app-owner" + }, + "body": { + "spec": { + "postgres_role": "app_owner" + } + } +} +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/databases", + "q": { "database_id": "test-database-[UNIQUE_NAME]" + }, + "body": { + "spec": { + "postgres_database": "app_db", + "role": "projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/app-owner" + } + } +} >>> cat databricks.yml bundle: @@ -134,22 +161,24 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_DATABASE_ID]" } +{ + "method": "POST", + "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/databases", + "q": { + "database_id": "test-database-[UNIQUE_NAME]-v2" + }, "body": { "spec": { "postgres_database": "app_db", "role": "projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/app-owner" } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/databases", - "q": { - "database_id": "test-database-[UNIQUE_NAME]-v2" } +} === Fetch database and verify it exists after recreation >>> [CLI] postgres get-database [MY_DATABASE_ID]-v2 @@ -189,14 +218,23 @@ All files and directories at the following location will be deleted: /Workspace/ Deleting files... Destroy complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_DATABASE_ID]-v2" } +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/app-owner" +} +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main" +} +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]" +} >>> [CLI] bundle destroy --auto-approve No active deployment found to destroy! diff --git a/acceptance/bundle/resources/postgres_databases/recreate/script b/acceptance/bundle/resources/postgres_databases/recreate/script index 324b6f8eafb..48d42e3f00c 100644 --- a/acceptance/bundle/resources/postgres_databases/recreate/script +++ b/acceptance/bundle/resources/postgres_databases/recreate/script @@ -21,15 +21,7 @@ trace $CLI bundle deploy database_id_1=`read_id.py my_database` -print_requests() { - # Filter postgres requests (excluding GET), remove parent field (differs between engines), - # then deduplicate consecutive retries - jq --sort-keys 'select(.method != "GET" and (.path | contains("/postgres"))) | del(.body.parent)' < out.requests.txt | \ - awk '!seen[$0]++ {print}' - rm -f out.requests.txt -} - -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' # Change database_id (should trigger recreation) envsubst < databricks.yml.tmpl | sed "s/DATABASE_ID_PLACEHOLDER/test-database-${UNIQUE_NAME}-v2/" > databricks.yml @@ -43,7 +35,7 @@ musterr trace $CLI bundle deploy trace $CLI bundle deploy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' title "Fetch database and verify it exists after recreation" @@ -54,4 +46,4 @@ trace $CLI postgres get-database $database_id_2 | jq 'del(.create_time, .update_ title "Destroy and verify cleanup" trace $CLI bundle destroy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' diff --git a/acceptance/bundle/resources/postgres_databases/update/output.txt b/acceptance/bundle/resources/postgres_databases/update/output.txt index 6dd35ad2219..b99033643a4 100644 --- a/acceptance/bundle/resources/postgres_databases/update/output.txt +++ b/acceptance/bundle/resources/postgres_databases/update/output.txt @@ -25,7 +25,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-database [MY_DATABASE_ID] { @@ -51,7 +51,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === Update postgres_database and re-deploy >>> update_file.py databricks.yml postgres_database: initial_db_name postgres_database: renamed_db_name @@ -103,7 +103,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-database [MY_DATABASE_ID] { @@ -133,7 +133,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-database [MY_DATABASE_ID] { diff --git a/acceptance/bundle/resources/postgres_databases/update/script b/acceptance/bundle/resources/postgres_databases/update/script index 488c1719f1b..e87443bf9fb 100644 --- a/acceptance/bundle/resources/postgres_databases/update/script +++ b/acceptance/bundle/resources/postgres_databases/update/script @@ -8,7 +8,7 @@ trap cleanup EXIT print_requests() { local name=$1 - trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json + trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json rm -f out.requests.txt } diff --git a/acceptance/bundle/resources/postgres_endpoints/basic/output.txt b/acceptance/bundle/resources/postgres_endpoints/basic/output.txt index 0ca08d1a3c8..4b41c6afc93 100644 --- a/acceptance/bundle/resources/postgres_endpoints/basic/output.txt +++ b/acceptance/bundle/resources/postgres_endpoints/basic/output.txt @@ -81,7 +81,7 @@ Resources: Name: Test Project for Endpoint URL: (not deployed) ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_endpoints/basic/script b/acceptance/bundle/resources/postgres_endpoints/basic/script index d1d39ec2915..7b7bb70954a 100755 --- a/acceptance/bundle/resources/postgres_endpoints/basic/script +++ b/acceptance/bundle/resources/postgres_endpoints/basic/script @@ -22,4 +22,4 @@ trace $CLI postgres get-endpoint "${endpoint_name}" | jq 'del(.create_time, .upd trace $CLI bundle summary # Filter requests to only show postgres operations (exclude workspace, telemetry, and operation polling) -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json diff --git a/acceptance/bundle/resources/postgres_endpoints/recreate/output.txt b/acceptance/bundle/resources/postgres_endpoints/recreate/output.txt index 8b5725834e7..0c001d75449 100644 --- a/acceptance/bundle/resources/postgres_endpoints/recreate/output.txt +++ b/acceptance/bundle/resources/postgres_endpoints/recreate/output.txt @@ -45,8 +45,13 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-proj-[UNIQUE_NAME]" + }, "body": { "spec": { "default_endpoint_settings": { @@ -58,21 +63,34 @@ Deployment complete! "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-proj-[UNIQUE_NAME]" } } - "no_expiry": true +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", + "q": { "branch_id": "main" + }, + "body": { + "spec": { + "no_expiry": true + } + } +} +{ + "method": "POST", + "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/endpoints", + "q": { + "endpoint_id": "test-endpoint-[UNIQUE_NAME]" + }, + "body": { + "spec": { "autoscaling_limit_max_cu": 2, "autoscaling_limit_min_cu": 0.5, "endpoint_type": "ENDPOINT_TYPE_READ_ONLY" - "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/endpoints", - "endpoint_id": "test-endpoint-[UNIQUE_NAME]" + } + } +} >>> cat databricks.yml bundle: @@ -118,23 +136,25 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_ENDPOINT_ID]" } +{ + "method": "POST", + "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/endpoints", + "q": { + "endpoint_id": "test-endpoint-[UNIQUE_NAME]-v2" + }, "body": { "spec": { "autoscaling_limit_max_cu": 2, "autoscaling_limit_min_cu": 0.5, "endpoint_type": "ENDPOINT_TYPE_READ_ONLY" } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/endpoints", - "q": { - "endpoint_id": "test-endpoint-[UNIQUE_NAME]-v2" } +} === Fetch endpoint and verify it exists after recreation >>> [CLI] postgres get-endpoint [MY_ENDPOINT_ID]-v2 @@ -160,13 +180,19 @@ All files and directories at the following location will be deleted: /Workspace/ Deleting files... Destroy complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_ENDPOINT_ID]-v2" } +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main" +} +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]" +} >>> [CLI] bundle destroy --auto-approve No active deployment found to destroy! diff --git a/acceptance/bundle/resources/postgres_endpoints/recreate/script b/acceptance/bundle/resources/postgres_endpoints/recreate/script index 4fb810c36d1..6d4e7d62e1a 100755 --- a/acceptance/bundle/resources/postgres_endpoints/recreate/script +++ b/acceptance/bundle/resources/postgres_endpoints/recreate/script @@ -21,15 +21,7 @@ trace $CLI bundle deploy endpoint_id_1=`read_id.py my_endpoint` -print_requests() { - # Filter postgres requests (excluding GET), remove parent field (differs between engines), - # then deduplicate consecutive retries - jq --sort-keys 'select(.method != "GET" and (.path | contains("/postgres"))) | del(.body.parent)' < out.requests.txt | \ - awk '!seen[$0]++ {print}' - rm -f out.requests.txt -} - -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' # Change endpoint_id (should trigger recreation) envsubst < databricks.yml.tmpl | sed "s/ENDPOINT_ID_PLACEHOLDER/test-endpoint-${UNIQUE_NAME}-v2/" > databricks.yml @@ -39,7 +31,7 @@ trace cat databricks.yml trace $CLI bundle plan trace $CLI bundle deploy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' title "Fetch endpoint and verify it exists after recreation" @@ -50,4 +42,4 @@ trace $CLI postgres get-endpoint $endpoint_id_2 | jq 'del(.create_time, .update_ title "Destroy and verify cleanup" trace $CLI bundle destroy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' diff --git a/acceptance/bundle/resources/postgres_endpoints/replace_existing/output.txt b/acceptance/bundle/resources/postgres_endpoints/replace_existing/output.txt index dd9bd566dc7..2b371c9d6d6 100644 --- a/acceptance/bundle/resources/postgres_endpoints/replace_existing/output.txt +++ b/acceptance/bundle/resources/postgres_endpoints/replace_existing/output.txt @@ -40,7 +40,7 @@ Deployment complete! "uid": "[ENDPOINT_UID]" } ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === bundle destroy ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ diff --git a/acceptance/bundle/resources/postgres_endpoints/replace_existing/script b/acceptance/bundle/resources/postgres_endpoints/replace_existing/script index b88120d5f31..7c101c0e3cc 100644 --- a/acceptance/bundle/resources/postgres_endpoints/replace_existing/script +++ b/acceptance/bundle/resources/postgres_endpoints/replace_existing/script @@ -17,7 +17,7 @@ trace $CLI bundle deploy # bundle's spec must be applied: 600s. trace $CLI postgres get-endpoint "projects/test-pg-proj-${UNIQUE_NAME}/branches/develop/endpoints/primary" | jq 'del(.create_time, .update_time)' -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.deploy.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.deploy.$DATABRICKS_BUNDLE_ENGINE.json # bundle destroy: the backend rejects independent deletion of the primary # read-write endpoint with a MANAGED_BY_PARENT marker; both engines @@ -27,4 +27,4 @@ trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//work title "bundle destroy" $CLI bundle destroy --auto-approve > out.destroy.$DATABRICKS_BUNDLE_ENGINE.txt 2>&1 || true -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.$DATABRICKS_BUNDLE_ENGINE.json diff --git a/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/output.txt b/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/output.txt index fc5e2428418..32bd27d65d5 100644 --- a/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/output.txt +++ b/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/output.txt @@ -24,7 +24,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-endpoint [MY_ENDPOINT_ID] { @@ -65,7 +65,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === Update endpoint autoscaling and re-deploy >>> update_file.py databricks.yml autoscaling_limit_max_cu: 8 autoscaling_limit_max_cu: 4 @@ -113,7 +113,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-endpoint [MY_ENDPOINT_ID] { @@ -158,7 +158,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-endpoint [MY_ENDPOINT_ID] { diff --git a/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/script b/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/script index 07f1b9141b1..c4831979795 100755 --- a/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/script +++ b/acceptance/bundle/resources/postgres_endpoints/update_autoscaling/script @@ -8,7 +8,7 @@ trap cleanup EXIT print_requests() { local name=$1 - trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json + trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json rm -f out.requests.txt } diff --git a/acceptance/bundle/resources/postgres_projects/basic/output.txt b/acceptance/bundle/resources/postgres_projects/basic/output.txt index 2e9d14c42e1..75db034d543 100644 --- a/acceptance/bundle/resources/postgres_projects/basic/output.txt +++ b/acceptance/bundle/resources/postgres_projects/basic/output.txt @@ -61,7 +61,7 @@ Resources: Name: Test Postgres Project URL: (not deployed) ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_projects/basic/script b/acceptance/bundle/resources/postgres_projects/basic/script index 46b0c884629..157fe629473 100755 --- a/acceptance/bundle/resources/postgres_projects/basic/script +++ b/acceptance/bundle/resources/postgres_projects/basic/script @@ -21,4 +21,4 @@ trace $CLI bundle summary # Filter requests to only show postgres API operations (exclude workspace, telemetry, and operation polling) # Keep the original out.requests.txt for debugging -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.json diff --git a/acceptance/bundle/resources/postgres_projects/purge_on_delete/output.txt b/acceptance/bundle/resources/postgres_projects/purge_on_delete/output.txt index 9a3bc0e0c43..67152cf13cd 100644 --- a/acceptance/bundle/resources/postgres_projects/purge_on_delete/output.txt +++ b/acceptance/bundle/resources/postgres_projects/purge_on_delete/output.txt @@ -60,7 +60,7 @@ Deployment complete! "uid": "[UUID]" } ->>> print_requests.py --sort --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --sort --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === bundle destroy ->>> print_requests.py --sort --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --sort --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ diff --git a/acceptance/bundle/resources/postgres_projects/purge_on_delete/script b/acceptance/bundle/resources/postgres_projects/purge_on_delete/script index c093ccb48d3..2c2ea533714 100644 --- a/acceptance/bundle/resources/postgres_projects/purge_on_delete/script +++ b/acceptance/bundle/resources/postgres_projects/purge_on_delete/script @@ -17,7 +17,7 @@ trace $CLI bundle deploy trace $CLI postgres get-project "projects/test-pg-proj-hard-${UNIQUE_NAME}" | jq 'del(.create_time, .update_time)' trace $CLI postgres get-project "projects/test-pg-proj-soft-${UNIQUE_NAME}" | jq 'del(.create_time, .update_time)' -trace print_requests.py --sort --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.deploy.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --sort --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.deploy.json # bundle destroy should send ?purge=true on the hard_delete project and no # purge query on the soft_delete project. Both DELETEs land in the recorded @@ -25,4 +25,4 @@ trace print_requests.py --sort --get '//postgres' '^//workspace-files/' '^//work title "bundle destroy" $CLI bundle destroy --auto-approve > out.destroy.txt 2>&1 || true -trace print_requests.py --sort --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --sort --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.json diff --git a/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/output.txt b/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/output.txt index 8094f11d175..825405222ef 100644 --- a/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/output.txt +++ b/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/output.txt @@ -40,4 +40,4 @@ Deployment complete! json.state.resources.postgres_projects.proj.state.purge_on_delete = false; === bundle destroy (must be a plain DELETE, no ?purge=true) ->>> print_requests.py --sort --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --sort --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ diff --git a/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/script b/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/script index df85e1de8d5..1bdc077e6e1 100644 --- a/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/script +++ b/acceptance/bundle/resources/postgres_projects/purge_on_delete_transitions/script @@ -38,4 +38,4 @@ rm -f out.requests.txt title "bundle destroy (must be a plain DELETE, no ?purge=true)" $CLI bundle destroy --auto-approve > out.destroy.txt 2>&1 || true -trace print_requests.py --sort --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --sort --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.json diff --git a/acceptance/bundle/resources/postgres_projects/recreate/out.requests.create.txt b/acceptance/bundle/resources/postgres_projects/recreate/out.requests.create.txt index e0bb397af98..4ee3402fd27 100644 --- a/acceptance/bundle/resources/postgres_projects/recreate/out.requests.create.txt +++ b/acceptance/bundle/resources/postgres_projects/recreate/out.requests.create.txt @@ -1,4 +1,9 @@ { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-old-[UNIQUE_NAME]" + }, "body": { "spec": { "default_endpoint_settings": { @@ -10,10 +15,5 @@ "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-old-[UNIQUE_NAME]" } } diff --git a/acceptance/bundle/resources/postgres_projects/recreate/out.requests.update.txt b/acceptance/bundle/resources/postgres_projects/recreate/out.requests.update.txt index a15cfde30f8..fc8b1d408cf 100644 --- a/acceptance/bundle/resources/postgres_projects/recreate/out.requests.update.txt +++ b/acceptance/bundle/resources/postgres_projects/recreate/out.requests.update.txt @@ -3,6 +3,11 @@ "path": "/api/2.0/postgres/[MY_PROJECT_ID]" } { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-new-[UNIQUE_NAME]" + }, "body": { "spec": { "default_endpoint_settings": { @@ -14,10 +19,5 @@ "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-new-[UNIQUE_NAME]" } } diff --git a/acceptance/bundle/resources/postgres_projects/recreate/script b/acceptance/bundle/resources/postgres_projects/recreate/script index 1f9ca852cf5..b3c28b1386b 100644 --- a/acceptance/bundle/resources/postgres_projects/recreate/script +++ b/acceptance/bundle/resources/postgres_projects/recreate/script @@ -21,18 +21,7 @@ trace $CLI bundle deploy project_id_1=`read_id.py my_project` -print_requests() { - local name=$1 - # Keep jq here, not print_requests.py: the bundle name contains "postgres", - # so the state-file paths under .bundle/deploy-postgres-recreate/ also match - # a bare "postgres" filter. jq's contains("/postgres") matches only the API - # paths, and unlike print_requests.py's //postgres arg it isn't subject to - # Git-Bash/MSYS slash mangling on Windows. Matches the sibling recreate tests. - jq --sort-keys 'select(.method != "GET" and (.path | contains("/postgres")))' < out.requests.txt > out.requests.${name}.txt - rm -f out.requests.txt -} - -print_requests create +print_requests.py --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.create.txt title "Change project_id (should trigger recreation in direct, update in terraform)" sed "s/test-pg-old-${UNIQUE_NAME}/test-pg-new-${UNIQUE_NAME}/" databricks.yml > databricks.yml.new @@ -44,7 +33,7 @@ trace cat databricks.yml $CLI bundle plan > out.plan.txt 2>&1 trace $CLI bundle deploy --auto-approve -print_requests update +print_requests.py --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.update.txt title "Fetch new project ID" project_id_2=`read_id.py my_project` @@ -54,7 +43,7 @@ $CLI postgres get-project $project_id_2 > out.get_project.txt title "Destroy and verify cleanup" trace $CLI bundle destroy --auto-approve -print_requests destroy +print_requests.py --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.destroy.txt # Clean up any orphaned old project (terraform doesn't delete it on recreation) $CLI postgres delete-project $project_id_1 2>/dev/null || true diff --git a/acceptance/bundle/resources/postgres_projects/update_display_name/output.txt b/acceptance/bundle/resources/postgres_projects/update_display_name/output.txt index 973983088f0..2ff3ae1cb04 100644 --- a/acceptance/bundle/resources/postgres_projects/update_display_name/output.txt +++ b/acceptance/bundle/resources/postgres_projects/update_display_name/output.txt @@ -22,7 +22,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-project [MY_PROJECT_ID] { @@ -59,7 +59,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === Update display_name and re-deploy >>> update_file.py databricks.yml Original Name Updated Name @@ -96,7 +96,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-project [MY_PROJECT_ID] { @@ -137,7 +137,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-project [MY_PROJECT_ID] { diff --git a/acceptance/bundle/resources/postgres_projects/update_display_name/script b/acceptance/bundle/resources/postgres_projects/update_display_name/script index 88c26610f29..0d203223b59 100755 --- a/acceptance/bundle/resources/postgres_projects/update_display_name/script +++ b/acceptance/bundle/resources/postgres_projects/update_display_name/script @@ -8,7 +8,7 @@ trap cleanup EXIT print_requests() { local name=$1 - trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json + trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json rm -f out.requests.txt } diff --git a/acceptance/bundle/resources/postgres_roles/basic/output.txt b/acceptance/bundle/resources/postgres_roles/basic/output.txt index f589ef47d0a..4ec6544d2e3 100644 --- a/acceptance/bundle/resources/postgres_roles/basic/output.txt +++ b/acceptance/bundle/resources/postgres_roles/basic/output.txt @@ -72,7 +72,7 @@ Resources: Name: URL: (not deployed) ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_roles/basic/script b/acceptance/bundle/resources/postgres_roles/basic/script index 831c5ecb3e3..82e74c37be7 100644 --- a/acceptance/bundle/resources/postgres_roles/basic/script +++ b/acceptance/bundle/resources/postgres_roles/basic/script @@ -22,4 +22,4 @@ trace $CLI postgres get-role "${role_name}" | jq 'del(.create_time, .update_time trace $CLI bundle summary # Filter requests to only show postgres operations (exclude workspace, telemetry, and operation polling) -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.$DATABRICKS_BUNDLE_ENGINE.json diff --git a/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/output.txt b/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/output.txt index cd966e00e75..c548dbd6361 100644 --- a/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/output.txt +++ b/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/output.txt @@ -39,27 +39,45 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-proj-[UNIQUE_NAME]" + }, "body": { "spec": { "display_name": "Test Project for Role", "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-proj-[UNIQUE_NAME]" } } - "no_expiry": true +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", + "q": { "branch_id": "main" - "postgres_role": "app_role_v1" + }, + "body": { + "spec": { + "no_expiry": true + } + } +} +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles", + "q": { "role_id": "test-role-[UNIQUE_NAME]" + }, + "body": { + "spec": { + "postgres_role": "app_role_v1" + } + } +} >>> cat databricks.yml bundle: @@ -99,21 +117,23 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_ROLE_ID]" } - "body": { - "spec": { - "postgres_role": "app_role_v2" - } - }, +{ "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles", "q": { "role_id": "test-role-[UNIQUE_NAME]" + }, + "body": { + "spec": { + "postgres_role": "app_role_v2" + } } +} === Fetch role and verify the new postgres_role value is live >>> [CLI] postgres get-role [MY_ROLE_ID] @@ -154,13 +174,19 @@ All files and directories at the following location will be deleted: /Workspace/ Deleting files... Destroy complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_ROLE_ID]" } +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main" +} +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]" +} >>> [CLI] bundle destroy --auto-approve No active deployment found to destroy! diff --git a/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/script b/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/script index 16891865b51..51c5810cff8 100644 --- a/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/script +++ b/acceptance/bundle/resources/postgres_roles/recreate-postgres-role/script @@ -16,15 +16,7 @@ trace cat databricks.yml trace $CLI bundle plan trace $CLI bundle deploy -print_requests() { - # Filter postgres requests (excluding GET), remove parent (engine-dependent), - # then deduplicate consecutive retries. - jq --sort-keys 'select(.method != "GET" and (.path | contains("/postgres"))) | del(.body.parent)' < out.requests.txt | \ - awk '!seen[$0]++ {print}' - rm -f out.requests.txt -} - -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' # Change postgres_role; the backend rejects this field in update_mask, so the # plan must show delete + create rather than an in-place PATCH. @@ -35,7 +27,7 @@ trace cat databricks.yml trace $CLI bundle plan trace $CLI bundle deploy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' title "Fetch role and verify the new postgres_role value is live" @@ -45,4 +37,4 @@ trace $CLI postgres get-role $role_name | jq 'del(.create_time, .update_time)' title "Destroy and verify cleanup" trace $CLI bundle destroy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' diff --git a/acceptance/bundle/resources/postgres_roles/recreate/output.txt b/acceptance/bundle/resources/postgres_roles/recreate/output.txt index 36401d889cf..a9a964e0485 100644 --- a/acceptance/bundle/resources/postgres_roles/recreate/output.txt +++ b/acceptance/bundle/resources/postgres_roles/recreate/output.txt @@ -39,27 +39,45 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { + "method": "POST", + "path": "/api/2.0/postgres/projects", + "q": { + "project_id": "test-pg-proj-[UNIQUE_NAME]" + }, "body": { "spec": { "display_name": "Test Project for Role", "history_retention_duration": "604800s", "pg_version": 16 } - }, - "method": "POST", - "path": "/api/2.0/postgres/projects", - "q": { - "project_id": "test-pg-proj-[UNIQUE_NAME]" } } - "no_expiry": true +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches", + "q": { "branch_id": "main" - "postgres_role": "app_role" + }, + "body": { + "spec": { + "no_expiry": true + } + } +} +{ + "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles", + "q": { "role_id": "test-role-[UNIQUE_NAME]" + }, + "body": { + "spec": { + "postgres_role": "app_role" + } + } +} >>> cat databricks.yml bundle: @@ -99,21 +117,23 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_ROLE_ID]" } - "body": { - "spec": { - "postgres_role": "app_role" - } - }, +{ "method": "POST", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles", "q": { "role_id": "test-role-[UNIQUE_NAME]-v2" + }, + "body": { + "spec": { + "postgres_role": "app_role" + } } +} === Fetch role and verify it exists after recreation >>> [CLI] postgres get-role [MY_ROLE_ID]-v2 @@ -154,13 +174,19 @@ All files and directories at the following location will be deleted: /Workspace/ Deleting files... Destroy complete! ->>> print_requests +>>> print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ { "method": "DELETE", "path": "/api/2.0/postgres/[MY_ROLE_ID]-v2" } +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]/branches/main" +} +{ + "method": "DELETE", "path": "/api/2.0/postgres/projects/test-pg-proj-[UNIQUE_NAME]" +} >>> [CLI] bundle destroy --auto-approve No active deployment found to destroy! diff --git a/acceptance/bundle/resources/postgres_roles/recreate/script b/acceptance/bundle/resources/postgres_roles/recreate/script index 9bc72f3ccd4..fd959dd0470 100644 --- a/acceptance/bundle/resources/postgres_roles/recreate/script +++ b/acceptance/bundle/resources/postgres_roles/recreate/script @@ -19,15 +19,7 @@ trace $CLI bundle deploy role_id_1=`read_id.py my_role` -print_requests() { - # Filter postgres requests (excluding GET), remove parent field (differs between engines), - # then deduplicate consecutive retries - jq --sort-keys 'select(.method != "GET" and (.path | contains("/postgres"))) | del(.body.parent)' < out.requests.txt | \ - awk '!seen[$0]++ {print}' - rm -f out.requests.txt -} - -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' # Change role_id (encoded in name); should trigger recreation. envsubst < databricks.yml.tmpl | sed "s/ROLE_ID_PLACEHOLDER/test-role-${UNIQUE_NAME}-v2/" > databricks.yml @@ -37,7 +29,7 @@ trace cat databricks.yml trace $CLI bundle plan trace $CLI bundle deploy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' title "Fetch role and verify it exists after recreation" @@ -47,4 +39,4 @@ trace $CLI postgres get-role $role_id_2 | jq 'del(.create_time, .update_time)' title "Destroy and verify cleanup" trace $CLI bundle destroy --auto-approve -trace print_requests +trace print_requests.py --unique --del-body parent,project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' diff --git a/acceptance/bundle/resources/postgres_roles/update/output.txt b/acceptance/bundle/resources/postgres_roles/update/output.txt index 00b77a930ed..098d20ca766 100644 --- a/acceptance/bundle/resources/postgres_roles/update/output.txt +++ b/acceptance/bundle/resources/postgres_roles/update/output.txt @@ -24,7 +24,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-role projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/test-role { @@ -56,7 +56,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ === Toggle attributes.createdb and re-deploy >>> update_file.py databricks.yml createdb: false createdb: true @@ -103,7 +103,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-role projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/test-role { @@ -139,7 +139,7 @@ Deploying resources... Updating deployment state... Deployment complete! ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] postgres get-role projects/test-pg-proj-[UNIQUE_NAME]/branches/main/roles/test-role { diff --git a/acceptance/bundle/resources/postgres_roles/update/script b/acceptance/bundle/resources/postgres_roles/update/script index de57297e70b..bc736363d80 100644 --- a/acceptance/bundle/resources/postgres_roles/update/script +++ b/acceptance/bundle/resources/postgres_roles/update/script @@ -8,7 +8,7 @@ trap cleanup EXIT print_requests() { local name=$1 - trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json + trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.${name}.$DATABRICKS_BUNDLE_ENGINE.json rm -f out.requests.txt } diff --git a/acceptance/bundle/resources/postgres_synced_tables/basic/output.txt b/acceptance/bundle/resources/postgres_synced_tables/basic/output.txt index 87a649d9a8f..9eef01a742a 100644 --- a/acceptance/bundle/resources/postgres_synced_tables/basic/output.txt +++ b/acceptance/bundle/resources/postgres_synced_tables/basic/output.txt @@ -72,7 +72,7 @@ Resources: Name: pipeline_storage_[UNIQUE_NAME] URL: [DATABRICKS_URL]/explore/data/main/pipeline_storage_[UNIQUE_NAME] ->>> print_requests.py --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ +>>> print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get //postgres ^//workspace-files/ ^//workspace/ ^//telemetry-ext ^//operations/ >>> [CLI] bundle destroy --auto-approve The following resources will be deleted: diff --git a/acceptance/bundle/resources/postgres_synced_tables/basic/script b/acceptance/bundle/resources/postgres_synced_tables/basic/script index be21d010aea..68b04d83301 100644 --- a/acceptance/bundle/resources/postgres_synced_tables/basic/script +++ b/acceptance/bundle/resources/postgres_synced_tables/basic/script @@ -36,4 +36,4 @@ trace $CLI postgres get-synced-table "synced_tables/lakebase_test_${UNIQUE_NAME} trace $CLI bundle summary # Filter requests to only show postgres operations (exclude workspace, telemetry, and operation polling). -trace print_requests.py --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.json +trace print_requests.py --del-body project_id,branch_id,endpoint_id,database_id,role_id,catalog_id,synced_table_id --keep --get '//postgres' '^//workspace-files/' '^//workspace/' '^//telemetry-ext' '^//operations/' > out.requests.json diff --git a/acceptance/bundle/state/state_present/output.txt b/acceptance/bundle/state/state_present/output.txt index 80b7be963e6..60a8631859a 100644 --- a/acceptance/bundle/state/state_present/output.txt +++ b/acceptance/bundle/state/state_present/output.txt @@ -8,7 +8,7 @@ Updating deployment state... Deployment complete! >>> print_requests.py //api/2.1/unity-catalog/schemas -"databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" +"databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" >>> DATABRICKS_BUNDLE_ENGINE= [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... @@ -17,7 +17,7 @@ Updating deployment state... Deployment complete! >>> print_requests.py --get //api/2.1/unity-catalog/schemas -"databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" +"databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" === Adding resources.json with lower serial does not change anything >>> DATABRICKS_BUNDLE_ENGINE=direct [CLI] bundle plan diff --git a/acceptance/bundle/user_agent/output.txt b/acceptance/bundle/user_agent/output.txt index b517b83889e..58c47c2a8ac 100644 --- a/acceptance/bundle/user_agent/output.txt +++ b/acceptance/bundle/user_agent/output.txt @@ -37,14 +37,14 @@ OK deploy.terraform /api/2.0/workspace/delete engine/terraform OK deploy.terraform /api/2.0/workspace/delete engine/terraform OK deploy.terraform /api/2.0/workspace/mkdirs engine/terraform MISS deploy.terraform /.well-known/databricks-config 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS]' -MISS deploy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat' -MISS deploy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat' -MISS deploy.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS deploy.terraform /api/2.1/unity-catalog/schemas 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS deploy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat' +MISS deploy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat' +MISS deploy.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS deploy.terraform /api/2.1/unity-catalog/schemas 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS deploy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' MISS destroy.direct /api/2.0/preview/scim/v2/Me 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_destroy cmd-exec-id/[UUID] interactive/none auth/pat' MISS destroy.direct /api/2.0/workspace-files/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/state/resources.json 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_destroy cmd-exec-id/[UUID] interactive/none auth/pat' MISS destroy.direct /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_destroy cmd-exec-id/[UUID] interactive/none auth/pat' @@ -69,17 +69,17 @@ OK destroy.terraform /api/2.0/workspace/get-status engine/terraform OK destroy.terraform /api/2.0/workspace-files/import-file/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/state/deploy.lock engine/terraform OK destroy.terraform /api/2.0/workspace/delete engine/terraform MISS destroy.terraform /.well-known/databricks-config 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS]' -MISS destroy.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS destroy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS destroy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS destroy.terraform /api/2.1/unity-catalog/current-metastore-assignment 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS destroy.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS destroy.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS destroy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS destroy.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS destroy.terraform /api/2.1/unity-catalog/current-metastore-assignment 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS destroy.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS destroy.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' MISS plan.direct /api/2.0/preview/scim/v2/Me 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' MISS plan.direct /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' MISS plan.direct /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' @@ -90,9 +90,9 @@ MISS plan.terraform /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks- MISS plan.terraform /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' OK plan.terraform /api/2.0/workspace/get-status engine/terraform MISS plan.terraform /.well-known/databricks-config 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS]' -MISS plan.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat' -MISS plan.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS plan.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS plan.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat' +MISS plan.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS plan.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' MISS plan2.direct /api/2.0/preview/scim/v2/Me 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' MISS plan2.direct /api/2.0/workspace-files/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/state/resources.json 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' MISS plan2.direct /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_plan cmd-exec-id/[UUID] interactive/none auth/pat' @@ -108,10 +108,10 @@ MISS plan2.terraform /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks OK plan2.terraform /api/2.0/workspace-files/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/state/deployment.json engine/terraform OK plan2.terraform /api/2.0/workspace/get-status engine/terraform MISS plan2.terraform /.well-known/databricks-config 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS]' -MISS plan2.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS plan2.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' -MISS plan2.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' -MISS plan2.terraform /.well-known/databricks-config 'databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS plan2.terraform /api/2.0/preview/scim/v2/Me 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS plan2.terraform /api/2.1/unity-catalog/schemas/mycatalog.myschema 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat' +MISS plan2.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' +MISS plan2.terraform /.well-known/databricks-config 'databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5' MISS run.direct /api/2.0/preview/scim/v2/Me 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_run cmd-exec-id/[UUID] interactive/none auth/pat' MISS run.direct /api/2.0/workspace-files/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/state/resources.json 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_run cmd-exec-id/[UUID] interactive/none auth/pat' MISS run.direct /api/2.0/workspace/get-status 'cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/bundle_run cmd-exec-id/[UUID] interactive/none auth/pat' diff --git a/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json b/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json index 152e0040eaf..8d8f5b23aff 100644 --- a/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json +++ b/acceptance/bundle/user_agent/simple/out.requests.deploy.terraform.json @@ -312,7 +312,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat" ] }, "method": "GET", @@ -324,7 +324,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat" ] }, "method": "GET", @@ -336,7 +336,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -345,7 +345,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "POST", @@ -358,7 +358,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -367,7 +367,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -376,7 +376,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -385,7 +385,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", diff --git a/acceptance/bundle/user_agent/simple/out.requests.destroy.terraform.json b/acceptance/bundle/user_agent/simple/out.requests.destroy.terraform.json index b707422044c..bcda4cae796 100644 --- a/acceptance/bundle/user_agent/simple/out.requests.destroy.terraform.json +++ b/acceptance/bundle/user_agent/simple/out.requests.destroy.terraform.json @@ -136,7 +136,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "DELETE", @@ -148,7 +148,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -160,7 +160,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -172,7 +172,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -181,7 +181,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -190,7 +190,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -199,7 +199,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -208,7 +208,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -217,7 +217,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -226,7 +226,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -235,7 +235,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", diff --git a/acceptance/bundle/user_agent/simple/out.requests.plan.terraform.json b/acceptance/bundle/user_agent/simple/out.requests.plan.terraform.json index 4ce9d402ca1..ddb8edb11aa 100644 --- a/acceptance/bundle/user_agent/simple/out.requests.plan.terraform.json +++ b/acceptance/bundle/user_agent/simple/out.requests.plan.terraform.json @@ -58,7 +58,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 auth/pat" ] }, "method": "GET", @@ -70,7 +70,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -79,7 +79,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", diff --git a/acceptance/bundle/user_agent/simple/out.requests.plan2.terraform.json b/acceptance/bundle/user_agent/simple/out.requests.plan2.terraform.json index 0320c18aaa4..e62bd3d92ff 100644 --- a/acceptance/bundle/user_agent/simple/out.requests.plan2.terraform.json +++ b/acceptance/bundle/user_agent/simple/out.requests.plan2.terraform.json @@ -76,7 +76,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -88,7 +88,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5 sdk/sdkv2 resource/schema auth/pat" ] }, "method": "GET", @@ -97,7 +97,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", @@ -106,7 +106,7 @@ { "headers": { "User-Agent": [ - "databricks-tf-provider/1.117.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" + "databricks-tf-provider/1.118.0 databricks-sdk-go/[SDK_VERSION] go/1.25.8 os/[OS] cli/[DEV_VERSION] terraform/1.5.5" ] }, "method": "GET", diff --git a/bundle/internal/tf/codegen/schema/version.go b/bundle/internal/tf/codegen/schema/version.go index 3517e0311a3..ddb4005a1fa 100644 --- a/bundle/internal/tf/codegen/schema/version.go +++ b/bundle/internal/tf/codegen/schema/version.go @@ -1,4 +1,4 @@ package schema // ProviderVersion is the version of the Databricks Terraform provider used for codegen. -const ProviderVersion = "1.117.0" +const ProviderVersion = "1.118.0" diff --git a/bundle/internal/tf/schema/data_source_account_network_policies.go b/bundle/internal/tf/schema/data_source_account_network_policies.go index 12b14569de8..98ceb0b7f3d 100644 --- a/bundle/internal/tf/schema/data_source_account_network_policies.go +++ b/bundle/internal/tf/schema/data_source_account_network_policies.go @@ -2,6 +2,10 @@ package schema +type DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedDatabricksDestinations struct { + WorkspaceIds []int `json:"workspace_ids,omitempty"` +} + type DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedInternetDestinations struct { Destination string `json:"destination,omitempty"` InternetDestinationType string `json:"internet_destination_type,omitempty"` @@ -26,11 +30,12 @@ type DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessPolicyEnforcement s } type DataSourceAccountNetworkPoliciesItemsEgressNetworkAccess struct { - AllowedInternetDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedInternetDestinations `json:"allowed_internet_destinations,omitempty"` - AllowedStorageDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedStorageDestinations `json:"allowed_storage_destinations,omitempty"` - BlockedInternetDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessBlockedInternetDestinations `json:"blocked_internet_destinations,omitempty"` - PolicyEnforcement *DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessPolicyEnforcement `json:"policy_enforcement,omitempty"` - RestrictionMode string `json:"restriction_mode"` + AllowedDatabricksDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedDatabricksDestinations `json:"allowed_databricks_destinations,omitempty"` + AllowedInternetDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedInternetDestinations `json:"allowed_internet_destinations,omitempty"` + AllowedStorageDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessAllowedStorageDestinations `json:"allowed_storage_destinations,omitempty"` + BlockedInternetDestinations []DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessBlockedInternetDestinations `json:"blocked_internet_destinations,omitempty"` + PolicyEnforcement *DataSourceAccountNetworkPoliciesItemsEgressNetworkAccessPolicyEnforcement `json:"policy_enforcement,omitempty"` + RestrictionMode string `json:"restriction_mode"` } type DataSourceAccountNetworkPoliciesItemsEgress struct { diff --git a/bundle/internal/tf/schema/data_source_account_network_policy.go b/bundle/internal/tf/schema/data_source_account_network_policy.go index e6501b1f3b7..1a82b6a028b 100644 --- a/bundle/internal/tf/schema/data_source_account_network_policy.go +++ b/bundle/internal/tf/schema/data_source_account_network_policy.go @@ -2,6 +2,10 @@ package schema +type DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedDatabricksDestinations struct { + WorkspaceIds []int `json:"workspace_ids,omitempty"` +} + type DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinations struct { Destination string `json:"destination,omitempty"` InternetDestinationType string `json:"internet_destination_type,omitempty"` @@ -26,11 +30,12 @@ type DataSourceAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement struct { } type DataSourceAccountNetworkPolicyEgressNetworkAccess struct { - AllowedInternetDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinations `json:"allowed_internet_destinations,omitempty"` - AllowedStorageDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinations `json:"allowed_storage_destinations,omitempty"` - BlockedInternetDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessBlockedInternetDestinations `json:"blocked_internet_destinations,omitempty"` - PolicyEnforcement *DataSourceAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement `json:"policy_enforcement,omitempty"` - RestrictionMode string `json:"restriction_mode"` + AllowedDatabricksDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedDatabricksDestinations `json:"allowed_databricks_destinations,omitempty"` + AllowedInternetDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinations `json:"allowed_internet_destinations,omitempty"` + AllowedStorageDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinations `json:"allowed_storage_destinations,omitempty"` + BlockedInternetDestinations []DataSourceAccountNetworkPolicyEgressNetworkAccessBlockedInternetDestinations `json:"blocked_internet_destinations,omitempty"` + PolicyEnforcement *DataSourceAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement `json:"policy_enforcement,omitempty"` + RestrictionMode string `json:"restriction_mode"` } type DataSourceAccountNetworkPolicyEgress struct { diff --git a/bundle/internal/tf/schema/data_source_ai_search_endpoint.go b/bundle/internal/tf/schema/data_source_ai_search_endpoint.go new file mode 100644 index 00000000000..0c201745bc6 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_ai_search_endpoint.go @@ -0,0 +1,55 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAiSearchEndpointCustomTags struct { + Key string `json:"key"` + Value string `json:"value,omitempty"` +} + +type DataSourceAiSearchEndpointEndpointStatus struct { + Message string `json:"message,omitempty"` + State string `json:"state,omitempty"` +} + +type DataSourceAiSearchEndpointProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceAiSearchEndpointScalingInfo struct { + RequestedTargetQps int `json:"requested_target_qps,omitempty"` + State string `json:"state,omitempty"` +} + +type DataSourceAiSearchEndpointThroughputInfo struct { + ChangeRequestMessage string `json:"change_request_message,omitempty"` + ChangeRequestState string `json:"change_request_state,omitempty"` + CurrentConcurrency int `json:"current_concurrency,omitempty"` + CurrentConcurrencyUtilizationPercentage int `json:"current_concurrency_utilization_percentage,omitempty"` + CurrentNumReplicas int `json:"current_num_replicas,omitempty"` + MaximumConcurrencyAllowed int `json:"maximum_concurrency_allowed,omitempty"` + MinimalConcurrencyAllowed int `json:"minimal_concurrency_allowed,omitempty"` + RequestedConcurrency int `json:"requested_concurrency,omitempty"` + RequestedNumReplicas int `json:"requested_num_replicas,omitempty"` +} + +type DataSourceAiSearchEndpoint struct { + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + CreateTime string `json:"create_time,omitempty"` + Creator string `json:"creator,omitempty"` + CustomTags []DataSourceAiSearchEndpointCustomTags `json:"custom_tags,omitempty"` + EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` + EndpointStatus *DataSourceAiSearchEndpointEndpointStatus `json:"endpoint_status,omitempty"` + EndpointType string `json:"endpoint_type,omitempty"` + Id string `json:"id,omitempty"` + IndexCount int `json:"index_count,omitempty"` + LastUpdatedUser string `json:"last_updated_user,omitempty"` + Name string `json:"name"` + ProviderConfig *DataSourceAiSearchEndpointProviderConfig `json:"provider_config,omitempty"` + ReplicaCount int `json:"replica_count,omitempty"` + ScalingInfo *DataSourceAiSearchEndpointScalingInfo `json:"scaling_info,omitempty"` + TargetQps int `json:"target_qps,omitempty"` + ThroughputInfo *DataSourceAiSearchEndpointThroughputInfo `json:"throughput_info,omitempty"` + UpdateTime string `json:"update_time,omitempty"` + UsagePolicyId string `json:"usage_policy_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_ai_search_endpoints.go b/bundle/internal/tf/schema/data_source_ai_search_endpoints.go new file mode 100644 index 00000000000..ec059ce52c2 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_ai_search_endpoints.go @@ -0,0 +1,66 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAiSearchEndpointsEndpointsCustomTags struct { + Key string `json:"key"` + Value string `json:"value,omitempty"` +} + +type DataSourceAiSearchEndpointsEndpointsEndpointStatus struct { + Message string `json:"message,omitempty"` + State string `json:"state,omitempty"` +} + +type DataSourceAiSearchEndpointsEndpointsProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceAiSearchEndpointsEndpointsScalingInfo struct { + RequestedTargetQps int `json:"requested_target_qps,omitempty"` + State string `json:"state,omitempty"` +} + +type DataSourceAiSearchEndpointsEndpointsThroughputInfo struct { + ChangeRequestMessage string `json:"change_request_message,omitempty"` + ChangeRequestState string `json:"change_request_state,omitempty"` + CurrentConcurrency int `json:"current_concurrency,omitempty"` + CurrentConcurrencyUtilizationPercentage int `json:"current_concurrency_utilization_percentage,omitempty"` + CurrentNumReplicas int `json:"current_num_replicas,omitempty"` + MaximumConcurrencyAllowed int `json:"maximum_concurrency_allowed,omitempty"` + MinimalConcurrencyAllowed int `json:"minimal_concurrency_allowed,omitempty"` + RequestedConcurrency int `json:"requested_concurrency,omitempty"` + RequestedNumReplicas int `json:"requested_num_replicas,omitempty"` +} + +type DataSourceAiSearchEndpointsEndpoints struct { + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + CreateTime string `json:"create_time,omitempty"` + Creator string `json:"creator,omitempty"` + CustomTags []DataSourceAiSearchEndpointsEndpointsCustomTags `json:"custom_tags,omitempty"` + EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` + EndpointStatus *DataSourceAiSearchEndpointsEndpointsEndpointStatus `json:"endpoint_status,omitempty"` + EndpointType string `json:"endpoint_type,omitempty"` + Id string `json:"id,omitempty"` + IndexCount int `json:"index_count,omitempty"` + LastUpdatedUser string `json:"last_updated_user,omitempty"` + Name string `json:"name"` + ProviderConfig *DataSourceAiSearchEndpointsEndpointsProviderConfig `json:"provider_config,omitempty"` + ReplicaCount int `json:"replica_count,omitempty"` + ScalingInfo *DataSourceAiSearchEndpointsEndpointsScalingInfo `json:"scaling_info,omitempty"` + TargetQps int `json:"target_qps,omitempty"` + ThroughputInfo *DataSourceAiSearchEndpointsEndpointsThroughputInfo `json:"throughput_info,omitempty"` + UpdateTime string `json:"update_time,omitempty"` + UsagePolicyId string `json:"usage_policy_id,omitempty"` +} + +type DataSourceAiSearchEndpointsProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceAiSearchEndpoints struct { + Endpoints []DataSourceAiSearchEndpointsEndpoints `json:"endpoints,omitempty"` + PageSize int `json:"page_size,omitempty"` + Parent string `json:"parent"` + ProviderConfig *DataSourceAiSearchEndpointsProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_ai_search_index.go b/bundle/internal/tf/schema/data_source_ai_search_index.go new file mode 100644 index 00000000000..ae94cfd1ec1 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_ai_search_index.go @@ -0,0 +1,65 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAiSearchIndexDeltaSyncIndexSpecEmbeddingSourceColumns struct { + EmbeddingModelEndpoint string `json:"embedding_model_endpoint,omitempty"` + ModelEndpointNameForQuery string `json:"model_endpoint_name_for_query,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexDeltaSyncIndexSpecEmbeddingVectorColumns struct { + EmbeddingDimension int `json:"embedding_dimension,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexDeltaSyncIndexSpec struct { + ColumnsToSync []string `json:"columns_to_sync,omitempty"` + EmbeddingSourceColumns []DataSourceAiSearchIndexDeltaSyncIndexSpecEmbeddingSourceColumns `json:"embedding_source_columns,omitempty"` + EmbeddingVectorColumns []DataSourceAiSearchIndexDeltaSyncIndexSpecEmbeddingVectorColumns `json:"embedding_vector_columns,omitempty"` + EmbeddingWritebackTable string `json:"embedding_writeback_table,omitempty"` + PipelineId string `json:"pipeline_id,omitempty"` + PipelineType string `json:"pipeline_type"` + SourceTable string `json:"source_table,omitempty"` +} + +type DataSourceAiSearchIndexDirectAccessIndexSpecEmbeddingSourceColumns struct { + EmbeddingModelEndpoint string `json:"embedding_model_endpoint,omitempty"` + ModelEndpointNameForQuery string `json:"model_endpoint_name_for_query,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexDirectAccessIndexSpecEmbeddingVectorColumns struct { + EmbeddingDimension int `json:"embedding_dimension,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexDirectAccessIndexSpec struct { + EmbeddingSourceColumns []DataSourceAiSearchIndexDirectAccessIndexSpecEmbeddingSourceColumns `json:"embedding_source_columns,omitempty"` + EmbeddingVectorColumns []DataSourceAiSearchIndexDirectAccessIndexSpecEmbeddingVectorColumns `json:"embedding_vector_columns,omitempty"` + SchemaJson string `json:"schema_json,omitempty"` +} + +type DataSourceAiSearchIndexProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceAiSearchIndexStatus struct { + IndexUrl string `json:"index_url,omitempty"` + IndexedRowCount int `json:"indexed_row_count,omitempty"` + Message string `json:"message,omitempty"` + Ready bool `json:"ready,omitempty"` +} + +type DataSourceAiSearchIndex struct { + Creator string `json:"creator,omitempty"` + DeltaSyncIndexSpec *DataSourceAiSearchIndexDeltaSyncIndexSpec `json:"delta_sync_index_spec,omitempty"` + DirectAccessIndexSpec *DataSourceAiSearchIndexDirectAccessIndexSpec `json:"direct_access_index_spec,omitempty"` + Endpoint string `json:"endpoint,omitempty"` + IndexSubtype string `json:"index_subtype,omitempty"` + IndexType string `json:"index_type,omitempty"` + Name string `json:"name"` + PrimaryKey string `json:"primary_key,omitempty"` + ProviderConfig *DataSourceAiSearchIndexProviderConfig `json:"provider_config,omitempty"` + Status *DataSourceAiSearchIndexStatus `json:"status,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_ai_search_indexes.go b/bundle/internal/tf/schema/data_source_ai_search_indexes.go new file mode 100644 index 00000000000..02c786d301e --- /dev/null +++ b/bundle/internal/tf/schema/data_source_ai_search_indexes.go @@ -0,0 +1,76 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceAiSearchIndexesIndexesDeltaSyncIndexSpecEmbeddingSourceColumns struct { + EmbeddingModelEndpoint string `json:"embedding_model_endpoint,omitempty"` + ModelEndpointNameForQuery string `json:"model_endpoint_name_for_query,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesDeltaSyncIndexSpecEmbeddingVectorColumns struct { + EmbeddingDimension int `json:"embedding_dimension,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesDeltaSyncIndexSpec struct { + ColumnsToSync []string `json:"columns_to_sync,omitempty"` + EmbeddingSourceColumns []DataSourceAiSearchIndexesIndexesDeltaSyncIndexSpecEmbeddingSourceColumns `json:"embedding_source_columns,omitempty"` + EmbeddingVectorColumns []DataSourceAiSearchIndexesIndexesDeltaSyncIndexSpecEmbeddingVectorColumns `json:"embedding_vector_columns,omitempty"` + EmbeddingWritebackTable string `json:"embedding_writeback_table,omitempty"` + PipelineId string `json:"pipeline_id,omitempty"` + PipelineType string `json:"pipeline_type"` + SourceTable string `json:"source_table,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesDirectAccessIndexSpecEmbeddingSourceColumns struct { + EmbeddingModelEndpoint string `json:"embedding_model_endpoint,omitempty"` + ModelEndpointNameForQuery string `json:"model_endpoint_name_for_query,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesDirectAccessIndexSpecEmbeddingVectorColumns struct { + EmbeddingDimension int `json:"embedding_dimension,omitempty"` + Name string `json:"name,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesDirectAccessIndexSpec struct { + EmbeddingSourceColumns []DataSourceAiSearchIndexesIndexesDirectAccessIndexSpecEmbeddingSourceColumns `json:"embedding_source_columns,omitempty"` + EmbeddingVectorColumns []DataSourceAiSearchIndexesIndexesDirectAccessIndexSpecEmbeddingVectorColumns `json:"embedding_vector_columns,omitempty"` + SchemaJson string `json:"schema_json,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceAiSearchIndexesIndexesStatus struct { + IndexUrl string `json:"index_url,omitempty"` + IndexedRowCount int `json:"indexed_row_count,omitempty"` + Message string `json:"message,omitempty"` + Ready bool `json:"ready,omitempty"` +} + +type DataSourceAiSearchIndexesIndexes struct { + Creator string `json:"creator,omitempty"` + DeltaSyncIndexSpec *DataSourceAiSearchIndexesIndexesDeltaSyncIndexSpec `json:"delta_sync_index_spec,omitempty"` + DirectAccessIndexSpec *DataSourceAiSearchIndexesIndexesDirectAccessIndexSpec `json:"direct_access_index_spec,omitempty"` + Endpoint string `json:"endpoint,omitempty"` + IndexSubtype string `json:"index_subtype,omitempty"` + IndexType string `json:"index_type,omitempty"` + Name string `json:"name"` + PrimaryKey string `json:"primary_key,omitempty"` + ProviderConfig *DataSourceAiSearchIndexesIndexesProviderConfig `json:"provider_config,omitempty"` + Status *DataSourceAiSearchIndexesIndexesStatus `json:"status,omitempty"` +} + +type DataSourceAiSearchIndexesProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type DataSourceAiSearchIndexes struct { + Indexes []DataSourceAiSearchIndexesIndexes `json:"indexes,omitempty"` + PageSize int `json:"page_size,omitempty"` + Parent string `json:"parent"` + ProviderConfig *DataSourceAiSearchIndexesProviderConfig `json:"provider_config,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_app.go b/bundle/internal/tf/schema/data_source_app.go index bfd945c974d..d396e9f7cee 100644 --- a/bundle/internal/tf/schema/data_source_app.go +++ b/bundle/internal/tf/schema/data_source_app.go @@ -46,8 +46,9 @@ type DataSourceAppAppActiveDeployment struct { } type DataSourceAppAppAppStatus struct { - Message string `json:"message,omitempty"` - State string `json:"state,omitempty"` + Message string `json:"message,omitempty"` + RunningInstances int `json:"running_instances,omitempty"` + State string `json:"state,omitempty"` } type DataSourceAppAppComputeStatus struct { diff --git a/bundle/internal/tf/schema/data_source_apps.go b/bundle/internal/tf/schema/data_source_apps.go index 412031701ed..10cdd64ddc5 100644 --- a/bundle/internal/tf/schema/data_source_apps.go +++ b/bundle/internal/tf/schema/data_source_apps.go @@ -46,8 +46,9 @@ type DataSourceAppsAppActiveDeployment struct { } type DataSourceAppsAppAppStatus struct { - Message string `json:"message,omitempty"` - State string `json:"state,omitempty"` + Message string `json:"message,omitempty"` + RunningInstances int `json:"running_instances,omitempty"` + State string `json:"state,omitempty"` } type DataSourceAppsAppComputeStatus struct { diff --git a/bundle/internal/tf/schema/data_source_catalog.go b/bundle/internal/tf/schema/data_source_catalog.go index 8a78637645c..8b65b54555b 100644 --- a/bundle/internal/tf/schema/data_source_catalog.go +++ b/bundle/internal/tf/schema/data_source_catalog.go @@ -31,6 +31,7 @@ type DataSourceCatalogCatalogInfo struct { ConnectionName string `json:"connection_name,omitempty"` CreatedAt int `json:"created_at,omitempty"` CreatedBy string `json:"created_by,omitempty"` + CustomMaxRetentionHours int `json:"custom_max_retention_hours,omitempty"` EnablePredictiveOptimization string `json:"enable_predictive_optimization,omitempty"` FullName string `json:"full_name,omitempty"` IsolationMode string `json:"isolation_mode,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_database_synced_database_table.go b/bundle/internal/tf/schema/data_source_database_synced_database_table.go index 601dc41cc5c..0e481868b47 100644 --- a/bundle/internal/tf/schema/data_source_database_synced_database_table.go +++ b/bundle/internal/tf/schema/data_source_database_synced_database_table.go @@ -82,7 +82,14 @@ type DataSourceDatabaseSyncedDatabaseTableSpecNewPipelineSpec struct { StorageSchema string `json:"storage_schema,omitempty"` } +type DataSourceDatabaseSyncedDatabaseTableSpecTypeOverrides struct { + ColumnName string `json:"column_name"` + PgType string `json:"pg_type"` + Size int `json:"size,omitempty"` +} + type DataSourceDatabaseSyncedDatabaseTableSpec struct { + AcceleratedSync bool `json:"accelerated_sync,omitempty"` CreateDatabaseObjectsIfMissing bool `json:"create_database_objects_if_missing,omitempty"` ExistingPipelineId string `json:"existing_pipeline_id,omitempty"` NewPipelineSpec *DataSourceDatabaseSyncedDatabaseTableSpecNewPipelineSpec `json:"new_pipeline_spec,omitempty"` @@ -90,6 +97,7 @@ type DataSourceDatabaseSyncedDatabaseTableSpec struct { SchedulingPolicy string `json:"scheduling_policy,omitempty"` SourceTableFullName string `json:"source_table_full_name,omitempty"` TimeseriesKey string `json:"timeseries_key,omitempty"` + TypeOverrides []DataSourceDatabaseSyncedDatabaseTableSpecTypeOverrides `json:"type_overrides,omitempty"` } type DataSourceDatabaseSyncedDatabaseTable struct { diff --git a/bundle/internal/tf/schema/data_source_database_synced_database_tables.go b/bundle/internal/tf/schema/data_source_database_synced_database_tables.go index 60330ecd61b..dcc378cf08b 100644 --- a/bundle/internal/tf/schema/data_source_database_synced_database_tables.go +++ b/bundle/internal/tf/schema/data_source_database_synced_database_tables.go @@ -86,7 +86,14 @@ type DataSourceDatabaseSyncedDatabaseTablesSyncedTablesSpecNewPipelineSpec struc StorageSchema string `json:"storage_schema,omitempty"` } +type DataSourceDatabaseSyncedDatabaseTablesSyncedTablesSpecTypeOverrides struct { + ColumnName string `json:"column_name"` + PgType string `json:"pg_type"` + Size int `json:"size,omitempty"` +} + type DataSourceDatabaseSyncedDatabaseTablesSyncedTablesSpec struct { + AcceleratedSync bool `json:"accelerated_sync,omitempty"` CreateDatabaseObjectsIfMissing bool `json:"create_database_objects_if_missing,omitempty"` ExistingPipelineId string `json:"existing_pipeline_id,omitempty"` NewPipelineSpec *DataSourceDatabaseSyncedDatabaseTablesSyncedTablesSpecNewPipelineSpec `json:"new_pipeline_spec,omitempty"` @@ -94,6 +101,7 @@ type DataSourceDatabaseSyncedDatabaseTablesSyncedTablesSpec struct { SchedulingPolicy string `json:"scheduling_policy,omitempty"` SourceTableFullName string `json:"source_table_full_name,omitempty"` TimeseriesKey string `json:"timeseries_key,omitempty"` + TypeOverrides []DataSourceDatabaseSyncedDatabaseTablesSyncedTablesSpecTypeOverrides `json:"type_overrides,omitempty"` } type DataSourceDatabaseSyncedDatabaseTablesSyncedTables struct { diff --git a/bundle/internal/tf/schema/data_source_feature_engineering_feature.go b/bundle/internal/tf/schema/data_source_feature_engineering_feature.go index b3f26abb031..103d9a9da2f 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_feature.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_feature.go @@ -171,10 +171,16 @@ type DataSourceFeatureEngineeringFeatureSourceRequestSource struct { FlatSchema *DataSourceFeatureEngineeringFeatureSourceRequestSourceFlatSchema `json:"flat_schema,omitempty"` } +type DataSourceFeatureEngineeringFeatureSourceStreamSource struct { + FilterCondition string `json:"filter_condition,omitempty"` + FullName string `json:"full_name"` +} + type DataSourceFeatureEngineeringFeatureSource struct { DeltaTableSource *DataSourceFeatureEngineeringFeatureSourceDeltaTableSource `json:"delta_table_source,omitempty"` KafkaSource *DataSourceFeatureEngineeringFeatureSourceKafkaSource `json:"kafka_source,omitempty"` RequestSource *DataSourceFeatureEngineeringFeatureSourceRequestSource `json:"request_source,omitempty"` + StreamSource *DataSourceFeatureEngineeringFeatureSourceStreamSource `json:"stream_source,omitempty"` } type DataSourceFeatureEngineeringFeatureTimeWindowContinuous struct { diff --git a/bundle/internal/tf/schema/data_source_feature_engineering_features.go b/bundle/internal/tf/schema/data_source_feature_engineering_features.go index a903a6ea2b2..9da09724ce8 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_features.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_features.go @@ -171,10 +171,16 @@ type DataSourceFeatureEngineeringFeaturesFeaturesSourceRequestSource struct { FlatSchema *DataSourceFeatureEngineeringFeaturesFeaturesSourceRequestSourceFlatSchema `json:"flat_schema,omitempty"` } +type DataSourceFeatureEngineeringFeaturesFeaturesSourceStreamSource struct { + FilterCondition string `json:"filter_condition,omitempty"` + FullName string `json:"full_name"` +} + type DataSourceFeatureEngineeringFeaturesFeaturesSource struct { DeltaTableSource *DataSourceFeatureEngineeringFeaturesFeaturesSourceDeltaTableSource `json:"delta_table_source,omitempty"` KafkaSource *DataSourceFeatureEngineeringFeaturesFeaturesSourceKafkaSource `json:"kafka_source,omitempty"` RequestSource *DataSourceFeatureEngineeringFeaturesFeaturesSourceRequestSource `json:"request_source,omitempty"` + StreamSource *DataSourceFeatureEngineeringFeaturesFeaturesSourceStreamSource `json:"stream_source,omitempty"` } type DataSourceFeatureEngineeringFeaturesFeaturesTimeWindowContinuous struct { diff --git a/bundle/internal/tf/schema/data_source_feature_engineering_kafka_config.go b/bundle/internal/tf/schema/data_source_feature_engineering_kafka_config.go index acd6c900dc8..eb7cbb47c01 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_kafka_config.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_kafka_config.go @@ -45,6 +45,33 @@ type DataSourceFeatureEngineeringKafkaConfigBackfillSource struct { DeltaTableSource *DataSourceFeatureEngineeringKafkaConfigBackfillSourceDeltaTableSource `json:"delta_table_source,omitempty"` } +type DataSourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSourceDeltaTableSource struct { + DataframeSchema string `json:"dataframe_schema,omitempty"` + EntityColumns []string `json:"entity_columns,omitempty"` + FilterCondition string `json:"filter_condition,omitempty"` + FullName string `json:"full_name"` + TimeseriesColumn string `json:"timeseries_column,omitempty"` + TransformationSql string `json:"transformation_sql,omitempty"` +} + +type DataSourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSource struct { + DeltaTableName string `json:"delta_table_name,omitempty"` + DeltaTableSource *DataSourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSourceDeltaTableSource `json:"delta_table_source,omitempty"` +} + +type DataSourceFeatureEngineeringKafkaConfigIngestionConfigIngestionDestination struct { + DeltaTableName string `json:"delta_table_name,omitempty"` +} + +type DataSourceFeatureEngineeringKafkaConfigIngestionConfig struct { + BackfillJobId int `json:"backfill_job_id,omitempty"` + BackfillSource *DataSourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSource `json:"backfill_source,omitempty"` + DeduplicationColumns []string `json:"deduplication_columns,omitempty"` + IngestionDestination *DataSourceFeatureEngineeringKafkaConfigIngestionConfigIngestionDestination `json:"ingestion_destination,omitempty"` + IngestionJobId int `json:"ingestion_job_id,omitempty"` + IngestionPipelineId string `json:"ingestion_pipeline_id,omitempty"` +} + type DataSourceFeatureEngineeringKafkaConfigKeySchema struct { JsonSchema string `json:"json_schema,omitempty"` } @@ -68,6 +95,7 @@ type DataSourceFeatureEngineeringKafkaConfig struct { BackfillSource *DataSourceFeatureEngineeringKafkaConfigBackfillSource `json:"backfill_source,omitempty"` BootstrapServers string `json:"bootstrap_servers,omitempty"` ExtraOptions map[string]string `json:"extra_options,omitempty"` + IngestionConfig *DataSourceFeatureEngineeringKafkaConfigIngestionConfig `json:"ingestion_config,omitempty"` KeySchema *DataSourceFeatureEngineeringKafkaConfigKeySchema `json:"key_schema,omitempty"` Name string `json:"name"` ProviderConfig *DataSourceFeatureEngineeringKafkaConfigProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_feature_engineering_kafka_configs.go b/bundle/internal/tf/schema/data_source_feature_engineering_kafka_configs.go index 68374ad1d76..06fd36a903b 100644 --- a/bundle/internal/tf/schema/data_source_feature_engineering_kafka_configs.go +++ b/bundle/internal/tf/schema/data_source_feature_engineering_kafka_configs.go @@ -45,6 +45,33 @@ type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsBackfillSource struct { DeltaTableSource *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsBackfillSourceDeltaTableSource `json:"delta_table_source,omitempty"` } +type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfigBackfillSourceDeltaTableSource struct { + DataframeSchema string `json:"dataframe_schema,omitempty"` + EntityColumns []string `json:"entity_columns,omitempty"` + FilterCondition string `json:"filter_condition,omitempty"` + FullName string `json:"full_name"` + TimeseriesColumn string `json:"timeseries_column,omitempty"` + TransformationSql string `json:"transformation_sql,omitempty"` +} + +type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfigBackfillSource struct { + DeltaTableName string `json:"delta_table_name,omitempty"` + DeltaTableSource *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfigBackfillSourceDeltaTableSource `json:"delta_table_source,omitempty"` +} + +type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfigIngestionDestination struct { + DeltaTableName string `json:"delta_table_name,omitempty"` +} + +type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfig struct { + BackfillJobId int `json:"backfill_job_id,omitempty"` + BackfillSource *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfigBackfillSource `json:"backfill_source,omitempty"` + DeduplicationColumns []string `json:"deduplication_columns,omitempty"` + IngestionDestination *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfigIngestionDestination `json:"ingestion_destination,omitempty"` + IngestionJobId int `json:"ingestion_job_id,omitempty"` + IngestionPipelineId string `json:"ingestion_pipeline_id,omitempty"` +} + type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsKeySchema struct { JsonSchema string `json:"json_schema,omitempty"` } @@ -68,6 +95,7 @@ type DataSourceFeatureEngineeringKafkaConfigsKafkaConfigs struct { BackfillSource *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsBackfillSource `json:"backfill_source,omitempty"` BootstrapServers string `json:"bootstrap_servers,omitempty"` ExtraOptions map[string]string `json:"extra_options,omitempty"` + IngestionConfig *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsIngestionConfig `json:"ingestion_config,omitempty"` KeySchema *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsKeySchema `json:"key_schema,omitempty"` Name string `json:"name"` ProviderConfig *DataSourceFeatureEngineeringKafkaConfigsKafkaConfigsProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_branch.go b/bundle/internal/tf/schema/data_source_postgres_branch.go index cffd6ed1c50..10f702851a7 100644 --- a/bundle/internal/tf/schema/data_source_postgres_branch.go +++ b/bundle/internal/tf/schema/data_source_postgres_branch.go @@ -33,6 +33,7 @@ type DataSourcePostgresBranchStatus struct { } type DataSourcePostgresBranch struct { + BranchId string `json:"branch_id,omitempty"` CreateTime string `json:"create_time,omitempty"` Name string `json:"name"` Parent string `json:"parent,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_branches.go b/bundle/internal/tf/schema/data_source_postgres_branches.go index 3f93eadb335..d4daac9957c 100644 --- a/bundle/internal/tf/schema/data_source_postgres_branches.go +++ b/bundle/internal/tf/schema/data_source_postgres_branches.go @@ -33,6 +33,7 @@ type DataSourcePostgresBranchesBranchesStatus struct { } type DataSourcePostgresBranchesBranches struct { + BranchId string `json:"branch_id,omitempty"` CreateTime string `json:"create_time,omitempty"` Name string `json:"name"` Parent string `json:"parent,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_catalog.go b/bundle/internal/tf/schema/data_source_postgres_catalog.go index a19249a93e6..118192ff75d 100644 --- a/bundle/internal/tf/schema/data_source_postgres_catalog.go +++ b/bundle/internal/tf/schema/data_source_postgres_catalog.go @@ -19,6 +19,7 @@ type DataSourcePostgresCatalogStatus struct { } type DataSourcePostgresCatalog struct { + CatalogId string `json:"catalog_id,omitempty"` CreateTime string `json:"create_time,omitempty"` Name string `json:"name"` ProviderConfig *DataSourcePostgresCatalogProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_database.go b/bundle/internal/tf/schema/data_source_postgres_database.go index bba759bd110..c073e876bb5 100644 --- a/bundle/internal/tf/schema/data_source_postgres_database.go +++ b/bundle/internal/tf/schema/data_source_postgres_database.go @@ -19,6 +19,7 @@ type DataSourcePostgresDatabaseStatus struct { type DataSourcePostgresDatabase struct { CreateTime string `json:"create_time,omitempty"` + DatabaseId string `json:"database_id,omitempty"` Name string `json:"name"` Parent string `json:"parent,omitempty"` ProviderConfig *DataSourcePostgresDatabaseProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_databases.go b/bundle/internal/tf/schema/data_source_postgres_databases.go index 25d883bbdf3..33bfa025870 100644 --- a/bundle/internal/tf/schema/data_source_postgres_databases.go +++ b/bundle/internal/tf/schema/data_source_postgres_databases.go @@ -19,6 +19,7 @@ type DataSourcePostgresDatabasesDatabasesStatus struct { type DataSourcePostgresDatabasesDatabases struct { CreateTime string `json:"create_time,omitempty"` + DatabaseId string `json:"database_id,omitempty"` Name string `json:"name"` Parent string `json:"parent,omitempty"` ProviderConfig *DataSourcePostgresDatabasesDatabasesProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_endpoint.go b/bundle/internal/tf/schema/data_source_postgres_endpoint.go index cb16cb4ce3f..0327ce656f4 100644 --- a/bundle/internal/tf/schema/data_source_postgres_endpoint.go +++ b/bundle/internal/tf/schema/data_source_postgres_endpoint.go @@ -58,6 +58,7 @@ type DataSourcePostgresEndpointStatus struct { type DataSourcePostgresEndpoint struct { CreateTime string `json:"create_time,omitempty"` + EndpointId string `json:"endpoint_id,omitempty"` Name string `json:"name"` Parent string `json:"parent,omitempty"` ProviderConfig *DataSourcePostgresEndpointProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_endpoints.go b/bundle/internal/tf/schema/data_source_postgres_endpoints.go index 42a54d0e0ba..75ad54f4b5c 100644 --- a/bundle/internal/tf/schema/data_source_postgres_endpoints.go +++ b/bundle/internal/tf/schema/data_source_postgres_endpoints.go @@ -58,6 +58,7 @@ type DataSourcePostgresEndpointsEndpointsStatus struct { type DataSourcePostgresEndpointsEndpoints struct { CreateTime string `json:"create_time,omitempty"` + EndpointId string `json:"endpoint_id,omitempty"` Name string `json:"name"` Parent string `json:"parent,omitempty"` ProviderConfig *DataSourcePostgresEndpointsEndpointsProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_project.go b/bundle/internal/tf/schema/data_source_postgres_project.go index 321c3a6e8ad..eda953bc74c 100644 --- a/bundle/internal/tf/schema/data_source_postgres_project.go +++ b/bundle/internal/tf/schema/data_source_postgres_project.go @@ -73,6 +73,7 @@ type DataSourcePostgresProject struct { DeleteTime string `json:"delete_time,omitempty"` InitialEndpointSpec *DataSourcePostgresProjectInitialEndpointSpec `json:"initial_endpoint_spec,omitempty"` Name string `json:"name"` + ProjectId string `json:"project_id,omitempty"` ProviderConfig *DataSourcePostgresProjectProviderConfig `json:"provider_config,omitempty"` PurgeTime string `json:"purge_time,omitempty"` Spec *DataSourcePostgresProjectSpec `json:"spec,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_projects.go b/bundle/internal/tf/schema/data_source_postgres_projects.go index a9b1f1b7965..b07b3e64e07 100644 --- a/bundle/internal/tf/schema/data_source_postgres_projects.go +++ b/bundle/internal/tf/schema/data_source_postgres_projects.go @@ -73,6 +73,7 @@ type DataSourcePostgresProjectsProjects struct { DeleteTime string `json:"delete_time,omitempty"` InitialEndpointSpec *DataSourcePostgresProjectsProjectsInitialEndpointSpec `json:"initial_endpoint_spec,omitempty"` Name string `json:"name"` + ProjectId string `json:"project_id,omitempty"` ProviderConfig *DataSourcePostgresProjectsProjectsProviderConfig `json:"provider_config,omitempty"` PurgeTime string `json:"purge_time,omitempty"` Spec *DataSourcePostgresProjectsProjectsSpec `json:"spec,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_role.go b/bundle/internal/tf/schema/data_source_postgres_role.go index b14d3f18db4..baecbefa03a 100644 --- a/bundle/internal/tf/schema/data_source_postgres_role.go +++ b/bundle/internal/tf/schema/data_source_postgres_role.go @@ -40,6 +40,7 @@ type DataSourcePostgresRole struct { Name string `json:"name"` Parent string `json:"parent,omitempty"` ProviderConfig *DataSourcePostgresRoleProviderConfig `json:"provider_config,omitempty"` + RoleId string `json:"role_id,omitempty"` Spec *DataSourcePostgresRoleSpec `json:"spec,omitempty"` Status *DataSourcePostgresRoleStatus `json:"status,omitempty"` UpdateTime string `json:"update_time,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_roles.go b/bundle/internal/tf/schema/data_source_postgres_roles.go index 910b143ef27..abcdf8b8110 100644 --- a/bundle/internal/tf/schema/data_source_postgres_roles.go +++ b/bundle/internal/tf/schema/data_source_postgres_roles.go @@ -44,6 +44,7 @@ type DataSourcePostgresRolesRoles struct { Name string `json:"name"` Parent string `json:"parent,omitempty"` ProviderConfig *DataSourcePostgresRolesRolesProviderConfig `json:"provider_config,omitempty"` + RoleId string `json:"role_id,omitempty"` Spec *DataSourcePostgresRolesRolesSpec `json:"spec,omitempty"` Status *DataSourcePostgresRolesRolesStatus `json:"status,omitempty"` UpdateTime string `json:"update_time,omitempty"` diff --git a/bundle/internal/tf/schema/data_source_postgres_synced_table.go b/bundle/internal/tf/schema/data_source_postgres_synced_table.go index dbdfac6c985..9f69a5fa449 100644 --- a/bundle/internal/tf/schema/data_source_postgres_synced_table.go +++ b/bundle/internal/tf/schema/data_source_postgres_synced_table.go @@ -12,7 +12,14 @@ type DataSourcePostgresSyncedTableSpecNewPipelineSpec struct { StorageSchema string `json:"storage_schema,omitempty"` } +type DataSourcePostgresSyncedTableSpecTypeOverrides struct { + ColumnName string `json:"column_name"` + PgType string `json:"pg_type"` + Size int `json:"size,omitempty"` +} + type DataSourcePostgresSyncedTableSpec struct { + AcceleratedSync bool `json:"accelerated_sync,omitempty"` Branch string `json:"branch,omitempty"` CreateDatabaseObjectsIfMissing bool `json:"create_database_objects_if_missing,omitempty"` ExistingPipelineId string `json:"existing_pipeline_id,omitempty"` @@ -22,6 +29,7 @@ type DataSourcePostgresSyncedTableSpec struct { SchedulingPolicy string `json:"scheduling_policy,omitempty"` SourceTableFullName string `json:"source_table_full_name,omitempty"` TimeseriesKey string `json:"timeseries_key,omitempty"` + TypeOverrides []DataSourcePostgresSyncedTableSpecTypeOverrides `json:"type_overrides,omitempty"` } type DataSourcePostgresSyncedTableStatusLastSyncDeltaTableSyncInfo struct { @@ -62,5 +70,6 @@ type DataSourcePostgresSyncedTable struct { ProviderConfig *DataSourcePostgresSyncedTableProviderConfig `json:"provider_config,omitempty"` Spec *DataSourcePostgresSyncedTableSpec `json:"spec,omitempty"` Status *DataSourcePostgresSyncedTableStatus `json:"status,omitempty"` + SyncedTableId string `json:"synced_table_id,omitempty"` Uid string `json:"uid,omitempty"` } diff --git a/bundle/internal/tf/schema/data_source_schema.go b/bundle/internal/tf/schema/data_source_schema.go index 72f74167340..4e790113730 100644 --- a/bundle/internal/tf/schema/data_source_schema.go +++ b/bundle/internal/tf/schema/data_source_schema.go @@ -19,6 +19,7 @@ type DataSourceSchemaSchemaInfo struct { Comment string `json:"comment,omitempty"` CreatedAt int `json:"created_at,omitempty"` CreatedBy string `json:"created_by,omitempty"` + CustomMaxRetentionHours int `json:"custom_max_retention_hours,omitempty"` EnablePredictiveOptimization string `json:"enable_predictive_optimization,omitempty"` FullName string `json:"full_name,omitempty"` MetastoreId string `json:"metastore_id,omitempty"` diff --git a/bundle/internal/tf/schema/data_sources.go b/bundle/internal/tf/schema/data_sources.go index 676a09a6584..84aac34c9e9 100644 --- a/bundle/internal/tf/schema/data_sources.go +++ b/bundle/internal/tf/schema/data_sources.go @@ -9,6 +9,10 @@ type DataSources struct { AccountNetworkPolicy map[string]any `json:"databricks_account_network_policy,omitempty"` AccountSettingUserPreferenceV2 map[string]any `json:"databricks_account_setting_user_preference_v2,omitempty"` AccountSettingV2 map[string]any `json:"databricks_account_setting_v2,omitempty"` + AiSearchEndpoint map[string]any `json:"databricks_ai_search_endpoint,omitempty"` + AiSearchEndpoints map[string]any `json:"databricks_ai_search_endpoints,omitempty"` + AiSearchIndex map[string]any `json:"databricks_ai_search_index,omitempty"` + AiSearchIndexes map[string]any `json:"databricks_ai_search_indexes,omitempty"` AlertV2 map[string]any `json:"databricks_alert_v2,omitempty"` AlertsV2 map[string]any `json:"databricks_alerts_v2,omitempty"` App map[string]any `json:"databricks_app,omitempty"` @@ -161,6 +165,10 @@ func NewDataSources() *DataSources { AccountNetworkPolicy: make(map[string]any), AccountSettingUserPreferenceV2: make(map[string]any), AccountSettingV2: make(map[string]any), + AiSearchEndpoint: make(map[string]any), + AiSearchEndpoints: make(map[string]any), + AiSearchIndex: make(map[string]any), + AiSearchIndexes: make(map[string]any), AlertV2: make(map[string]any), AlertsV2: make(map[string]any), App: make(map[string]any), diff --git a/bundle/internal/tf/schema/resource_account_network_policy.go b/bundle/internal/tf/schema/resource_account_network_policy.go index 2e8fabd3632..13093e9eee0 100644 --- a/bundle/internal/tf/schema/resource_account_network_policy.go +++ b/bundle/internal/tf/schema/resource_account_network_policy.go @@ -2,6 +2,10 @@ package schema +type ResourceAccountNetworkPolicyEgressNetworkAccessAllowedDatabricksDestinations struct { + WorkspaceIds []int `json:"workspace_ids,omitempty"` +} + type ResourceAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinations struct { Destination string `json:"destination,omitempty"` InternetDestinationType string `json:"internet_destination_type,omitempty"` @@ -26,11 +30,12 @@ type ResourceAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement struct { } type ResourceAccountNetworkPolicyEgressNetworkAccess struct { - AllowedInternetDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinations `json:"allowed_internet_destinations,omitempty"` - AllowedStorageDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinations `json:"allowed_storage_destinations,omitempty"` - BlockedInternetDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessBlockedInternetDestinations `json:"blocked_internet_destinations,omitempty"` - PolicyEnforcement *ResourceAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement `json:"policy_enforcement,omitempty"` - RestrictionMode string `json:"restriction_mode"` + AllowedDatabricksDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessAllowedDatabricksDestinations `json:"allowed_databricks_destinations,omitempty"` + AllowedInternetDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessAllowedInternetDestinations `json:"allowed_internet_destinations,omitempty"` + AllowedStorageDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessAllowedStorageDestinations `json:"allowed_storage_destinations,omitempty"` + BlockedInternetDestinations []ResourceAccountNetworkPolicyEgressNetworkAccessBlockedInternetDestinations `json:"blocked_internet_destinations,omitempty"` + PolicyEnforcement *ResourceAccountNetworkPolicyEgressNetworkAccessPolicyEnforcement `json:"policy_enforcement,omitempty"` + RestrictionMode string `json:"restriction_mode"` } type ResourceAccountNetworkPolicyEgress struct { diff --git a/bundle/internal/tf/schema/resource_ai_search_endpoint.go b/bundle/internal/tf/schema/resource_ai_search_endpoint.go new file mode 100644 index 00000000000..81022cfa328 --- /dev/null +++ b/bundle/internal/tf/schema/resource_ai_search_endpoint.go @@ -0,0 +1,57 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAiSearchEndpointCustomTags struct { + Key string `json:"key"` + Value string `json:"value,omitempty"` +} + +type ResourceAiSearchEndpointEndpointStatus struct { + Message string `json:"message,omitempty"` + State string `json:"state,omitempty"` +} + +type ResourceAiSearchEndpointProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceAiSearchEndpointScalingInfo struct { + RequestedTargetQps int `json:"requested_target_qps,omitempty"` + State string `json:"state,omitempty"` +} + +type ResourceAiSearchEndpointThroughputInfo struct { + ChangeRequestMessage string `json:"change_request_message,omitempty"` + ChangeRequestState string `json:"change_request_state,omitempty"` + CurrentConcurrency int `json:"current_concurrency,omitempty"` + CurrentConcurrencyUtilizationPercentage int `json:"current_concurrency_utilization_percentage,omitempty"` + CurrentNumReplicas int `json:"current_num_replicas,omitempty"` + MaximumConcurrencyAllowed int `json:"maximum_concurrency_allowed,omitempty"` + MinimalConcurrencyAllowed int `json:"minimal_concurrency_allowed,omitempty"` + RequestedConcurrency int `json:"requested_concurrency,omitempty"` + RequestedNumReplicas int `json:"requested_num_replicas,omitempty"` +} + +type ResourceAiSearchEndpoint struct { + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + CreateTime string `json:"create_time,omitempty"` + Creator string `json:"creator,omitempty"` + CustomTags []ResourceAiSearchEndpointCustomTags `json:"custom_tags,omitempty"` + EffectiveBudgetPolicyId string `json:"effective_budget_policy_id,omitempty"` + EndpointId string `json:"endpoint_id,omitempty"` + EndpointStatus *ResourceAiSearchEndpointEndpointStatus `json:"endpoint_status,omitempty"` + EndpointType string `json:"endpoint_type"` + Id string `json:"id,omitempty"` + IndexCount int `json:"index_count,omitempty"` + LastUpdatedUser string `json:"last_updated_user,omitempty"` + Name string `json:"name,omitempty"` + Parent string `json:"parent"` + ProviderConfig *ResourceAiSearchEndpointProviderConfig `json:"provider_config,omitempty"` + ReplicaCount int `json:"replica_count,omitempty"` + ScalingInfo *ResourceAiSearchEndpointScalingInfo `json:"scaling_info,omitempty"` + TargetQps int `json:"target_qps,omitempty"` + ThroughputInfo *ResourceAiSearchEndpointThroughputInfo `json:"throughput_info,omitempty"` + UpdateTime string `json:"update_time,omitempty"` + UsagePolicyId string `json:"usage_policy_id,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_ai_search_index.go b/bundle/internal/tf/schema/resource_ai_search_index.go new file mode 100644 index 00000000000..b6ccceccea1 --- /dev/null +++ b/bundle/internal/tf/schema/resource_ai_search_index.go @@ -0,0 +1,67 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceAiSearchIndexDeltaSyncIndexSpecEmbeddingSourceColumns struct { + EmbeddingModelEndpoint string `json:"embedding_model_endpoint,omitempty"` + ModelEndpointNameForQuery string `json:"model_endpoint_name_for_query,omitempty"` + Name string `json:"name,omitempty"` +} + +type ResourceAiSearchIndexDeltaSyncIndexSpecEmbeddingVectorColumns struct { + EmbeddingDimension int `json:"embedding_dimension,omitempty"` + Name string `json:"name,omitempty"` +} + +type ResourceAiSearchIndexDeltaSyncIndexSpec struct { + ColumnsToSync []string `json:"columns_to_sync,omitempty"` + EmbeddingSourceColumns []ResourceAiSearchIndexDeltaSyncIndexSpecEmbeddingSourceColumns `json:"embedding_source_columns,omitempty"` + EmbeddingVectorColumns []ResourceAiSearchIndexDeltaSyncIndexSpecEmbeddingVectorColumns `json:"embedding_vector_columns,omitempty"` + EmbeddingWritebackTable string `json:"embedding_writeback_table,omitempty"` + PipelineId string `json:"pipeline_id,omitempty"` + PipelineType string `json:"pipeline_type"` + SourceTable string `json:"source_table,omitempty"` +} + +type ResourceAiSearchIndexDirectAccessIndexSpecEmbeddingSourceColumns struct { + EmbeddingModelEndpoint string `json:"embedding_model_endpoint,omitempty"` + ModelEndpointNameForQuery string `json:"model_endpoint_name_for_query,omitempty"` + Name string `json:"name,omitempty"` +} + +type ResourceAiSearchIndexDirectAccessIndexSpecEmbeddingVectorColumns struct { + EmbeddingDimension int `json:"embedding_dimension,omitempty"` + Name string `json:"name,omitempty"` +} + +type ResourceAiSearchIndexDirectAccessIndexSpec struct { + EmbeddingSourceColumns []ResourceAiSearchIndexDirectAccessIndexSpecEmbeddingSourceColumns `json:"embedding_source_columns,omitempty"` + EmbeddingVectorColumns []ResourceAiSearchIndexDirectAccessIndexSpecEmbeddingVectorColumns `json:"embedding_vector_columns,omitempty"` + SchemaJson string `json:"schema_json,omitempty"` +} + +type ResourceAiSearchIndexProviderConfig struct { + WorkspaceId string `json:"workspace_id,omitempty"` +} + +type ResourceAiSearchIndexStatus struct { + IndexUrl string `json:"index_url,omitempty"` + IndexedRowCount int `json:"indexed_row_count,omitempty"` + Message string `json:"message,omitempty"` + Ready bool `json:"ready,omitempty"` +} + +type ResourceAiSearchIndex struct { + Creator string `json:"creator,omitempty"` + DeltaSyncIndexSpec *ResourceAiSearchIndexDeltaSyncIndexSpec `json:"delta_sync_index_spec,omitempty"` + DirectAccessIndexSpec *ResourceAiSearchIndexDirectAccessIndexSpec `json:"direct_access_index_spec,omitempty"` + Endpoint string `json:"endpoint,omitempty"` + IndexId string `json:"index_id,omitempty"` + IndexSubtype string `json:"index_subtype,omitempty"` + IndexType string `json:"index_type"` + Name string `json:"name,omitempty"` + Parent string `json:"parent"` + PrimaryKey string `json:"primary_key"` + ProviderConfig *ResourceAiSearchIndexProviderConfig `json:"provider_config,omitempty"` + Status *ResourceAiSearchIndexStatus `json:"status,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_all.go b/bundle/internal/tf/schema/resource_all.go index 0fcf35b04fc..cc36ea7cf61 100644 --- a/bundle/internal/tf/schema/resource_all.go +++ b/bundle/internal/tf/schema/resource_all.go @@ -12,6 +12,8 @@ type AllResources struct { AccountNetworkPolicy ResourceAccountNetworkPolicy `json:"databricks_account_network_policy,omitempty"` AccountSettingUserPreferenceV2 ResourceAccountSettingUserPreferenceV2 `json:"databricks_account_setting_user_preference_v2,omitempty"` AccountSettingV2 ResourceAccountSettingV2 `json:"databricks_account_setting_v2,omitempty"` + AiSearchEndpoint ResourceAiSearchEndpoint `json:"databricks_ai_search_endpoint,omitempty"` + AiSearchIndex ResourceAiSearchIndex `json:"databricks_ai_search_index,omitempty"` AibiDashboardEmbeddingAccessPolicySetting ResourceAibiDashboardEmbeddingAccessPolicySetting `json:"databricks_aibi_dashboard_embedding_access_policy_setting,omitempty"` AibiDashboardEmbeddingApprovedDomainsSetting ResourceAibiDashboardEmbeddingApprovedDomainsSetting `json:"databricks_aibi_dashboard_embedding_approved_domains_setting,omitempty"` Alert ResourceAlert `json:"databricks_alert,omitempty"` diff --git a/bundle/internal/tf/schema/resource_app.go b/bundle/internal/tf/schema/resource_app.go index 9437b079812..22da7646c65 100644 --- a/bundle/internal/tf/schema/resource_app.go +++ b/bundle/internal/tf/schema/resource_app.go @@ -46,8 +46,9 @@ type ResourceAppActiveDeployment struct { } type ResourceAppAppStatus struct { - Message string `json:"message,omitempty"` - State string `json:"state,omitempty"` + Message string `json:"message,omitempty"` + RunningInstances int `json:"running_instances,omitempty"` + State string `json:"state,omitempty"` } type ResourceAppComputeStatus struct { diff --git a/bundle/internal/tf/schema/resource_catalog.go b/bundle/internal/tf/schema/resource_catalog.go index 51b1735b38f..36cd341642d 100644 --- a/bundle/internal/tf/schema/resource_catalog.go +++ b/bundle/internal/tf/schema/resource_catalog.go @@ -35,6 +35,7 @@ type ResourceCatalog struct { ConnectionName string `json:"connection_name,omitempty"` CreatedAt int `json:"created_at,omitempty"` CreatedBy string `json:"created_by,omitempty"` + CustomMaxRetentionHours int `json:"custom_max_retention_hours,omitempty"` EnablePredictiveOptimization string `json:"enable_predictive_optimization,omitempty"` ForceDestroy bool `json:"force_destroy,omitempty"` FullName string `json:"full_name,omitempty"` diff --git a/bundle/internal/tf/schema/resource_connection.go b/bundle/internal/tf/schema/resource_connection.go index b92aa1e51f3..03269b4e558 100644 --- a/bundle/internal/tf/schema/resource_connection.go +++ b/bundle/internal/tf/schema/resource_connection.go @@ -2,29 +2,35 @@ package schema +type ResourceConnectionEnvironmentSettings struct { + EnvironmentVersion string `json:"environment_version,omitempty"` + JavaDependencies []string `json:"java_dependencies,omitempty"` +} + type ResourceConnectionProviderConfig struct { WorkspaceId string `json:"workspace_id,omitempty"` } type ResourceConnection struct { - Comment string `json:"comment,omitempty"` - ConnectionId string `json:"connection_id,omitempty"` - ConnectionType string `json:"connection_type,omitempty"` - CreatedAt int `json:"created_at,omitempty"` - CreatedBy string `json:"created_by,omitempty"` - CredentialType string `json:"credential_type,omitempty"` - FullName string `json:"full_name,omitempty"` - Id string `json:"id,omitempty"` - MetastoreId string `json:"metastore_id,omitempty"` - Name string `json:"name,omitempty"` - Options map[string]string `json:"options,omitempty"` - Owner string `json:"owner,omitempty"` - Properties map[string]string `json:"properties,omitempty"` - ProvisioningInfo []any `json:"provisioning_info,omitempty"` - ReadOnly bool `json:"read_only,omitempty"` - SecurableType string `json:"securable_type,omitempty"` - UpdatedAt int `json:"updated_at,omitempty"` - UpdatedBy string `json:"updated_by,omitempty"` - Url string `json:"url,omitempty"` - ProviderConfig *ResourceConnectionProviderConfig `json:"provider_config,omitempty"` + Comment string `json:"comment,omitempty"` + ConnectionId string `json:"connection_id,omitempty"` + ConnectionType string `json:"connection_type,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + CreatedBy string `json:"created_by,omitempty"` + CredentialType string `json:"credential_type,omitempty"` + FullName string `json:"full_name,omitempty"` + Id string `json:"id,omitempty"` + MetastoreId string `json:"metastore_id,omitempty"` + Name string `json:"name,omitempty"` + Options map[string]string `json:"options,omitempty"` + Owner string `json:"owner,omitempty"` + Properties map[string]string `json:"properties,omitempty"` + ProvisioningInfo []any `json:"provisioning_info,omitempty"` + ReadOnly bool `json:"read_only,omitempty"` + SecurableType string `json:"securable_type,omitempty"` + UpdatedAt int `json:"updated_at,omitempty"` + UpdatedBy string `json:"updated_by,omitempty"` + Url string `json:"url,omitempty"` + EnvironmentSettings *ResourceConnectionEnvironmentSettings `json:"environment_settings,omitempty"` + ProviderConfig *ResourceConnectionProviderConfig `json:"provider_config,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_database_synced_database_table.go b/bundle/internal/tf/schema/resource_database_synced_database_table.go index 32e3154084c..67bccd7fb7f 100644 --- a/bundle/internal/tf/schema/resource_database_synced_database_table.go +++ b/bundle/internal/tf/schema/resource_database_synced_database_table.go @@ -82,7 +82,14 @@ type ResourceDatabaseSyncedDatabaseTableSpecNewPipelineSpec struct { StorageSchema string `json:"storage_schema,omitempty"` } +type ResourceDatabaseSyncedDatabaseTableSpecTypeOverrides struct { + ColumnName string `json:"column_name"` + PgType string `json:"pg_type"` + Size int `json:"size,omitempty"` +} + type ResourceDatabaseSyncedDatabaseTableSpec struct { + AcceleratedSync bool `json:"accelerated_sync,omitempty"` CreateDatabaseObjectsIfMissing bool `json:"create_database_objects_if_missing,omitempty"` ExistingPipelineId string `json:"existing_pipeline_id,omitempty"` NewPipelineSpec *ResourceDatabaseSyncedDatabaseTableSpecNewPipelineSpec `json:"new_pipeline_spec,omitempty"` @@ -90,6 +97,7 @@ type ResourceDatabaseSyncedDatabaseTableSpec struct { SchedulingPolicy string `json:"scheduling_policy,omitempty"` SourceTableFullName string `json:"source_table_full_name,omitempty"` TimeseriesKey string `json:"timeseries_key,omitempty"` + TypeOverrides []ResourceDatabaseSyncedDatabaseTableSpecTypeOverrides `json:"type_overrides,omitempty"` } type ResourceDatabaseSyncedDatabaseTable struct { diff --git a/bundle/internal/tf/schema/resource_feature_engineering_feature.go b/bundle/internal/tf/schema/resource_feature_engineering_feature.go index 744fb1b312f..4ff3bf5820c 100644 --- a/bundle/internal/tf/schema/resource_feature_engineering_feature.go +++ b/bundle/internal/tf/schema/resource_feature_engineering_feature.go @@ -171,10 +171,16 @@ type ResourceFeatureEngineeringFeatureSourceRequestSource struct { FlatSchema *ResourceFeatureEngineeringFeatureSourceRequestSourceFlatSchema `json:"flat_schema,omitempty"` } +type ResourceFeatureEngineeringFeatureSourceStreamSource struct { + FilterCondition string `json:"filter_condition,omitempty"` + FullName string `json:"full_name"` +} + type ResourceFeatureEngineeringFeatureSource struct { DeltaTableSource *ResourceFeatureEngineeringFeatureSourceDeltaTableSource `json:"delta_table_source,omitempty"` KafkaSource *ResourceFeatureEngineeringFeatureSourceKafkaSource `json:"kafka_source,omitempty"` RequestSource *ResourceFeatureEngineeringFeatureSourceRequestSource `json:"request_source,omitempty"` + StreamSource *ResourceFeatureEngineeringFeatureSourceStreamSource `json:"stream_source,omitempty"` } type ResourceFeatureEngineeringFeatureTimeWindowContinuous struct { diff --git a/bundle/internal/tf/schema/resource_feature_engineering_kafka_config.go b/bundle/internal/tf/schema/resource_feature_engineering_kafka_config.go index 81a4ba06c7f..8b3f526bdae 100644 --- a/bundle/internal/tf/schema/resource_feature_engineering_kafka_config.go +++ b/bundle/internal/tf/schema/resource_feature_engineering_kafka_config.go @@ -45,6 +45,33 @@ type ResourceFeatureEngineeringKafkaConfigBackfillSource struct { DeltaTableSource *ResourceFeatureEngineeringKafkaConfigBackfillSourceDeltaTableSource `json:"delta_table_source,omitempty"` } +type ResourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSourceDeltaTableSource struct { + DataframeSchema string `json:"dataframe_schema,omitempty"` + EntityColumns []string `json:"entity_columns,omitempty"` + FilterCondition string `json:"filter_condition,omitempty"` + FullName string `json:"full_name"` + TimeseriesColumn string `json:"timeseries_column,omitempty"` + TransformationSql string `json:"transformation_sql,omitempty"` +} + +type ResourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSource struct { + DeltaTableName string `json:"delta_table_name,omitempty"` + DeltaTableSource *ResourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSourceDeltaTableSource `json:"delta_table_source,omitempty"` +} + +type ResourceFeatureEngineeringKafkaConfigIngestionConfigIngestionDestination struct { + DeltaTableName string `json:"delta_table_name,omitempty"` +} + +type ResourceFeatureEngineeringKafkaConfigIngestionConfig struct { + BackfillJobId int `json:"backfill_job_id,omitempty"` + BackfillSource *ResourceFeatureEngineeringKafkaConfigIngestionConfigBackfillSource `json:"backfill_source,omitempty"` + DeduplicationColumns []string `json:"deduplication_columns,omitempty"` + IngestionDestination *ResourceFeatureEngineeringKafkaConfigIngestionConfigIngestionDestination `json:"ingestion_destination,omitempty"` + IngestionJobId int `json:"ingestion_job_id,omitempty"` + IngestionPipelineId string `json:"ingestion_pipeline_id,omitempty"` +} + type ResourceFeatureEngineeringKafkaConfigKeySchema struct { JsonSchema string `json:"json_schema,omitempty"` } @@ -68,6 +95,7 @@ type ResourceFeatureEngineeringKafkaConfig struct { BackfillSource *ResourceFeatureEngineeringKafkaConfigBackfillSource `json:"backfill_source,omitempty"` BootstrapServers string `json:"bootstrap_servers"` ExtraOptions map[string]string `json:"extra_options,omitempty"` + IngestionConfig *ResourceFeatureEngineeringKafkaConfigIngestionConfig `json:"ingestion_config,omitempty"` KeySchema *ResourceFeatureEngineeringKafkaConfigKeySchema `json:"key_schema,omitempty"` Name string `json:"name,omitempty"` ProviderConfig *ResourceFeatureEngineeringKafkaConfigProviderConfig `json:"provider_config,omitempty"` diff --git a/bundle/internal/tf/schema/resource_pipeline.go b/bundle/internal/tf/schema/resource_pipeline.go index 6d39db14529..ba89867dec9 100644 --- a/bundle/internal/tf/schema/resource_pipeline.go +++ b/bundle/internal/tf/schema/resource_pipeline.go @@ -203,6 +203,8 @@ type ResourcePipelineIngestionDefinitionObjectsReportTableConfigurationWorkdayRe } type ResourcePipelineIngestionDefinitionObjectsReportTableConfiguration struct { + ClusteringColumns []string `json:"clustering_columns,omitempty"` + EnableAutoClustering bool `json:"enable_auto_clustering,omitempty"` ExcludeColumns []string `json:"exclude_columns,omitempty"` IncludeColumns []string `json:"include_columns,omitempty"` PrimaryKeys []string `json:"primary_keys,omitempty"` @@ -210,6 +212,7 @@ type ResourcePipelineIngestionDefinitionObjectsReportTableConfiguration struct { SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` ScdType string `json:"scd_type,omitempty"` SequenceBy []string `json:"sequence_by,omitempty"` + TableProperties map[string]string `json:"table_properties,omitempty"` AutoFullRefreshPolicy *ResourcePipelineIngestionDefinitionObjectsReportTableConfigurationAutoFullRefreshPolicy `json:"auto_full_refresh_policy,omitempty"` QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionObjectsReportTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` WorkdayReportParameters *ResourcePipelineIngestionDefinitionObjectsReportTableConfigurationWorkdayReportParameters `json:"workday_report_parameters,omitempty"` @@ -404,6 +407,8 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaTableConfigurationWorkdayRe } type ResourcePipelineIngestionDefinitionObjectsSchemaTableConfiguration struct { + ClusteringColumns []string `json:"clustering_columns,omitempty"` + EnableAutoClustering bool `json:"enable_auto_clustering,omitempty"` ExcludeColumns []string `json:"exclude_columns,omitempty"` IncludeColumns []string `json:"include_columns,omitempty"` PrimaryKeys []string `json:"primary_keys,omitempty"` @@ -411,6 +416,7 @@ type ResourcePipelineIngestionDefinitionObjectsSchemaTableConfiguration struct { SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` ScdType string `json:"scd_type,omitempty"` SequenceBy []string `json:"sequence_by,omitempty"` + TableProperties map[string]string `json:"table_properties,omitempty"` AutoFullRefreshPolicy *ResourcePipelineIngestionDefinitionObjectsSchemaTableConfigurationAutoFullRefreshPolicy `json:"auto_full_refresh_policy,omitempty"` QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionObjectsSchemaTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` WorkdayReportParameters *ResourcePipelineIngestionDefinitionObjectsSchemaTableConfigurationWorkdayReportParameters `json:"workday_report_parameters,omitempty"` @@ -606,6 +612,8 @@ type ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationWorkdayRep } type ResourcePipelineIngestionDefinitionObjectsTableTableConfiguration struct { + ClusteringColumns []string `json:"clustering_columns,omitempty"` + EnableAutoClustering bool `json:"enable_auto_clustering,omitempty"` ExcludeColumns []string `json:"exclude_columns,omitempty"` IncludeColumns []string `json:"include_columns,omitempty"` PrimaryKeys []string `json:"primary_keys,omitempty"` @@ -613,6 +621,7 @@ type ResourcePipelineIngestionDefinitionObjectsTableTableConfiguration struct { SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` ScdType string `json:"scd_type,omitempty"` SequenceBy []string `json:"sequence_by,omitempty"` + TableProperties map[string]string `json:"table_properties,omitempty"` AutoFullRefreshPolicy *ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationAutoFullRefreshPolicy `json:"auto_full_refresh_policy,omitempty"` QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` WorkdayReportParameters *ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationWorkdayReportParameters `json:"workday_report_parameters,omitempty"` @@ -681,6 +690,8 @@ type ResourcePipelineIngestionDefinitionTableConfigurationWorkdayReportParameter } type ResourcePipelineIngestionDefinitionTableConfiguration struct { + ClusteringColumns []string `json:"clustering_columns,omitempty"` + EnableAutoClustering bool `json:"enable_auto_clustering,omitempty"` ExcludeColumns []string `json:"exclude_columns,omitempty"` IncludeColumns []string `json:"include_columns,omitempty"` PrimaryKeys []string `json:"primary_keys,omitempty"` @@ -688,6 +699,7 @@ type ResourcePipelineIngestionDefinitionTableConfiguration struct { SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` ScdType string `json:"scd_type,omitempty"` SequenceBy []string `json:"sequence_by,omitempty"` + TableProperties map[string]string `json:"table_properties,omitempty"` AutoFullRefreshPolicy *ResourcePipelineIngestionDefinitionTableConfigurationAutoFullRefreshPolicy `json:"auto_full_refresh_policy,omitempty"` QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` WorkdayReportParameters *ResourcePipelineIngestionDefinitionTableConfigurationWorkdayReportParameters `json:"workday_report_parameters,omitempty"` diff --git a/bundle/internal/tf/schema/resource_postgres_synced_table.go b/bundle/internal/tf/schema/resource_postgres_synced_table.go index affde4ce55d..7d55d52de52 100644 --- a/bundle/internal/tf/schema/resource_postgres_synced_table.go +++ b/bundle/internal/tf/schema/resource_postgres_synced_table.go @@ -12,7 +12,14 @@ type ResourcePostgresSyncedTableSpecNewPipelineSpec struct { StorageSchema string `json:"storage_schema,omitempty"` } +type ResourcePostgresSyncedTableSpecTypeOverrides struct { + ColumnName string `json:"column_name"` + PgType string `json:"pg_type"` + Size int `json:"size,omitempty"` +} + type ResourcePostgresSyncedTableSpec struct { + AcceleratedSync bool `json:"accelerated_sync,omitempty"` Branch string `json:"branch,omitempty"` CreateDatabaseObjectsIfMissing bool `json:"create_database_objects_if_missing,omitempty"` ExistingPipelineId string `json:"existing_pipeline_id,omitempty"` @@ -22,6 +29,7 @@ type ResourcePostgresSyncedTableSpec struct { SchedulingPolicy string `json:"scheduling_policy,omitempty"` SourceTableFullName string `json:"source_table_full_name,omitempty"` TimeseriesKey string `json:"timeseries_key,omitempty"` + TypeOverrides []ResourcePostgresSyncedTableSpecTypeOverrides `json:"type_overrides,omitempty"` } type ResourcePostgresSyncedTableStatusLastSyncDeltaTableSyncInfo struct { diff --git a/bundle/internal/tf/schema/resource_vector_search_index.go b/bundle/internal/tf/schema/resource_vector_search_index.go index 2872f059663..bd59d59bc00 100644 --- a/bundle/internal/tf/schema/resource_vector_search_index.go +++ b/bundle/internal/tf/schema/resource_vector_search_index.go @@ -47,6 +47,7 @@ type ResourceVectorSearchIndexProviderConfig struct { type ResourceVectorSearchIndex struct { Creator string `json:"creator,omitempty"` + EndpointId string `json:"endpoint_id,omitempty"` EndpointName string `json:"endpoint_name"` Id string `json:"id,omitempty"` IndexSubtype string `json:"index_subtype,omitempty"` diff --git a/bundle/internal/tf/schema/resources.go b/bundle/internal/tf/schema/resources.go index b0827c5b727..ec24ad8e5d9 100644 --- a/bundle/internal/tf/schema/resources.go +++ b/bundle/internal/tf/schema/resources.go @@ -8,6 +8,8 @@ type Resources struct { AccountNetworkPolicy map[string]any `json:"databricks_account_network_policy,omitempty"` AccountSettingUserPreferenceV2 map[string]any `json:"databricks_account_setting_user_preference_v2,omitempty"` AccountSettingV2 map[string]any `json:"databricks_account_setting_v2,omitempty"` + AiSearchEndpoint map[string]any `json:"databricks_ai_search_endpoint,omitempty"` + AiSearchIndex map[string]any `json:"databricks_ai_search_index,omitempty"` AibiDashboardEmbeddingAccessPolicySetting map[string]any `json:"databricks_aibi_dashboard_embedding_access_policy_setting,omitempty"` AibiDashboardEmbeddingApprovedDomainsSetting map[string]any `json:"databricks_aibi_dashboard_embedding_approved_domains_setting,omitempty"` Alert map[string]any `json:"databricks_alert,omitempty"` @@ -169,6 +171,8 @@ func NewResources() *Resources { AccountNetworkPolicy: make(map[string]any), AccountSettingUserPreferenceV2: make(map[string]any), AccountSettingV2: make(map[string]any), + AiSearchEndpoint: make(map[string]any), + AiSearchIndex: make(map[string]any), AibiDashboardEmbeddingAccessPolicySetting: make(map[string]any), AibiDashboardEmbeddingApprovedDomainsSetting: make(map[string]any), Alert: make(map[string]any), diff --git a/bundle/internal/tf/schema/root.go b/bundle/internal/tf/schema/root.go index f47f4db4b8a..eeab7cdb538 100644 --- a/bundle/internal/tf/schema/root.go +++ b/bundle/internal/tf/schema/root.go @@ -21,9 +21,9 @@ type Root struct { const ProviderHost = "registry.terraform.io" const ProviderSource = "databricks/databricks" -const ProviderVersion = "1.117.0" -const ProviderChecksumLinuxAmd64 = "d6ed0d2080123d52f2a3161fcf05cf045f1e206c2e0127cad17abd99b65fed44" -const ProviderChecksumLinuxArm64 = "130ef32b6fb74f3da0a4c3a8daf23f1fa58334780e0d066670b966cb86b01187" +const ProviderVersion = "1.118.0" +const ProviderChecksumLinuxAmd64 = "effcaf3009ec5d5cd25dada140f05a663c7752968e6546096c8645d00f8633cb" +const ProviderChecksumLinuxArm64 = "b2ce09ca5014c4e41e42cfb89ae9e3c1506a4a9fdd25eb50915fd8f301c2efd5" func NewRoot() *Root { return &Root{ diff --git a/bundle/terraform_dabs_map/generated.go b/bundle/terraform_dabs_map/generated.go index 290d6889c06..f4c8ec8d7a2 100644 --- a/bundle/terraform_dabs_map/generated.go +++ b/bundle/terraform_dabs_map/generated.go @@ -4,7 +4,7 @@ package terraform_dabs_map // alerts / databricks_alert_v2: 1 dabs-only // alerts / databricks_alert_v2: 3 tf-only -// apps / databricks_app: 17 dabs-only +// apps / databricks_app: 16 dabs-only // apps / databricks_app: 1 tf-only // clusters / databricks_cluster: 1 dabs-only // clusters / databricks_cluster: 25 tf-only @@ -17,7 +17,7 @@ package terraform_dabs_map // model_serving_endpoints / databricks_model_serving: 2 tf-only // models / databricks_mlflow_model: 1 tf-only // pipelines / databricks_pipeline: 3 renames -// pipelines / databricks_pipeline: 23 dabs-only +// pipelines / databricks_pipeline: 7 dabs-only // pipelines / databricks_pipeline: 2 tf-only // postgres_branches / databricks_postgres_branch: 1 tf-only // postgres_branches / databricks_postgres_branch: 1 unwraps @@ -26,13 +26,11 @@ package terraform_dabs_map // postgres_endpoints / databricks_postgres_endpoint: 1 unwraps // postgres_projects / databricks_postgres_project: 1 unwraps // postgres_roles / databricks_postgres_role: 1 unwraps -// postgres_synced_tables / databricks_postgres_synced_table: 5 dabs-only // postgres_synced_tables / databricks_postgres_synced_table: 1 unwraps // schemas / databricks_schema: 1 dabs-only // schemas / databricks_schema: 1 tf-only // secret_scopes / databricks_secret_scope: 1 tf-only // sql_warehouses / databricks_sql_endpoint: 2 tf-only -// synced_database_tables / databricks_database_synced_database_table: 5 dabs-only // volumes / databricks_volume: 1 tf-only // TerraformToDABsFieldMap maps DABs group name → nested TF segments → DABs segment name. @@ -92,9 +90,6 @@ var DABsOnlyFields = map[string]FieldSet{ "file_path": {}, }, "apps": { - "app_status": { - "running_instances": {}, // apps.*.app_status.running_instances - }, "config": { "command": {}, // apps.*.config.command "env": { @@ -165,70 +160,14 @@ var DABsOnlyFields = map[string]FieldSet{ }, }, "dry_run": {}, - "ingestion_definition": { - "objects": { - "report": { - "table_configuration": { - "clustering_columns": {}, // pipelines.*.ingestion_definition.objects.report.table_configuration.clustering_columns - "enable_auto_clustering": {}, // pipelines.*.ingestion_definition.objects.report.table_configuration.enable_auto_clustering - "table_properties": { - "*": {}, // pipelines.*.ingestion_definition.objects.report.table_configuration.table_properties.* - }, - }, - }, - "schema": { - "table_configuration": { - "clustering_columns": {}, // pipelines.*.ingestion_definition.objects.schema.table_configuration.clustering_columns - "enable_auto_clustering": {}, // pipelines.*.ingestion_definition.objects.schema.table_configuration.enable_auto_clustering - "table_properties": { - "*": {}, // pipelines.*.ingestion_definition.objects.schema.table_configuration.table_properties.* - }, - }, - }, - "table": { - "table_configuration": { - "clustering_columns": {}, // pipelines.*.ingestion_definition.objects.table.table_configuration.clustering_columns - "enable_auto_clustering": {}, // pipelines.*.ingestion_definition.objects.table.table_configuration.enable_auto_clustering - "table_properties": { - "*": {}, // pipelines.*.ingestion_definition.objects.table.table_configuration.table_properties.* - }, - }, - }, - }, - "table_configuration": { - "clustering_columns": {}, // pipelines.*.ingestion_definition.table_configuration.clustering_columns - "enable_auto_clustering": {}, // pipelines.*.ingestion_definition.table_configuration.enable_auto_clustering - "table_properties": { - "*": {}, // pipelines.*.ingestion_definition.table_configuration.table_properties.* - }, - }, - }, "parameters": { "*": {}, // pipelines.*.parameters.* }, "serverless_compute_id": {}, }, - "postgres_synced_tables": { - "accelerated_sync": {}, - "type_overrides": { - "column_name": {}, // postgres_synced_tables.*.type_overrides.column_name - "pg_type": {}, // postgres_synced_tables.*.type_overrides.pg_type - "size": {}, // postgres_synced_tables.*.type_overrides.size - }, - }, "schemas": { "custom_max_retention_hours": {}, }, - "synced_database_tables": { - "spec": { - "accelerated_sync": {}, // synced_database_tables.*.spec.accelerated_sync - "type_overrides": { - "column_name": {}, // synced_database_tables.*.spec.type_overrides.column_name - "pg_type": {}, // synced_database_tables.*.spec.type_overrides.pg_type - "size": {}, // synced_database_tables.*.spec.type_overrides.size - }, - }, - }, } // TerraformOnlyFields maps DABs group name → FieldSet of TF fields with no DABs equivalent.