Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codegen/_openapi_sha
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e2018bb00cba203508f8afe5a6d41bd49789ba25
59c4c0f3d5f0ef00cd5350b5674e941a7606d91a
1 change: 1 addition & 0 deletions NEXT_CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@
### Internal Changes

### API Changes
* Add `google_ads`, `tiktok_ads`, `salesforce_marketing_cloud`, `hubspot`, `workday_hcm`, `guidewire` and `zendesk` enum values for `databricks.sdk.service.pipelines.IngestionSourceType`.
7 changes: 5 additions & 2 deletions databricks/sdk/service/jobs.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions databricks/sdk/service/pipelines.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions docs/account/iam/workspace_assignment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@

a = AccountClient()

workspace_id = os.environ["DUMMY_WORKSPACE_ID"]
workspace_id = os.environ["TEST_WORKSPACE_ID"]

all = a.workspace_assignment.list(workspace_id=workspace_id)
all = a.workspace_assignment.list(list=workspace_id)

Get the permission assignments for the specified Databricks account and Databricks workspace.

Expand Down Expand Up @@ -74,9 +74,9 @@

spn_id = spn.id

workspace_id = os.environ["TEST_WORKSPACE_ID"]
workspace_id = os.environ["DUMMY_WORKSPACE_ID"]

a.workspace_assignment.update(
_ = a.workspace_assignment.update(
workspace_id=workspace_id,
principal_id=spn_id,
permissions=[iam.WorkspacePermission.USER],
Expand Down
6 changes: 3 additions & 3 deletions docs/account/provisioning/credentials.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@

a = AccountClient()

creds = a.credentials.create(
role = a.credentials.create(
credentials_name=f"sdk-{time.time_ns()}",
aws_credentials=provisioning.CreateCredentialAwsCredentials(
sts_role=provisioning.CreateCredentialStsRole(role_arn=os.environ["TEST_LOGDELIVERY_ARN"])
sts_role=provisioning.CreateCredentialStsRole(role_arn=os.environ["TEST_CROSSACCOUNT_ARN"])
),
)

# cleanup
a.credentials.delete(credentials_id=creds.credentials_id)
a.credentials.delete(credentials_id=role.credentials_id)

Creates a Databricks credential configuration that represents cloud cross-account credentials for a
specified account. Databricks uses this to set up network infrastructure properly to host Databricks
Expand Down
7 changes: 4 additions & 3 deletions docs/account/provisioning/storage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,21 @@

.. code-block::

import os
import time

from databricks.sdk import AccountClient
from databricks.sdk.service import provisioning

a = AccountClient()

bucket = a.storage.create(
storage = a.storage.create(
storage_configuration_name=f"sdk-{time.time_ns()}",
root_bucket_info=provisioning.RootBucketInfo(bucket_name=f"sdk-{time.time_ns()}"),
root_bucket_info=provisioning.RootBucketInfo(bucket_name=os.environ["TEST_ROOT_BUCKET"]),
)

# cleanup
a.storage.delete(storage_configuration_id=bucket.storage_configuration_id)
a.storage.delete(storage_configuration_id=storage.storage_configuration_id)

Creates a Databricks storage configuration for an account.

Expand Down
21 changes: 21 additions & 0 deletions docs/dbdataclasses/pipelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,15 @@ These dataclasses are used in the SDK to represent API requests and responses fo
.. py:attribute:: GA4_RAW_DATA
:value: "GA4_RAW_DATA"

.. py:attribute:: GOOGLE_ADS
:value: "GOOGLE_ADS"

.. py:attribute:: GUIDEWIRE
:value: "GUIDEWIRE"

.. py:attribute:: HUBSPOT
:value: "HUBSPOT"

.. py:attribute:: MANAGED_POSTGRESQL
:value: "MANAGED_POSTGRESQL"

Expand All @@ -175,6 +184,9 @@ These dataclasses are used in the SDK to represent API requests and responses fo
.. py:attribute:: SALESFORCE
:value: "SALESFORCE"

.. py:attribute:: SALESFORCE_MARKETING_CLOUD
:value: "SALESFORCE_MARKETING_CLOUD"

.. py:attribute:: SERVICENOW
:value: "SERVICENOW"

Expand All @@ -190,9 +202,18 @@ These dataclasses are used in the SDK to represent API requests and responses fo
.. py:attribute:: TERADATA
:value: "TERADATA"

.. py:attribute:: TIKTOK_ADS
:value: "TIKTOK_ADS"

.. py:attribute:: WORKDAY_HCM
:value: "WORKDAY_HCM"

.. py:attribute:: WORKDAY_RAAS
:value: "WORKDAY_RAAS"

.. py:attribute:: ZENDESK
:value: "ZENDESK"

.. autoclass:: ListPipelineEventsResponse
:members:
:undoc-members:
Expand Down
4 changes: 2 additions & 2 deletions docs/workspace/catalog/catalogs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@

w = WorkspaceClient()

created_catalog = w.catalogs.create(name=f"sdk-{time.time_ns()}")
created = w.catalogs.create(name=f"sdk-{time.time_ns()}")

# cleanup
w.catalogs.delete(name=created_catalog.name, force=True)
w.catalogs.delete(name=created.name, force=True)

Creates a new catalog instance in the parent metastore if the caller is a metastore admin or has the
**CREATE_CATALOG** privilege.
Expand Down
27 changes: 15 additions & 12 deletions docs/workspace/catalog/external_locations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,20 +30,22 @@

w = WorkspaceClient()

credential = w.storage_credentials.create(
storage_credential = w.storage_credentials.create(
name=f"sdk-{time.time_ns()}",
aws_iam_role=catalog.AwsIamRoleRequest(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
comment="created via SDK",
)

created = w.external_locations.create(
external_location = w.external_locations.create(
name=f"sdk-{time.time_ns()}",
credential_name=credential.name,
url="s3://%s/%s" % (os.environ["TEST_BUCKET"], f"sdk-{time.time_ns()}"),
credential_name=storage_credential.name,
comment="created via SDK",
url="s3://" + os.environ["TEST_BUCKET"] + "/" + f"sdk-{time.time_ns()}",
)

# cleanup
w.storage_credentials.delete(name=credential.name)
w.external_locations.delete(name=created.name)
w.storage_credentials.delete(name=storage_credential.name)
w.external_locations.delete(name=external_location.name)

Creates a new external location entry in the metastore. The caller must be a metastore admin or have
the **CREATE_EXTERNAL_LOCATION** privilege on both the metastore and the associated storage
Expand Down Expand Up @@ -105,20 +107,20 @@

credential = w.storage_credentials.create(
name=f"sdk-{time.time_ns()}",
aws_iam_role=catalog.AwsIamRoleRequest(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
aws_iam_role=catalog.AwsIamRole(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
)

created = w.external_locations.create(
name=f"sdk-{time.time_ns()}",
credential_name=credential.name,
url="s3://%s/%s" % (os.environ["TEST_BUCKET"], f"sdk-{time.time_ns()}"),
url=f's3://{os.environ["TEST_BUCKET"]}/sdk-{time.time_ns()}',
)

_ = w.external_locations.get(name=created.name)
_ = w.external_locations.get(get=created.name)

# cleanup
w.storage_credentials.delete(name=credential.name)
w.external_locations.delete(name=created.name)
w.storage_credentials.delete(delete=credential.name)
w.external_locations.delete(delete=created.name)

Gets an external location from the metastore. The caller must be either a metastore admin, the owner
of the external location, or a user that has some privilege on the external location.
Expand All @@ -140,10 +142,11 @@
.. code-block::

from databricks.sdk import WorkspaceClient
from databricks.sdk.service import catalog

w = WorkspaceClient()

all = w.external_locations.list()
all = w.external_locations.list(catalog.ListExternalLocationsRequest())

Gets an array of external locations (__ExternalLocationInfo__ objects) from the metastore. The caller
must be a metastore admin, the owner of the external location, or a user that has some privilege on
Expand Down
15 changes: 7 additions & 8 deletions docs/workspace/catalog/storage_credentials.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@

w = WorkspaceClient()

credential = w.storage_credentials.create(
created = w.storage_credentials.create(
name=f"sdk-{time.time_ns()}",
aws_iam_role=catalog.AwsIamRoleRequest(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
aws_iam_role=catalog.AwsIamRole(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
)

# cleanup
w.storage_credentials.delete(name=credential.name)
w.storage_credentials.delete(delete=created.name)

Creates a new storage credential.

Expand Down Expand Up @@ -98,13 +98,13 @@

created = w.storage_credentials.create(
name=f"sdk-{time.time_ns()}",
aws_iam_role=catalog.AwsIamRole(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
aws_iam_role=catalog.AwsIamRoleRequest(role_arn=os.environ["TEST_METASTORE_DATA_ACCESS_ARN"]),
)

by_name = w.storage_credentials.get(get=created.name)
by_name = w.storage_credentials.get(name=created.name)

# cleanup
w.storage_credentials.delete(delete=created.name)
w.storage_credentials.delete(name=created.name)

Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the
storage credential, or have some permission on the storage credential.
Expand All @@ -123,11 +123,10 @@
.. code-block::

from databricks.sdk import WorkspaceClient
from databricks.sdk.service import catalog

w = WorkspaceClient()

all = w.storage_credentials.list(catalog.ListStorageCredentialsRequest())
all = w.storage_credentials.list()

Gets an array of storage credentials (as __StorageCredentialInfo__ objects). The array is limited to
only those storage credentials the caller has permission to access. If the caller is a metastore
Expand Down
3 changes: 2 additions & 1 deletion docs/workspace/compute/clusters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -647,10 +647,11 @@
.. code-block::

from databricks.sdk import WorkspaceClient
from databricks.sdk.service import compute

w = WorkspaceClient()

nodes = w.clusters.list_node_types()
all = w.clusters.list(compute.ListClustersRequest())

Return information about all pinned and active clusters, and all clusters terminated within the last
30 days. Clusters terminated prior to this period are not included.
Expand Down
2 changes: 1 addition & 1 deletion docs/workspace/iam/current_user.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

w = WorkspaceClient()

me = w.current_user.me()
me2 = w.current_user.me()

Get details about the current method caller's identity.

Expand Down
2 changes: 1 addition & 1 deletion docs/workspace/iam/permissions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@

obj = w.workspace.get_status(path=notebook_path)

_ = w.permissions.get(request_object_type="notebooks", request_object_id="%d" % (obj.object_id))
levels = w.permissions.get_permission_levels(request_object_type="notebooks", request_object_id="%d" % (obj.object_id))

Gets the permissions of an object. Objects can inherit permissions from their parent objects or root
object.
Expand Down
16 changes: 7 additions & 9 deletions docs/workspace/jobs/jobs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -357,23 +357,21 @@
w.clusters.ensure_cluster_is_running(os.environ["DATABRICKS_CLUSTER_ID"]) and os.environ["DATABRICKS_CLUSTER_ID"]
)

created_job = w.jobs.create(
name=f"sdk-{time.time_ns()}",
run = w.jobs.submit(
run_name=f"sdk-{time.time_ns()}",
tasks=[
jobs.Task(
description="test",
jobs.SubmitTask(
existing_cluster_id=cluster_id,
notebook_task=jobs.NotebookTask(notebook_path=notebook_path),
task_key="test",
timeout_seconds=0,
task_key=f"sdk-{time.time_ns()}",
)
],
)
).result()

by_id = w.jobs.get(job_id=created_job.job_id)
output = w.jobs.get_run_output(run_id=run.tasks[0].run_id)

# cleanup
w.jobs.delete(job_id=created_job.job_id)
w.jobs.delete_run(run_id=run.run_id)

Get a single job.

Expand Down
13 changes: 7 additions & 6 deletions docs/workspace/ml/model_registry.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@

w = WorkspaceClient()

created = w.model_registry.create_model(name=f"sdk-{time.time_ns()}")
model = w.model_registry.create_model(name=f"sdk-{time.time_ns()}")

Creates a new registered model with the name specified in the request body. Throws
`RESOURCE_ALREADY_EXISTS` if a registered model with the given name exists.
Expand Down Expand Up @@ -120,7 +120,7 @@

model = w.model_registry.create_model(name=f"sdk-{time.time_ns()}")

created = w.model_registry.create_model_version(name=model.registered_model.name, source="dbfs:/tmp")
mv = w.model_registry.create_model_version(name=model.registered_model.name, source="dbfs:/tmp")

Creates a model version.

Expand Down Expand Up @@ -734,13 +734,14 @@

w = WorkspaceClient()

created = w.model_registry.create_model(name=f"sdk-{time.time_ns()}")
model = w.model_registry.create_model(name=f"sdk-{time.time_ns()}")

model = w.model_registry.get_model(name=created.registered_model.name)
created = w.model_registry.create_model_version(name=model.registered_model.name, source="dbfs:/tmp")

w.model_registry.update_model(
name=model.registered_model_databricks.name,
w.model_registry.update_model_version(
description=f"sdk-{time.time_ns()}",
name=created.model_version.name,
version=created.model_version.version,
)

Updates a registered model.
Expand Down
Loading
Loading