cleanrooms

package
v0.79.0 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2025 License: Apache-2.0 Imports: 13 Imported by: 5

Documentation

Overview

These APIs allow you to manage Clean Room Asset Revisions, Clean Room Assets, Clean Room Auto Approval Rules, 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

func (*CleanRoomAccessRestricted) Values added in v0.72.0

Values returns all possible values for CleanRoomAccessRestricted.

There is no guarantee on the order of the values in the slice.

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"`
	// The name of the clean room this asset belongs to. This field is required
	// for create operations and populated by the server for responses.
	CleanRoomName string `json:"clean_room_name,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"`
	// 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

func (*CleanRoomAssetAssetType) Values added in v0.72.0

Values returns all possible values for CleanRoomAssetAssetType.

There is no guarantee on the order of the values in the slice.

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"`
}

type CleanRoomAssetNotebook

type CleanRoomAssetNotebook struct {
	// Server generated etag 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"`
	// top-level status derived from all reviews
	ReviewState CleanRoomNotebookReviewNotebookReviewState `json:"review_state,omitempty"`
	// All existing approvals or rejections
	Reviews []CleanRoomNotebookReview `json:"reviews,omitempty"`
	// collaborators that can run the notebook
	RunnerCollaboratorAliases []string `json:"runner_collaborator_aliases,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 CleanRoomAssetRevisionsAPI added in v0.77.0

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

Clean Room Asset Revisions denote new versions of uploaded assets (e.g. notebooks) in the clean room.

func NewCleanRoomAssetRevisions added in v0.77.0

func NewCleanRoomAssetRevisions(client *client.DatabricksClient) *CleanRoomAssetRevisionsAPI

func (*CleanRoomAssetRevisionsAPI) Get added in v0.77.0

func (a *CleanRoomAssetRevisionsAPI) Get(ctx context.Context, request GetCleanRoomAssetRevisionRequest) (*CleanRoomAsset, error)

func (*CleanRoomAssetRevisionsAPI) List added in v0.77.0

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

List revisions for an asset

func (*CleanRoomAssetRevisionsAPI) ListAll added in v0.77.0

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

List revisions for an asset

type CleanRoomAssetRevisionsInterface added in v0.77.0

type CleanRoomAssetRevisionsInterface interface {

	// Get a specific revision of an asset
	Get(ctx context.Context, request GetCleanRoomAssetRevisionRequest) (*CleanRoomAsset, error)

	// List revisions for an asset
	//
	// This method is generated by Databricks SDK Code Generator.
	List(ctx context.Context, request ListCleanRoomAssetRevisionsRequest) listing.Iterator[CleanRoomAsset]

	// List revisions for an asset
	//
	// This method is generated by Databricks SDK Code Generator.
	ListAll(ctx context.Context, request ListCleanRoomAssetRevisionsRequest) ([]CleanRoomAsset, error)
}

type CleanRoomAssetRevisionsService deprecated added in v0.77.0

type CleanRoomAssetRevisionsService interface {

	// Get a specific revision of an asset
	Get(ctx context.Context, request GetCleanRoomAssetRevisionRequest) (*CleanRoomAsset, error)

	// List revisions for an asset
	List(ctx context.Context, request ListCleanRoomAssetRevisionsRequest) (*ListCleanRoomAssetRevisionsResponse, error)
}

Clean Room Asset Revisions denote new versions of uploaded assets (e.g. notebooks) in the clean room.

Deprecated: Do not use this interface, it will be removed in a future version of the SDK.

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

func (*CleanRoomAssetStatusEnum) Values added in v0.72.0

Values returns all possible values for CleanRoomAssetStatusEnum.

There is no guarantee on the order of the values in the slice.

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"`
	// Partition filtering specification for a shared table.
	Partitions []sharing.Partition `json:"partitions,omitempty"`
}

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"`
}

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"`
}

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) CreateCleanRoomAssetReview added in v0.77.0

func (a *CleanRoomAssetsAPI) CreateCleanRoomAssetReview(ctx context.Context, request CreateCleanRoomAssetReviewRequest) (*CreateCleanRoomAssetReviewResponse, error)

func (*CleanRoomAssetsAPI) Delete

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

func (*CleanRoomAssetsAPI) DeleteByCleanRoomNameAndAssetTypeAndName added in v0.72.0

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

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) GetByCleanRoomNameAndAssetTypeAndName added in v0.72.0

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

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 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)

	// submit an asset review
	CreateCleanRoomAssetReview(ctx context.Context, request CreateCleanRoomAssetReviewRequest) (*CreateCleanRoomAssetReviewResponse, error)

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

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

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

	// Get the details of a clean room asset by its type and full name.
	GetByCleanRoomNameAndAssetTypeAndName(ctx context.Context, cleanRoomName string, assetType CleanRoomAssetAssetType, name 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 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 deprecated

type CleanRoomAssetsService interface {

	// 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)

	// submit an asset review
	CreateCleanRoomAssetReview(ctx context.Context, request CreateCleanRoomAssetReviewRequest) (*CreateCleanRoomAssetReviewResponse, error)

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

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

	// List assets.
	List(ctx context.Context, request ListCleanRoomAssetsRequest) (*ListCleanRoomAssetsResponse, error)

	// 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.

Deprecated: Do not use this interface, it will be removed in a future version of the SDK.

type CleanRoomAutoApprovalRule added in v0.77.0

type CleanRoomAutoApprovalRule struct {
	AuthorCollaboratorAlias string `json:"author_collaborator_alias,omitempty"`

	AuthorScope CleanRoomAutoApprovalRuleAuthorScope `json:"author_scope,omitempty"`
	// The name of the clean room this auto-approval rule belongs to.
	CleanRoomName string `json:"clean_room_name,omitempty"`
	// Timestamp of when the rule was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// A generated UUID identifying the rule.
	RuleId string `json:"rule_id,omitempty"`
	// The owner of the rule to whom the rule applies.
	RuleOwnerCollaboratorAlias string `json:"rule_owner_collaborator_alias,omitempty"`

	RunnerCollaboratorAlias string `json:"runner_collaborator_alias,omitempty"`

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

func (CleanRoomAutoApprovalRule) MarshalJSON added in v0.77.0

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

func (*CleanRoomAutoApprovalRule) UnmarshalJSON added in v0.77.0

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

type CleanRoomAutoApprovalRuleAuthorScope added in v0.77.0

type CleanRoomAutoApprovalRuleAuthorScope string
const CleanRoomAutoApprovalRuleAuthorScopeAnyAuthor CleanRoomAutoApprovalRuleAuthorScope = `ANY_AUTHOR`

func (*CleanRoomAutoApprovalRuleAuthorScope) Set added in v0.77.0

Set raw string value and validate it against allowed values

func (*CleanRoomAutoApprovalRuleAuthorScope) String added in v0.77.0

String representation for fmt.Print

func (*CleanRoomAutoApprovalRuleAuthorScope) Type added in v0.77.0

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

func (*CleanRoomAutoApprovalRuleAuthorScope) Values added in v0.77.0

Values returns all possible values for CleanRoomAutoApprovalRuleAuthorScope.

There is no guarantee on the order of the values in the slice.

type CleanRoomAutoApprovalRulesAPI added in v0.77.0

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

Clean room auto-approval rules automatically create an approval on your behalf when an asset (e.g. notebook) meeting specific criteria is shared in a clean room.

func NewCleanRoomAutoApprovalRules added in v0.77.0

func NewCleanRoomAutoApprovalRules(client *client.DatabricksClient) *CleanRoomAutoApprovalRulesAPI

func (*CleanRoomAutoApprovalRulesAPI) Create added in v0.77.0

func (a *CleanRoomAutoApprovalRulesAPI) Create(ctx context.Context, request CreateCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

func (*CleanRoomAutoApprovalRulesAPI) Delete added in v0.77.0

func (a *CleanRoomAutoApprovalRulesAPI) Delete(ctx context.Context, request DeleteCleanRoomAutoApprovalRuleRequest) error

func (*CleanRoomAutoApprovalRulesAPI) Get added in v0.77.0

func (a *CleanRoomAutoApprovalRulesAPI) Get(ctx context.Context, request GetCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

func (*CleanRoomAutoApprovalRulesAPI) List added in v0.77.0

func (a *CleanRoomAutoApprovalRulesAPI) List(ctx context.Context, request ListCleanRoomAutoApprovalRulesRequest) listing.Iterator[CleanRoomAutoApprovalRule]

List all auto-approval rules for the caller

func (*CleanRoomAutoApprovalRulesAPI) ListAll added in v0.77.0

func (a *CleanRoomAutoApprovalRulesAPI) ListAll(ctx context.Context, request ListCleanRoomAutoApprovalRulesRequest) ([]CleanRoomAutoApprovalRule, error)

List all auto-approval rules for the caller

func (*CleanRoomAutoApprovalRulesAPI) Update added in v0.77.0

func (a *CleanRoomAutoApprovalRulesAPI) Update(ctx context.Context, request UpdateCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

type CleanRoomAutoApprovalRulesInterface added in v0.77.0

type CleanRoomAutoApprovalRulesInterface interface {

	// Create an auto-approval rule
	Create(ctx context.Context, request CreateCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

	// Delete a auto-approval rule by rule ID
	Delete(ctx context.Context, request DeleteCleanRoomAutoApprovalRuleRequest) error

	// Get a auto-approval rule by rule ID
	Get(ctx context.Context, request GetCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

	// List all auto-approval rules for the caller
	//
	// This method is generated by Databricks SDK Code Generator.
	List(ctx context.Context, request ListCleanRoomAutoApprovalRulesRequest) listing.Iterator[CleanRoomAutoApprovalRule]

	// List all auto-approval rules for the caller
	//
	// This method is generated by Databricks SDK Code Generator.
	ListAll(ctx context.Context, request ListCleanRoomAutoApprovalRulesRequest) ([]CleanRoomAutoApprovalRule, error)

	// Update a auto-approval rule by rule ID
	Update(ctx context.Context, request UpdateCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)
}

type CleanRoomAutoApprovalRulesService deprecated added in v0.77.0

type CleanRoomAutoApprovalRulesService interface {

	// Create an auto-approval rule
	Create(ctx context.Context, request CreateCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

	// Delete a auto-approval rule by rule ID
	Delete(ctx context.Context, request DeleteCleanRoomAutoApprovalRuleRequest) error

	// Get a auto-approval rule by rule ID
	Get(ctx context.Context, request GetCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)

	// List all auto-approval rules for the caller
	List(ctx context.Context, request ListCleanRoomAutoApprovalRulesRequest) (*ListCleanRoomAutoApprovalRulesResponse, error)

	// Update a auto-approval rule by rule ID
	Update(ctx context.Context, request UpdateCleanRoomAutoApprovalRuleRequest) (*CleanRoomAutoApprovalRule, error)
}

Clean room auto-approval rules automatically create an approval on your behalf when an asset (e.g. notebook) meeting specific criteria is shared in a clean room.

Deprecated: Do not use this interface, it will be removed in a future version of the SDK.

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 CleanRoomNotebookReview added in v0.56.0

type CleanRoomNotebookReview struct {
	// review comment
	Comment string `json:"comment,omitempty"`
	// timestamp of when the review was submitted
	CreatedAtMillis int64 `json:"created_at_millis,omitempty"`
	// review outcome
	ReviewState CleanRoomNotebookReviewNotebookReviewState `json:"review_state,omitempty"`
	// specified when the review was not explicitly made by a user
	ReviewSubReason CleanRoomNotebookReviewNotebookReviewSubReason `json:"review_sub_reason,omitempty"`
	// collaborator alias of the reviewer
	ReviewerCollaboratorAlias string `json:"reviewer_collaborator_alias,omitempty"`

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

func (CleanRoomNotebookReview) MarshalJSON added in v0.56.0

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

func (*CleanRoomNotebookReview) UnmarshalJSON added in v0.56.0

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

type CleanRoomNotebookReviewNotebookReviewState added in v0.56.0

type CleanRoomNotebookReviewNotebookReviewState string
const CleanRoomNotebookReviewNotebookReviewStateApproved CleanRoomNotebookReviewNotebookReviewState = `APPROVED`
const CleanRoomNotebookReviewNotebookReviewStatePending CleanRoomNotebookReviewNotebookReviewState = `PENDING`
const CleanRoomNotebookReviewNotebookReviewStateRejected CleanRoomNotebookReviewNotebookReviewState = `REJECTED`

func (*CleanRoomNotebookReviewNotebookReviewState) Set added in v0.56.0

Set raw string value and validate it against allowed values

func (*CleanRoomNotebookReviewNotebookReviewState) String added in v0.56.0

String representation for fmt.Print

func (*CleanRoomNotebookReviewNotebookReviewState) Type added in v0.56.0

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

func (*CleanRoomNotebookReviewNotebookReviewState) Values added in v0.72.0

Values returns all possible values for CleanRoomNotebookReviewNotebookReviewState.

There is no guarantee on the order of the values in the slice.

type CleanRoomNotebookReviewNotebookReviewSubReason added in v0.70.0

type CleanRoomNotebookReviewNotebookReviewSubReason string
const CleanRoomNotebookReviewNotebookReviewSubReasonAutoApproved CleanRoomNotebookReviewNotebookReviewSubReason = `AUTO_APPROVED`
const CleanRoomNotebookReviewNotebookReviewSubReasonBackfilled CleanRoomNotebookReviewNotebookReviewSubReason = `BACKFILLED`

func (*CleanRoomNotebookReviewNotebookReviewSubReason) Set added in v0.70.0

Set raw string value and validate it against allowed values

func (*CleanRoomNotebookReviewNotebookReviewSubReason) String added in v0.70.0

String representation for fmt.Print

func (*CleanRoomNotebookReviewNotebookReviewSubReason) Type added in v0.70.0

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

func (*CleanRoomNotebookReviewNotebookReviewSubReason) Values added in v0.72.0

Values returns all possible values for CleanRoomNotebookReviewNotebookReviewSubReason.

There is no guarantee on the order of the values in the slice.

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"`
	// Etag of the notebook executed in this task run, used to identify the
	// notebook version.
	NotebookEtag string `json:"notebook_etag,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"`
	// The timestamp of when the notebook was last updated.
	NotebookUpdatedAt int64 `json:"notebook_updated_at,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

func (*CleanRoomOutputCatalogOutputCatalogStatus) Values added in v0.72.0

Values returns all possible values for CleanRoomOutputCatalogOutputCatalogStatus.

There is no guarantee on the order of the values in the slice.

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"`

	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

func (*CleanRoomStatusEnum) Values added in v0.72.0

Values returns all possible values for CleanRoomStatusEnum.

There is no guarantee on the order of the values in the slice.

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 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 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 all the historical notebook task runs in a clean room.

type CleanRoomTaskRunsInterface

type CleanRoomTaskRunsInterface interface {

	// 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 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 all the historical notebook task runs in a clean room.
	ListByCleanRoomName(ctx context.Context, cleanRoomName string) (*ListCleanRoomNotebookTaskRunsResponse, error)
}

type CleanRoomTaskRunsService deprecated

type CleanRoomTaskRunsService interface {

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

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

Deprecated: Do not use this interface, it will be removed in a future version of the SDK.

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, createCleanRoomRequest CreateCleanRoomRequest) (*WaitGetCleanRoomActive[CleanRoom], error)

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.

func (*CleanRoomsAPI) CreateAndWait deprecated added in v0.78.0

func (a *CleanRoomsAPI) CreateAndWait(ctx context.Context, createCleanRoomRequest CreateCleanRoomRequest, options ...retries.Option[CleanRoom]) (*CleanRoom, error)

Calls CleanRoomsAPI.Create and waits to reach ACTIVE state

You can override the default timeout of 20 minutes by calling adding retries.Timeout[CleanRoom](60*time.Minute) functional option.

Deprecated: use CleanRoomsAPI.Create.Get() or CleanRoomsAPI.WaitGetCleanRoomActive

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. 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 the details of a clean room given its name.

func (*CleanRoomsAPI) List

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

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)

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)

func (*CleanRoomsAPI) WaitGetCleanRoomActive added in v0.78.0

func (a *CleanRoomsAPI) WaitGetCleanRoomActive(ctx context.Context, name string,
	timeout time.Duration, callback func(*CleanRoom)) (*CleanRoom, error)

WaitGetCleanRoomActive repeatedly calls CleanRoomsAPI.Get and waits to reach ACTIVE state

type CleanRoomsInterface

type CleanRoomsInterface interface {

	// WaitGetCleanRoomActive repeatedly calls [CleanRoomsAPI.Get] and waits to reach ACTIVE state
	WaitGetCleanRoomActive(ctx context.Context, name string,
		timeout time.Duration, callback func(*CleanRoom)) (*CleanRoom, error)

	// 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, createCleanRoomRequest CreateCleanRoomRequest) (*WaitGetCleanRoomActive[CleanRoom], error)

	// Calls [CleanRoomsAPIInterface.Create] and waits to reach ACTIVE state
	//
	// You can override the default timeout of 20 minutes by calling adding
	// retries.Timeout[CleanRoom](60*time.Minute) functional option.
	//
	// Deprecated: use [CleanRoomsAPIInterface.Create].Get() or [CleanRoomsAPIInterface.WaitGetCleanRoomActive]
	CreateAndWait(ctx context.Context, createCleanRoomRequest CreateCleanRoomRequest, options ...retries.Option[CleanRoom]) (*CleanRoom, error)

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

	// 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. 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 the details of a clean room given its name.
	Get(ctx context.Context, request GetCleanRoomRequest) (*CleanRoom, error)

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

	// 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]

	// 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. 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 deprecated

type CleanRoomsService interface {

	// 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 the output catalog of the clean room.
	CreateOutputCatalog(ctx context.Context, request CreateCleanRoomOutputCatalogRequest) (*CreateCleanRoomOutputCatalogResponse, error)

	// 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 the details of a clean room given its name.
	Get(ctx context.Context, request GetCleanRoomRequest) (*CleanRoom, error)

	// Get a list of all clean rooms of the metastore. Only clean rooms the
	// caller has access to are returned.
	List(ctx context.Context, request ListCleanRoomsRequest) (*ListCleanRoomsResponse, error)

	// 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.

Deprecated: Do not use this interface, it will be removed in a future version of the SDK.

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 {
	Asset CleanRoomAsset `json:"asset"`
	// The name of the clean room this asset belongs to. This field is required
	// for create operations and populated by the server for responses.
	CleanRoomName string `json:"-" url:"-"`
}

type CreateCleanRoomAssetReviewRequest added in v0.77.0

type CreateCleanRoomAssetReviewRequest struct {
	// can only be NOTEBOOK_FILE for now
	AssetType CleanRoomAssetAssetType `json:"-" url:"-"`
	// Name of the clean room
	CleanRoomName string `json:"-" url:"-"`
	// Name of the asset
	Name string `json:"-" url:"-"`

	NotebookReview NotebookVersionReview `json:"notebook_review"`
}

type CreateCleanRoomAssetReviewResponse added in v0.77.0

type CreateCleanRoomAssetReviewResponse struct {
	// top-level status derived from all reviews
	NotebookReviewState CleanRoomNotebookReviewNotebookReviewState `json:"notebook_review_state,omitempty"`
	// All existing notebook approvals or rejections
	NotebookReviews []CleanRoomNotebookReview `json:"notebook_reviews,omitempty"`
}

type CreateCleanRoomAutoApprovalRuleRequest added in v0.77.0

type CreateCleanRoomAutoApprovalRuleRequest struct {
	AutoApprovalRule CleanRoomAutoApprovalRule `json:"auto_approval_rule"`
	// The name of the clean room this auto-approval rule belongs to.
	CleanRoomName string `json:"-" url:"-"`
}

type CreateCleanRoomOutputCatalogRequest

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

	OutputCatalog CleanRoomOutputCatalog `json:"output_catalog"`
}

type CreateCleanRoomOutputCatalogResponse

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

type CreateCleanRoomRequest

type CreateCleanRoomRequest struct {
	CleanRoom CleanRoom `json:"clean_room"`
}

type DeleteCleanRoomAssetRequest

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

type DeleteCleanRoomAutoApprovalRuleRequest added in v0.77.0

type DeleteCleanRoomAutoApprovalRuleRequest struct {
	CleanRoomName string `json:"-" url:"-"`

	RuleId string `json:"-" url:"-"`
}

type DeleteCleanRoomRequest

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

type GetCleanRoomAssetRequest

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

type GetCleanRoomAssetRevisionRequest added in v0.77.0

type GetCleanRoomAssetRevisionRequest struct {
	// Asset type. Only NOTEBOOK_FILE is supported.
	AssetType CleanRoomAssetAssetType `json:"-" url:"-"`
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
	// Revision etag to fetch. If not provided, the latest revision will be
	// returned.
	Etag string `json:"-" url:"-"`
	// Name of the asset.
	Name string `json:"-" url:"-"`
}

type GetCleanRoomAutoApprovalRuleRequest added in v0.77.0

type GetCleanRoomAutoApprovalRuleRequest struct {
	CleanRoomName string `json:"-" url:"-"`

	RuleId string `json:"-" url:"-"`
}

type GetCleanRoomRequest

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

type ListCleanRoomAssetRevisionsRequest added in v0.77.0

type ListCleanRoomAssetRevisionsRequest struct {
	// Asset type. Only NOTEBOOK_FILE is supported.
	AssetType CleanRoomAssetAssetType `json:"-" url:"-"`
	// Name of the clean room.
	CleanRoomName string `json:"-" url:"-"`
	// Name of the asset.
	Name string `json:"-" url:"-"`
	// Maximum number of asset revisions to return. Defaults to 10.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// Opaque pagination token to go to next page based on the previous query.
	PageToken string `json:"-" url:"page_token,omitempty"`

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

func (ListCleanRoomAssetRevisionsRequest) MarshalJSON added in v0.77.0

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

func (*ListCleanRoomAssetRevisionsRequest) UnmarshalJSON added in v0.77.0

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

type ListCleanRoomAssetRevisionsResponse added in v0.77.0

type ListCleanRoomAssetRevisionsResponse struct {
	NextPageToken string `json:"next_page_token,omitempty"`

	Revisions []CleanRoomAsset `json:"revisions,omitempty"`

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

func (ListCleanRoomAssetRevisionsResponse) MarshalJSON added in v0.77.0

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

func (*ListCleanRoomAssetRevisionsResponse) UnmarshalJSON added in v0.77.0

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

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:"-"`
}

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 ListCleanRoomAutoApprovalRulesRequest added in v0.77.0

type ListCleanRoomAutoApprovalRulesRequest struct {
	CleanRoomName string `json:"-" url:"-"`
	// Maximum number of auto-approval rules to return. 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:"-"`
}

func (ListCleanRoomAutoApprovalRulesRequest) MarshalJSON added in v0.77.0

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

func (*ListCleanRoomAutoApprovalRulesRequest) UnmarshalJSON added in v0.77.0

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

type ListCleanRoomAutoApprovalRulesResponse added in v0.77.0

type ListCleanRoomAutoApprovalRulesResponse 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"`

	Rules []CleanRoomAutoApprovalRule `json:"rules,omitempty"`

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

func (ListCleanRoomAutoApprovalRulesResponse) MarshalJSON added in v0.77.0

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

func (*ListCleanRoomAutoApprovalRulesResponse) UnmarshalJSON added in v0.77.0

func (s *ListCleanRoomAutoApprovalRulesResponse) 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:"-"`
}

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:"-"`
}

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 NotebookVersionReview added in v0.77.0

type NotebookVersionReview struct {
	// review comment
	Comment string `json:"comment,omitempty"`
	// etag that identifies the notebook version
	Etag string `json:"etag"`
	// review outcome
	ReviewState CleanRoomNotebookReviewNotebookReviewState `json:"review_state"`

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

func (NotebookVersionReview) MarshalJSON added in v0.77.0

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

func (*NotebookVersionReview) UnmarshalJSON added in v0.77.0

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

type UpdateCleanRoomAssetRequest

type UpdateCleanRoomAssetRequest struct {
	// The asset to update. The asset's `name` and `asset_type` fields are used
	// to identify the asset to update.
	Asset CleanRoomAsset `json:"asset"`
	// 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:"-"`
}

type UpdateCleanRoomAutoApprovalRuleRequest added in v0.77.0

type UpdateCleanRoomAutoApprovalRuleRequest struct {
	// The auto-approval rule to update. The rule_id field is used to identify
	// the rule to update.
	AutoApprovalRule CleanRoomAutoApprovalRule `json:"auto_approval_rule"`
	// The name of the clean room this auto-approval rule belongs to.
	CleanRoomName string `json:"-" url:"-"`
	// A generated UUID identifying the rule.
	RuleId string `json:"-" url:"-"`
}

type UpdateCleanRoomRequest

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

type WaitGetCleanRoomActive added in v0.78.0

type WaitGetCleanRoomActive[R any] struct {
	Response *R
	Name     string `json:"name"`
	Poll     func(time.Duration, func(*CleanRoom)) (*CleanRoom, error)
	// contains filtered or unexported fields
}

WaitGetCleanRoomActive is a wrapper that calls CleanRoomsAPI.WaitGetCleanRoomActive and waits to reach ACTIVE state.

func (*WaitGetCleanRoomActive[R]) Get added in v0.78.0

func (w *WaitGetCleanRoomActive[R]) Get() (*CleanRoom, error)

Get the CleanRoom with the default timeout of 20 minutes.

func (*WaitGetCleanRoomActive[R]) GetWithTimeout added in v0.78.0

func (w *WaitGetCleanRoomActive[R]) GetWithTimeout(timeout time.Duration) (*CleanRoom, error)

Get the CleanRoom with custom timeout.

func (*WaitGetCleanRoomActive[R]) OnProgress added in v0.78.0

func (w *WaitGetCleanRoomActive[R]) OnProgress(callback func(*CleanRoom)) *WaitGetCleanRoomActive[R]

OnProgress invokes a callback every time it polls for the status update.

Jump to

Keyboard shortcuts

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