cleanrooms

package
v0.59.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 11 Imported by: 5

Documentation

Overview

These APIs allow you to manage Clean Room Assets, Clean Room Task Runs, Clean Rooms, etc.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CleanRoom

type CleanRoom struct {
	// Whether clean room access is restricted due to [CSP]
	//
	// [CSP]: https://docs.databricks.com/en/security/privacy/security-profile.html
	AccessRestricted CleanRoomAccessRestricted `json:"access_restricted,omitempty"`

	Comment string `json:"comment,omitempty"`
	// When the clean room was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// The alias of the collaborator tied to the local clean room.
	LocalCollaboratorAlias string `json:"local_collaborator_alias,omitempty"`
	// The name of the clean room. It should follow [UC securable naming
	// requirements].
	//
	// [UC securable naming requirements]: https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements
	Name string `json:"name,omitempty"`
	// Output catalog of the clean room. It is an output only field. Output
	// catalog is manipulated using the separate CreateCleanRoomOutputCatalog
	// API.
	OutputCatalog *CleanRoomOutputCatalog `json:"output_catalog,omitempty"`
	// This is Databricks username of the owner of the local clean room
	// securable for permission management.
	Owner string `json:"owner,omitempty"`
	// Central clean room details. During creation, users need to specify
	// cloud_vendor, region, and collaborators.global_metastore_id. This field
	// will not be filled in the ListCleanRooms call.
	RemoteDetailedInfo *CleanRoomRemoteDetail `json:"remote_detailed_info,omitempty"`
	// Clean room status.
	Status CleanRoomStatusEnum `json:"status,omitempty"`
	// When the clean room was last updated, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoom) MarshalJSON

func (s CleanRoom) MarshalJSON() ([]byte, error)

func (*CleanRoom) UnmarshalJSON

func (s *CleanRoom) UnmarshalJSON(b []byte) error

type CleanRoomAccessRestricted

type CleanRoomAccessRestricted string
const CleanRoomAccessRestrictedCspMismatch CleanRoomAccessRestricted = `CSP_MISMATCH`
const CleanRoomAccessRestrictedNoRestriction CleanRoomAccessRestricted = `NO_RESTRICTION`

func (*CleanRoomAccessRestricted) Set

Set raw string value and validate it against allowed values

func (*CleanRoomAccessRestricted) String

func (f *CleanRoomAccessRestricted) String() string

String representation for fmt.Print

func (*CleanRoomAccessRestricted) Type

Type always returns CleanRoomAccessRestricted to satisfy [pflag.Value] interface

type CleanRoomAsset

type CleanRoomAsset struct {
	// When the asset is added to the clean room, in epoch milliseconds.
	AddedAt int64 `json:"added_at,omitempty"`
	// The type of the asset.
	AssetType CleanRoomAssetAssetType `json:"asset_type,omitempty"`
	// Foreign table details available to all collaborators of the clean room.
	// Present if and only if **asset_type** is **FOREIGN_TABLE**
	ForeignTable *CleanRoomAssetForeignTable `json:"foreign_table,omitempty"`
	// Local details for a foreign that are only available to its owner. Present
	// if and only if **asset_type** is **FOREIGN_TABLE**
	ForeignTableLocalDetails *CleanRoomAssetForeignTableLocalDetails `json:"foreign_table_local_details,omitempty"`
	// A fully qualified name that uniquely identifies the asset within the
	// clean room. This is also the name displayed in the clean room UI.
	//
	// For UC securable assets (tables, volumes, etc.), the format is
	// *shared_catalog*.*shared_schema*.*asset_name*
	//
	// For notebooks, the name is the notebook file name.
	Name string `json:"name,omitempty"`
	// Notebook details available to all collaborators of the clean room.
	// Present if and only if **asset_type** is **NOTEBOOK_FILE**
	Notebook *CleanRoomAssetNotebook `json:"notebook,omitempty"`
	// The alias of the collaborator who owns this asset
	OwnerCollaboratorAlias string `json:"owner_collaborator_alias,omitempty"`
	// Status of the asset
	Status CleanRoomAssetStatusEnum `json:"status,omitempty"`
	// Table details available to all collaborators of the clean room. Present
	// if and only if **asset_type** is **TABLE**
	Table *CleanRoomAssetTable `json:"table,omitempty"`
	// Local details for a table that are only available to its owner. Present
	// if and only if **asset_type** is **TABLE**
	TableLocalDetails *CleanRoomAssetTableLocalDetails `json:"table_local_details,omitempty"`
	// View details available to all collaborators of the clean room. Present if
	// and only if **asset_type** is **VIEW**
	View *CleanRoomAssetView `json:"view,omitempty"`
	// Local details for a view that are only available to its owner. Present if
	// and only if **asset_type** is **VIEW**
	ViewLocalDetails *CleanRoomAssetViewLocalDetails `json:"view_local_details,omitempty"`
	// Local details for a volume that are only available to its owner. Present
	// if and only if **asset_type** is **VOLUME**
	VolumeLocalDetails *CleanRoomAssetVolumeLocalDetails `json:"volume_local_details,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

Metadata of the clean room asset

func (CleanRoomAsset) MarshalJSON

func (s CleanRoomAsset) MarshalJSON() ([]byte, error)

func (*CleanRoomAsset) UnmarshalJSON

func (s *CleanRoomAsset) UnmarshalJSON(b []byte) error

type CleanRoomAssetAssetType

type CleanRoomAssetAssetType string
const CleanRoomAssetAssetTypeForeignTable CleanRoomAssetAssetType = `FOREIGN_TABLE`
const CleanRoomAssetAssetTypeNotebookFile CleanRoomAssetAssetType = `NOTEBOOK_FILE`
const CleanRoomAssetAssetTypeTable CleanRoomAssetAssetType = `TABLE`
const CleanRoomAssetAssetTypeView CleanRoomAssetAssetType = `VIEW`
const CleanRoomAssetAssetTypeVolume CleanRoomAssetAssetType = `VOLUME`

func (*CleanRoomAssetAssetType) Set

Set raw string value and validate it against allowed values

func (*CleanRoomAssetAssetType) String

func (f *CleanRoomAssetAssetType) String() string

String representation for fmt.Print

func (*CleanRoomAssetAssetType) Type

func (f *CleanRoomAssetAssetType) Type() string

Type always returns CleanRoomAssetAssetType to satisfy [pflag.Value] interface

type CleanRoomAssetForeignTable

type CleanRoomAssetForeignTable struct {
	// The metadata information of the columns in the foreign table
	Columns []catalog.ColumnInfo `json:"columns,omitempty"`
}

type CleanRoomAssetForeignTableLocalDetails

type CleanRoomAssetForeignTableLocalDetails struct {
	// The fully qualified name of the foreign table in its owner's local
	// metastore, in the format of *catalog*.*schema*.*foreign_table_name*
	LocalName string `json:"local_name,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoomAssetForeignTableLocalDetails) MarshalJSON

func (s CleanRoomAssetForeignTableLocalDetails) MarshalJSON() ([]byte, error)

func (*CleanRoomAssetForeignTableLocalDetails) UnmarshalJSON

func (s *CleanRoomAssetForeignTableLocalDetails) UnmarshalJSON(b []byte) error

type CleanRoomAssetNotebook

type CleanRoomAssetNotebook struct {
	// Server generated checksum that represents the notebook version.
	Etag string `json:"etag,omitempty"`
	// Base 64 representation of the notebook contents. This is the same format
	// as returned by :method:workspace/export with the format of **HTML**.
	NotebookContent string `json:"notebook_content,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoomAssetNotebook) MarshalJSON

func (s CleanRoomAssetNotebook) MarshalJSON() ([]byte, error)

func (*CleanRoomAssetNotebook) UnmarshalJSON

func (s *CleanRoomAssetNotebook) UnmarshalJSON(b []byte) error

type CleanRoomAssetStatusEnum

type CleanRoomAssetStatusEnum string
const CleanRoomAssetStatusEnumActive CleanRoomAssetStatusEnum = `ACTIVE`
const CleanRoomAssetStatusEnumPending CleanRoomAssetStatusEnum = `PENDING`
const CleanRoomAssetStatusEnumPermissionDenied CleanRoomAssetStatusEnum = `PERMISSION_DENIED`

func (*CleanRoomAssetStatusEnum) Set

Set raw string value and validate it against allowed values

func (*CleanRoomAssetStatusEnum) String

func (f *CleanRoomAssetStatusEnum) String() string

String representation for fmt.Print

func (*CleanRoomAssetStatusEnum) Type

func (f *CleanRoomAssetStatusEnum) Type() string

Type always returns CleanRoomAssetStatusEnum to satisfy [pflag.Value] interface

type CleanRoomAssetTable

type CleanRoomAssetTable struct {
	// The metadata information of the columns in the table
	Columns []catalog.ColumnInfo `json:"columns,omitempty"`
}

type CleanRoomAssetTableLocalDetails

type CleanRoomAssetTableLocalDetails struct {
	// The fully qualified name of the table in its owner's local metastore, in
	// the format of *catalog*.*schema*.*table_name*
	LocalName string `json:"local_name,omitempty"`
	// Partition filtering specification for a shared table.
	Partitions []sharing.Partition `json:"partitions,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoomAssetTableLocalDetails) MarshalJSON

func (s CleanRoomAssetTableLocalDetails) MarshalJSON() ([]byte, error)

func (*CleanRoomAssetTableLocalDetails) UnmarshalJSON

func (s *CleanRoomAssetTableLocalDetails) UnmarshalJSON(b []byte) error

type CleanRoomAssetView

type CleanRoomAssetView struct {
	// The metadata information of the columns in the view
	Columns []catalog.ColumnInfo `json:"columns,omitempty"`
}

type CleanRoomAssetViewLocalDetails

type CleanRoomAssetViewLocalDetails struct {
	// The fully qualified name of the view in its owner's local metastore, in
	// the format of *catalog*.*schema*.*view_name*
	LocalName string `json:"local_name,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoomAssetViewLocalDetails) MarshalJSON

func (s CleanRoomAssetViewLocalDetails) MarshalJSON() ([]byte, error)

func (*CleanRoomAssetViewLocalDetails) UnmarshalJSON

func (s *CleanRoomAssetViewLocalDetails) UnmarshalJSON(b []byte) error

type CleanRoomAssetVolumeLocalDetails

type CleanRoomAssetVolumeLocalDetails struct {
	// The fully qualified name of the volume in its owner's local metastore, in
	// the format of *catalog*.*schema*.*volume_name*
	LocalName string `json:"local_name,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoomAssetVolumeLocalDetails) MarshalJSON

func (s CleanRoomAssetVolumeLocalDetails) MarshalJSON() ([]byte, error)

func (*CleanRoomAssetVolumeLocalDetails) UnmarshalJSON

func (s *CleanRoomAssetVolumeLocalDetails) UnmarshalJSON(b []byte) error

type CleanRoomAssetsAPI

type CleanRoomAssetsAPI struct {
	// contains filtered or unexported fields
}

Clean room assets are data and code objects — Tables, volumes, and notebooks that are shared with the clean room.

func NewCleanRoomAssets

func NewCleanRoomAssets(client *client.DatabricksClient) *CleanRoomAssetsAPI

func (*CleanRoomAssetsAPI) Create

func (a *CleanRoomAssetsAPI) Create(ctx context.Context, request CreateCleanRoomAssetRequest) (*CleanRoomAsset, error)

func (*CleanRoomAssetsAPI) Delete

func (a *CleanRoomAssetsAPI) Delete(ctx context.Context, request DeleteCleanRoomAssetRequest) error

func (*CleanRoomAssetsAPI) DeleteByCleanRoomNameAndAssetTypeAndAssetFullName

func (a *CleanRoomAssetsAPI) DeleteByCleanRoomNameAndAssetTypeAndAssetFullName(ctx context.Context, cleanRoomName string, assetType CleanRoomAssetAssetType, assetFullName string) error

Delete an asset.

Delete a clean room asset - unshare/remove the asset from the clean room

func (*CleanRoomAssetsAPI) Get

func (a *CleanRoomAssetsAPI) Get(ctx context.Context, request GetCleanRoomAssetRequest) (*CleanRoomAsset, error)

func (*CleanRoomAssetsAPI) GetByCleanRoomNameAndAssetTypeAndAssetFullName

func (a *CleanRoomAssetsAPI) GetByCleanRoomNameAndAssetTypeAndAssetFullName(ctx context.Context, cleanRoomName string, assetType CleanRoomAssetAssetType, assetFullName string) (*CleanRoomAsset, error)

Get an asset.

Get the details of a clean room asset by its type and full name.

func (*CleanRoomAssetsAPI) List

func (a *CleanRoomAssetsAPI) List(ctx context.Context, request ListCleanRoomAssetsRequest) listing.Iterator[CleanRoomAsset]

List assets.

func (*CleanRoomAssetsAPI) ListAll

func (a *CleanRoomAssetsAPI) ListAll(ctx context.Context, request ListCleanRoomAssetsRequest) ([]CleanRoomAsset, error)

List assets.

func (*CleanRoomAssetsAPI) ListByCleanRoomName

func (a *CleanRoomAssetsAPI) ListByCleanRoomName(ctx context.Context, cleanRoomName string) (*ListCleanRoomAssetsResponse, error)

List assets.

func (*CleanRoomAssetsAPI) Update

func (a *CleanRoomAssetsAPI) Update(ctx context.Context, request UpdateCleanRoomAssetRequest) (*CleanRoomAsset, error)

type CleanRoomAssetsInterface

type CleanRoomAssetsInterface interface {

	// Create an asset.
	//
	// Create a clean room asset —share an asset like a notebook or table into the
	// clean room. For each UC asset that is added through this method, the clean
	// room owner must also have enough privilege on the asset to consume it. The
	// privilege must be maintained indefinitely for the clean room to be able to
	// access the asset. Typically, you should use a group as the clean room owner.
	Create(ctx context.Context, request CreateCleanRoomAssetRequest) (*CleanRoomAsset, error)

	// Delete an asset.
	//
	// Delete a clean room asset - unshare/remove the asset from the clean room
	Delete(ctx context.Context, request DeleteCleanRoomAssetRequest) error

	// Delete an asset.
	//
	// Delete a clean room asset - unshare/remove the asset from the clean room
	DeleteByCleanRoomNameAndAssetTypeAndAssetFullName(ctx context.Context, cleanRoomName string, assetType CleanRoomAssetAssetType, assetFullName string) error

	// Get an asset.
	//
	// Get the details of a clean room asset by its type and full name.
	Get(ctx context.Context, request GetCleanRoomAssetRequest) (*CleanRoomAsset, error)

	// Get an asset.
	//
	// Get the details of a clean room asset by its type and full name.
	GetByCleanRoomNameAndAssetTypeAndAssetFullName(ctx context.Context, cleanRoomName string, assetType CleanRoomAssetAssetType, assetFullName string) (*CleanRoomAsset, error)

	// List assets.
	//
	// This method is generated by Databricks SDK Code Generator.
	List(ctx context.Context, request ListCleanRoomAssetsRequest) listing.Iterator[CleanRoomAsset]

	// List assets.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListAll(ctx context.Context, request ListCleanRoomAssetsRequest) ([]CleanRoomAsset, error)

	// List assets.
	ListByCleanRoomName(ctx context.Context, cleanRoomName string) (*ListCleanRoomAssetsResponse, error)

	// Update an asset.
	//
	// Update a clean room asset. For example, updating the content of a notebook;
	// changing the shared partitions of a table; etc.
	Update(ctx context.Context, request UpdateCleanRoomAssetRequest) (*CleanRoomAsset, error)
}

type CleanRoomAssetsService

type CleanRoomAssetsService interface {

	// Create an asset.
	//
	// Create a clean room asset —share an asset like a notebook or table into
	// the clean room. For each UC asset that is added through this method, the
	// clean room owner must also have enough privilege on the asset to consume
	// it. The privilege must be maintained indefinitely for the clean room to
	// be able to access the asset. Typically, you should use a group as the
	// clean room owner.
	Create(ctx context.Context, request CreateCleanRoomAssetRequest) (*CleanRoomAsset, error)

	// Delete an asset.
	//
	// Delete a clean room asset - unshare/remove the asset from the clean room
	Delete(ctx context.Context, request DeleteCleanRoomAssetRequest) error

	// Get an asset.
	//
	// Get the details of a clean room asset by its type and full name.
	Get(ctx context.Context, request GetCleanRoomAssetRequest) (*CleanRoomAsset, error)

	// List assets.
	//
	// Use ListAll() to get all CleanRoomAsset instances, which will iterate over every result page.
	List(ctx context.Context, request ListCleanRoomAssetsRequest) (*ListCleanRoomAssetsResponse, error)

	// Update an asset.
	//
	// Update a clean room asset. For example, updating the content of a
	// notebook; changing the shared partitions of a table; etc.
	Update(ctx context.Context, request UpdateCleanRoomAssetRequest) (*CleanRoomAsset, error)
}

Clean room assets are data and code objects — Tables, volumes, and notebooks that are shared with the clean room.

type CleanRoomCollaborator

type CleanRoomCollaborator struct {
	// Collaborator alias specified by the clean room creator. It is unique
	// across all collaborators of this clean room, and used to derive multiple
	// values internally such as catalog alias and clean room name for single
	// metastore clean rooms. It should follow [UC securable naming
	// requirements].
	//
	// [UC securable naming requirements]: https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements
	CollaboratorAlias string `json:"collaborator_alias"`
	// Generated display name for the collaborator. In the case of a single
	// metastore clean room, it is the clean room name. For x-metastore clean
	// rooms, it is the organization name of the metastore. It is not restricted
	// to these values and could change in the future
	DisplayName string `json:"display_name,omitempty"`
	// The global Unity Catalog metastore id of the collaborator. The identifier
	// is of format cloud:region:metastore-uuid.
	GlobalMetastoreId string `json:"global_metastore_id,omitempty"`
	// Email of the user who is receiving the clean room "invitation". It should
	// be empty for the creator of the clean room, and non-empty for the
	// invitees of the clean room. It is only returned in the output when clean
	// room creator calls GET
	InviteRecipientEmail string `json:"invite_recipient_email,omitempty"`
	// Workspace ID of the user who is receiving the clean room "invitation".
	// Must be specified if invite_recipient_email is specified. It should be
	// empty when the collaborator is the creator of the clean room.
	InviteRecipientWorkspaceId int64 `json:"invite_recipient_workspace_id,omitempty"`
	// [Organization
	// name](:method:metastores/list#metastores-delta_sharing_organization_name)
	// configured in the metastore
	OrganizationName string `json:"organization_name,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

Publicly visible clean room collaborator.

func (CleanRoomCollaborator) MarshalJSON

func (s CleanRoomCollaborator) MarshalJSON() ([]byte, error)

func (*CleanRoomCollaborator) UnmarshalJSON

func (s *CleanRoomCollaborator) UnmarshalJSON(b []byte) error

type CleanRoomNotebookTaskRun

type CleanRoomNotebookTaskRun struct {
	// Job run info of the task in the runner's local workspace. This field is
	// only included in the LIST API. if the task was run within the same
	// workspace the API is being called. If the task run was in a different
	// workspace under the same metastore, only the workspace_id is included.
	CollaboratorJobRunInfo *CollaboratorJobRunInfo `json:"collaborator_job_run_info,omitempty"`
	// State of the task run.
	NotebookJobRunState *jobs.CleanRoomTaskRunState `json:"notebook_job_run_state,omitempty"`
	// Asset name of the notebook executed in this task run.
	NotebookName string `json:"notebook_name,omitempty"`
	// Expiration time of the output schema of the task run (if any), in epoch
	// milliseconds.
	OutputSchemaExpirationTime int64 `json:"output_schema_expiration_time,omitempty"`
	// Name of the output schema associated with the clean rooms notebook task
	// run.
	OutputSchemaName string `json:"output_schema_name,omitempty"`
	// Duration of the task run, in milliseconds.
	RunDuration int64 `json:"run_duration,omitempty"`
	// When the task run started, in epoch milliseconds.
	StartTime int64 `json:"start_time,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

Stores information about a single task run.

func (CleanRoomNotebookTaskRun) MarshalJSON

func (s CleanRoomNotebookTaskRun) MarshalJSON() ([]byte, error)

func (*CleanRoomNotebookTaskRun) UnmarshalJSON

func (s *CleanRoomNotebookTaskRun) UnmarshalJSON(b []byte) error

type CleanRoomOutputCatalog

type CleanRoomOutputCatalog struct {
	// The name of the output catalog in UC. It should follow [UC securable
	// naming requirements]. The field will always exist if status is CREATED.
	//
	// [UC securable naming requirements]: https://docs.databricks.com/en/data-governance/unity-catalog/index.html#securable-object-naming-requirements
	CatalogName string `json:"catalog_name,omitempty"`

	Status CleanRoomOutputCatalogOutputCatalogStatus `json:"status,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CleanRoomOutputCatalog) MarshalJSON

func (s CleanRoomOutputCatalog) MarshalJSON() ([]byte, error)

func (*CleanRoomOutputCatalog) UnmarshalJSON

func (s *CleanRoomOutputCatalog) UnmarshalJSON(b []byte) error

type CleanRoomOutputCatalogOutputCatalogStatus

type CleanRoomOutputCatalogOutputCatalogStatus string
const CleanRoomOutputCatalogOutputCatalogStatusCreated CleanRoomOutputCatalogOutputCatalogStatus = `CREATED`
const CleanRoomOutputCatalogOutputCatalogStatusNotCreated CleanRoomOutputCatalogOutputCatalogStatus = `NOT_CREATED`
const CleanRoomOutputCatalogOutputCatalogStatusNotEligible CleanRoomOutputCatalogOutputCatalogStatus = `NOT_ELIGIBLE`

func (*CleanRoomOutputCatalogOutputCatalogStatus) Set

Set raw string value and validate it against allowed values

func (*CleanRoomOutputCatalogOutputCatalogStatus) String

String representation for fmt.Print

func (*CleanRoomOutputCatalogOutputCatalogStatus) Type

Type always returns CleanRoomOutputCatalogOutputCatalogStatus to satisfy [pflag.Value] interface

type CleanRoomRemoteDetail

type CleanRoomRemoteDetail struct {
	// Central clean room ID.
	CentralCleanRoomId string `json:"central_clean_room_id,omitempty"`
	// Cloud vendor (aws,azure,gcp) of the central clean room.
	CloudVendor string `json:"cloud_vendor,omitempty"`
	// Collaborators in the central clean room. There should one and only one
	// collaborator in the list that satisfies the owner condition:
	//
	// 1. It has the creator's global_metastore_id (determined by caller of
	// CreateCleanRoom).
	//
	// 2. Its invite_recipient_email is empty.
	Collaborators []CleanRoomCollaborator `json:"collaborators,omitempty"`
	// The compliance security profile used to process regulated data following
	// compliance standards.
	ComplianceSecurityProfile *ComplianceSecurityProfile `json:"compliance_security_profile,omitempty"`
	// Collaborator who creates the clean room.
	Creator *CleanRoomCollaborator `json:"creator,omitempty"`
	// Egress network policy to apply to the central clean room workspace.
	EgressNetworkPolicy *settings.EgressNetworkPolicy `json:"egress_network_policy,omitempty"`
	// Region of the central clean room.
	Region string `json:"region,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

Publicly visible central clean room details.

func (CleanRoomRemoteDetail) MarshalJSON

func (s CleanRoomRemoteDetail) MarshalJSON() ([]byte, error)

func (*CleanRoomRemoteDetail) UnmarshalJSON

func (s *CleanRoomRemoteDetail) UnmarshalJSON(b []byte) error

type CleanRoomStatusEnum

type CleanRoomStatusEnum string
const CleanRoomStatusEnumActive CleanRoomStatusEnum = `ACTIVE`
const CleanRoomStatusEnumDeleted CleanRoomStatusEnum = `DELETED`
const CleanRoomStatusEnumFailed CleanRoomStatusEnum = `FAILED`
const CleanRoomStatusEnumProvisioning CleanRoomStatusEnum = `PROVISIONING`

func (*CleanRoomStatusEnum) Set

func (f *CleanRoomStatusEnum) Set(v string) error

Set raw string value and validate it against allowed values

func (*CleanRoomStatusEnum) String

func (f *CleanRoomStatusEnum) String() string

String representation for fmt.Print

func (*CleanRoomStatusEnum) Type

func (f *CleanRoomStatusEnum) Type() string

Type always returns CleanRoomStatusEnum to satisfy [pflag.Value] interface

type CleanRoomTaskRunsAPI

type CleanRoomTaskRunsAPI struct {
	// contains filtered or unexported fields
}

Clean room task runs are the executions of notebooks in a clean room.

func NewCleanRoomTaskRuns

func NewCleanRoomTaskRuns(client *client.DatabricksClient) *CleanRoomTaskRunsAPI

func (*CleanRoomTaskRunsAPI) List

List notebook task runs.

List all the historical notebook task runs in a clean room.

func (*CleanRoomTaskRunsAPI) ListAll

func (a *CleanRoomTaskRunsAPI) ListAll(ctx context.Context, request ListCleanRoomNotebookTaskRunsRequest) ([]CleanRoomNotebookTaskRun, error)

List notebook task runs.

List all the historical notebook task runs in a clean room.

func (*CleanRoomTaskRunsAPI) ListByCleanRoomName

func (a *CleanRoomTaskRunsAPI) ListByCleanRoomName(ctx context.Context, cleanRoomName string) (*ListCleanRoomNotebookTaskRunsResponse, error)

List notebook task runs.

List all the historical notebook task runs in a clean room.

type CleanRoomTaskRunsInterface

type CleanRoomTaskRunsInterface interface {

	// List notebook task runs.
	//
	// List all the historical notebook task runs in a clean room.
	//
	// This method is generated by Databricks SDK Code Generator.
	List(ctx context.Context, request ListCleanRoomNotebookTaskRunsRequest) listing.Iterator[CleanRoomNotebookTaskRun]

	// List notebook task runs.
	//
	// List all the historical notebook task runs in a clean room.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListAll(ctx context.Context, request ListCleanRoomNotebookTaskRunsRequest) ([]CleanRoomNotebookTaskRun, error)

	// List notebook task runs.
	//
	// List all the historical notebook task runs in a clean room.
	ListByCleanRoomName(ctx context.Context, cleanRoomName string) (*ListCleanRoomNotebookTaskRunsResponse, error)
}

type CleanRoomTaskRunsService

type CleanRoomTaskRunsService interface {

	// List notebook task runs.
	//
	// List all the historical notebook task runs in a clean room.
	//
	// Use ListAll() to get all CleanRoomNotebookTaskRun instances, which will iterate over every result page.
	List(ctx context.Context, request ListCleanRoomNotebookTaskRunsRequest) (*ListCleanRoomNotebookTaskRunsResponse, error)
}

Clean room task runs are the executions of notebooks in a clean room.

type CleanRoomsAPI

type CleanRoomsAPI struct {
	// contains filtered or unexported fields
}

A clean room uses Delta Sharing and serverless compute to provide a secure and privacy-protecting environment where multiple parties can work together on sensitive enterprise data without direct access to each other’s data.

func NewCleanRooms

func NewCleanRooms(client *client.DatabricksClient) *CleanRoomsAPI

func (*CleanRoomsAPI) Create

func (a *CleanRoomsAPI) Create(ctx context.Context, request CreateCleanRoomRequest) (*CleanRoom, error)

func (*CleanRoomsAPI) CreateOutputCatalog

func (a *CleanRoomsAPI) CreateOutputCatalog(ctx context.Context, request CreateCleanRoomOutputCatalogRequest) (*CreateCleanRoomOutputCatalogResponse, error)

func (*CleanRoomsAPI) Delete

func (a *CleanRoomsAPI) Delete(ctx context.Context, request DeleteCleanRoomRequest) error

func (*CleanRoomsAPI) DeleteByName

func (a *CleanRoomsAPI) DeleteByName(ctx context.Context, name string) error

Delete a clean room.

Delete a clean room. After deletion, the clean room will be removed from the metastore. If the other collaborators have not deleted the clean room, they will still have the clean room in their metastore, but it will be in a DELETED state and no operations other than deletion can be performed on it.

func (*CleanRoomsAPI) Get

func (a *CleanRoomsAPI) Get(ctx context.Context, request GetCleanRoomRequest) (*CleanRoom, error)

func (*CleanRoomsAPI) GetByName

func (a *CleanRoomsAPI) GetByName(ctx context.Context, name string) (*CleanRoom, error)

Get a clean room.

Get the details of a clean room given its name.

func (*CleanRoomsAPI) List

func (a *CleanRoomsAPI) List(ctx context.Context, request ListCleanRoomsRequest) listing.Iterator[CleanRoom]

List clean rooms.

Get a list of all clean rooms of the metastore. Only clean rooms the caller has access to are returned.

func (*CleanRoomsAPI) ListAll

func (a *CleanRoomsAPI) ListAll(ctx context.Context, request ListCleanRoomsRequest) ([]CleanRoom, error)

List clean rooms.

Get a list of all clean rooms of the metastore. Only clean rooms the caller has access to are returned.

func (*CleanRoomsAPI) Update

func (a *CleanRoomsAPI) Update(ctx context.Context, request UpdateCleanRoomRequest) (*CleanRoom, error)

type CleanRoomsInterface

type CleanRoomsInterface interface {

	// Create a clean room.
	//
	// Create a new clean room with the specified collaborators. This method is
	// asynchronous; the returned name field inside the clean_room field can be used
	// to poll the clean room status, using the :method:cleanrooms/get method. When
	// this method returns, the clean room will be in a PROVISIONING state, with
	// only name, owner, comment, created_at and status populated. The clean room
	// will be usable once it enters an ACTIVE state.
	//
	// The caller must be a metastore admin or have the **CREATE_CLEAN_ROOM**
	// privilege on the metastore.
	Create(ctx context.Context, request CreateCleanRoomRequest) (*CleanRoom, error)

	// Create an output catalog.
	//
	// Create the output catalog of the clean room.
	CreateOutputCatalog(ctx context.Context, request CreateCleanRoomOutputCatalogRequest) (*CreateCleanRoomOutputCatalogResponse, error)

	// Delete a clean room.
	//
	// Delete a clean room. After deletion, the clean room will be removed from the
	// metastore. If the other collaborators have not deleted the clean room, they
	// will still have the clean room in their metastore, but it will be in a
	// DELETED state and no operations other than deletion can be performed on it.
	Delete(ctx context.Context, request DeleteCleanRoomRequest) error

	// Delete a clean room.
	//
	// Delete a clean room. After deletion, the clean room will be removed from the
	// metastore. If the other collaborators have not deleted the clean room, they
	// will still have the clean room in their metastore, but it will be in a
	// DELETED state and no operations other than deletion can be performed on it.
	DeleteByName(ctx context.Context, name string) error

	// Get a clean room.
	//
	// Get the details of a clean room given its name.
	Get(ctx context.Context, request GetCleanRoomRequest) (*CleanRoom, error)

	// Get a clean room.
	//
	// Get the details of a clean room given its name.
	GetByName(ctx context.Context, name string) (*CleanRoom, error)

	// List clean rooms.
	//
	// Get a list of all clean rooms of the metastore. Only clean rooms the caller
	// has access to are returned.
	//
	// This method is generated by Databricks SDK Code Generator.
	List(ctx context.Context, request ListCleanRoomsRequest) listing.Iterator[CleanRoom]

	// List clean rooms.
	//
	// Get a list of all clean rooms of the metastore. Only clean rooms the caller
	// has access to are returned.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListAll(ctx context.Context, request ListCleanRoomsRequest) ([]CleanRoom, error)

	// Update a clean room.
	//
	// Update a clean room. The caller must be the owner of the clean room, have
	// **MODIFY_CLEAN_ROOM** privilege, or be metastore admin.
	//
	// When the caller is a metastore admin, only the __owner__ field can be
	// updated.
	Update(ctx context.Context, request UpdateCleanRoomRequest) (*CleanRoom, error)
}

type CleanRoomsService

type CleanRoomsService interface {

	// Create a clean room.
	//
	// Create a new clean room with the specified collaborators. This method is
	// asynchronous; the returned name field inside the clean_room field can be
	// used to poll the clean room status, using the :method:cleanrooms/get
	// method. When this method returns, the clean room will be in a
	// PROVISIONING state, with only name, owner, comment, created_at and status
	// populated. The clean room will be usable once it enters an ACTIVE state.
	//
	// The caller must be a metastore admin or have the **CREATE_CLEAN_ROOM**
	// privilege on the metastore.
	Create(ctx context.Context, request CreateCleanRoomRequest) (*CleanRoom, error)

	// Create an output catalog.
	//
	// Create the output catalog of the clean room.
	CreateOutputCatalog(ctx context.Context, request CreateCleanRoomOutputCatalogRequest) (*CreateCleanRoomOutputCatalogResponse, error)

	// Delete a clean room.
	//
	// Delete a clean room. After deletion, the clean room will be removed from
	// the metastore. If the other collaborators have not deleted the clean
	// room, they will still have the clean room in their metastore, but it will
	// be in a DELETED state and no operations other than deletion can be
	// performed on it.
	Delete(ctx context.Context, request DeleteCleanRoomRequest) error

	// Get a clean room.
	//
	// Get the details of a clean room given its name.
	Get(ctx context.Context, request GetCleanRoomRequest) (*CleanRoom, error)

	// List clean rooms.
	//
	// Get a list of all clean rooms of the metastore. Only clean rooms the
	// caller has access to are returned.
	//
	// Use ListAll() to get all CleanRoom instances, which will iterate over every result page.
	List(ctx context.Context, request ListCleanRoomsRequest) (*ListCleanRoomsResponse, error)

	// Update a clean room.
	//
	// Update a clean room. The caller must be the owner of the clean room, have
	// **MODIFY_CLEAN_ROOM** privilege, or be metastore admin.
	//
	// When the caller is a metastore admin, only the __owner__ field can be
	// updated.
	Update(ctx context.Context, request UpdateCleanRoomRequest) (*CleanRoom, error)
}

A clean room uses Delta Sharing and serverless compute to provide a secure and privacy-protecting environment where multiple parties can work together on sensitive enterprise data without direct access to each other’s data.

type CollaboratorJobRunInfo

type CollaboratorJobRunInfo struct {
	// Alias of the collaborator that triggered the task run.
	CollaboratorAlias string `json:"collaborator_alias,omitempty"`
	// Job ID of the task run in the collaborator's workspace.
	CollaboratorJobId int64 `json:"collaborator_job_id,omitempty"`
	// Job run ID of the task run in the collaborator's workspace.
	CollaboratorJobRunId int64 `json:"collaborator_job_run_id,omitempty"`
	// Task run ID of the task run in the collaborator's workspace.
	CollaboratorTaskRunId int64 `json:"collaborator_task_run_id,omitempty"`
	// ID of the collaborator's workspace that triggered the task run.
	CollaboratorWorkspaceId int64 `json:"collaborator_workspace_id,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (CollaboratorJobRunInfo) MarshalJSON

func (s CollaboratorJobRunInfo) MarshalJSON() ([]byte, error)

func (*CollaboratorJobRunInfo) UnmarshalJSON

func (s *CollaboratorJobRunInfo) UnmarshalJSON(b []byte) error

type ComplianceSecurityProfile

type ComplianceSecurityProfile struct {
	// The list of compliance standards that the compliance security profile is
	// configured to enforce.
	ComplianceStandards []settings.ComplianceStandard `json:"compliance_standards,omitempty"`
	// Whether the compliance security profile is enabled.
	IsEnabled bool `json:"is_enabled,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

The compliance security profile used to process regulated data following compliance standards.

func (ComplianceSecurityProfile) MarshalJSON

func (s ComplianceSecurityProfile) MarshalJSON() ([]byte, error)

func (*ComplianceSecurityProfile) UnmarshalJSON

func (s *ComplianceSecurityProfile) UnmarshalJSON(b []byte) error

type CreateCleanRoomAssetRequest

type CreateCleanRoomAssetRequest struct {
	// Metadata of the clean room asset
	Asset *CleanRoomAsset `json:"asset,omitempty"`
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
}

Create an asset

type CreateCleanRoomOutputCatalogRequest

type CreateCleanRoomOutputCatalogRequest struct {
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`

	OutputCatalog *CleanRoomOutputCatalog `json:"output_catalog,omitempty"`
}

Create an output catalog

type CreateCleanRoomOutputCatalogResponse

type CreateCleanRoomOutputCatalogResponse struct {
	OutputCatalog *CleanRoomOutputCatalog `json:"output_catalog,omitempty"`
}

type CreateCleanRoomRequest

type CreateCleanRoomRequest struct {
	CleanRoom *CleanRoom `json:"clean_room,omitempty"`
}

Create a clean room

type DeleteCleanRoomAssetRequest

type DeleteCleanRoomAssetRequest struct {
	// The fully qualified name of the asset, it is same as the name field in
	// CleanRoomAsset.
	AssetFullName string `json:"-" url:"-"`
	// The type of the asset.
	AssetType CleanRoomAssetAssetType `json:"-" url:"-"`
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
}

Delete an asset

type DeleteCleanRoomAssetResponse

type DeleteCleanRoomAssetResponse struct {
}

Response for delete clean room request. Using an empty message since the generic Empty proto does not externd UnshadedMessageMarker.

type DeleteCleanRoomRequest

type DeleteCleanRoomRequest struct {
	// Name of the clean room.
	Name string `json:"-" url:"-"`
}

Delete a clean room

type DeleteResponse

type DeleteResponse struct {
}

type GetCleanRoomAssetRequest

type GetCleanRoomAssetRequest struct {
	// The fully qualified name of the asset, it is same as the name field in
	// CleanRoomAsset.
	AssetFullName string `json:"-" url:"-"`
	// The type of the asset.
	AssetType CleanRoomAssetAssetType `json:"-" url:"-"`
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
}

Get an asset

type GetCleanRoomRequest

type GetCleanRoomRequest struct {
	Name string `json:"-" url:"-"`
}

Get a clean room

type ListCleanRoomAssetsRequest

type ListCleanRoomAssetsRequest struct {
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
	// Opaque pagination token to go to next page based on previous query.
	PageToken string `json:"-" url:"page_token,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

List assets

func (ListCleanRoomAssetsRequest) MarshalJSON

func (s ListCleanRoomAssetsRequest) MarshalJSON() ([]byte, error)

func (*ListCleanRoomAssetsRequest) UnmarshalJSON

func (s *ListCleanRoomAssetsRequest) UnmarshalJSON(b []byte) error

type ListCleanRoomAssetsResponse

type ListCleanRoomAssetsResponse struct {
	// Assets in the clean room.
	Assets []CleanRoomAsset `json:"assets,omitempty"`
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. page_token should be set to this value for the next request
	// (for the next page of results).
	NextPageToken string `json:"next_page_token,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (ListCleanRoomAssetsResponse) MarshalJSON

func (s ListCleanRoomAssetsResponse) MarshalJSON() ([]byte, error)

func (*ListCleanRoomAssetsResponse) UnmarshalJSON

func (s *ListCleanRoomAssetsResponse) UnmarshalJSON(b []byte) error

type ListCleanRoomNotebookTaskRunsRequest

type ListCleanRoomNotebookTaskRunsRequest struct {
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
	// Notebook name
	NotebookName string `json:"-" url:"notebook_name,omitempty"`
	// The maximum number of task runs to return. Currently ignored - all runs
	// will be returned.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// Opaque pagination token to go to next page based on previous query.
	PageToken string `json:"-" url:"page_token,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

List notebook task runs

func (ListCleanRoomNotebookTaskRunsRequest) MarshalJSON

func (s ListCleanRoomNotebookTaskRunsRequest) MarshalJSON() ([]byte, error)

func (*ListCleanRoomNotebookTaskRunsRequest) UnmarshalJSON

func (s *ListCleanRoomNotebookTaskRunsRequest) UnmarshalJSON(b []byte) error

type ListCleanRoomNotebookTaskRunsResponse

type ListCleanRoomNotebookTaskRunsResponse struct {
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. page_token should be set to this value for the next request
	// (for the next page of results).
	NextPageToken string `json:"next_page_token,omitempty"`
	// Name of the clean room.
	Runs []CleanRoomNotebookTaskRun `json:"runs,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (ListCleanRoomNotebookTaskRunsResponse) MarshalJSON

func (s ListCleanRoomNotebookTaskRunsResponse) MarshalJSON() ([]byte, error)

func (*ListCleanRoomNotebookTaskRunsResponse) UnmarshalJSON

func (s *ListCleanRoomNotebookTaskRunsResponse) UnmarshalJSON(b []byte) error

type ListCleanRoomsRequest

type ListCleanRoomsRequest struct {
	// Maximum number of clean rooms to return (i.e., the page length). Defaults
	// to 100.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// Opaque pagination token to go to next page based on previous query.
	PageToken string `json:"-" url:"page_token,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

List clean rooms

func (ListCleanRoomsRequest) MarshalJSON

func (s ListCleanRoomsRequest) MarshalJSON() ([]byte, error)

func (*ListCleanRoomsRequest) UnmarshalJSON

func (s *ListCleanRoomsRequest) UnmarshalJSON(b []byte) error

type ListCleanRoomsResponse

type ListCleanRoomsResponse struct {
	CleanRooms []CleanRoom `json:"clean_rooms,omitempty"`
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. page_token should be set to this value for the next request
	// (for the next page of results).
	NextPageToken string `json:"next_page_token,omitempty"`

	ForceSendFields []string `json:"-" url:"-"`
}

func (ListCleanRoomsResponse) MarshalJSON

func (s ListCleanRoomsResponse) MarshalJSON() ([]byte, error)

func (*ListCleanRoomsResponse) UnmarshalJSON

func (s *ListCleanRoomsResponse) UnmarshalJSON(b []byte) error

type UpdateCleanRoomAssetRequest

type UpdateCleanRoomAssetRequest struct {
	// Metadata of the clean room asset
	Asset *CleanRoomAsset `json:"asset,omitempty"`
	// The type of the asset.
	AssetType CleanRoomAssetAssetType `json:"-" url:"-"`
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
	// A fully qualified name that uniquely identifies the asset within the
	// clean room. This is also the name displayed in the clean room UI.
	//
	// For UC securable assets (tables, volumes, etc.), the format is
	// *shared_catalog*.*shared_schema*.*asset_name*
	//
	// For notebooks, the name is the notebook file name.
	Name string `json:"-" url:"-"`
}

Update an asset

type UpdateCleanRoomRequest

type UpdateCleanRoomRequest struct {
	CleanRoom *CleanRoom `json:"clean_room,omitempty"`
	// Name of the clean room.
	Name string `json:"-" url:"-"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL