diff --git a/.codegen.json b/.codegen.json index 484b30aa2a..175688cecc 100644 --- a/.codegen.json +++ b/.codegen.json @@ -3,10 +3,10 @@ "api_changelog": true, "formatter": "go run golang.org/x/tools/cmd/goimports@latest -w $FILENAMES && go fmt ./...", "version": { - "experimental/python/README.md": "version $VERSION or above", - "experimental/python/databricks/bundles/version.py": "__version__ = \"$VERSION\"", - "experimental/python/pyproject.toml": "version = \"$VERSION\"", - "experimental/python/uv.lock": "name = \"databricks-bundles\"\nversion = \"$VERSION\"", + "python/README.md": "version $VERSION or above", + "python/databricks/bundles/version.py": "__version__ = \"$VERSION\"", + "python/pyproject.toml": "version = \"$VERSION\"", + "python/uv.lock": "name = \"databricks-bundles\"\nversion = \"$VERSION\"", "libs/template/templates/experimental-jobs-as-code/library/versions.tmpl": "{{define \"latest_databricks_bundles_version\" -}}$VERSION{{- end}}", "libs/template/templates/default/library/versions.tmpl": "{{define \"latest_databricks_bundles_version\" -}}$VERSION{{- end}}" }, diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index bd1234d83f..a85457530a 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -214,12 +214,12 @@ jobs: version: "0.6.5" - name: Verify that python/codegen is up to date - working-directory: experimental/python + working-directory: python run: |- make codegen if ! ( git diff --exit-code ); then - echo "Generated Python code is not up-to-date. Please run 'pushd experimental/python && make codegen' and commit the changes." + echo "Generated Python code is not up-to-date. Please run 'pushd python && make codegen' and commit the changes." exit 1 fi diff --git a/.github/workflows/python_push.yml b/.github/workflows/python_push.yml index ce5ce15b59..3e4237ba09 100644 --- a/.github/workflows/python_push.yml +++ b/.github/workflows/python_push.yml @@ -4,11 +4,11 @@ on: pull_request: types: [opened, synchronize] paths: - - experimental/python/** + - python/** merge_group: types: [checks_requested] paths: - - experimental/python/** + - python/** push: # Always run on push to main. The build cache can only be reused # if it was saved by a run from the repository's default branch. @@ -39,7 +39,7 @@ jobs: version: "0.6.5" - name: Run tests - working-directory: experimental/python + working-directory: python run: make test python_linters: @@ -56,7 +56,7 @@ jobs: version: "0.6.5" - name: Run lint - working-directory: experimental/python + working-directory: python run: make lint python_docs: @@ -73,5 +73,5 @@ jobs: version: "0.6.5" - name: Run docs - working-directory: experimental/python + working-directory: python run: make docs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index be03692897..9c7abdb251 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -183,10 +183,10 @@ jobs: version: "0.6.5" - name: Build wheel - working-directory: experimental/python + working-directory: python run: make build - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4 with: - packages-dir: experimental/python/dist + packages-dir: python/dist diff --git a/.wsignore b/.wsignore index 76279e3073..0be6584879 100644 --- a/.wsignore +++ b/.wsignore @@ -3,7 +3,7 @@ .codegen/_openapi_sha .release_metadata.json bundle/schema/jsonschema.json -experimental/python/docs/images/databricks-logo.svg +python/docs/images/databricks-logo.svg **/*.dist-info/METADATA **/*.dist-info/WHEEL @@ -25,7 +25,7 @@ cmd/workspace/**/*.go cmd/account/**/*.go # Extra whitespace in generated Python models -experimental/python/databricks/bundles/*/_models/*.py +python/databricks/bundles/*/_models/*.py # Developed elsewhere: internal/genkit/tagging.py diff --git a/acceptance/acceptance_test.go b/acceptance/acceptance_test.go index 7a5209601e..7c0ccaea27 100644 --- a/acceptance/acceptance_test.go +++ b/acceptance/acceptance_test.go @@ -1241,7 +1241,7 @@ func buildDatabricksBundlesWheel(t *testing.T, buildDir string) string { // so we prepare here by keeping only one. _ = prepareWheelBuildDirectory(t, buildDir) - RunCommand(t, []string{"uv", "build", "--no-cache", "-q", "--wheel", "--out-dir", buildDir}, "../experimental/python") + RunCommand(t, []string{"uv", "build", "--no-cache", "-q", "--wheel", "--out-dir", buildDir}, "../python") latestWheel := prepareWheelBuildDirectory(t, buildDir) if latestWheel == "" { diff --git a/bundle/config/mutator/python/python_mutator_test.go b/bundle/config/mutator/python/python_mutator_test.go index db52ace807..285d1b3b87 100644 --- a/bundle/config/mutator/python/python_mutator_test.go +++ b/bundle/config/mutator/python/python_mutator_test.go @@ -394,7 +394,7 @@ func TestGetOps_PyDABs(t *testing.T) { }, }, PythonMutatorPhaseLoadResources) - assert.Error(t, err, "experimental/pydabs is deprecated, use experimental/python instead (https://docs.databricks.com/dev-tools/bundles/python)") + assert.Error(t, err, "experimental/pydabs is deprecated, use python instead (https://docs.databricks.com/dev-tools/bundles/python)") } func TestGetOps_empty(t *testing.T) { diff --git a/libs/dyn/dynvar/ref.go b/libs/dyn/dynvar/ref.go index 0bce2a4405..a048c80cb8 100644 --- a/libs/dyn/dynvar/ref.go +++ b/libs/dyn/dynvar/ref.go @@ -10,7 +10,7 @@ import ( var ( // !!! Should be in sync with _variable_regex in Python code. // !!! - // !!! See experimental/python/databricks/bundles/core/_transform.py + // !!! See python/databricks/bundles/core/_transform.py baseVarDef = `[a-zA-Z]+([-_]*[a-zA-Z0-9]+)*` re = regexp.MustCompile(fmt.Sprintf(`\$\{(%s(\.%s(\[[0-9]+\])*)*(\[[0-9]+\])*)\}`, baseVarDef, baseVarDef)) ) diff --git a/experimental/python/.gitignore b/python/.gitignore similarity index 100% rename from experimental/python/.gitignore rename to python/.gitignore diff --git a/experimental/python/LICENSE b/python/LICENSE similarity index 100% rename from experimental/python/LICENSE rename to python/LICENSE diff --git a/experimental/python/Makefile b/python/Makefile similarity index 100% rename from experimental/python/Makefile rename to python/Makefile diff --git a/experimental/python/README.md b/python/README.md similarity index 97% rename from experimental/python/README.md rename to python/README.md index 556a3878b9..2a86f47c12 100644 --- a/experimental/python/README.md +++ b/python/README.md @@ -7,7 +7,7 @@ Python for Databricks Asset Bundles extends [Databricks Asset Bundles](https://d Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html. -Reference documentation is available at https://databricks.github.io/cli/experimental/python/ +Reference documentation is available at https://databricks.github.io/cli/python/ ## Getting started diff --git a/experimental/python/codegen/codegen/code_builder.py b/python/codegen/codegen/code_builder.py similarity index 100% rename from experimental/python/codegen/codegen/code_builder.py rename to python/codegen/codegen/code_builder.py diff --git a/experimental/python/codegen/codegen/generated_dataclass.py b/python/codegen/codegen/generated_dataclass.py similarity index 100% rename from experimental/python/codegen/codegen/generated_dataclass.py rename to python/codegen/codegen/generated_dataclass.py diff --git a/experimental/python/codegen/codegen/generated_dataclass_patch.py b/python/codegen/codegen/generated_dataclass_patch.py similarity index 100% rename from experimental/python/codegen/codegen/generated_dataclass_patch.py rename to python/codegen/codegen/generated_dataclass_patch.py diff --git a/experimental/python/codegen/codegen/generated_enum.py b/python/codegen/codegen/generated_enum.py similarity index 100% rename from experimental/python/codegen/codegen/generated_enum.py rename to python/codegen/codegen/generated_enum.py diff --git a/experimental/python/codegen/codegen/generated_imports.py b/python/codegen/codegen/generated_imports.py similarity index 100% rename from experimental/python/codegen/codegen/generated_imports.py rename to python/codegen/codegen/generated_imports.py diff --git a/experimental/python/codegen/codegen/jsonschema.py b/python/codegen/codegen/jsonschema.py similarity index 95% rename from experimental/python/codegen/codegen/jsonschema.py rename to python/codegen/codegen/jsonschema.py index f07f8d2d1d..ceed9203e7 100644 --- a/experimental/python/codegen/codegen/jsonschema.py +++ b/python/codegen/codegen/jsonschema.py @@ -124,10 +124,9 @@ def _parse_bool(value) -> Optional[bool]: def _load_spec() -> dict: path = ( - Path(__file__).parent # ./experimental/python/codegen/codegen - / ".." # ./experimental/python/codegen - / ".." # ./experimental/python/ - / ".." # ./experimental + Path(__file__).parent # ./python/codegen/codegen + / ".." # ./python/codegen + / ".." # ./python/ / ".." # ./ / "./bundle/schema/jsonschema.json" ) diff --git a/experimental/python/codegen/codegen/jsonschema_patch.py b/python/codegen/codegen/jsonschema_patch.py similarity index 100% rename from experimental/python/codegen/codegen/jsonschema_patch.py rename to python/codegen/codegen/jsonschema_patch.py diff --git a/experimental/python/codegen/codegen/main.py b/python/codegen/codegen/main.py similarity index 100% rename from experimental/python/codegen/codegen/main.py rename to python/codegen/codegen/main.py diff --git a/experimental/python/codegen/codegen/packages.py b/python/codegen/codegen/packages.py similarity index 96% rename from experimental/python/codegen/codegen/packages.py rename to python/codegen/codegen/packages.py index 48fe8270ab..58762048b8 100644 --- a/experimental/python/codegen/codegen/packages.py +++ b/python/codegen/codegen/packages.py @@ -7,6 +7,7 @@ "resources.Pipeline": "pipelines", "resources.Schema": "schemas", "resources.Volume": "volumes", + "resources.DatabaseInstance": "databaseinstances", } RESOURCE_TYPES = list(RESOURCE_NAMESPACE.keys()) @@ -15,11 +16,12 @@ # # We can't load all types because of errors while loading some of them. LOADED_NAMESPACES = [ + "catalog", "compute", + "database", "jobs", "pipelines", "resources", - "catalog", ] RENAMES = { diff --git a/experimental/python/codegen/codegen_tests/__init__.py b/python/codegen/codegen_tests/__init__.py similarity index 100% rename from experimental/python/codegen/codegen_tests/__init__.py rename to python/codegen/codegen_tests/__init__.py diff --git a/experimental/python/codegen/codegen_tests/test_generated_dataclass.py b/python/codegen/codegen_tests/test_generated_dataclass.py similarity index 100% rename from experimental/python/codegen/codegen_tests/test_generated_dataclass.py rename to python/codegen/codegen_tests/test_generated_dataclass.py diff --git a/experimental/python/codegen/codegen_tests/test_generated_enum.py b/python/codegen/codegen_tests/test_generated_enum.py similarity index 100% rename from experimental/python/codegen/codegen_tests/test_generated_enum.py rename to python/codegen/codegen_tests/test_generated_enum.py diff --git a/experimental/python/codegen/codegen_tests/test_jsonschema.py b/python/codegen/codegen_tests/test_jsonschema.py similarity index 100% rename from experimental/python/codegen/codegen_tests/test_jsonschema.py rename to python/codegen/codegen_tests/test_jsonschema.py diff --git a/experimental/python/codegen/pyproject.toml b/python/codegen/pyproject.toml similarity index 100% rename from experimental/python/codegen/pyproject.toml rename to python/codegen/pyproject.toml diff --git a/experimental/python/codegen/uv.lock b/python/codegen/uv.lock similarity index 100% rename from experimental/python/codegen/uv.lock rename to python/codegen/uv.lock diff --git a/experimental/python/databricks/__init__.py b/python/databricks/__init__.py similarity index 100% rename from experimental/python/databricks/__init__.py rename to python/databricks/__init__.py diff --git a/experimental/python/databricks/bundles/__init__.py b/python/databricks/bundles/__init__.py similarity index 100% rename from experimental/python/databricks/bundles/__init__.py rename to python/databricks/bundles/__init__.py diff --git a/experimental/python/databricks/bundles/build.py b/python/databricks/bundles/build.py similarity index 99% rename from experimental/python/databricks/bundles/build.py rename to python/databricks/bundles/build.py index b058e4510b..8f7166128e 100644 --- a/experimental/python/databricks/bundles/build.py +++ b/python/databricks/bundles/build.py @@ -173,7 +173,7 @@ def _read_conf(input: dict) -> tuple[_Conf, Diagnostics]: return ( _Conf(), Diagnostics.create_error( - "'experimental/pydabs' is not supported by 'databricks-bundles', use 'experimental/python' instead", + "'experimental/pydabs' is not supported by 'databricks-bundles', use 'python' instead", detail="", location=None, path=("experimental", "pydabs"), diff --git a/experimental/python/databricks/bundles/core/__init__.py b/python/databricks/bundles/core/__init__.py similarity index 100% rename from experimental/python/databricks/bundles/core/__init__.py rename to python/databricks/bundles/core/__init__.py diff --git a/experimental/python/databricks/bundles/core/_bundle.py b/python/databricks/bundles/core/_bundle.py similarity index 100% rename from experimental/python/databricks/bundles/core/_bundle.py rename to python/databricks/bundles/core/_bundle.py diff --git a/experimental/python/databricks/bundles/core/_diagnostics.py b/python/databricks/bundles/core/_diagnostics.py similarity index 100% rename from experimental/python/databricks/bundles/core/_diagnostics.py rename to python/databricks/bundles/core/_diagnostics.py diff --git a/experimental/python/databricks/bundles/core/_load.py b/python/databricks/bundles/core/_load.py similarity index 100% rename from experimental/python/databricks/bundles/core/_load.py rename to python/databricks/bundles/core/_load.py diff --git a/experimental/python/databricks/bundles/core/_location.py b/python/databricks/bundles/core/_location.py similarity index 100% rename from experimental/python/databricks/bundles/core/_location.py rename to python/databricks/bundles/core/_location.py diff --git a/experimental/python/databricks/bundles/core/_resource.py b/python/databricks/bundles/core/_resource.py similarity index 100% rename from experimental/python/databricks/bundles/core/_resource.py rename to python/databricks/bundles/core/_resource.py diff --git a/experimental/python/databricks/bundles/core/_resource_mutator.py b/python/databricks/bundles/core/_resource_mutator.py similarity index 100% rename from experimental/python/databricks/bundles/core/_resource_mutator.py rename to python/databricks/bundles/core/_resource_mutator.py diff --git a/experimental/python/databricks/bundles/core/_resource_type.py b/python/databricks/bundles/core/_resource_type.py similarity index 100% rename from experimental/python/databricks/bundles/core/_resource_type.py rename to python/databricks/bundles/core/_resource_type.py diff --git a/experimental/python/databricks/bundles/core/_resources.py b/python/databricks/bundles/core/_resources.py similarity index 100% rename from experimental/python/databricks/bundles/core/_resources.py rename to python/databricks/bundles/core/_resources.py diff --git a/experimental/python/databricks/bundles/core/_transform.py b/python/databricks/bundles/core/_transform.py similarity index 100% rename from experimental/python/databricks/bundles/core/_transform.py rename to python/databricks/bundles/core/_transform.py diff --git a/experimental/python/databricks/bundles/core/_transform_to_json.py b/python/databricks/bundles/core/_transform_to_json.py similarity index 100% rename from experimental/python/databricks/bundles/core/_transform_to_json.py rename to python/databricks/bundles/core/_transform_to_json.py diff --git a/experimental/python/databricks/bundles/core/_variable.py b/python/databricks/bundles/core/_variable.py similarity index 100% rename from experimental/python/databricks/bundles/core/_variable.py rename to python/databricks/bundles/core/_variable.py diff --git a/python/databricks/bundles/databaseinstances/__init__.py b/python/databricks/bundles/databaseinstances/__init__.py new file mode 100644 index 0000000000..5d9ef60e98 --- /dev/null +++ b/python/databricks/bundles/databaseinstances/__init__.py @@ -0,0 +1,56 @@ +__all__ = [ + "CustomTag", + "CustomTagDict", + "CustomTagParam", + "DatabaseInstance", + "DatabaseInstanceDict", + "DatabaseInstanceParam", + "DatabaseInstancePermission", + "DatabaseInstancePermissionDict", + "DatabaseInstancePermissionLevel", + "DatabaseInstancePermissionLevelParam", + "DatabaseInstancePermissionParam", + "DatabaseInstanceRef", + "DatabaseInstanceRefDict", + "DatabaseInstanceRefParam", + "DatabaseInstanceState", + "DatabaseInstanceStateParam", + "Lifecycle", + "LifecycleDict", + "LifecycleParam", +] + + +from databricks.bundles.databaseinstances._models.custom_tag import ( + CustomTag, + CustomTagDict, + CustomTagParam, +) +from databricks.bundles.databaseinstances._models.database_instance import ( + DatabaseInstance, + DatabaseInstanceDict, + DatabaseInstanceParam, +) +from databricks.bundles.databaseinstances._models.database_instance_permission import ( + DatabaseInstancePermission, + DatabaseInstancePermissionDict, + DatabaseInstancePermissionParam, +) +from databricks.bundles.databaseinstances._models.database_instance_permission_level import ( + DatabaseInstancePermissionLevel, + DatabaseInstancePermissionLevelParam, +) +from databricks.bundles.databaseinstances._models.database_instance_ref import ( + DatabaseInstanceRef, + DatabaseInstanceRefDict, + DatabaseInstanceRefParam, +) +from databricks.bundles.databaseinstances._models.database_instance_state import ( + DatabaseInstanceState, + DatabaseInstanceStateParam, +) +from databricks.bundles.databaseinstances._models.lifecycle import ( + Lifecycle, + LifecycleDict, + LifecycleParam, +) diff --git a/python/databricks/bundles/databaseinstances/_models/custom_tag.py b/python/databricks/bundles/databaseinstances/_models/custom_tag.py new file mode 100644 index 0000000000..e90872a068 --- /dev/null +++ b/python/databricks/bundles/databaseinstances/_models/custom_tag.py @@ -0,0 +1,48 @@ +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class CustomTag: + """""" + + key: VariableOrOptional[str] = None + """ + The key of the custom tag. + """ + + value: VariableOrOptional[str] = None + """ + The value of the custom tag. + """ + + @classmethod + def from_dict(cls, value: "CustomTagDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "CustomTagDict": + return _transform_to_json_value(self) # type:ignore + + +class CustomTagDict(TypedDict, total=False): + """""" + + key: VariableOrOptional[str] + """ + The key of the custom tag. + """ + + value: VariableOrOptional[str] + """ + The value of the custom tag. + """ + + +CustomTagParam = CustomTagDict | CustomTag diff --git a/python/databricks/bundles/databaseinstances/_models/database_instance.py b/python/databricks/bundles/databaseinstances/_models/database_instance.py new file mode 100644 index 0000000000..7edae7566a --- /dev/null +++ b/python/databricks/bundles/databaseinstances/_models/database_instance.py @@ -0,0 +1,353 @@ +from dataclasses import dataclass, field +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._resource import Resource +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import ( + VariableOr, + VariableOrList, + VariableOrOptional, +) +from databricks.bundles.databaseinstances._models.custom_tag import ( + CustomTag, + CustomTagParam, +) +from databricks.bundles.databaseinstances._models.database_instance_permission import ( + DatabaseInstancePermission, + DatabaseInstancePermissionParam, +) +from databricks.bundles.databaseinstances._models.database_instance_ref import ( + DatabaseInstanceRef, + DatabaseInstanceRefParam, +) +from databricks.bundles.databaseinstances._models.database_instance_state import ( + DatabaseInstanceState, + DatabaseInstanceStateParam, +) +from databricks.bundles.databaseinstances._models.lifecycle import ( + Lifecycle, + LifecycleParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class DatabaseInstance(Resource): + """ + A DatabaseInstance represents a logical Postgres instance, comprised of both compute and storage. + """ + + name: VariableOr[str] + """ + The name of the instance. This is the unique identifier for the instance. + """ + + capacity: VariableOrOptional[str] = None + """ + The sku of the instance. Valid values are "CU_1", "CU_2", "CU_4", "CU_8". + """ + + child_instance_refs: VariableOrList[DatabaseInstanceRef] = field( + default_factory=list + ) + """ + The refs of the child instances. This is only available if the instance is + parent instance. + """ + + creation_time: VariableOrOptional[str] = None + """ + The timestamp when the instance was created. + """ + + creator: VariableOrOptional[str] = None + """ + The email of the creator of the instance. + """ + + custom_tags: VariableOrList[CustomTag] = field(default_factory=list) + """ + Custom tags associated with the instance. This field is only included on create and update responses. + """ + + effective_capacity: VariableOrOptional[str] = None + """ + [DEPRECATED] + """ + + effective_custom_tags: VariableOrList[CustomTag] = field(default_factory=list) + """ + The recorded custom tags associated with the instance. + """ + + effective_enable_pg_native_login: VariableOrOptional[bool] = None + """ + Whether the instance has PG native password login enabled. + """ + + effective_enable_readable_secondaries: VariableOrOptional[bool] = None + """ + Whether secondaries serving read-only traffic are enabled. Defaults to false. + """ + + effective_node_count: VariableOrOptional[int] = None + """ + The number of nodes in the instance, composed of 1 primary and 0 or more secondaries. Defaults to + 1 primary and 0 secondaries. + """ + + effective_retention_window_in_days: VariableOrOptional[int] = None + """ + The retention window for the instance. This is the time window in days + for which the historical data is retained. + """ + + effective_stopped: VariableOrOptional[bool] = None + """ + Whether the instance is stopped. + """ + + effective_usage_policy_id: VariableOrOptional[str] = None + """ + The policy that is applied to the instance. + """ + + enable_pg_native_login: VariableOrOptional[bool] = None + """ + Whether to enable PG native password login on the instance. Defaults to false. + """ + + enable_readable_secondaries: VariableOrOptional[bool] = None + """ + Whether to enable secondaries to serve read-only traffic. Defaults to false. + """ + + lifecycle: VariableOrOptional[Lifecycle] = None + """ + Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. + """ + + node_count: VariableOrOptional[int] = None + """ + The number of nodes in the instance, composed of 1 primary and 0 or more secondaries. Defaults to + 1 primary and 0 secondaries. This field is input only, see effective_node_count for the output. + """ + + parent_instance_ref: VariableOrOptional[DatabaseInstanceRef] = None + """ + The ref of the parent instance. This is only available if the instance is + child instance. + Input: For specifying the parent instance to create a child instance. Optional. + Output: Only populated if provided as input to create a child instance. + """ + + permissions: VariableOrList[DatabaseInstancePermission] = field( + default_factory=list + ) + + pg_version: VariableOrOptional[str] = None + """ + The version of Postgres running on the instance. + """ + + read_only_dns: VariableOrOptional[str] = None + """ + The DNS endpoint to connect to the instance for read only access. This is only available if + enable_readable_secondaries is true. + """ + + read_write_dns: VariableOrOptional[str] = None + """ + The DNS endpoint to connect to the instance for read+write access. + """ + + retention_window_in_days: VariableOrOptional[int] = None + """ + The retention window for the instance. This is the time window in days + for which the historical data is retained. The default value is 7 days. + Valid values are 2 to 35 days. + """ + + state: VariableOrOptional[DatabaseInstanceState] = None + """ + The current state of the instance. + """ + + stopped: VariableOrOptional[bool] = None + """ + Whether to stop the instance. An input only param, see effective_stopped for the output. + """ + + uid: VariableOrOptional[str] = None + """ + An immutable UUID identifier for the instance. + """ + + usage_policy_id: VariableOrOptional[str] = None + """ + The desired usage policy to associate with the instance. + """ + + @classmethod + def from_dict(cls, value: "DatabaseInstanceDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "DatabaseInstanceDict": + return _transform_to_json_value(self) # type:ignore + + +class DatabaseInstanceDict(TypedDict, total=False): + """""" + + name: VariableOr[str] + """ + The name of the instance. This is the unique identifier for the instance. + """ + + capacity: VariableOrOptional[str] + """ + The sku of the instance. Valid values are "CU_1", "CU_2", "CU_4", "CU_8". + """ + + child_instance_refs: VariableOrList[DatabaseInstanceRefParam] + """ + The refs of the child instances. This is only available if the instance is + parent instance. + """ + + creation_time: VariableOrOptional[str] + """ + The timestamp when the instance was created. + """ + + creator: VariableOrOptional[str] + """ + The email of the creator of the instance. + """ + + custom_tags: VariableOrList[CustomTagParam] + """ + Custom tags associated with the instance. This field is only included on create and update responses. + """ + + effective_capacity: VariableOrOptional[str] + """ + [DEPRECATED] + """ + + effective_custom_tags: VariableOrList[CustomTagParam] + """ + The recorded custom tags associated with the instance. + """ + + effective_enable_pg_native_login: VariableOrOptional[bool] + """ + Whether the instance has PG native password login enabled. + """ + + effective_enable_readable_secondaries: VariableOrOptional[bool] + """ + Whether secondaries serving read-only traffic are enabled. Defaults to false. + """ + + effective_node_count: VariableOrOptional[int] + """ + The number of nodes in the instance, composed of 1 primary and 0 or more secondaries. Defaults to + 1 primary and 0 secondaries. + """ + + effective_retention_window_in_days: VariableOrOptional[int] + """ + The retention window for the instance. This is the time window in days + for which the historical data is retained. + """ + + effective_stopped: VariableOrOptional[bool] + """ + Whether the instance is stopped. + """ + + effective_usage_policy_id: VariableOrOptional[str] + """ + The policy that is applied to the instance. + """ + + enable_pg_native_login: VariableOrOptional[bool] + """ + Whether to enable PG native password login on the instance. Defaults to false. + """ + + enable_readable_secondaries: VariableOrOptional[bool] + """ + Whether to enable secondaries to serve read-only traffic. Defaults to false. + """ + + lifecycle: VariableOrOptional[LifecycleParam] + """ + Lifecycle is a struct that contains the lifecycle settings for a resource. It controls the behavior of the resource when it is deployed or destroyed. + """ + + node_count: VariableOrOptional[int] + """ + The number of nodes in the instance, composed of 1 primary and 0 or more secondaries. Defaults to + 1 primary and 0 secondaries. This field is input only, see effective_node_count for the output. + """ + + parent_instance_ref: VariableOrOptional[DatabaseInstanceRefParam] + """ + The ref of the parent instance. This is only available if the instance is + child instance. + Input: For specifying the parent instance to create a child instance. Optional. + Output: Only populated if provided as input to create a child instance. + """ + + permissions: VariableOrList[DatabaseInstancePermissionParam] + + pg_version: VariableOrOptional[str] + """ + The version of Postgres running on the instance. + """ + + read_only_dns: VariableOrOptional[str] + """ + The DNS endpoint to connect to the instance for read only access. This is only available if + enable_readable_secondaries is true. + """ + + read_write_dns: VariableOrOptional[str] + """ + The DNS endpoint to connect to the instance for read+write access. + """ + + retention_window_in_days: VariableOrOptional[int] + """ + The retention window for the instance. This is the time window in days + for which the historical data is retained. The default value is 7 days. + Valid values are 2 to 35 days. + """ + + state: VariableOrOptional[DatabaseInstanceStateParam] + """ + The current state of the instance. + """ + + stopped: VariableOrOptional[bool] + """ + Whether to stop the instance. An input only param, see effective_stopped for the output. + """ + + uid: VariableOrOptional[str] + """ + An immutable UUID identifier for the instance. + """ + + usage_policy_id: VariableOrOptional[str] + """ + The desired usage policy to associate with the instance. + """ + + +DatabaseInstanceParam = DatabaseInstanceDict | DatabaseInstance diff --git a/python/databricks/bundles/databaseinstances/_models/database_instance_permission.py b/python/databricks/bundles/databaseinstances/_models/database_instance_permission.py new file mode 100644 index 0000000000..88950be580 --- /dev/null +++ b/python/databricks/bundles/databaseinstances/_models/database_instance_permission.py @@ -0,0 +1,50 @@ +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOr, VariableOrOptional +from databricks.bundles.databaseinstances._models.database_instance_permission_level import ( + DatabaseInstancePermissionLevel, + DatabaseInstancePermissionLevelParam, +) + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class DatabaseInstancePermission: + """""" + + level: VariableOr[DatabaseInstancePermissionLevel] + + group_name: VariableOrOptional[str] = None + + service_principal_name: VariableOrOptional[str] = None + + user_name: VariableOrOptional[str] = None + + @classmethod + def from_dict(cls, value: "DatabaseInstancePermissionDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "DatabaseInstancePermissionDict": + return _transform_to_json_value(self) # type:ignore + + +class DatabaseInstancePermissionDict(TypedDict, total=False): + """""" + + level: VariableOr[DatabaseInstancePermissionLevelParam] + + group_name: VariableOrOptional[str] + + service_principal_name: VariableOrOptional[str] + + user_name: VariableOrOptional[str] + + +DatabaseInstancePermissionParam = ( + DatabaseInstancePermissionDict | DatabaseInstancePermission +) diff --git a/python/databricks/bundles/databaseinstances/_models/database_instance_permission_level.py b/python/databricks/bundles/databaseinstances/_models/database_instance_permission_level.py new file mode 100644 index 0000000000..8b9541b970 --- /dev/null +++ b/python/databricks/bundles/databaseinstances/_models/database_instance_permission_level.py @@ -0,0 +1,13 @@ +from enum import Enum +from typing import Literal + + +class DatabaseInstancePermissionLevel(Enum): + CAN_CREATE = "CAN_CREATE" + CAN_USE = "CAN_USE" + CAN_MANAGE = "CAN_MANAGE" + + +DatabaseInstancePermissionLevelParam = ( + Literal["CAN_CREATE", "CAN_USE", "CAN_MANAGE"] | DatabaseInstancePermissionLevel +) diff --git a/python/databricks/bundles/databaseinstances/_models/database_instance_ref.py b/python/databricks/bundles/databaseinstances/_models/database_instance_ref.py new file mode 100644 index 0000000000..1abe2cbb4e --- /dev/null +++ b/python/databricks/bundles/databaseinstances/_models/database_instance_ref.py @@ -0,0 +1,111 @@ +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class DatabaseInstanceRef: + """ + DatabaseInstanceRef is a reference to a database instance. It is used in the + DatabaseInstance object to refer to the parent instance of an instance and + to refer the child instances of an instance. + To specify as a parent instance during creation of an instance, + the lsn and branch_time fields are optional. If not specified, the child + instance will be created from the latest lsn of the parent. + If both lsn and branch_time are specified, the lsn will be used to create + the child instance. + """ + + branch_time: VariableOrOptional[str] = None + """ + Branch time of the ref database instance. + For a parent ref instance, this is the point in time on the parent instance from which the + instance was created. + For a child ref instance, this is the point in time on the instance from which the child + instance was created. + Input: For specifying the point in time to create a child instance. Optional. + Output: Only populated if provided as input to create a child instance. + """ + + effective_lsn: VariableOrOptional[str] = None + """ + For a parent ref instance, this is the LSN on the parent instance from which the + instance was created. + For a child ref instance, this is the LSN on the instance from which the child instance + was created. + """ + + lsn: VariableOrOptional[str] = None + """ + User-specified WAL LSN of the ref database instance. + + Input: For specifying the WAL LSN to create a child instance. Optional. + Output: Only populated if provided as input to create a child instance. + """ + + name: VariableOrOptional[str] = None + """ + Name of the ref database instance. + """ + + uid: VariableOrOptional[str] = None + """ + Id of the ref database instance. + """ + + @classmethod + def from_dict(cls, value: "DatabaseInstanceRefDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "DatabaseInstanceRefDict": + return _transform_to_json_value(self) # type:ignore + + +class DatabaseInstanceRefDict(TypedDict, total=False): + """""" + + branch_time: VariableOrOptional[str] + """ + Branch time of the ref database instance. + For a parent ref instance, this is the point in time on the parent instance from which the + instance was created. + For a child ref instance, this is the point in time on the instance from which the child + instance was created. + Input: For specifying the point in time to create a child instance. Optional. + Output: Only populated if provided as input to create a child instance. + """ + + effective_lsn: VariableOrOptional[str] + """ + For a parent ref instance, this is the LSN on the parent instance from which the + instance was created. + For a child ref instance, this is the LSN on the instance from which the child instance + was created. + """ + + lsn: VariableOrOptional[str] + """ + User-specified WAL LSN of the ref database instance. + + Input: For specifying the WAL LSN to create a child instance. Optional. + Output: Only populated if provided as input to create a child instance. + """ + + name: VariableOrOptional[str] + """ + Name of the ref database instance. + """ + + uid: VariableOrOptional[str] + """ + Id of the ref database instance. + """ + + +DatabaseInstanceRefParam = DatabaseInstanceRefDict | DatabaseInstanceRef diff --git a/python/databricks/bundles/databaseinstances/_models/database_instance_state.py b/python/databricks/bundles/databaseinstances/_models/database_instance_state.py new file mode 100644 index 0000000000..5d7cebc6f3 --- /dev/null +++ b/python/databricks/bundles/databaseinstances/_models/database_instance_state.py @@ -0,0 +1,17 @@ +from enum import Enum +from typing import Literal + + +class DatabaseInstanceState(Enum): + STARTING = "STARTING" + AVAILABLE = "AVAILABLE" + DELETING = "DELETING" + STOPPED = "STOPPED" + UPDATING = "UPDATING" + FAILING_OVER = "FAILING_OVER" + + +DatabaseInstanceStateParam = ( + Literal["STARTING", "AVAILABLE", "DELETING", "STOPPED", "UPDATING", "FAILING_OVER"] + | DatabaseInstanceState +) diff --git a/experimental/python/databricks/bundles/jobs/_models/lifecycle.py b/python/databricks/bundles/databaseinstances/_models/lifecycle.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/lifecycle.py rename to python/databricks/bundles/databaseinstances/_models/lifecycle.py diff --git a/experimental/python/databricks/bundles/jobs/__init__.py b/python/databricks/bundles/jobs/__init__.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/__init__.py rename to python/databricks/bundles/jobs/__init__.py diff --git a/experimental/python/databricks/bundles/jobs/_models/adlsgen2_info.py b/python/databricks/bundles/jobs/_models/adlsgen2_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/adlsgen2_info.py rename to python/databricks/bundles/jobs/_models/adlsgen2_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/authentication_method.py b/python/databricks/bundles/jobs/_models/authentication_method.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/authentication_method.py rename to python/databricks/bundles/jobs/_models/authentication_method.py diff --git a/experimental/python/databricks/bundles/jobs/_models/auto_scale.py b/python/databricks/bundles/jobs/_models/auto_scale.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/auto_scale.py rename to python/databricks/bundles/jobs/_models/auto_scale.py diff --git a/experimental/python/databricks/bundles/jobs/_models/aws_attributes.py b/python/databricks/bundles/jobs/_models/aws_attributes.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/aws_attributes.py rename to python/databricks/bundles/jobs/_models/aws_attributes.py diff --git a/experimental/python/databricks/bundles/jobs/_models/aws_availability.py b/python/databricks/bundles/jobs/_models/aws_availability.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/aws_availability.py rename to python/databricks/bundles/jobs/_models/aws_availability.py diff --git a/experimental/python/databricks/bundles/jobs/_models/azure_attributes.py b/python/databricks/bundles/jobs/_models/azure_attributes.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/azure_attributes.py rename to python/databricks/bundles/jobs/_models/azure_attributes.py diff --git a/experimental/python/databricks/bundles/jobs/_models/azure_availability.py b/python/databricks/bundles/jobs/_models/azure_availability.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/azure_availability.py rename to python/databricks/bundles/jobs/_models/azure_availability.py diff --git a/experimental/python/databricks/bundles/jobs/_models/clean_rooms_notebook_task.py b/python/databricks/bundles/jobs/_models/clean_rooms_notebook_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/clean_rooms_notebook_task.py rename to python/databricks/bundles/jobs/_models/clean_rooms_notebook_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/clients_types.py b/python/databricks/bundles/jobs/_models/clients_types.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/clients_types.py rename to python/databricks/bundles/jobs/_models/clients_types.py diff --git a/experimental/python/databricks/bundles/jobs/_models/cluster_log_conf.py b/python/databricks/bundles/jobs/_models/cluster_log_conf.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/cluster_log_conf.py rename to python/databricks/bundles/jobs/_models/cluster_log_conf.py diff --git a/experimental/python/databricks/bundles/jobs/_models/cluster_spec.py b/python/databricks/bundles/jobs/_models/cluster_spec.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/cluster_spec.py rename to python/databricks/bundles/jobs/_models/cluster_spec.py diff --git a/experimental/python/databricks/bundles/jobs/_models/compute_config.py b/python/databricks/bundles/jobs/_models/compute_config.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/compute_config.py rename to python/databricks/bundles/jobs/_models/compute_config.py diff --git a/experimental/python/databricks/bundles/jobs/_models/condition.py b/python/databricks/bundles/jobs/_models/condition.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/condition.py rename to python/databricks/bundles/jobs/_models/condition.py diff --git a/experimental/python/databricks/bundles/jobs/_models/condition_task.py b/python/databricks/bundles/jobs/_models/condition_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/condition_task.py rename to python/databricks/bundles/jobs/_models/condition_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/condition_task_op.py b/python/databricks/bundles/jobs/_models/condition_task_op.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/condition_task_op.py rename to python/databricks/bundles/jobs/_models/condition_task_op.py diff --git a/experimental/python/databricks/bundles/jobs/_models/continuous.py b/python/databricks/bundles/jobs/_models/continuous.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/continuous.py rename to python/databricks/bundles/jobs/_models/continuous.py diff --git a/experimental/python/databricks/bundles/jobs/_models/cron_schedule.py b/python/databricks/bundles/jobs/_models/cron_schedule.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/cron_schedule.py rename to python/databricks/bundles/jobs/_models/cron_schedule.py diff --git a/experimental/python/databricks/bundles/jobs/_models/dashboard_task.py b/python/databricks/bundles/jobs/_models/dashboard_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/dashboard_task.py rename to python/databricks/bundles/jobs/_models/dashboard_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/data_security_mode.py b/python/databricks/bundles/jobs/_models/data_security_mode.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/data_security_mode.py rename to python/databricks/bundles/jobs/_models/data_security_mode.py diff --git a/experimental/python/databricks/bundles/jobs/_models/dbfs_storage_info.py b/python/databricks/bundles/jobs/_models/dbfs_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/dbfs_storage_info.py rename to python/databricks/bundles/jobs/_models/dbfs_storage_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/dbt_platform_task.py b/python/databricks/bundles/jobs/_models/dbt_platform_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/dbt_platform_task.py rename to python/databricks/bundles/jobs/_models/dbt_platform_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/dbt_task.py b/python/databricks/bundles/jobs/_models/dbt_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/dbt_task.py rename to python/databricks/bundles/jobs/_models/dbt_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/docker_basic_auth.py b/python/databricks/bundles/jobs/_models/docker_basic_auth.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/docker_basic_auth.py rename to python/databricks/bundles/jobs/_models/docker_basic_auth.py diff --git a/experimental/python/databricks/bundles/jobs/_models/docker_image.py b/python/databricks/bundles/jobs/_models/docker_image.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/docker_image.py rename to python/databricks/bundles/jobs/_models/docker_image.py diff --git a/experimental/python/databricks/bundles/jobs/_models/ebs_volume_type.py b/python/databricks/bundles/jobs/_models/ebs_volume_type.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/ebs_volume_type.py rename to python/databricks/bundles/jobs/_models/ebs_volume_type.py diff --git a/experimental/python/databricks/bundles/jobs/_models/environment.py b/python/databricks/bundles/jobs/_models/environment.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/environment.py rename to python/databricks/bundles/jobs/_models/environment.py diff --git a/experimental/python/databricks/bundles/jobs/_models/file_arrival_trigger_configuration.py b/python/databricks/bundles/jobs/_models/file_arrival_trigger_configuration.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/file_arrival_trigger_configuration.py rename to python/databricks/bundles/jobs/_models/file_arrival_trigger_configuration.py diff --git a/experimental/python/databricks/bundles/jobs/_models/for_each_task.py b/python/databricks/bundles/jobs/_models/for_each_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/for_each_task.py rename to python/databricks/bundles/jobs/_models/for_each_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/gcp_attributes.py b/python/databricks/bundles/jobs/_models/gcp_attributes.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/gcp_attributes.py rename to python/databricks/bundles/jobs/_models/gcp_attributes.py diff --git a/experimental/python/databricks/bundles/jobs/_models/gcp_availability.py b/python/databricks/bundles/jobs/_models/gcp_availability.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/gcp_availability.py rename to python/databricks/bundles/jobs/_models/gcp_availability.py diff --git a/experimental/python/databricks/bundles/jobs/_models/gcs_storage_info.py b/python/databricks/bundles/jobs/_models/gcs_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/gcs_storage_info.py rename to python/databricks/bundles/jobs/_models/gcs_storage_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/gen_ai_compute_task.py b/python/databricks/bundles/jobs/_models/gen_ai_compute_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/gen_ai_compute_task.py rename to python/databricks/bundles/jobs/_models/gen_ai_compute_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/git_provider.py b/python/databricks/bundles/jobs/_models/git_provider.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/git_provider.py rename to python/databricks/bundles/jobs/_models/git_provider.py diff --git a/experimental/python/databricks/bundles/jobs/_models/git_source.py b/python/databricks/bundles/jobs/_models/git_source.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/git_source.py rename to python/databricks/bundles/jobs/_models/git_source.py diff --git a/experimental/python/databricks/bundles/jobs/_models/init_script_info.py b/python/databricks/bundles/jobs/_models/init_script_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/init_script_info.py rename to python/databricks/bundles/jobs/_models/init_script_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job.py b/python/databricks/bundles/jobs/_models/job.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job.py rename to python/databricks/bundles/jobs/_models/job.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_cluster.py b/python/databricks/bundles/jobs/_models/job_cluster.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_cluster.py rename to python/databricks/bundles/jobs/_models/job_cluster.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_email_notifications.py b/python/databricks/bundles/jobs/_models/job_email_notifications.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_email_notifications.py rename to python/databricks/bundles/jobs/_models/job_email_notifications.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_environment.py b/python/databricks/bundles/jobs/_models/job_environment.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_environment.py rename to python/databricks/bundles/jobs/_models/job_environment.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_notification_settings.py b/python/databricks/bundles/jobs/_models/job_notification_settings.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_notification_settings.py rename to python/databricks/bundles/jobs/_models/job_notification_settings.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_parameter_definition.py b/python/databricks/bundles/jobs/_models/job_parameter_definition.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_parameter_definition.py rename to python/databricks/bundles/jobs/_models/job_parameter_definition.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_permission.py b/python/databricks/bundles/jobs/_models/job_permission.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_permission.py rename to python/databricks/bundles/jobs/_models/job_permission.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_permission_level.py b/python/databricks/bundles/jobs/_models/job_permission_level.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_permission_level.py rename to python/databricks/bundles/jobs/_models/job_permission_level.py diff --git a/experimental/python/databricks/bundles/jobs/_models/job_run_as.py b/python/databricks/bundles/jobs/_models/job_run_as.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/job_run_as.py rename to python/databricks/bundles/jobs/_models/job_run_as.py diff --git a/experimental/python/databricks/bundles/jobs/_models/jobs_health_metric.py b/python/databricks/bundles/jobs/_models/jobs_health_metric.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/jobs_health_metric.py rename to python/databricks/bundles/jobs/_models/jobs_health_metric.py diff --git a/experimental/python/databricks/bundles/jobs/_models/jobs_health_operator.py b/python/databricks/bundles/jobs/_models/jobs_health_operator.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/jobs_health_operator.py rename to python/databricks/bundles/jobs/_models/jobs_health_operator.py diff --git a/experimental/python/databricks/bundles/jobs/_models/jobs_health_rule.py b/python/databricks/bundles/jobs/_models/jobs_health_rule.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/jobs_health_rule.py rename to python/databricks/bundles/jobs/_models/jobs_health_rule.py diff --git a/experimental/python/databricks/bundles/jobs/_models/jobs_health_rules.py b/python/databricks/bundles/jobs/_models/jobs_health_rules.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/jobs_health_rules.py rename to python/databricks/bundles/jobs/_models/jobs_health_rules.py diff --git a/experimental/python/databricks/bundles/jobs/_models/kind.py b/python/databricks/bundles/jobs/_models/kind.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/kind.py rename to python/databricks/bundles/jobs/_models/kind.py diff --git a/experimental/python/databricks/bundles/jobs/_models/library.py b/python/databricks/bundles/jobs/_models/library.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/library.py rename to python/databricks/bundles/jobs/_models/library.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/lifecycle.py b/python/databricks/bundles/jobs/_models/lifecycle.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/lifecycle.py rename to python/databricks/bundles/jobs/_models/lifecycle.py diff --git a/experimental/python/databricks/bundles/jobs/_models/local_file_info.py b/python/databricks/bundles/jobs/_models/local_file_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/local_file_info.py rename to python/databricks/bundles/jobs/_models/local_file_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/log_analytics_info.py b/python/databricks/bundles/jobs/_models/log_analytics_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/log_analytics_info.py rename to python/databricks/bundles/jobs/_models/log_analytics_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/maven_library.py b/python/databricks/bundles/jobs/_models/maven_library.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/maven_library.py rename to python/databricks/bundles/jobs/_models/maven_library.py diff --git a/experimental/python/databricks/bundles/jobs/_models/notebook_task.py b/python/databricks/bundles/jobs/_models/notebook_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/notebook_task.py rename to python/databricks/bundles/jobs/_models/notebook_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/pause_status.py b/python/databricks/bundles/jobs/_models/pause_status.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/pause_status.py rename to python/databricks/bundles/jobs/_models/pause_status.py diff --git a/experimental/python/databricks/bundles/jobs/_models/performance_target.py b/python/databricks/bundles/jobs/_models/performance_target.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/performance_target.py rename to python/databricks/bundles/jobs/_models/performance_target.py diff --git a/experimental/python/databricks/bundles/jobs/_models/periodic_trigger_configuration.py b/python/databricks/bundles/jobs/_models/periodic_trigger_configuration.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/periodic_trigger_configuration.py rename to python/databricks/bundles/jobs/_models/periodic_trigger_configuration.py diff --git a/experimental/python/databricks/bundles/jobs/_models/periodic_trigger_configuration_time_unit.py b/python/databricks/bundles/jobs/_models/periodic_trigger_configuration_time_unit.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/periodic_trigger_configuration_time_unit.py rename to python/databricks/bundles/jobs/_models/periodic_trigger_configuration_time_unit.py diff --git a/experimental/python/databricks/bundles/jobs/_models/pipeline_params.py b/python/databricks/bundles/jobs/_models/pipeline_params.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/pipeline_params.py rename to python/databricks/bundles/jobs/_models/pipeline_params.py diff --git a/experimental/python/databricks/bundles/jobs/_models/pipeline_task.py b/python/databricks/bundles/jobs/_models/pipeline_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/pipeline_task.py rename to python/databricks/bundles/jobs/_models/pipeline_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/power_bi_model.py b/python/databricks/bundles/jobs/_models/power_bi_model.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/power_bi_model.py rename to python/databricks/bundles/jobs/_models/power_bi_model.py diff --git a/experimental/python/databricks/bundles/jobs/_models/power_bi_table.py b/python/databricks/bundles/jobs/_models/power_bi_table.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/power_bi_table.py rename to python/databricks/bundles/jobs/_models/power_bi_table.py diff --git a/experimental/python/databricks/bundles/jobs/_models/power_bi_task.py b/python/databricks/bundles/jobs/_models/power_bi_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/power_bi_task.py rename to python/databricks/bundles/jobs/_models/power_bi_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/python_py_pi_library.py b/python/databricks/bundles/jobs/_models/python_py_pi_library.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/python_py_pi_library.py rename to python/databricks/bundles/jobs/_models/python_py_pi_library.py diff --git a/experimental/python/databricks/bundles/jobs/_models/python_wheel_task.py b/python/databricks/bundles/jobs/_models/python_wheel_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/python_wheel_task.py rename to python/databricks/bundles/jobs/_models/python_wheel_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/queue_settings.py b/python/databricks/bundles/jobs/_models/queue_settings.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/queue_settings.py rename to python/databricks/bundles/jobs/_models/queue_settings.py diff --git a/experimental/python/databricks/bundles/jobs/_models/r_cran_library.py b/python/databricks/bundles/jobs/_models/r_cran_library.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/r_cran_library.py rename to python/databricks/bundles/jobs/_models/r_cran_library.py diff --git a/experimental/python/databricks/bundles/jobs/_models/run_if.py b/python/databricks/bundles/jobs/_models/run_if.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/run_if.py rename to python/databricks/bundles/jobs/_models/run_if.py diff --git a/experimental/python/databricks/bundles/jobs/_models/run_job_task.py b/python/databricks/bundles/jobs/_models/run_job_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/run_job_task.py rename to python/databricks/bundles/jobs/_models/run_job_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/runtime_engine.py b/python/databricks/bundles/jobs/_models/runtime_engine.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/runtime_engine.py rename to python/databricks/bundles/jobs/_models/runtime_engine.py diff --git a/experimental/python/databricks/bundles/jobs/_models/s3_storage_info.py b/python/databricks/bundles/jobs/_models/s3_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/s3_storage_info.py rename to python/databricks/bundles/jobs/_models/s3_storage_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/source.py b/python/databricks/bundles/jobs/_models/source.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/source.py rename to python/databricks/bundles/jobs/_models/source.py diff --git a/experimental/python/databricks/bundles/jobs/_models/spark_jar_task.py b/python/databricks/bundles/jobs/_models/spark_jar_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/spark_jar_task.py rename to python/databricks/bundles/jobs/_models/spark_jar_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/spark_python_task.py b/python/databricks/bundles/jobs/_models/spark_python_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/spark_python_task.py rename to python/databricks/bundles/jobs/_models/spark_python_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/spark_submit_task.py b/python/databricks/bundles/jobs/_models/spark_submit_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/spark_submit_task.py rename to python/databricks/bundles/jobs/_models/spark_submit_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/sql_task.py b/python/databricks/bundles/jobs/_models/sql_task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/sql_task.py rename to python/databricks/bundles/jobs/_models/sql_task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/sql_task_alert.py b/python/databricks/bundles/jobs/_models/sql_task_alert.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/sql_task_alert.py rename to python/databricks/bundles/jobs/_models/sql_task_alert.py diff --git a/experimental/python/databricks/bundles/jobs/_models/sql_task_dashboard.py b/python/databricks/bundles/jobs/_models/sql_task_dashboard.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/sql_task_dashboard.py rename to python/databricks/bundles/jobs/_models/sql_task_dashboard.py diff --git a/experimental/python/databricks/bundles/jobs/_models/sql_task_file.py b/python/databricks/bundles/jobs/_models/sql_task_file.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/sql_task_file.py rename to python/databricks/bundles/jobs/_models/sql_task_file.py diff --git a/experimental/python/databricks/bundles/jobs/_models/sql_task_query.py b/python/databricks/bundles/jobs/_models/sql_task_query.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/sql_task_query.py rename to python/databricks/bundles/jobs/_models/sql_task_query.py diff --git a/experimental/python/databricks/bundles/jobs/_models/sql_task_subscription.py b/python/databricks/bundles/jobs/_models/sql_task_subscription.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/sql_task_subscription.py rename to python/databricks/bundles/jobs/_models/sql_task_subscription.py diff --git a/experimental/python/databricks/bundles/jobs/_models/storage_mode.py b/python/databricks/bundles/jobs/_models/storage_mode.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/storage_mode.py rename to python/databricks/bundles/jobs/_models/storage_mode.py diff --git a/experimental/python/databricks/bundles/jobs/_models/subscription.py b/python/databricks/bundles/jobs/_models/subscription.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/subscription.py rename to python/databricks/bundles/jobs/_models/subscription.py diff --git a/experimental/python/databricks/bundles/jobs/_models/subscription_subscriber.py b/python/databricks/bundles/jobs/_models/subscription_subscriber.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/subscription_subscriber.py rename to python/databricks/bundles/jobs/_models/subscription_subscriber.py diff --git a/experimental/python/databricks/bundles/jobs/_models/table_update_trigger_configuration.py b/python/databricks/bundles/jobs/_models/table_update_trigger_configuration.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/table_update_trigger_configuration.py rename to python/databricks/bundles/jobs/_models/table_update_trigger_configuration.py diff --git a/experimental/python/databricks/bundles/jobs/_models/task.py b/python/databricks/bundles/jobs/_models/task.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/task.py rename to python/databricks/bundles/jobs/_models/task.py diff --git a/experimental/python/databricks/bundles/jobs/_models/task_dependency.py b/python/databricks/bundles/jobs/_models/task_dependency.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/task_dependency.py rename to python/databricks/bundles/jobs/_models/task_dependency.py diff --git a/experimental/python/databricks/bundles/jobs/_models/task_email_notifications.py b/python/databricks/bundles/jobs/_models/task_email_notifications.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/task_email_notifications.py rename to python/databricks/bundles/jobs/_models/task_email_notifications.py diff --git a/experimental/python/databricks/bundles/jobs/_models/task_notification_settings.py b/python/databricks/bundles/jobs/_models/task_notification_settings.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/task_notification_settings.py rename to python/databricks/bundles/jobs/_models/task_notification_settings.py diff --git a/experimental/python/databricks/bundles/jobs/_models/task_retry_mode.py b/python/databricks/bundles/jobs/_models/task_retry_mode.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/task_retry_mode.py rename to python/databricks/bundles/jobs/_models/task_retry_mode.py diff --git a/experimental/python/databricks/bundles/jobs/_models/trigger_settings.py b/python/databricks/bundles/jobs/_models/trigger_settings.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/trigger_settings.py rename to python/databricks/bundles/jobs/_models/trigger_settings.py diff --git a/experimental/python/databricks/bundles/jobs/_models/volumes_storage_info.py b/python/databricks/bundles/jobs/_models/volumes_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/volumes_storage_info.py rename to python/databricks/bundles/jobs/_models/volumes_storage_info.py diff --git a/experimental/python/databricks/bundles/jobs/_models/webhook.py b/python/databricks/bundles/jobs/_models/webhook.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/webhook.py rename to python/databricks/bundles/jobs/_models/webhook.py diff --git a/experimental/python/databricks/bundles/jobs/_models/webhook_notifications.py b/python/databricks/bundles/jobs/_models/webhook_notifications.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/webhook_notifications.py rename to python/databricks/bundles/jobs/_models/webhook_notifications.py diff --git a/experimental/python/databricks/bundles/jobs/_models/workload_type.py b/python/databricks/bundles/jobs/_models/workload_type.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/workload_type.py rename to python/databricks/bundles/jobs/_models/workload_type.py diff --git a/experimental/python/databricks/bundles/jobs/_models/workspace_storage_info.py b/python/databricks/bundles/jobs/_models/workspace_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/jobs/_models/workspace_storage_info.py rename to python/databricks/bundles/jobs/_models/workspace_storage_info.py diff --git a/experimental/python/databricks/bundles/pipelines/__init__.py b/python/databricks/bundles/pipelines/__init__.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/__init__.py rename to python/databricks/bundles/pipelines/__init__.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/adlsgen2_info.py b/python/databricks/bundles/pipelines/_models/adlsgen2_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/adlsgen2_info.py rename to python/databricks/bundles/pipelines/_models/adlsgen2_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/aws_attributes.py b/python/databricks/bundles/pipelines/_models/aws_attributes.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/aws_attributes.py rename to python/databricks/bundles/pipelines/_models/aws_attributes.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/aws_availability.py b/python/databricks/bundles/pipelines/_models/aws_availability.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/aws_availability.py rename to python/databricks/bundles/pipelines/_models/aws_availability.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/azure_attributes.py b/python/databricks/bundles/pipelines/_models/azure_attributes.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/azure_attributes.py rename to python/databricks/bundles/pipelines/_models/azure_attributes.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/azure_availability.py b/python/databricks/bundles/pipelines/_models/azure_availability.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/azure_availability.py rename to python/databricks/bundles/pipelines/_models/azure_availability.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/cluster_log_conf.py b/python/databricks/bundles/pipelines/_models/cluster_log_conf.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/cluster_log_conf.py rename to python/databricks/bundles/pipelines/_models/cluster_log_conf.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/day_of_week.py b/python/databricks/bundles/pipelines/_models/day_of_week.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/day_of_week.py rename to python/databricks/bundles/pipelines/_models/day_of_week.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/dbfs_storage_info.py b/python/databricks/bundles/pipelines/_models/dbfs_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/dbfs_storage_info.py rename to python/databricks/bundles/pipelines/_models/dbfs_storage_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ebs_volume_type.py b/python/databricks/bundles/pipelines/_models/ebs_volume_type.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ebs_volume_type.py rename to python/databricks/bundles/pipelines/_models/ebs_volume_type.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/event_log_spec.py b/python/databricks/bundles/pipelines/_models/event_log_spec.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/event_log_spec.py rename to python/databricks/bundles/pipelines/_models/event_log_spec.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/file_library.py b/python/databricks/bundles/pipelines/_models/file_library.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/file_library.py rename to python/databricks/bundles/pipelines/_models/file_library.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/filters.py b/python/databricks/bundles/pipelines/_models/filters.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/filters.py rename to python/databricks/bundles/pipelines/_models/filters.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/gcp_attributes.py b/python/databricks/bundles/pipelines/_models/gcp_attributes.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/gcp_attributes.py rename to python/databricks/bundles/pipelines/_models/gcp_attributes.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/gcp_availability.py b/python/databricks/bundles/pipelines/_models/gcp_availability.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/gcp_availability.py rename to python/databricks/bundles/pipelines/_models/gcp_availability.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/gcs_storage_info.py b/python/databricks/bundles/pipelines/_models/gcs_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/gcs_storage_info.py rename to python/databricks/bundles/pipelines/_models/gcs_storage_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_config.py b/python/databricks/bundles/pipelines/_models/ingestion_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_config.py rename to python/databricks/bundles/pipelines/_models/ingestion_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_gateway_pipeline_definition.py b/python/databricks/bundles/pipelines/_models/ingestion_gateway_pipeline_definition.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_gateway_pipeline_definition.py rename to python/databricks/bundles/pipelines/_models/ingestion_gateway_pipeline_definition.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py b/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py rename to python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_table_specific_config_query_based_connector_config.py b/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_table_specific_config_query_based_connector_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_table_specific_config_query_based_connector_config.py rename to python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_table_specific_config_query_based_connector_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters.py b/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters.py rename to python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters_query_key_value.py b/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters_query_key_value.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters_query_key_value.py rename to python/databricks/bundles/pipelines/_models/ingestion_pipeline_definition_workday_report_parameters_query_key_value.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/ingestion_source_type.py b/python/databricks/bundles/pipelines/_models/ingestion_source_type.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/ingestion_source_type.py rename to python/databricks/bundles/pipelines/_models/ingestion_source_type.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/init_script_info.py b/python/databricks/bundles/pipelines/_models/init_script_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/init_script_info.py rename to python/databricks/bundles/pipelines/_models/init_script_info.py diff --git a/experimental/python/databricks/bundles/schemas/_models/lifecycle.py b/python/databricks/bundles/pipelines/_models/lifecycle.py similarity index 100% rename from experimental/python/databricks/bundles/schemas/_models/lifecycle.py rename to python/databricks/bundles/pipelines/_models/lifecycle.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/local_file_info.py b/python/databricks/bundles/pipelines/_models/local_file_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/local_file_info.py rename to python/databricks/bundles/pipelines/_models/local_file_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/log_analytics_info.py b/python/databricks/bundles/pipelines/_models/log_analytics_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/log_analytics_info.py rename to python/databricks/bundles/pipelines/_models/log_analytics_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/maven_library.py b/python/databricks/bundles/pipelines/_models/maven_library.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/maven_library.py rename to python/databricks/bundles/pipelines/_models/maven_library.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/notebook_library.py b/python/databricks/bundles/pipelines/_models/notebook_library.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/notebook_library.py rename to python/databricks/bundles/pipelines/_models/notebook_library.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/notifications.py b/python/databricks/bundles/pipelines/_models/notifications.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/notifications.py rename to python/databricks/bundles/pipelines/_models/notifications.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/path_pattern.py b/python/databricks/bundles/pipelines/_models/path_pattern.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/path_pattern.py rename to python/databricks/bundles/pipelines/_models/path_pattern.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline.py b/python/databricks/bundles/pipelines/_models/pipeline.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline.py rename to python/databricks/bundles/pipelines/_models/pipeline.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline_cluster.py b/python/databricks/bundles/pipelines/_models/pipeline_cluster.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline_cluster.py rename to python/databricks/bundles/pipelines/_models/pipeline_cluster.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale.py b/python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale.py rename to python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale_mode.py b/python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale_mode.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale_mode.py rename to python/databricks/bundles/pipelines/_models/pipeline_cluster_autoscale_mode.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline_library.py b/python/databricks/bundles/pipelines/_models/pipeline_library.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline_library.py rename to python/databricks/bundles/pipelines/_models/pipeline_library.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline_permission.py b/python/databricks/bundles/pipelines/_models/pipeline_permission.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline_permission.py rename to python/databricks/bundles/pipelines/_models/pipeline_permission.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipeline_permission_level.py b/python/databricks/bundles/pipelines/_models/pipeline_permission_level.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipeline_permission_level.py rename to python/databricks/bundles/pipelines/_models/pipeline_permission_level.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/pipelines_environment.py b/python/databricks/bundles/pipelines/_models/pipelines_environment.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/pipelines_environment.py rename to python/databricks/bundles/pipelines/_models/pipelines_environment.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/postgres_catalog_config.py b/python/databricks/bundles/pipelines/_models/postgres_catalog_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/postgres_catalog_config.py rename to python/databricks/bundles/pipelines/_models/postgres_catalog_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/postgres_slot_config.py b/python/databricks/bundles/pipelines/_models/postgres_slot_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/postgres_slot_config.py rename to python/databricks/bundles/pipelines/_models/postgres_slot_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/report_spec.py b/python/databricks/bundles/pipelines/_models/report_spec.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/report_spec.py rename to python/databricks/bundles/pipelines/_models/report_spec.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/restart_window.py b/python/databricks/bundles/pipelines/_models/restart_window.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/restart_window.py rename to python/databricks/bundles/pipelines/_models/restart_window.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/run_as.py b/python/databricks/bundles/pipelines/_models/run_as.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/run_as.py rename to python/databricks/bundles/pipelines/_models/run_as.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/s3_storage_info.py b/python/databricks/bundles/pipelines/_models/s3_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/s3_storage_info.py rename to python/databricks/bundles/pipelines/_models/s3_storage_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/schema_spec.py b/python/databricks/bundles/pipelines/_models/schema_spec.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/schema_spec.py rename to python/databricks/bundles/pipelines/_models/schema_spec.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/source_catalog_config.py b/python/databricks/bundles/pipelines/_models/source_catalog_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/source_catalog_config.py rename to python/databricks/bundles/pipelines/_models/source_catalog_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/source_config.py b/python/databricks/bundles/pipelines/_models/source_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/source_config.py rename to python/databricks/bundles/pipelines/_models/source_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/table_spec.py b/python/databricks/bundles/pipelines/_models/table_spec.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/table_spec.py rename to python/databricks/bundles/pipelines/_models/table_spec.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/table_specific_config.py b/python/databricks/bundles/pipelines/_models/table_specific_config.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/table_specific_config.py rename to python/databricks/bundles/pipelines/_models/table_specific_config.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/table_specific_config_scd_type.py b/python/databricks/bundles/pipelines/_models/table_specific_config_scd_type.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/table_specific_config_scd_type.py rename to python/databricks/bundles/pipelines/_models/table_specific_config_scd_type.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/volumes_storage_info.py b/python/databricks/bundles/pipelines/_models/volumes_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/volumes_storage_info.py rename to python/databricks/bundles/pipelines/_models/volumes_storage_info.py diff --git a/experimental/python/databricks/bundles/pipelines/_models/workspace_storage_info.py b/python/databricks/bundles/pipelines/_models/workspace_storage_info.py similarity index 100% rename from experimental/python/databricks/bundles/pipelines/_models/workspace_storage_info.py rename to python/databricks/bundles/pipelines/_models/workspace_storage_info.py diff --git a/experimental/python/databricks/bundles/py.typed b/python/databricks/bundles/py.typed similarity index 100% rename from experimental/python/databricks/bundles/py.typed rename to python/databricks/bundles/py.typed diff --git a/experimental/python/databricks/bundles/schemas/__init__.py b/python/databricks/bundles/schemas/__init__.py similarity index 100% rename from experimental/python/databricks/bundles/schemas/__init__.py rename to python/databricks/bundles/schemas/__init__.py diff --git a/experimental/python/databricks/bundles/volumes/_models/lifecycle.py b/python/databricks/bundles/schemas/_models/lifecycle.py similarity index 100% rename from experimental/python/databricks/bundles/volumes/_models/lifecycle.py rename to python/databricks/bundles/schemas/_models/lifecycle.py diff --git a/experimental/python/databricks/bundles/schemas/_models/schema.py b/python/databricks/bundles/schemas/_models/schema.py similarity index 100% rename from experimental/python/databricks/bundles/schemas/_models/schema.py rename to python/databricks/bundles/schemas/_models/schema.py diff --git a/experimental/python/databricks/bundles/schemas/_models/schema_grant.py b/python/databricks/bundles/schemas/_models/schema_grant.py similarity index 100% rename from experimental/python/databricks/bundles/schemas/_models/schema_grant.py rename to python/databricks/bundles/schemas/_models/schema_grant.py diff --git a/experimental/python/databricks/bundles/schemas/_models/schema_grant_privilege.py b/python/databricks/bundles/schemas/_models/schema_grant_privilege.py similarity index 100% rename from experimental/python/databricks/bundles/schemas/_models/schema_grant_privilege.py rename to python/databricks/bundles/schemas/_models/schema_grant_privilege.py diff --git a/experimental/python/databricks/bundles/version.py b/python/databricks/bundles/version.py similarity index 100% rename from experimental/python/databricks/bundles/version.py rename to python/databricks/bundles/version.py diff --git a/experimental/python/databricks/bundles/volumes/__init__.py b/python/databricks/bundles/volumes/__init__.py similarity index 100% rename from experimental/python/databricks/bundles/volumes/__init__.py rename to python/databricks/bundles/volumes/__init__.py diff --git a/python/databricks/bundles/volumes/_models/lifecycle.py b/python/databricks/bundles/volumes/_models/lifecycle.py new file mode 100644 index 0000000000..c934967f37 --- /dev/null +++ b/python/databricks/bundles/volumes/_models/lifecycle.py @@ -0,0 +1,38 @@ +from dataclasses import dataclass +from typing import TYPE_CHECKING, TypedDict + +from databricks.bundles.core._transform import _transform +from databricks.bundles.core._transform_to_json import _transform_to_json_value +from databricks.bundles.core._variable import VariableOrOptional + +if TYPE_CHECKING: + from typing_extensions import Self + + +@dataclass(kw_only=True) +class Lifecycle: + """""" + + prevent_destroy: VariableOrOptional[bool] = None + """ + Lifecycle setting to prevent the resource from being destroyed. + """ + + @classmethod + def from_dict(cls, value: "LifecycleDict") -> "Self": + return _transform(cls, value) + + def as_dict(self) -> "LifecycleDict": + return _transform_to_json_value(self) # type:ignore + + +class LifecycleDict(TypedDict, total=False): + """""" + + prevent_destroy: VariableOrOptional[bool] + """ + Lifecycle setting to prevent the resource from being destroyed. + """ + + +LifecycleParam = LifecycleDict | Lifecycle diff --git a/experimental/python/databricks/bundles/volumes/_models/volume.py b/python/databricks/bundles/volumes/_models/volume.py similarity index 100% rename from experimental/python/databricks/bundles/volumes/_models/volume.py rename to python/databricks/bundles/volumes/_models/volume.py diff --git a/experimental/python/databricks/bundles/volumes/_models/volume_grant.py b/python/databricks/bundles/volumes/_models/volume_grant.py similarity index 100% rename from experimental/python/databricks/bundles/volumes/_models/volume_grant.py rename to python/databricks/bundles/volumes/_models/volume_grant.py diff --git a/experimental/python/databricks/bundles/volumes/_models/volume_grant_privilege.py b/python/databricks/bundles/volumes/_models/volume_grant_privilege.py similarity index 100% rename from experimental/python/databricks/bundles/volumes/_models/volume_grant_privilege.py rename to python/databricks/bundles/volumes/_models/volume_grant_privilege.py diff --git a/experimental/python/databricks/bundles/volumes/_models/volume_type.py b/python/databricks/bundles/volumes/_models/volume_type.py similarity index 100% rename from experimental/python/databricks/bundles/volumes/_models/volume_type.py rename to python/databricks/bundles/volumes/_models/volume_type.py diff --git a/experimental/python/databricks_tests/__init__.py b/python/databricks_tests/__init__.py similarity index 100% rename from experimental/python/databricks_tests/__init__.py rename to python/databricks_tests/__init__.py diff --git a/experimental/python/databricks_tests/bundles/test_hello_world.py b/python/databricks_tests/bundles/test_hello_world.py similarity index 100% rename from experimental/python/databricks_tests/bundles/test_hello_world.py rename to python/databricks_tests/bundles/test_hello_world.py diff --git a/experimental/python/databricks_tests/core/test_bundle.py b/python/databricks_tests/core/test_bundle.py similarity index 100% rename from experimental/python/databricks_tests/core/test_bundle.py rename to python/databricks_tests/core/test_bundle.py diff --git a/experimental/python/databricks_tests/core/test_diagnostics.py b/python/databricks_tests/core/test_diagnostics.py similarity index 100% rename from experimental/python/databricks_tests/core/test_diagnostics.py rename to python/databricks_tests/core/test_diagnostics.py diff --git a/experimental/python/databricks_tests/core/test_import.py b/python/databricks_tests/core/test_import.py similarity index 100% rename from experimental/python/databricks_tests/core/test_import.py rename to python/databricks_tests/core/test_import.py diff --git a/experimental/python/databricks_tests/core/test_load.py b/python/databricks_tests/core/test_load.py similarity index 100% rename from experimental/python/databricks_tests/core/test_load.py rename to python/databricks_tests/core/test_load.py diff --git a/experimental/python/databricks_tests/core/test_location.py b/python/databricks_tests/core/test_location.py similarity index 100% rename from experimental/python/databricks_tests/core/test_location.py rename to python/databricks_tests/core/test_location.py diff --git a/experimental/python/databricks_tests/core/test_resources.py b/python/databricks_tests/core/test_resources.py similarity index 100% rename from experimental/python/databricks_tests/core/test_resources.py rename to python/databricks_tests/core/test_resources.py diff --git a/experimental/python/databricks_tests/core/test_transform.py b/python/databricks_tests/core/test_transform.py similarity index 100% rename from experimental/python/databricks_tests/core/test_transform.py rename to python/databricks_tests/core/test_transform.py diff --git a/experimental/python/databricks_tests/core/test_transform_to_json.py b/python/databricks_tests/core/test_transform_to_json.py similarity index 100% rename from experimental/python/databricks_tests/core/test_transform_to_json.py rename to python/databricks_tests/core/test_transform_to_json.py diff --git a/experimental/python/databricks_tests/core/test_transform_variable.py b/python/databricks_tests/core/test_transform_variable.py similarity index 100% rename from experimental/python/databricks_tests/core/test_transform_variable.py rename to python/databricks_tests/core/test_transform_variable.py diff --git a/experimental/python/databricks_tests/core/test_variable.py b/python/databricks_tests/core/test_variable.py similarity index 100% rename from experimental/python/databricks_tests/core/test_variable.py rename to python/databricks_tests/core/test_variable.py diff --git a/experimental/python/databricks_tests/fixtures/__init__.py b/python/databricks_tests/fixtures/__init__.py similarity index 100% rename from experimental/python/databricks_tests/fixtures/__init__.py rename to python/databricks_tests/fixtures/__init__.py diff --git a/experimental/python/databricks_tests/fixtures/dummy_module.py b/python/databricks_tests/fixtures/dummy_module.py similarity index 100% rename from experimental/python/databricks_tests/fixtures/dummy_module.py rename to python/databricks_tests/fixtures/dummy_module.py diff --git a/experimental/python/databricks_tests/fixtures/error_module.py b/python/databricks_tests/fixtures/error_module.py similarity index 100% rename from experimental/python/databricks_tests/fixtures/error_module.py rename to python/databricks_tests/fixtures/error_module.py diff --git a/experimental/python/databricks_tests/test_build.py b/python/databricks_tests/test_build.py similarity index 100% rename from experimental/python/databricks_tests/test_build.py rename to python/databricks_tests/test_build.py diff --git a/experimental/python/docs/conf.py b/python/docs/conf.py similarity index 100% rename from experimental/python/docs/conf.py rename to python/docs/conf.py diff --git a/experimental/python/docs/databricks.bundles.core.rst b/python/docs/databricks.bundles.core.rst similarity index 100% rename from experimental/python/docs/databricks.bundles.core.rst rename to python/docs/databricks.bundles.core.rst diff --git a/experimental/python/docs/databricks.bundles.jobs.rst b/python/docs/databricks.bundles.jobs.rst similarity index 100% rename from experimental/python/docs/databricks.bundles.jobs.rst rename to python/docs/databricks.bundles.jobs.rst diff --git a/experimental/python/docs/databricks.bundles.pipelines.rst b/python/docs/databricks.bundles.pipelines.rst similarity index 100% rename from experimental/python/docs/databricks.bundles.pipelines.rst rename to python/docs/databricks.bundles.pipelines.rst diff --git a/experimental/python/docs/databricks.bundles.schemas.rst b/python/docs/databricks.bundles.schemas.rst similarity index 100% rename from experimental/python/docs/databricks.bundles.schemas.rst rename to python/docs/databricks.bundles.schemas.rst diff --git a/experimental/python/docs/databricks.bundles.volumes.rst b/python/docs/databricks.bundles.volumes.rst similarity index 100% rename from experimental/python/docs/databricks.bundles.volumes.rst rename to python/docs/databricks.bundles.volumes.rst diff --git a/experimental/python/docs/ext/autodoc_databricks_bundles.py b/python/docs/ext/autodoc_databricks_bundles.py similarity index 100% rename from experimental/python/docs/ext/autodoc_databricks_bundles.py rename to python/docs/ext/autodoc_databricks_bundles.py diff --git a/experimental/python/docs/images/databricks-logo.svg b/python/docs/images/databricks-logo.svg similarity index 100% rename from experimental/python/docs/images/databricks-logo.svg rename to python/docs/images/databricks-logo.svg diff --git a/experimental/python/docs/index.rst b/python/docs/index.rst similarity index 100% rename from experimental/python/docs/index.rst rename to python/docs/index.rst diff --git a/experimental/python/pyproject.toml b/python/pyproject.toml similarity index 100% rename from experimental/python/pyproject.toml rename to python/pyproject.toml diff --git a/experimental/python/uv.lock b/python/uv.lock similarity index 100% rename from experimental/python/uv.lock rename to python/uv.lock diff --git a/tools/post-generate.sh b/tools/post-generate.sh index f5aacf0908..84923c69a9 100755 --- a/tools/post-generate.sh +++ b/tools/post-generate.sh @@ -29,4 +29,4 @@ fi go tool -modfile=tools/go.mod yamlfmt .github/workflows/tagging.yml # Generate PyDABs code. -make -C experimental/python codegen +make -C python codegen