diff --git a/acceptance/bundle/apps/app_yaml/output.txt b/acceptance/bundle/apps/app_yaml/output.txt index 6cd79b8ce7..5033a5c50d 100644 --- a/acceptance/bundle/apps/app_yaml/output.txt +++ b/acceptance/bundle/apps/app_yaml/output.txt @@ -11,6 +11,8 @@ Validation OK! >>> [CLI] bundle plan create apps.myapp +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... diff --git a/acceptance/bundle/bundle_tag/id/output.txt b/acceptance/bundle/bundle_tag/id/output.txt index f94cd91d5e..ec9b87eeb3 100644 --- a/acceptance/bundle/bundle_tag/id/output.txt +++ b/acceptance/bundle/bundle_tag/id/output.txt @@ -32,6 +32,8 @@ Validation OK! >>> [CLI] bundle plan create jobs.foo +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... diff --git a/acceptance/bundle/bundle_tag/url/output.txt b/acceptance/bundle/bundle_tag/url/output.txt index e7f0f7d6b6..1c6cbf615b 100644 --- a/acceptance/bundle/bundle_tag/url/output.txt +++ b/acceptance/bundle/bundle_tag/url/output.txt @@ -32,6 +32,8 @@ Validation OK! >>> [CLI] bundle plan create jobs.foo +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... diff --git a/acceptance/bundle/bundle_tag/url_ref/out.plan.terraform.txt b/acceptance/bundle/bundle_tag/url_ref/out.plan.terraform.txt index bee5cee74f..aca4ae9fb6 100644 --- a/acceptance/bundle/bundle_tag/url_ref/out.plan.terraform.txt +++ b/acceptance/bundle/bundle_tag/url_ref/out.plan.terraform.txt @@ -1,2 +1,4 @@ create jobs.bar create jobs.foo + +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged diff --git a/acceptance/bundle/deploy/jobs/task-source/output.txt b/acceptance/bundle/deploy/jobs/task-source/output.txt index 287e94a092..1815edbc0e 100644 --- a/acceptance/bundle/deploy/jobs/task-source/output.txt +++ b/acceptance/bundle/deploy/jobs/task-source/output.txt @@ -16,6 +16,8 @@ Deployment complete! >>> [CLI] bundle plan update jobs.git_job +Plan: 0 to add, 1 to change, 0 to delete, 1 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/task-source/default/files... Deploying resources... diff --git a/acceptance/bundle/deploy/pipeline/auto-approve/output.txt b/acceptance/bundle/deploy/pipeline/auto-approve/output.txt index f03fbfe338..7676de41db 100644 --- a/acceptance/bundle/deploy/pipeline/auto-approve/output.txt +++ b/acceptance/bundle/deploy/pipeline/auto-approve/output.txt @@ -39,6 +39,8 @@ Deployment complete! delete jobs.foo delete pipelines.bar +Plan: 0 to add, 0 to change, 2 to delete, 0 unchanged + === Try to redeploy the bundle - should fail without --auto-approve >>> errcode [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/[UNIQUE_NAME]/files... diff --git a/acceptance/bundle/deploy/pipeline/recreate/output.txt b/acceptance/bundle/deploy/pipeline/recreate/output.txt index 4c75853b53..c3aadfe9d7 100644 --- a/acceptance/bundle/deploy/pipeline/recreate/output.txt +++ b/acceptance/bundle/deploy/pipeline/recreate/output.txt @@ -34,6 +34,8 @@ Deployment complete! recreate pipelines.foo recreate schemas.bar +Plan: 2 to add, 0 to change, 2 to delete, 0 unchanged + === Try to redeploy the bundle, pointing the DLT pipeline to a different UC catalog >>> errcode [CLI] bundle deploy --force-lock --var=catalog=another_catalog Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/[UNIQUE_NAME]/files... diff --git a/acceptance/bundle/deploy/pipeline/recreate/script b/acceptance/bundle/deploy/pipeline/recreate/script index bdad9c652d..f648dcaeff 100644 --- a/acceptance/bundle/deploy/pipeline/recreate/script +++ b/acceptance/bundle/deploy/pipeline/recreate/script @@ -11,7 +11,7 @@ title "Assert the pipeline is created" PIPELINE_ID=$($CLI bundle summary -o json | jq -r '.resources.pipelines.foo.id') trace $CLI pipelines get "${PIPELINE_ID}" | jq "{spec}" -trace $CLI bundle plan --var="catalog=another_catalog" 2>&1 | sort +trace $CLI bundle plan --var="catalog=another_catalog" 2>&1 title "Try to redeploy the bundle, pointing the DLT pipeline to a different UC catalog" trace errcode $CLI bundle deploy --force-lock --var="catalog=another_catalog" diff --git a/acceptance/bundle/lifecycle/prevent-destroy/out.direct-exp.txt b/acceptance/bundle/lifecycle/prevent-destroy/out.direct-exp.txt index 703c9f96c1..6ae4382e19 100644 --- a/acceptance/bundle/lifecycle/prevent-destroy/out.direct-exp.txt +++ b/acceptance/bundle/lifecycle/prevent-destroy/out.direct-exp.txt @@ -9,6 +9,8 @@ Exit code (musterr): 1 >>> errcode [CLI] bundle plan recreate pipelines.my_pipelines +Plan: 1 to add, 0 to change, 1 to delete, 1 unchanged + >>> musterr [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/prevent-destroy/default/files... Error: resources.pipelines.my_pipelines has lifecycle.prevent_destroy set, but the plan calls for this resource to be recreated or destroyed. To avoid this error, disable lifecycle.prevent_destroy for resources.pipelines.my_pipelines @@ -20,6 +22,8 @@ Exit code (musterr): 1 recreate pipelines.my_pipelines recreate schemas.my_schema +Plan: 2 to add, 0 to change, 2 to delete, 0 unchanged + >>> musterr [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/prevent-destroy/default/files... Error: resources.pipelines.my_pipelines has lifecycle.prevent_destroy set, but the plan calls for this resource to be recreated or destroyed. To avoid this error, disable lifecycle.prevent_destroy for resources.pipelines.my_pipelines @@ -32,6 +36,8 @@ Exit code (musterr): 1 recreate pipelines.my_pipelines recreate schemas.my_schema +Plan: 2 to add, 0 to change, 2 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/prevent-destroy/default/files... @@ -51,6 +57,8 @@ Deployment complete! delete pipelines.my_pipelines delete schemas.my_schema +Plan: 0 to add, 0 to change, 2 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/prevent-destroy/default/files... diff --git a/acceptance/bundle/lifecycle/prevent-destroy/out.terraform.txt b/acceptance/bundle/lifecycle/prevent-destroy/out.terraform.txt index 3c78d4985c..aafd8e14c7 100644 --- a/acceptance/bundle/lifecycle/prevent-destroy/out.terraform.txt +++ b/acceptance/bundle/lifecycle/prevent-destroy/out.terraform.txt @@ -120,6 +120,8 @@ Exit code (musterr): 1 recreate pipelines.my_pipelines recreate schemas.my_schema +Plan: 2 to add, 0 to change, 2 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/prevent-destroy/default/files... @@ -139,6 +141,8 @@ Deployment complete! delete pipelines.my_pipelines delete schemas.my_schema +Plan: 0 to add, 0 to change, 2 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/prevent-destroy/default/files... diff --git a/acceptance/bundle/lifecycle/prevent-destroy/output.txt b/acceptance/bundle/lifecycle/prevent-destroy/output.txt index 33bdbbc346..6a0f626b37 100644 --- a/acceptance/bundle/lifecycle/prevent-destroy/output.txt +++ b/acceptance/bundle/lifecycle/prevent-destroy/output.txt @@ -15,3 +15,4 @@ Updating deployment state... Deployment complete! >>> errcode [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 2 unchanged diff --git a/acceptance/bundle/plan/no_upload/output.txt b/acceptance/bundle/plan/no_upload/output.txt index 8997a8b2f2..e6cc86840a 100644 --- a/acceptance/bundle/plan/no_upload/output.txt +++ b/acceptance/bundle/plan/no_upload/output.txt @@ -2,4 +2,6 @@ >>> [CLI] bundle plan create jobs.my_job +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> jq -s .[] | select(.method != "GET") out.requests.txt diff --git a/acceptance/bundle/resource_deps/bad_syntax/out.plan.direct-exp.txt b/acceptance/bundle/resource_deps/bad_syntax/out.plan.direct-exp.txt index 097c41a2cf..1a40fdbaa3 100644 --- a/acceptance/bundle/resource_deps/bad_syntax/out.plan.direct-exp.txt +++ b/acceptance/bundle/resource_deps/bad_syntax/out.plan.direct-exp.txt @@ -1,2 +1,4 @@ create volumes.bar create volumes.foo + +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged diff --git a/acceptance/bundle/resource_deps/create_error/output.txt b/acceptance/bundle/resource_deps/create_error/output.txt index 44997eb857..5c73d60474 100644 --- a/acceptance/bundle/resource_deps/create_error/output.txt +++ b/acceptance/bundle/resource_deps/create_error/output.txt @@ -5,6 +5,8 @@ create jobs.baz create jobs.foo create jobs.independent +Plan: 4 to add, 0 to change, 0 to delete, 0 unchanged + >>> print_sorted_requests { "body": { @@ -70,6 +72,8 @@ create jobs.bar create jobs.baz create jobs.foo +Plan: 3 to add, 0 to change, 0 to delete, 1 unchanged + === Expecting no difference in the output between first and second deploy >>> print_requests { diff --git a/acceptance/bundle/resource_deps/id_chain/output.txt b/acceptance/bundle/resource_deps/id_chain/output.txt index ba119778f9..7e6019b6ea 100644 --- a/acceptance/bundle/resource_deps/id_chain/output.txt +++ b/acceptance/bundle/resource_deps/id_chain/output.txt @@ -6,6 +6,8 @@ create jobs.c create jobs.d create jobs.e +Plan: 5 to add, 0 to change, 0 to delete, 0 unchanged + >>> print_requests >>> [CLI] bundle deploy @@ -32,6 +34,8 @@ update jobs.c update jobs.d update jobs.e +Plan: 0 to add, 5 to change, 0 to delete, 0 unchanged + >>> print_requests >>> [CLI] bundle deploy diff --git a/acceptance/bundle/resource_deps/job_id/output.txt b/acceptance/bundle/resource_deps/job_id/output.txt index 0de46706a2..6917dcb74b 100644 --- a/acceptance/bundle/resource_deps/job_id/output.txt +++ b/acceptance/bundle/resource_deps/job_id/output.txt @@ -3,6 +3,8 @@ create jobs.bar create jobs.foo +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... diff --git a/acceptance/bundle/resource_deps/jobs_update/output.txt b/acceptance/bundle/resource_deps/jobs_update/output.txt index 26ab67029b..e0eb8796e7 100644 --- a/acceptance/bundle/resource_deps/jobs_update/output.txt +++ b/acceptance/bundle/resource_deps/jobs_update/output.txt @@ -3,6 +3,8 @@ create jobs.bar create jobs.foo +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... @@ -63,6 +65,7 @@ Deployment complete! } >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 2 unchanged === Update trigger.periodic.unit and re-deploy; jobs.bar is unchanged >>> update_file.py databricks.yml DAYS HOURS @@ -70,6 +73,8 @@ Deployment complete! >>> [CLI] bundle plan update jobs.foo +Plan: 0 to add, 1 to change, 0 to delete, 1 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... @@ -115,6 +120,7 @@ Deployment complete! } >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 2 unchanged === Fetch job ID and verify remote state >>> [CLI] jobs get [FOO_ID] diff --git a/acceptance/bundle/resource_deps/missing_string_field/out.plan.direct-exp.txt b/acceptance/bundle/resource_deps/missing_string_field/out.plan.direct-exp.txt index 78328158fe..35e13365cd 100644 --- a/acceptance/bundle/resource_deps/missing_string_field/out.plan.direct-exp.txt +++ b/acceptance/bundle/resource_deps/missing_string_field/out.plan.direct-exp.txt @@ -4,3 +4,5 @@ Warning: expected a string value, found null create pipelines.bar create pipelines.foo + +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged diff --git a/acceptance/bundle/resource_deps/missing_string_field/out.plan.terraform.txt b/acceptance/bundle/resource_deps/missing_string_field/out.plan.terraform.txt index 1aa5fa515e..11226504b4 100644 --- a/acceptance/bundle/resource_deps/missing_string_field/out.plan.terraform.txt +++ b/acceptance/bundle/resource_deps/missing_string_field/out.plan.terraform.txt @@ -1,2 +1,4 @@ create pipelines.bar create pipelines.foo + +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged diff --git a/acceptance/bundle/resource_deps/pipelines_recreate/output.txt b/acceptance/bundle/resource_deps/pipelines_recreate/output.txt index 52d9e67644..5467feef48 100644 --- a/acceptance/bundle/resource_deps/pipelines_recreate/output.txt +++ b/acceptance/bundle/resource_deps/pipelines_recreate/output.txt @@ -3,6 +3,8 @@ create jobs.bar create pipelines.foo +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... @@ -44,6 +46,7 @@ Deployment complete! } >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 2 unchanged === Update catalog, triggering recreate for pipeline; this means updating downstream deps >>> update_file.py databricks.yml mycatalog mynewcatalog @@ -52,6 +55,8 @@ Deployment complete! update jobs.bar recreate pipelines.foo +Plan: 1 to add, 1 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... @@ -153,6 +158,7 @@ Exit code (musterr): 1 === Follow up plan & deploy do nothing >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 2 unchanged >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... diff --git a/acceptance/bundle/resource_deps/present_ingestion_definition/out.plan.direct-exp.txt b/acceptance/bundle/resource_deps/present_ingestion_definition/out.plan.direct-exp.txt index 1aa5fa515e..11226504b4 100644 --- a/acceptance/bundle/resource_deps/present_ingestion_definition/out.plan.direct-exp.txt +++ b/acceptance/bundle/resource_deps/present_ingestion_definition/out.plan.direct-exp.txt @@ -1,2 +1,4 @@ create pipelines.bar create pipelines.foo + +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged diff --git a/acceptance/bundle/resource_deps/remote_app_url/output.txt b/acceptance/bundle/resource_deps/remote_app_url/output.txt index 4f5d31a65c..9722df4eb6 100644 --- a/acceptance/bundle/resource_deps/remote_app_url/output.txt +++ b/acceptance/bundle/resource_deps/remote_app_url/output.txt @@ -12,6 +12,8 @@ Validation OK! create apps.myapp create pipelines.mypipeline +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged + >>> print_requests { "body": { diff --git a/acceptance/bundle/resource_deps/remote_field_storage_location/output.txt b/acceptance/bundle/resource_deps/remote_field_storage_location/output.txt index 7752a9c61d..c37590cfb3 100644 --- a/acceptance/bundle/resource_deps/remote_field_storage_location/output.txt +++ b/acceptance/bundle/resource_deps/remote_field_storage_location/output.txt @@ -29,6 +29,8 @@ create schemas.my create volumes.bar create volumes.foo +Plan: 3 to add, 0 to change, 0 to delete, 0 unchanged + >>> print_requests >>> [CLI] bundle deploy diff --git a/acceptance/bundle/resources/apps/update/output.txt b/acceptance/bundle/resources/apps/update/output.txt index d4ebc25fd3..72bf6b0ec8 100644 --- a/acceptance/bundle/resources/apps/update/output.txt +++ b/acceptance/bundle/resources/apps/update/output.txt @@ -2,6 +2,8 @@ >>> [CLI] bundle plan create apps.mykey +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... @@ -36,6 +38,8 @@ Resources: >>> [CLI] bundle plan update apps.mykey +Plan: 0 to add, 1 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle deploy Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... Deploying resources... @@ -70,6 +74,8 @@ Resources: >>> [CLI] bundle plan recreate apps.mykey +Plan: 1 to add, 0 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle summary Name: test-bundle Target: default @@ -104,6 +110,7 @@ Deployment complete! } >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged >>> [CLI] bundle summary Name: test-bundle diff --git a/acceptance/bundle/resources/jobs/update/output.txt b/acceptance/bundle/resources/jobs/update/output.txt index 525437ebf1..6898f3a33e 100644 --- a/acceptance/bundle/resources/jobs/update/output.txt +++ b/acceptance/bundle/resources/jobs/update/output.txt @@ -2,6 +2,8 @@ >>> [CLI] bundle plan create jobs.foo +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { @@ -18,6 +20,7 @@ Updating deployment state... Deployment complete! >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged >>> [CLI] bundle plan -o json { @@ -66,6 +69,8 @@ jobs foo id='[JOB_ID]' name='foo' >>> [CLI] bundle plan update jobs.foo +Plan: 0 to add, 1 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { @@ -82,6 +87,7 @@ Updating deployment state... Deployment complete! >>> [CLI] bundle plan +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged >>> [CLI] bundle plan -o json { diff --git a/acceptance/bundle/resources/pipelines/recreate/change-catalog/output.txt b/acceptance/bundle/resources/pipelines/recreate/change-catalog/output.txt index 21655e7cbd..3cb16c0493 100644 --- a/acceptance/bundle/resources/pipelines/recreate/change-catalog/output.txt +++ b/acceptance/bundle/resources/pipelines/recreate/change-catalog/output.txt @@ -17,6 +17,8 @@ resources: >>> [CLI] bundle plan create pipelines.my +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { @@ -60,6 +62,8 @@ Deployment complete! >>> [CLI] bundle plan recreate pipelines.my +Plan: 1 to add, 0 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { diff --git a/acceptance/bundle/resources/pipelines/recreate/change-ingestion-definition/output.txt b/acceptance/bundle/resources/pipelines/recreate/change-ingestion-definition/output.txt index 0928ebb638..9d7a603af6 100644 --- a/acceptance/bundle/resources/pipelines/recreate/change-ingestion-definition/output.txt +++ b/acceptance/bundle/resources/pipelines/recreate/change-ingestion-definition/output.txt @@ -17,6 +17,8 @@ resources: >>> [CLI] bundle plan create pipelines.my +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { @@ -65,6 +67,8 @@ Deployment complete! >>> [CLI] bundle plan recreate pipelines.my +Plan: 1 to add, 0 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { diff --git a/acceptance/bundle/resources/pipelines/recreate/change-storage/output.txt b/acceptance/bundle/resources/pipelines/recreate/change-storage/output.txt index 0ea3b9ab08..3102603566 100644 --- a/acceptance/bundle/resources/pipelines/recreate/change-storage/output.txt +++ b/acceptance/bundle/resources/pipelines/recreate/change-storage/output.txt @@ -17,6 +17,8 @@ resources: >>> [CLI] bundle plan create pipelines.my +Plan: 1 to add, 0 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { @@ -60,6 +62,8 @@ Deployment complete! >>> [CLI] bundle plan recreate pipelines.my +Plan: 1 to add, 0 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle plan -o json { "plan": { diff --git a/acceptance/bundle/resources/schemas/recreate/output.txt b/acceptance/bundle/resources/schemas/recreate/output.txt index a4ec4beff2..94a306b337 100644 --- a/acceptance/bundle/resources/schemas/recreate/output.txt +++ b/acceptance/bundle/resources/schemas/recreate/output.txt @@ -33,6 +33,8 @@ Deployment complete! >>> [CLI] bundle plan recreate schemas.schema1 +Plan: 1 to add, 0 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... diff --git a/acceptance/bundle/resources/volumes/change-name/output.txt b/acceptance/bundle/resources/volumes/change-name/output.txt index 5250f26004..bd1f98c058 100644 --- a/acceptance/bundle/resources/volumes/change-name/output.txt +++ b/acceptance/bundle/resources/volumes/change-name/output.txt @@ -39,6 +39,8 @@ Deployment complete! >>> [CLI] bundle plan update volumes.volume1 +Plan: 0 to add, 1 to change, 0 to delete, 0 unchanged + >>> [CLI] bundle plan -o json >>> [CLI] bundle deploy diff --git a/acceptance/bundle/resources/volumes/change-schema-name/output.txt b/acceptance/bundle/resources/volumes/change-schema-name/output.txt index 724626d90b..d43924e700 100644 --- a/acceptance/bundle/resources/volumes/change-schema-name/output.txt +++ b/acceptance/bundle/resources/volumes/change-schema-name/output.txt @@ -39,6 +39,8 @@ Deployment complete! >>> [CLI] bundle plan recreate volumes.volume1 +Plan: 1 to add, 0 to change, 1 to delete, 0 unchanged + >>> [CLI] bundle deploy --auto-approve Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... diff --git a/acceptance/bundle/resources/volumes/set-storage-location/output.txt b/acceptance/bundle/resources/volumes/set-storage-location/output.txt index 7b6816dd49..f8b7493908 100644 --- a/acceptance/bundle/resources/volumes/set-storage-location/output.txt +++ b/acceptance/bundle/resources/volumes/set-storage-location/output.txt @@ -3,6 +3,8 @@ create schemas.myschema create volumes.volume1 +Plan: 2 to add, 0 to change, 0 to delete, 0 unchanged + >>> print_requests >>> musterr [CLI] bundle deploy diff --git a/cmd/bundle/plan.go b/cmd/bundle/plan.go index ad4ac9ed83..a2d91d8491 100644 --- a/cmd/bundle/plan.go +++ b/cmd/bundle/plan.go @@ -8,6 +8,7 @@ import ( "github.com/databricks/cli/bundle" "github.com/databricks/cli/bundle/config/validate" + "github.com/databricks/cli/bundle/deployplan" "github.com/databricks/cli/bundle/phases" "github.com/databricks/cli/cmd/bundle/utils" "github.com/databricks/cli/cmd/root" @@ -79,14 +80,56 @@ func newPlanCommand() *cobra.Command { return root.ErrAlreadyPrinted } + // Count actions by type and collect formatted actions + createCount := 0 + updateCount := 0 + deleteCount := 0 + changed := make(map[string]bool) + + for _, change := range plan.GetActions() { + changed[change.ResourceKey] = true + switch change.ActionType { + case deployplan.ActionTypeCreate: + createCount++ + case deployplan.ActionTypeUpdate, deployplan.ActionTypeUpdateWithID: + updateCount++ + case deployplan.ActionTypeDelete: + deleteCount++ + case deployplan.ActionTypeRecreate, deployplan.ActionTypeResize: + // A recreate counts as both a delete and a create + deleteCount++ + createCount++ + case deployplan.ActionTypeNoop, deployplan.ActionTypeUnset: + // Noop + } + } + + // Calculate number of all unchanged resources + unchanged := 0 + for _, group := range b.Config.Resources.AllResources() { + for rKey := range group.Resources { + resourceKey := "resources." + group.Description.PluralName + "." + rKey + if _, ok := changed[resourceKey]; !ok { + unchanged++ + } + } + } + out := cmd.OutOrStdout() switch root.OutputType(cmd) { case flags.OutputText: - for _, action := range plan.GetActions() { - key := strings.TrimPrefix(action.ResourceKey, "resources.") - fmt.Fprintf(out, "%s %s\n", action.ActionType.StringShort(), key) + // Print summary line and actions to stdout + totalChanges := createCount + updateCount + deleteCount + if totalChanges > 0 { + // Print all actions in the order they were processed + for _, action := range plan.GetActions() { + key := strings.TrimPrefix(action.ResourceKey, "resources.") + fmt.Fprintf(out, "%s %s\n", action.ActionType.StringShort(), key) + } + fmt.Fprintln(out) } + fmt.Fprintf(out, "Plan: %d to add, %d to change, %d to delete, %d unchanged\n", createCount, updateCount, deleteCount, unchanged) case flags.OutputJSON: buf, err := json.MarshalIndent(plan, "", " ") if err != nil {