diff --git a/acceptance/bundle/artifacts/whl_change_version/output.txt b/acceptance/bundle/artifacts/whl_change_version/output.txt index 0bb713101e..3763147695 100644 --- a/acceptance/bundle/artifacts/whl_change_version/output.txt +++ b/acceptance/bundle/artifacts/whl_change_version/output.txt @@ -63,9 +63,10 @@ dist/my_test_code-0.1.0-py3-none-any.whl dist/my_test_code-0.2.0-py3-none-any.whl === Expecting 1 wheel in libraries section in /jobs/reset ->>> jq -s .[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks out.requests.txt +>>> jq -s .[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks | map({task_key, existing_cluster_id, libraries, python_wheel_task}) out.requests.txt [ { + "task_key": "TestTask", "existing_cluster_id": "0717-aaaaa-bbbbbb", "libraries": [ { @@ -75,8 +76,7 @@ dist/my_test_code-0.2.0-py3-none-any.whl "python_wheel_task": { "entry_point": "run", "package_name": "my_test_code" - }, - "task_key": "TestTask" + } } ] @@ -109,9 +109,10 @@ dist/my_test_code-0.1.0-py3-none-any.whl dist/my_test_code-0.2.0-py3-none-any.whl === Expecting 1 wheel in libraries section in /jobs/reset ->>> jq -s .[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks out.requests.txt +>>> jq -s .[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks | map({task_key, existing_cluster_id, libraries, python_wheel_task}) out.requests.txt [ { + "task_key": "TestTask", "existing_cluster_id": "0717-aaaaa-bbbbbb", "libraries": [ { @@ -121,8 +122,7 @@ dist/my_test_code-0.2.0-py3-none-any.whl "python_wheel_task": { "entry_point": "run", "package_name": "my_test_code" - }, - "task_key": "TestTask" + } } ] diff --git a/acceptance/bundle/artifacts/whl_change_version/script b/acceptance/bundle/artifacts/whl_change_version/script index 2ccc104307..86ce24eca4 100644 --- a/acceptance/bundle/artifacts/whl_change_version/script +++ b/acceptance/bundle/artifacts/whl_change_version/script @@ -17,7 +17,7 @@ trace $CLI bundle deploy trace find.py --expect 2 whl # there are now 2 wheels on disk title "Expecting 1 wheel in libraries section in /jobs/reset" -trace jq -s '.[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks' out.requests.txt +trace jq -s '.[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks | map({task_key, existing_cluster_id, libraries, python_wheel_task})' out.requests.txt title "Expecting 1 wheel to be uploaded" trace jq .path out.requests.txt | grep import | sort @@ -31,7 +31,7 @@ trace $CLI bundle deploy trace find.py --expect 2 whl title "Expecting 1 wheel in libraries section in /jobs/reset" -trace jq -s '.[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks' out.requests.txt +trace jq -s '.[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks | map({task_key, existing_cluster_id, libraries, python_wheel_task})' out.requests.txt title "Expecting 1 wheel to be uploaded" trace jq .path out.requests.txt | grep import | sort diff --git a/acceptance/bundle/artifacts/whl_dynamic/out.plan_update.direct.json b/acceptance/bundle/artifacts/whl_dynamic/out.plan_update.direct.json index 81d5287668..8586de5fc4 100644 --- a/acceptance/bundle/artifacts/whl_dynamic/out.plan_update.direct.json +++ b/acceptance/bundle/artifacts/whl_dynamic/out.plan_update.direct.json @@ -104,14 +104,21 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "environment_key": "test_env", "python_wheel_task": { "entry_point": "run", "package_name": "my_test_code" }, - "task_key": "ServerlessTestTask" + "run_if": "ALL_SUCCESS", + "task_key": "ServerlessTestTask", + "timeout_seconds": 0, + "webhook_notifications": {} }, { + "disabled": false, + "email_notifications": {}, "existing_cluster_id": "0717-132531-5opeqon1", "for_each_task": { "inputs": "[1]", @@ -141,7 +148,10 @@ "entry_point": "run", "package_name": "my_test_code" }, - "task_key": "TestTask" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -159,6 +169,41 @@ "new": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl" }, + "tasks[task_key='ServerlessTestTask'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='ServerlessTestTask'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='ServerlessTestTask'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='ServerlessTestTask'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='ServerlessTestTask'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='TestTask'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='TestTask'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='TestTask'].for_each_task.task.libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl", @@ -171,6 +216,21 @@ "new": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl" }, + "tasks[task_key='TestTask'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='TestTask'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='TestTask'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/artifacts/whl_dynamic/output.txt b/acceptance/bundle/artifacts/whl_dynamic/output.txt index af0090141a..909c1526d8 100644 --- a/acceptance/bundle/artifacts/whl_dynamic/output.txt +++ b/acceptance/bundle/artifacts/whl_dynamic/output.txt @@ -127,18 +127,31 @@ my_test_code-0.0.1+[UNIX_TIME_NANOS][2].dist-info/top_level.txt my_test_code-0.0.1+[UNIX_TIME_NANOS][2].dist-info/RECORD === Expecting 2 patched wheels in libraries section in /jobs/reset ->>> jq -s .[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks out.requests.txt +>>> jq -s .[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks | map({task_key, existing_cluster_id, libraries, python_wheel_task, environment_key, for_each_task} | with_entries(select(.value != null))) out.requests.txt [ { - "environment_key": "test_env", + "task_key": "ServerlessTestTask", "python_wheel_task": { "entry_point": "run", "package_name": "my_test_code" }, - "task_key": "ServerlessTestTask" + "environment_key": "test_env" }, { + "task_key": "TestTask", "existing_cluster_id": "0717-132531-5opeqon1", + "libraries": [ + { + "whl": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl" + }, + { + "whl": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/other_test_code-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl" + } + ], + "python_wheel_task": { + "entry_point": "run", + "package_name": "my_test_code" + }, "for_each_task": { "inputs": "[1]", "task": { @@ -154,20 +167,7 @@ my_test_code-0.0.1+[UNIX_TIME_NANOS][2].dist-info/RECORD }, "task_key": "SubTask" } - }, - "libraries": [ - { - "whl": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/my_test_code-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl" - }, - { - "whl": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/artifacts/.internal/other_test_code-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl" - } - ], - "python_wheel_task": { - "entry_point": "run", - "package_name": "my_test_code" - }, - "task_key": "TestTask" + } } ] diff --git a/acceptance/bundle/artifacts/whl_dynamic/script b/acceptance/bundle/artifacts/whl_dynamic/script index 97182d71d1..b85756651e 100644 --- a/acceptance/bundle/artifacts/whl_dynamic/script +++ b/acceptance/bundle/artifacts/whl_dynamic/script @@ -32,7 +32,7 @@ title "Verify contents, it should now have new_module.py" trace find.py --expect 1 '.databricks/.*my_test_code.*whl' | xargs ziplist.py title "Expecting 2 patched wheels in libraries section in /jobs/reset" -trace jq -s '.[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks' out.requests.txt +trace jq -s '.[] | select(.path=="/api/2.2/jobs/reset") | .body.new_settings.tasks | map({task_key, existing_cluster_id, libraries, python_wheel_task, environment_key, for_each_task} | with_entries(select(.value != null)))' out.requests.txt title "Expecting 2 pached wheels to be uploaded (Bad: it is currently uploaded twice)" trace jq .path < out.requests.txt | grep import | grep whl | sort diff --git a/acceptance/bundle/deploy/experimental-python/output.txt b/acceptance/bundle/deploy/experimental-python/output.txt index e84651de85..5443656367 100644 --- a/acceptance/bundle/deploy/experimental-python/output.txt +++ b/acceptance/bundle/deploy/experimental-python/output.txt @@ -26,11 +26,16 @@ Deployment complete! }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files/my_notebook", "source": "WORKSPACE" }, - "task_key": "my_notebook" + "run_if": "ALL_SUCCESS", + "task_key": "my_notebook", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/deploy/python-notebook/output.txt b/acceptance/bundle/deploy/python-notebook/output.txt index f2e889cc07..404792d5c6 100644 --- a/acceptance/bundle/deploy/python-notebook/output.txt +++ b/acceptance/bundle/deploy/python-notebook/output.txt @@ -26,11 +26,16 @@ Deployment complete! }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files/my_notebook", "source": "WORKSPACE" }, - "task_key": "my_notebook" + "run_if": "ALL_SUCCESS", + "task_key": "my_notebook", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/migrate/basic/out.original_state.json b/acceptance/bundle/migrate/basic/out.original_state.json index c627b55df8..f4290d687d 100644 --- a/acceptance/bundle/migrate/basic/out.original_state.json +++ b/acceptance/bundle/migrate/basic/out.original_state.json @@ -88,7 +88,16 @@ "description": "", "disable_auto_optimization": false, "disabled": false, - "email_notifications": [], + "email_notifications": [ + { + "no_alert_for_skipped_runs": false, + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ], "environment_key": "", "existing_cluster_id": "", "for_each_task": [], @@ -112,7 +121,7 @@ "power_bi_task": [], "python_wheel_task": [], "retry_on_timeout": false, - "run_if": "", + "run_if": "ALL_SUCCESS", "run_job_task": [], "spark_jar_task": [], "spark_python_task": [], @@ -120,7 +129,15 @@ "sql_task": [], "task_key": "main", "timeout_seconds": 0, - "webhook_notifications": [] + "webhook_notifications": [ + { + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ] } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/migrate/basic/out.plan_update.json b/acceptance/bundle/migrate/basic/out.plan_update.json index c02c2b2d73..4e58b3c9dd 100644 --- a/acceptance/bundle/migrate/basic/out.plan_update.json +++ b/acceptance/bundle/migrate/basic/out.plan_update.json @@ -48,11 +48,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/migrate-basic-test/dev/files/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -70,11 +75,36 @@ "new": "Test Migrated Job", "remote": "Test Migration Job" }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='main'].notebook_task.source": { "action": "skip", "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/migrate/default-python/out.plan_after_deploy.json b/acceptance/bundle/migrate/default-python/out.plan_after_deploy.json index a564aec446..e8a7974512 100644 --- a/acceptance/bundle/migrate/default-python/out.plan_after_deploy.json +++ b/acceptance/bundle/migrate/default-python/out.plan_after_deploy.json @@ -156,6 +156,8 @@ }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -166,7 +168,10 @@ "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/files/src/sample_notebook", "source": "WORKSPACE" }, - "task_key": "notebook_task" + "run_if": "ALL_SUCCESS", + "task_key": "notebook_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -174,6 +179,8 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -190,7 +197,10 @@ "[USERNAME]" ] }, - "task_key": "python_wheel_task" + "run_if": "ALL_SUCCESS", + "task_key": "python_wheel_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -198,10 +208,15 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "pipeline_task": { "pipeline_id": "[UUID]" }, - "task_key": "refresh_pipeline" + "run_if": "ALL_SUCCESS", + "task_key": "refresh_pipeline", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -220,6 +235,16 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", @@ -231,12 +256,77 @@ "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='python_wheel_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", "new": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl" }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/migrate/default-python/out.plan_after_migration.json b/acceptance/bundle/migrate/default-python/out.plan_after_migration.json index 5eec54fda2..2592dd5a82 100644 --- a/acceptance/bundle/migrate/default-python/out.plan_after_migration.json +++ b/acceptance/bundle/migrate/default-python/out.plan_after_migration.json @@ -156,6 +156,8 @@ }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -166,7 +168,10 @@ "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/files/src/sample_notebook", "source": "WORKSPACE" }, - "task_key": "notebook_task" + "run_if": "ALL_SUCCESS", + "task_key": "notebook_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -174,6 +179,8 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -190,7 +197,10 @@ "[USERNAME]" ] }, - "task_key": "python_wheel_task" + "run_if": "ALL_SUCCESS", + "task_key": "python_wheel_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -198,10 +208,15 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "pipeline_task": { "pipeline_id": "[UUID]" }, - "task_key": "refresh_pipeline" + "run_if": "ALL_SUCCESS", + "task_key": "refresh_pipeline", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -220,6 +235,16 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl", @@ -231,12 +256,77 @@ "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='python_wheel_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl", "new": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl" }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/migrate/default-python/out.state_original.json b/acceptance/bundle/migrate/default-python/out.state_original.json index 12c9295626..968eef9209 100644 --- a/acceptance/bundle/migrate/default-python/out.state_original.json +++ b/acceptance/bundle/migrate/default-python/out.state_original.json @@ -151,7 +151,16 @@ "description": "", "disable_auto_optimization": false, "disabled": false, - "email_notifications": [], + "email_notifications": [ + { + "no_alert_for_skipped_runs": false, + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ], "environment_key": "", "existing_cluster_id": "", "for_each_task": [], @@ -186,7 +195,7 @@ "power_bi_task": [], "python_wheel_task": [], "retry_on_timeout": false, - "run_if": "", + "run_if": "ALL_SUCCESS", "run_job_task": [], "spark_jar_task": [], "spark_python_task": [], @@ -194,7 +203,15 @@ "sql_task": [], "task_key": "notebook_task", "timeout_seconds": 0, - "webhook_notifications": [] + "webhook_notifications": [ + { + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ] }, { "clean_rooms_notebook_task": [], @@ -212,7 +229,16 @@ "description": "", "disable_auto_optimization": false, "disabled": false, - "email_notifications": [], + "email_notifications": [ + { + "no_alert_for_skipped_runs": false, + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ], "environment_key": "", "existing_cluster_id": "", "for_each_task": [], @@ -252,7 +278,7 @@ } ], "retry_on_timeout": false, - "run_if": "", + "run_if": "ALL_SUCCESS", "run_job_task": [], "spark_jar_task": [], "spark_python_task": [], @@ -260,7 +286,15 @@ "sql_task": [], "task_key": "python_wheel_task", "timeout_seconds": 0, - "webhook_notifications": [] + "webhook_notifications": [ + { + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ] }, { "clean_rooms_notebook_task": [], @@ -278,7 +312,16 @@ "description": "", "disable_auto_optimization": false, "disabled": false, - "email_notifications": [], + "email_notifications": [ + { + "no_alert_for_skipped_runs": false, + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ], "environment_key": "", "existing_cluster_id": "", "for_each_task": [], @@ -300,7 +343,7 @@ "power_bi_task": [], "python_wheel_task": [], "retry_on_timeout": false, - "run_if": "", + "run_if": "ALL_SUCCESS", "run_job_task": [], "spark_jar_task": [], "spark_python_task": [], @@ -308,7 +351,15 @@ "sql_task": [], "task_key": "refresh_pipeline", "timeout_seconds": 0, - "webhook_notifications": [] + "webhook_notifications": [ + { + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ] } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/migrate/default-python/output.txt b/acceptance/bundle/migrate/default-python/output.txt index 2dddc70985..2c5fb6c4a5 100644 --- a/acceptance/bundle/migrate/default-python/output.txt +++ b/acceptance/bundle/migrate/default-python/output.txt @@ -79,6 +79,16 @@ Building python_artifact... "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", @@ -90,12 +100,77 @@ Building python_artifact... "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='python_wheel_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", "new": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl" }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", @@ -153,6 +228,16 @@ Building python_artifact... "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", @@ -164,12 +249,77 @@ Building python_artifact... "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='python_wheel_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", "new": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][2]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl" }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/migrate/permissions/out.original_state.json b/acceptance/bundle/migrate/permissions/out.original_state.json index 9875319496..7d75b9b316 100644 --- a/acceptance/bundle/migrate/permissions/out.original_state.json +++ b/acceptance/bundle/migrate/permissions/out.original_state.json @@ -88,7 +88,16 @@ "description": "", "disable_auto_optimization": false, "disabled": false, - "email_notifications": [], + "email_notifications": [ + { + "no_alert_for_skipped_runs": false, + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ], "environment_key": "", "existing_cluster_id": "", "for_each_task": [], @@ -112,7 +121,7 @@ "power_bi_task": [], "python_wheel_task": [], "retry_on_timeout": false, - "run_if": "", + "run_if": "ALL_SUCCESS", "run_job_task": [], "spark_jar_task": [], "spark_python_task": [], @@ -120,7 +129,15 @@ "sql_task": [], "task_key": "main", "timeout_seconds": 0, - "webhook_notifications": [] + "webhook_notifications": [ + { + "on_duration_warning_threshold_exceeded": [], + "on_failure": [], + "on_start": [], + "on_streaming_backlog_exceeded": [], + "on_success": [] + } + ] } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/resource_deps/job_id/out.plan_delete.direct.json b/acceptance/bundle/resource_deps/job_id/out.plan_delete.direct.json index 647c12056b..8df8ec23f7 100644 --- a/acceptance/bundle/resource_deps/job_id/out.plan_delete.direct.json +++ b/acceptance/bundle/resource_deps/job_id/out.plan_delete.direct.json @@ -54,10 +54,15 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, + "run_if": "ALL_SUCCESS", "run_job_task": { "job_id": [BAR_ID] }, - "task_key": "job_task" + "task_key": "job_task", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/resource_deps/job_id_delete_bar/out.plan_delete.direct.json b/acceptance/bundle/resource_deps/job_id_delete_bar/out.plan_delete.direct.json index 4bae7511fc..fe398b0bc9 100644 --- a/acceptance/bundle/resource_deps/job_id_delete_bar/out.plan_delete.direct.json +++ b/acceptance/bundle/resource_deps/job_id_delete_bar/out.plan_delete.direct.json @@ -63,10 +63,15 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, + "run_if": "ALL_SUCCESS", "run_job_task": { "job_id": [BAR_ID] }, - "task_key": "job_task" + "task_key": "job_task", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -90,10 +95,15 @@ ], "remote": [ { + "disabled": false, + "email_notifications": {}, + "run_if": "ALL_SUCCESS", "run_job_task": { "job_id": [BAR_ID] }, - "task_key": "job_task" + "task_key": "job_task", + "timeout_seconds": 0, + "webhook_notifications": {} } ] }, diff --git a/acceptance/bundle/resource_deps/job_id_delete_foo/out.plan_delete.direct.json b/acceptance/bundle/resource_deps/job_id_delete_foo/out.plan_delete.direct.json index 67186216f7..c2af76fba7 100644 --- a/acceptance/bundle/resource_deps/job_id_delete_foo/out.plan_delete.direct.json +++ b/acceptance/bundle/resource_deps/job_id_delete_foo/out.plan_delete.direct.json @@ -71,10 +71,15 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, + "run_if": "ALL_SUCCESS", "run_job_task": { "job_id": [BAR_ID] }, - "task_key": "job_task" + "task_key": "job_task", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/resources/jobs/delete_job/out.plan.direct.json b/acceptance/bundle/resources/jobs/delete_job/out.plan.direct.json index e55636471c..7e70f90d6c 100644 --- a/acceptance/bundle/resources/jobs/delete_job/out.plan.direct.json +++ b/acceptance/bundle/resources/jobs/delete_job/out.plan.direct.json @@ -25,6 +25,8 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "existing_cluster_id": "0717-132531-5opeqon1", "libraries": [ { @@ -35,9 +37,14 @@ "entry_point": "run", "package_name": "whl" }, - "task_key": "TestTask1" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask1", + "timeout_seconds": 0, + "webhook_notifications": {} }, { + "disabled": false, + "email_notifications": {}, "for_each_task": { "inputs": "[1]", "task": { @@ -54,7 +61,10 @@ "task_key": "TestTask2" } }, - "task_key": "TestTask2" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask2", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, diff --git a/acceptance/bundle/resources/jobs/delete_task/out.plan_update.direct.json b/acceptance/bundle/resources/jobs/delete_task/out.plan_update.direct.json index 4227cfc0d2..66254a5d4a 100644 --- a/acceptance/bundle/resources/jobs/delete_task/out.plan_update.direct.json +++ b/acceptance/bundle/resources/jobs/delete_task/out.plan_update.direct.json @@ -61,6 +61,8 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "existing_cluster_id": "0717-132531-5opeqon1", "libraries": [ { @@ -71,9 +73,14 @@ "entry_point": "run", "package_name": "whl" }, - "task_key": "TestTask1" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask1", + "timeout_seconds": 0, + "webhook_notifications": {} }, { + "disabled": false, + "email_notifications": {}, "for_each_task": { "inputs": "[1]", "task": { @@ -90,7 +97,10 @@ "task_key": "TestTask2" } }, - "task_key": "TestTask2" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask2", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -118,6 +128,8 @@ "task_key": "TestTask1" }, "remote": { + "disabled": false, + "email_notifications": {}, "existing_cluster_id": "0717-132531-5opeqon1", "libraries": [ { @@ -128,9 +140,37 @@ "entry_point": "run", "package_name": "whl" }, - "task_key": "TestTask1" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask1", + "timeout_seconds": 0, + "webhook_notifications": {} } }, + "tasks[task_key='TestTask2'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='TestTask2'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='TestTask2'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='TestTask2'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='TestTask2'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/jobs/on_failure_empty_slice/out.plan.direct.json b/acceptance/bundle/resources/jobs/on_failure_empty_slice/out.plan.direct.json index 7888687e2b..cdb6c66171 100644 --- a/acceptance/bundle/resources/jobs/on_failure_empty_slice/out.plan.direct.json +++ b/acceptance/bundle/resources/jobs/on_failure_empty_slice/out.plan.direct.json @@ -4,11 +4,36 @@ "reason": "empty_slice", "new": [] }, + "tasks[task_key='usage_logs_grants'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='usage_logs_grants'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='usage_logs_grants'].notebook_task.source": { "action": "skip", "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='usage_logs_grants'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='usage_logs_grants'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='usage_logs_grants'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/jobs/remote_add_tag/out.plan_post_update.direct.json b/acceptance/bundle/resources/jobs/remote_add_tag/out.plan_post_update.direct.json index 6bd555c0e8..395421340c 100644 --- a/acceptance/bundle/resources/jobs/remote_add_tag/out.plan_post_update.direct.json +++ b/acceptance/bundle/resources/jobs/remote_add_tag/out.plan_post_update.direct.json @@ -62,6 +62,8 @@ }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "environment_key": "test_env", "libraries": [ { @@ -72,7 +74,10 @@ "entry_point": "run", "package_name": "my_test_code" }, - "task_key": "TestTask" + "run_if": "ALL_SUCCESS", + "task_key": "TestTask", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -88,6 +93,31 @@ "action": "update", "remote": "new_value" }, + "tasks[task_key='TestTask'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='TestTask'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='TestTask'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='TestTask'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='TestTask'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/jobs/remote_matches_config/out.plan.direct.json b/acceptance/bundle/resources/jobs/remote_matches_config/out.plan.direct.json index f7667f05cd..451a4a6229 100644 --- a/acceptance/bundle/resources/jobs/remote_matches_config/out.plan.direct.json +++ b/acceptance/bundle/resources/jobs/remote_matches_config/out.plan.direct.json @@ -28,6 +28,8 @@ }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "new_cluster": { "node_type_id": "[NODE_TYPE_ID]", "num_workers": 1, @@ -37,7 +39,10 @@ "notebook_path": "/Users/{{workspace_user_name}}/test_notebook", "source": "WORKSPACE" }, - "task_key": "main_task" + "run_if": "ALL_SUCCESS", + "task_key": "main_task", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -56,11 +61,36 @@ "new": 2, "remote": 2 }, + "tasks[task_key='main_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='main_task'].notebook_task.source": { "action": "skip", "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='main_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/jobs/task-source/out.git_job.terraform.txt b/acceptance/bundle/resources/jobs/task-source/out.git_job.terraform.txt index bd9461e3e9..d794b4a7fb 100644 --- a/acceptance/bundle/resources/jobs/task-source/out.git_job.terraform.txt +++ b/acceptance/bundle/resources/jobs/task-source/out.git_job.terraform.txt @@ -118,6 +118,7 @@ "schema": "default", "source": "WORKSPACE" }, + "email_notifications": {}, "new_cluster": { "custom_tags": { "ResourceClass": "SingleNode" @@ -129,9 +130,12 @@ }, "spark_version": "15.4.x-scala2.12" }, - "task_key": "test_task_dbt" + "run_if": "ALL_SUCCESS", + "task_key": "test_task_dbt", + "webhook_notifications": {} }, { + "email_notifications": {}, "for_each_task": { "inputs": "[1]", "task": { @@ -142,9 +146,12 @@ "task_key": "test_task_foreach_no_source" } }, - "task_key": "test_task_foreach_no_source" + "run_if": "ALL_SUCCESS", + "task_key": "test_task_foreach_no_source", + "webhook_notifications": {} }, { + "email_notifications": {}, "for_each_task": { "inputs": "[1]", "task": { @@ -155,23 +162,33 @@ "task_key": "test_task_foreach_workspace" } }, - "task_key": "test_task_foreach_workspace" + "run_if": "ALL_SUCCESS", + "task_key": "test_task_foreach_workspace", + "webhook_notifications": {} }, { + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/task-source/default/files/notebook", "source": "WORKSPACE" }, - "task_key": "test_task_no_source" + "run_if": "ALL_SUCCESS", + "task_key": "test_task_no_source", + "webhook_notifications": {} }, { + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/task-source/default/files/notebook", "source": "WORKSPACE" }, - "task_key": "test_task_source_workspace" + "run_if": "ALL_SUCCESS", + "task_key": "test_task_source_workspace", + "webhook_notifications": {} }, { + "email_notifications": {}, + "run_if": "ALL_SUCCESS", "sql_task": { "file": { "path": "/Workspace/Users/[USERNAME]/.bundle/task-source/default/files/sql.sql", @@ -179,7 +196,8 @@ }, "warehouse_id": "cafef00d" }, - "task_key": "test_task_sql" + "task_key": "test_task_sql", + "webhook_notifications": {} } ], "webhook_notifications": {} diff --git a/acceptance/bundle/resources/permissions/jobs/added_remotely/out.plan.direct.json b/acceptance/bundle/resources/permissions/jobs/added_remotely/out.plan.direct.json index dfcdf778df..5023734f64 100644 --- a/acceptance/bundle/resources/permissions/jobs/added_remotely/out.plan.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/added_remotely/out.plan.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/delete_one/local/out.plan_update.direct.json b/acceptance/bundle/resources/permissions/jobs/delete_one/local/out.plan_update.direct.json index ad1dbf352b..ed928ae810 100644 --- a/acceptance/bundle/resources/permissions/jobs/delete_one/local/out.plan_update.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/delete_one/local/out.plan_update.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/tester@databricks.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/deleted_remotely/out.plan_restore.direct.json b/acceptance/bundle/resources/permissions/jobs/deleted_remotely/out.plan_restore.direct.json index b6d15e5373..31ec53f41b 100644 --- a/acceptance/bundle/resources/permissions/jobs/deleted_remotely/out.plan_restore.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/deleted_remotely/out.plan_restore.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_all.direct.json b/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_all.direct.json index facb38f2de..7027c6e883 100644 --- a/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_all.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_all.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_one.direct.json b/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_one.direct.json index 118381a856..afa7c958de 100644 --- a/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_one.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/update/out.plan_delete_one.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/update/out.plan_post_create.direct.json b/acceptance/bundle/resources/permissions/jobs/update/out.plan_post_create.direct.json index 1d6e572aee..c731fac720 100644 --- a/acceptance/bundle/resources/permissions/jobs/update/out.plan_post_create.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/update/out.plan_post_create.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/update/out.plan_restore.direct.json b/acceptance/bundle/resources/permissions/jobs/update/out.plan_restore.direct.json index 10031575de..59dbc9d271 100644 --- a/acceptance/bundle/resources/permissions/jobs/update/out.plan_restore.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/update/out.plan_restore.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/update/out.plan_set_empty.direct.json b/acceptance/bundle/resources/permissions/jobs/update/out.plan_set_empty.direct.json index 25cebe0b00..dc2201a5ff 100644 --- a/acceptance/bundle/resources/permissions/jobs/update/out.plan_set_empty.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/update/out.plan_set_empty.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/resources/permissions/jobs/update/out.plan_update.direct.json b/acceptance/bundle/resources/permissions/jobs/update/out.plan_update.direct.json index 5bb76ef46b..3500dfc4c1 100644 --- a/acceptance/bundle/resources/permissions/jobs/update/out.plan_update.direct.json +++ b/acceptance/bundle/resources/permissions/jobs/update/out.plan_update.direct.json @@ -25,11 +25,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/user@example.com/notebook", "source": "WORKSPACE" }, - "task_key": "main" + "run_if": "ALL_SUCCESS", + "task_key": "main", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -41,6 +46,31 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='main'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='main'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='main'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='main'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='main'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_dev.direct.json b/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_dev.direct.json index c9ee4e4a5b..42eee59bc8 100644 --- a/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_dev.direct.json +++ b/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_dev.direct.json @@ -156,6 +156,8 @@ }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -166,7 +168,10 @@ "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/files/src/sample_notebook", "source": "WORKSPACE" }, - "task_key": "notebook_task" + "run_if": "ALL_SUCCESS", + "task_key": "notebook_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -174,6 +179,8 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -190,7 +197,10 @@ "[USERNAME]" ] }, - "task_key": "python_wheel_task" + "run_if": "ALL_SUCCESS", + "task_key": "python_wheel_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -198,10 +208,15 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "pipeline_task": { "pipeline_id": "[UUID]" }, - "task_key": "refresh_pipeline" + "run_if": "ALL_SUCCESS", + "task_key": "refresh_pipeline", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -220,6 +235,16 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", @@ -231,12 +256,77 @@ "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='python_wheel_task'].libraries[0].whl": { "action": "update", "old": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl", "new": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][0]-py3-none-any.whl", "remote": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/artifacts/.internal/my_default_python-0.0.1+[UNIX_TIME_NANOS][1]-py3-none-any.whl" }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_prod.direct.json b/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_prod.direct.json index d1412a3b30..b03705ddae 100644 --- a/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_prod.direct.json +++ b/acceptance/bundle/templates/default-python/classic/out.plan_after_deploy_prod.direct.json @@ -55,6 +55,8 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -65,7 +67,10 @@ "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/prod/files/src/sample_notebook", "source": "WORKSPACE" }, - "task_key": "notebook_task" + "run_if": "ALL_SUCCESS", + "task_key": "notebook_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -73,6 +78,8 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "job_cluster_key": "job_cluster", "libraries": [ { @@ -89,7 +96,10 @@ "prod" ] }, - "task_key": "python_wheel_task" + "run_if": "ALL_SUCCESS", + "task_key": "python_wheel_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -97,10 +107,15 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "pipeline_task": { "pipeline_id": "[UUID]" }, - "task_key": "refresh_pipeline" + "run_if": "ALL_SUCCESS", + "task_key": "refresh_pipeline", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -119,11 +134,86 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].notebook_task.source": { "action": "skip", "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_dev.direct.json b/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_dev.direct.json index 76ab8d5f54..18b3c57ec3 100644 --- a/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_dev.direct.json +++ b/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_dev.direct.json @@ -55,11 +55,16 @@ }, "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/dev/files/src/sample_notebook", "source": "WORKSPACE" }, - "task_key": "notebook_task" + "run_if": "ALL_SUCCESS", + "task_key": "notebook_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -67,6 +72,8 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "environment_key": "default", "python_wheel_task": { "entry_point": "main", @@ -78,7 +85,10 @@ "[USERNAME]" ] }, - "task_key": "python_wheel_task" + "run_if": "ALL_SUCCESS", + "task_key": "python_wheel_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -86,10 +96,15 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "pipeline_task": { "pipeline_id": "[UUID]" }, - "task_key": "refresh_pipeline" + "run_if": "ALL_SUCCESS", + "task_key": "refresh_pipeline", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -108,11 +123,86 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].notebook_task.source": { "action": "skip", "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_prod.direct.json b/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_prod.direct.json index 4384f14f66..e68a62e671 100644 --- a/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_prod.direct.json +++ b/acceptance/bundle/templates/default-python/serverless/out.plan_after_deploy_prod.direct.json @@ -52,11 +52,16 @@ "run_as_user_name": "[USERNAME]", "tasks": [ { + "disabled": false, + "email_notifications": {}, "notebook_task": { "notebook_path": "/Workspace/Users/[USERNAME]/.bundle/my_default_python/prod/files/src/sample_notebook", "source": "WORKSPACE" }, - "task_key": "notebook_task" + "run_if": "ALL_SUCCESS", + "task_key": "notebook_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -64,6 +69,8 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "environment_key": "default", "python_wheel_task": { "entry_point": "main", @@ -75,7 +82,10 @@ "prod" ] }, - "task_key": "python_wheel_task" + "run_if": "ALL_SUCCESS", + "task_key": "python_wheel_task", + "timeout_seconds": 0, + "webhook_notifications": {} }, { "depends_on": [ @@ -83,10 +93,15 @@ "task_key": "notebook_task" } ], + "disabled": false, + "email_notifications": {}, "pipeline_task": { "pipeline_id": "[UUID]" }, - "task_key": "refresh_pipeline" + "run_if": "ALL_SUCCESS", + "task_key": "refresh_pipeline", + "timeout_seconds": 0, + "webhook_notifications": {} } ], "timeout_seconds": 0, @@ -105,11 +120,86 @@ "reason": "empty_struct", "remote": {} }, + "tasks[task_key='notebook_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='notebook_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "tasks[task_key='notebook_task'].notebook_task.source": { "action": "skip", "reason": "server_side_default", "remote": "WORKSPACE" }, + "tasks[task_key='notebook_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='notebook_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='notebook_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='python_wheel_task'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='python_wheel_task'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='python_wheel_task'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='python_wheel_task'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].disabled": { + "action": "skip", + "reason": "server_side_default", + "remote": false + }, + "tasks[task_key='refresh_pipeline'].email_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, + "tasks[task_key='refresh_pipeline'].run_if": { + "action": "skip", + "reason": "server_side_default", + "remote": "ALL_SUCCESS" + }, + "tasks[task_key='refresh_pipeline'].timeout_seconds": { + "action": "skip", + "reason": "server_side_default", + "remote": 0 + }, + "tasks[task_key='refresh_pipeline'].webhook_notifications": { + "action": "skip", + "reason": "empty_struct", + "remote": {} + }, "timeout_seconds": { "action": "skip", "reason": "server_side_default", diff --git a/libs/testserver/jobs.go b/libs/testserver/jobs.go index 4e63f7ca1c..3a3eed4a39 100644 --- a/libs/testserver/jobs.go +++ b/libs/testserver/jobs.go @@ -83,6 +83,23 @@ func jobFixUps(jobSettings *jobs.JobSettings) { } jobSettings.ForceSendFields = append(jobSettings.ForceSendFields, "TimeoutSeconds") + + for i := range jobSettings.Tasks { + taskFixUps(&jobSettings.Tasks[i]) + } +} + +func taskFixUps(task *jobs.Task) { + if task.RunIf == "" { + task.RunIf = jobs.RunIfAllSuccess + } + task.ForceSendFields = append(task.ForceSendFields, "Disabled", "TimeoutSeconds") + if task.EmailNotifications == nil { + task.EmailNotifications = &jobs.TaskEmailNotifications{} + } + if task.WebhookNotifications == nil { + task.WebhookNotifications = &jobs.WebhookNotifications{} + } } func (s *FakeWorkspace) JobsGet(req Request) Response {