Documentation ¶
Overview ¶
These APIs allow you to manage Git Credentials, Repos, Secrets, Workspace, etc.
Index ¶
- func DownloadFormat(f ExportFormat) func(q map[string]any)
- type AclItem
- type AclPermission
- type AzureKeyVaultSecretScopeMetadata
- type CreateCredentials
- type CreateCredentialsResponse
- type CreateRepo
- type CreateScope
- type CreateScopeResponse
- type CredentialInfo
- type Delete
- type DeleteAcl
- type DeleteAclResponse
- type DeleteGitCredentialRequest
- type DeleteRepoRequest
- type DeleteResponse
- type DeleteScope
- type DeleteScopeResponse
- type DeleteSecret
- type DeleteSecretResponse
- type DownloadOption
- type ExportFormat
- type ExportRequest
- type ExportResponse
- type GetAclRequest
- type GetCredentialsResponse
- type GetGitCredentialRequest
- type GetRepoPermissionLevelsRequest
- type GetRepoPermissionLevelsResponse
- type GetRepoPermissionsRequest
- type GetRepoRequest
- type GetSecretRequest
- type GetSecretResponse
- type GetStatusRequest
- type GetWorkspaceObjectPermissionLevelsRequest
- type GetWorkspaceObjectPermissionLevelsResponse
- type GetWorkspaceObjectPermissionsRequest
- type GitCredentialsAPI
- func (a *GitCredentialsAPI) Create(ctx context.Context, request CreateCredentials) (*CreateCredentialsResponse, error)
- func (a *GitCredentialsAPI) CredentialInfoGitProviderToCredentialIdMap(ctx context.Context) (map[string]int64, error)
- func (a *GitCredentialsAPI) Delete(ctx context.Context, request DeleteGitCredentialRequest) error
- func (a *GitCredentialsAPI) DeleteByCredentialId(ctx context.Context, credentialId int64) error
- func (a *GitCredentialsAPI) Get(ctx context.Context, request GetGitCredentialRequest) (*CredentialInfo, error)
- func (a *GitCredentialsAPI) GetByCredentialId(ctx context.Context, credentialId int64) (*CredentialInfo, error)
- func (a *GitCredentialsAPI) GetByGitProvider(ctx context.Context, name string) (*CredentialInfo, error)
- func (a *GitCredentialsAPI) Impl() GitCredentialsService
- func (a *GitCredentialsAPI) List(ctx context.Context) listing.Iterator[CredentialInfo]
- func (a *GitCredentialsAPI) ListAll(ctx context.Context) ([]CredentialInfo, error)
- func (a *GitCredentialsAPI) Update(ctx context.Context, request UpdateCredentials) error
- func (a *GitCredentialsAPI) WithImpl(impl GitCredentialsService) GitCredentialsInterface
- type GitCredentialsInterface
- type GitCredentialsService
- type Import
- type ImportFormat
- type ImportResponse
- type Language
- type ListAclsRequest
- type ListAclsResponse
- type ListReposRequest
- type ListReposResponse
- type ListResponse
- type ListScopesResponse
- type ListSecretsRequest
- type ListSecretsResponse
- type ListWorkspaceRequest
- type Mkdirs
- type MkdirsResponse
- type ObjectInfo
- type ObjectType
- type PutAcl
- type PutAclResponse
- type PutSecret
- type PutSecretResponse
- type RepoAccessControlRequest
- type RepoAccessControlResponse
- type RepoInfo
- type RepoPermission
- type RepoPermissionLevel
- type RepoPermissions
- type RepoPermissionsDescription
- type RepoPermissionsRequest
- type ReposAPI
- func (a *ReposAPI) Create(ctx context.Context, request CreateRepo) (*RepoInfo, error)
- func (a *ReposAPI) Delete(ctx context.Context, request DeleteRepoRequest) error
- func (a *ReposAPI) DeleteByRepoId(ctx context.Context, repoId int64) error
- func (a *ReposAPI) Get(ctx context.Context, request GetRepoRequest) (*RepoInfo, error)
- func (a *ReposAPI) GetByPath(ctx context.Context, name string) (*RepoInfo, error)
- func (a *ReposAPI) GetByRepoId(ctx context.Context, repoId int64) (*RepoInfo, error)
- func (a *ReposAPI) GetPermissionLevels(ctx context.Context, request GetRepoPermissionLevelsRequest) (*GetRepoPermissionLevelsResponse, error)
- func (a *ReposAPI) GetPermissionLevelsByRepoId(ctx context.Context, repoId string) (*GetRepoPermissionLevelsResponse, error)
- func (a *ReposAPI) GetPermissions(ctx context.Context, request GetRepoPermissionsRequest) (*RepoPermissions, error)
- func (a *ReposAPI) GetPermissionsByRepoId(ctx context.Context, repoId string) (*RepoPermissions, error)
- func (a *ReposAPI) Impl() ReposService
- func (a *ReposAPI) List(ctx context.Context, request ListReposRequest) listing.Iterator[RepoInfo]
- func (a *ReposAPI) ListAll(ctx context.Context, request ListReposRequest) ([]RepoInfo, error)
- func (a *ReposAPI) RepoInfoPathToIdMap(ctx context.Context, request ListReposRequest) (map[string]int64, error)
- func (a *ReposAPI) SetPermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error)
- func (a *ReposAPI) Update(ctx context.Context, request UpdateRepo) error
- func (a *ReposAPI) UpdatePermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error)
- func (a *ReposAPI) WithImpl(impl ReposService) ReposInterface
- type ReposInterface
- type ReposService
- type ScopeBackendType
- type SecretMetadata
- type SecretScope
- type SecretsAPI
- func (a *SecretsAPI) CreateScope(ctx context.Context, request CreateScope) error
- func (a *SecretsAPI) DeleteAcl(ctx context.Context, request DeleteAcl) error
- func (a *SecretsAPI) DeleteScope(ctx context.Context, request DeleteScope) error
- func (a *SecretsAPI) DeleteScopeByScope(ctx context.Context, scope string) error
- func (a *SecretsAPI) DeleteSecret(ctx context.Context, request DeleteSecret) error
- func (a *SecretsAPI) GetAcl(ctx context.Context, request GetAclRequest) (*AclItem, error)
- func (a *SecretsAPI) GetSecret(ctx context.Context, request GetSecretRequest) (*GetSecretResponse, error)
- func (a *SecretsAPI) Impl() SecretsService
- func (a *SecretsAPI) ListAcls(ctx context.Context, request ListAclsRequest) listing.Iterator[AclItem]
- func (a *SecretsAPI) ListAclsAll(ctx context.Context, request ListAclsRequest) ([]AclItem, error)
- func (a *SecretsAPI) ListAclsByScope(ctx context.Context, scope string) (*ListAclsResponse, error)
- func (a *SecretsAPI) ListScopes(ctx context.Context) listing.Iterator[SecretScope]
- func (a *SecretsAPI) ListScopesAll(ctx context.Context) ([]SecretScope, error)
- func (a *SecretsAPI) ListSecrets(ctx context.Context, request ListSecretsRequest) listing.Iterator[SecretMetadata]
- func (a *SecretsAPI) ListSecretsAll(ctx context.Context, request ListSecretsRequest) ([]SecretMetadata, error)
- func (a *SecretsAPI) ListSecretsByScope(ctx context.Context, scope string) (*ListSecretsResponse, error)
- func (a *SecretsAPI) PutAcl(ctx context.Context, request PutAcl) error
- func (a *SecretsAPI) PutSecret(ctx context.Context, request PutSecret) error
- func (a *SecretsAPI) WithImpl(impl SecretsService) SecretsInterface
- type SecretsInterface
- type SecretsService
- type SparseCheckout
- type SparseCheckoutUpdate
- type UpdateCredentials
- type UpdateRepo
- type UpdateResponse
- type UploadOption
- type WorkspaceAPI
- func (a *WorkspaceAPI) Delete(ctx context.Context, request Delete) error
- func (a *WorkspaceAPI) Download(ctx context.Context, path string, opts ...DownloadOption) (io.ReadCloser, error)
- func (a *WorkspaceAPI) Export(ctx context.Context, request ExportRequest) (*ExportResponse, error)
- func (a *WorkspaceAPI) GetByPath(ctx context.Context, name string) (*ObjectInfo, error)
- func (a *WorkspaceAPI) GetPermissionLevels(ctx context.Context, request GetWorkspaceObjectPermissionLevelsRequest) (*GetWorkspaceObjectPermissionLevelsResponse, error)
- func (a *WorkspaceAPI) GetPermissionLevelsByWorkspaceObjectTypeAndWorkspaceObjectId(ctx context.Context, workspaceObjectType string, workspaceObjectId string) (*GetWorkspaceObjectPermissionLevelsResponse, error)
- func (a *WorkspaceAPI) GetPermissions(ctx context.Context, request GetWorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error)
- func (a *WorkspaceAPI) GetPermissionsByWorkspaceObjectTypeAndWorkspaceObjectId(ctx context.Context, workspaceObjectType string, workspaceObjectId string) (*WorkspaceObjectPermissions, error)
- func (a *WorkspaceAPI) GetStatus(ctx context.Context, request GetStatusRequest) (*ObjectInfo, error)
- func (a *WorkspaceAPI) GetStatusByPath(ctx context.Context, path string) (*ObjectInfo, error)
- func (a *WorkspaceAPI) Impl() WorkspaceService
- func (a *WorkspaceAPI) Import(ctx context.Context, request Import) error
- func (a *WorkspaceAPI) List(ctx context.Context, request ListWorkspaceRequest) listing.Iterator[ObjectInfo]
- func (a *WorkspaceAPI) ListAll(ctx context.Context, request ListWorkspaceRequest) ([]ObjectInfo, error)
- func (a *WorkspaceAPI) Mkdirs(ctx context.Context, request Mkdirs) error
- func (a *WorkspaceAPI) MkdirsByPath(ctx context.Context, path string) error
- func (a *WorkspaceAPI) ObjectInfoPathToObjectIdMap(ctx context.Context, request ListWorkspaceRequest) (map[string]int64, error)
- func (a *WorkspaceAPI) ReadFile(ctx context.Context, name string) ([]byte, error)
- func (a *WorkspaceAPI) RecursiveList(ctx context.Context, path string) ([]ObjectInfo, error)
- func (a *WorkspaceAPI) SetPermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error)
- func (a *WorkspaceAPI) UpdatePermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error)
- func (a *WorkspaceAPI) Upload(ctx context.Context, path string, r io.Reader, opts ...UploadOption) error
- func (a *WorkspaceAPI) WithImpl(impl WorkspaceService) WorkspaceInterface
- func (a *WorkspaceAPI) WriteFile(ctx context.Context, name string, data []byte) error
- type WorkspaceInterface
- type WorkspaceObjectAccessControlRequest
- type WorkspaceObjectAccessControlResponse
- type WorkspaceObjectPermission
- type WorkspaceObjectPermissionLevel
- type WorkspaceObjectPermissions
- type WorkspaceObjectPermissionsDescription
- type WorkspaceObjectPermissionsRequest
- type WorkspaceService
Examples ¶
- GitCredentialsAPI.Create (GitCredentials)
- GitCredentialsAPI.Get (GitCredentials)
- GitCredentialsAPI.ListAll (GitCredentials)
- GitCredentialsAPI.Update (GitCredentials)
- ReposAPI.Create (Repos)
- ReposAPI.Get (Repos)
- ReposAPI.GetByPath (CheckoutBranchByPath)
- ReposAPI.ListAll (Repos)
- ReposAPI.Update (Repos)
- SecretsAPI.CreateScope (Secrets)
- SecretsAPI.ListAcls (Secrets)
- SecretsAPI.ListScopes (Secrets)
- SecretsAPI.ListSecrets (Secrets)
- SecretsAPI.PutAcl (Secrets)
- SecretsAPI.PutSecret (Secrets)
- WorkspaceAPI.Export (WorkspaceIntegration)
- WorkspaceAPI.GetStatus (GenericPermissions)
- WorkspaceAPI.GetStatus (WorkspaceIntegration)
- WorkspaceAPI.Import (GenericPermissions)
- WorkspaceAPI.Import (JobsApiFullIntegration)
- WorkspaceAPI.Import (Pipelines)
- WorkspaceAPI.Import (WorkspaceIntegration)
- WorkspaceAPI.ListAll (WorkspaceIntegration)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DownloadFormat ¶ added in v0.10.0
func DownloadFormat(f ExportFormat) func(q map[string]any)
Types ¶
type AclItem ¶ added in v0.8.0
type AclItem struct { // The permission level applied to the principal. Permission AclPermission `json:"permission"` // The principal in which the permission is applied. Principal string `json:"principal"` }
type AclPermission ¶ added in v0.8.0
type AclPermission string
const AclPermissionManage AclPermission = `MANAGE`
const AclPermissionRead AclPermission = `READ`
const AclPermissionWrite AclPermission = `WRITE`
func (*AclPermission) Set ¶ added in v0.8.0
func (f *AclPermission) Set(v string) error
Set raw string value and validate it against allowed values
func (*AclPermission) String ¶ added in v0.8.0
func (f *AclPermission) String() string
String representation for fmt.Print
func (*AclPermission) Type ¶ added in v0.8.0
func (f *AclPermission) Type() string
Type always returns AclPermission to satisfy [pflag.Value] interface
type AzureKeyVaultSecretScopeMetadata ¶ added in v0.8.0
type CreateCredentials ¶ added in v0.8.0
type CreateCredentials struct { // Git provider. This field is case-insensitive. The available Git providers // are gitHub, bitbucketCloud, gitLab, azureDevOpsServices, // gitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition and // awsCodeCommit. GitProvider string `json:"git_provider"` // The username or email provided with your Git provider account, depending // on which provider you are using. For GitHub, GitHub Enterprise Server, or // Azure DevOps Services, either email or username may be used. For GitLab, // GitLab Enterprise Edition, email must be used. For AWS CodeCommit, // BitBucket or BitBucket Server, username must be used. For all other // providers please see your provider's Personal Access Token authentication // documentation to see what is supported. GitUsername string `json:"git_username,omitempty"` // The personal access token used to authenticate to the corresponding Git // provider. For certain providers, support may exist for other types of // scoped access tokens. [Learn more]. The personal access token used to // authenticate to the corresponding Git // // [Learn more]: https://docs.databricks.com/repos/get-access-tokens-from-git-provider.html PersonalAccessToken string `json:"personal_access_token,omitempty"` ForceSendFields []string `json:"-"` }
func (CreateCredentials) MarshalJSON ¶ added in v0.23.0
func (s CreateCredentials) MarshalJSON() ([]byte, error)
func (*CreateCredentials) UnmarshalJSON ¶ added in v0.23.0
func (s *CreateCredentials) UnmarshalJSON(b []byte) error
type CreateCredentialsResponse ¶ added in v0.8.0
type CreateCredentialsResponse struct { // ID of the credential object in the workspace. CredentialId int64 `json:"credential_id,omitempty"` // Git provider. This field is case-insensitive. The available Git providers // are gitHub, bitbucketCloud, gitLab, azureDevOpsServices, // gitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition and // awsCodeCommit. GitProvider string `json:"git_provider,omitempty"` // The username or email provided with your Git provider account, depending // on which provider you are using. For GitHub, GitHub Enterprise Server, or // Azure DevOps Services, either email or username may be used. For GitLab, // GitLab Enterprise Edition, email must be used. For AWS CodeCommit, // BitBucket or BitBucket Server, username must be used. For all other // providers please see your provider's Personal Access Token authentication // documentation to see what is supported. GitUsername string `json:"git_username,omitempty"` ForceSendFields []string `json:"-"` }
func (CreateCredentialsResponse) MarshalJSON ¶ added in v0.23.0
func (s CreateCredentialsResponse) MarshalJSON() ([]byte, error)
func (*CreateCredentialsResponse) UnmarshalJSON ¶ added in v0.23.0
func (s *CreateCredentialsResponse) UnmarshalJSON(b []byte) error
type CreateRepo ¶ added in v0.8.0
type CreateRepo struct { // Desired path for the repo in the workspace. Almost any path in the // workspace can be chosen. If repo is created in /Repos, path must be in // the format /Repos/{folder}/{repo-name}. Path string `json:"path,omitempty"` // Git provider. This field is case-insensitive. The available Git providers // are gitHub, bitbucketCloud, gitLab, azureDevOpsServices, // gitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition and // awsCodeCommit. Provider string `json:"provider"` // If specified, the repo will be created with sparse checkout enabled. You // cannot enable/disable sparse checkout after the repo is created. SparseCheckout *SparseCheckout `json:"sparse_checkout,omitempty"` // URL of the Git repository to be linked. Url string `json:"url"` ForceSendFields []string `json:"-"` }
func (CreateRepo) MarshalJSON ¶ added in v0.23.0
func (s CreateRepo) MarshalJSON() ([]byte, error)
func (*CreateRepo) UnmarshalJSON ¶ added in v0.23.0
func (s *CreateRepo) UnmarshalJSON(b []byte) error
type CreateScope ¶ added in v0.8.0
type CreateScope struct { // The metadata for the secret scope if the type is `AZURE_KEYVAULT` BackendAzureKeyvault *AzureKeyVaultSecretScopeMetadata `json:"backend_azure_keyvault,omitempty"` // The principal that is initially granted `MANAGE` permission to the // created scope. InitialManagePrincipal string `json:"initial_manage_principal,omitempty"` // Scope name requested by the user. Scope names are unique. Scope string `json:"scope"` // The backend type the scope will be created with. If not specified, will // default to `DATABRICKS` ScopeBackendType ScopeBackendType `json:"scope_backend_type,omitempty"` ForceSendFields []string `json:"-"` }
func (CreateScope) MarshalJSON ¶ added in v0.23.0
func (s CreateScope) MarshalJSON() ([]byte, error)
func (*CreateScope) UnmarshalJSON ¶ added in v0.23.0
func (s *CreateScope) UnmarshalJSON(b []byte) error
type CreateScopeResponse ¶ added in v0.34.0
type CreateScopeResponse struct { }
type CredentialInfo ¶ added in v0.8.0
type CredentialInfo struct { // ID of the credential object in the workspace. CredentialId int64 `json:"credential_id,omitempty"` // Git provider. This field is case-insensitive. The available Git providers // are gitHub, gitHubOAuth, bitbucketCloud, gitLab, azureDevOpsServices, // gitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition and // awsCodeCommit. GitProvider string `json:"git_provider,omitempty"` // The username or email provided with your Git provider account, depending // on which provider you are using. For GitHub, GitHub Enterprise Server, or // Azure DevOps Services, either email or username may be used. For GitLab, // GitLab Enterprise Edition, email must be used. For AWS CodeCommit, // BitBucket or BitBucket Server, username must be used. For all other // providers please see your provider's Personal Access Token authentication // documentation to see what is supported. GitUsername string `json:"git_username,omitempty"` ForceSendFields []string `json:"-"` }
func (CredentialInfo) MarshalJSON ¶ added in v0.23.0
func (s CredentialInfo) MarshalJSON() ([]byte, error)
func (*CredentialInfo) UnmarshalJSON ¶ added in v0.23.0
func (s *CredentialInfo) UnmarshalJSON(b []byte) error
type Delete ¶
type Delete struct { // The absolute path of the notebook or directory. Path string `json:"path"` // The flag that specifies whether to delete the object recursively. It is // `false` by default. Please note this deleting directory is not atomic. If // it fails in the middle, some of objects under this directory may be // deleted and cannot be undone. Recursive bool `json:"recursive,omitempty"` ForceSendFields []string `json:"-"` }
func (Delete) MarshalJSON ¶ added in v0.23.0
func (*Delete) UnmarshalJSON ¶ added in v0.23.0
type DeleteAclResponse ¶ added in v0.34.0
type DeleteAclResponse struct { }
type DeleteGitCredentialRequest ¶ added in v0.8.0
type DeleteGitCredentialRequest struct { // The ID for the corresponding credential to access. CredentialId int64 `json:"-" url:"-"` }
Delete a credential
type DeleteRepoRequest ¶ added in v0.8.0
type DeleteRepoRequest struct { // The ID for the corresponding repo to access. RepoId int64 `json:"-" url:"-"` }
Delete a repo
type DeleteResponse ¶ added in v0.34.0
type DeleteResponse struct { }
type DeleteScope ¶ added in v0.8.0
type DeleteScope struct { // Name of the scope to delete. Scope string `json:"scope"` }
type DeleteScopeResponse ¶ added in v0.34.0
type DeleteScopeResponse struct { }
type DeleteSecret ¶ added in v0.8.0
type DeleteSecretResponse ¶ added in v0.34.0
type DeleteSecretResponse struct { }
type DownloadOption ¶ added in v0.10.0
type ExportFormat ¶
type ExportFormat string
const ExportFormatAuto ExportFormat = `AUTO`
const ExportFormatDbc ExportFormat = `DBC`
const ExportFormatHtml ExportFormat = `HTML`
const ExportFormatJupyter ExportFormat = `JUPYTER`
const ExportFormatRMarkdown ExportFormat = `R_MARKDOWN`
const ExportFormatSource ExportFormat = `SOURCE`
func (*ExportFormat) Set ¶ added in v0.2.0
func (f *ExportFormat) Set(v string) error
Set raw string value and validate it against allowed values
func (*ExportFormat) String ¶ added in v0.2.0
func (f *ExportFormat) String() string
String representation for fmt.Print
func (*ExportFormat) Type ¶ added in v0.2.0
func (f *ExportFormat) Type() string
Type always returns ExportFormat to satisfy [pflag.Value] interface
type ExportRequest ¶ added in v0.8.0
type ExportRequest struct { // This specifies the format of the exported file. By default, this is // `SOURCE`. // // The value is case sensitive. // // - `SOURCE`: The notebook is exported as source code. Directory exports // will not include non-notebook entries. - `HTML`: The notebook is exported // as an HTML file. - `JUPYTER`: The notebook is exported as a // Jupyter/IPython Notebook file. - `DBC`: The notebook is exported in // Databricks archive format. Directory exports will not include // non-notebook entries. - `R_MARKDOWN`: The notebook is exported to R // Markdown format. - `AUTO`: The object or directory is exported depending // on the objects type. Directory exports will include notebooks and // workspace files. Format ExportFormat `json:"-" url:"format,omitempty"` // The absolute path of the object or directory. Exporting a directory is // only supported for the `DBC`, `SOURCE`, and `AUTO` format. Path string `json:"-" url:"path"` }
Export a workspace object
type ExportResponse ¶
type ExportResponse struct { // The base64-encoded content. If the limit (10MB) is exceeded, exception // with error code **MAX_NOTEBOOK_SIZE_EXCEEDED** is thrown. Content string `json:"content,omitempty"` // The file type of the exported file. FileType string `json:"file_type,omitempty"` ForceSendFields []string `json:"-"` }
func (*ExportResponse) Bytes ¶
func (r *ExportResponse) Bytes() ([]byte, error)
func (ExportResponse) MarshalJSON ¶ added in v0.23.0
func (s ExportResponse) MarshalJSON() ([]byte, error)
func (*ExportResponse) UnmarshalJSON ¶ added in v0.23.0
func (s *ExportResponse) UnmarshalJSON(b []byte) error
type GetAclRequest ¶ added in v0.8.0
type GetAclRequest struct { // The principal to fetch ACL information for. Principal string `json:"-" url:"principal"` // The name of the scope to fetch ACL information from. Scope string `json:"-" url:"scope"` }
Get secret ACL details
type GetCredentialsResponse ¶ added in v0.8.0
type GetCredentialsResponse struct {
Credentials []CredentialInfo `json:"credentials,omitempty"`
}
type GetGitCredentialRequest ¶ added in v0.8.0
type GetGitCredentialRequest struct { // The ID for the corresponding credential to access. CredentialId int64 `json:"-" url:"-"` }
Get a credential entry
type GetRepoPermissionLevelsRequest ¶ added in v0.15.0
type GetRepoPermissionLevelsRequest struct { // The repo for which to get or manage permissions. RepoId string `json:"-" url:"-"` }
Get repo permission levels
type GetRepoPermissionLevelsResponse ¶ added in v0.15.0
type GetRepoPermissionLevelsResponse struct { // Specific permission levels PermissionLevels []RepoPermissionsDescription `json:"permission_levels,omitempty"` }
type GetRepoPermissionsRequest ¶ added in v0.15.0
type GetRepoPermissionsRequest struct { // The repo for which to get or manage permissions. RepoId string `json:"-" url:"-"` }
Get repo permissions
type GetRepoRequest ¶ added in v0.8.0
type GetRepoRequest struct { // The ID for the corresponding repo to access. RepoId int64 `json:"-" url:"-"` }
Get a repo
type GetSecretRequest ¶ added in v0.17.0
type GetSecretRequest struct { // The key to fetch secret for. Key string `json:"-" url:"key"` // The name of the scope to fetch secret information from. Scope string `json:"-" url:"scope"` }
Get a secret
type GetSecretResponse ¶ added in v0.17.0
type GetSecretResponse struct { // A unique name to identify the secret. Key string `json:"key,omitempty"` // The value of the secret in its byte representation. Value string `json:"value,omitempty"` ForceSendFields []string `json:"-"` }
func (GetSecretResponse) MarshalJSON ¶ added in v0.23.0
func (s GetSecretResponse) MarshalJSON() ([]byte, error)
func (*GetSecretResponse) UnmarshalJSON ¶ added in v0.23.0
func (s *GetSecretResponse) UnmarshalJSON(b []byte) error
type GetStatusRequest ¶ added in v0.8.0
type GetStatusRequest struct { // The absolute path of the notebook or directory. Path string `json:"-" url:"path"` }
Get status
type GetWorkspaceObjectPermissionLevelsRequest ¶ added in v0.15.0
type GetWorkspaceObjectPermissionLevelsRequest struct { // The workspace object for which to get or manage permissions. WorkspaceObjectId string `json:"-" url:"-"` // The workspace object type for which to get or manage permissions. WorkspaceObjectType string `json:"-" url:"-"` }
Get workspace object permission levels
type GetWorkspaceObjectPermissionLevelsResponse ¶ added in v0.15.0
type GetWorkspaceObjectPermissionLevelsResponse struct { // Specific permission levels PermissionLevels []WorkspaceObjectPermissionsDescription `json:"permission_levels,omitempty"` }
type GetWorkspaceObjectPermissionsRequest ¶ added in v0.15.0
type GetWorkspaceObjectPermissionsRequest struct { // The workspace object for which to get or manage permissions. WorkspaceObjectId string `json:"-" url:"-"` // The workspace object type for which to get or manage permissions. WorkspaceObjectType string `json:"-" url:"-"` }
Get workspace object permissions
type GitCredentialsAPI ¶ added in v0.8.0
type GitCredentialsAPI struct {
// contains filtered or unexported fields
}
Registers personal access token for Databricks to do operations on behalf of the user.
See more info.
func NewGitCredentials ¶ added in v0.8.0
func NewGitCredentials(client *client.DatabricksClient) *GitCredentialsAPI
func (*GitCredentialsAPI) Create ¶ added in v0.8.0
func (a *GitCredentialsAPI) Create(ctx context.Context, request CreateCredentials) (*CreateCredentialsResponse, error)
Create a credential entry.
Creates a Git credential entry for the user. Only one Git credential per user is supported, so any attempts to create credentials if an entry already exists will fail. Use the PATCH endpoint to update existing credentials, or the DELETE endpoint to delete existing credentials.
Example (GitCredentials) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } cr, err := w.GitCredentials.Create(ctx, workspace.CreateCredentials{ GitProvider: "gitHub", GitUsername: "test", PersonalAccessToken: "test", }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", cr) // cleanup err = w.GitCredentials.DeleteByCredentialId(ctx, cr.CredentialId) if err != nil { panic(err) }
Output:
func (*GitCredentialsAPI) CredentialInfoGitProviderToCredentialIdMap ¶ added in v0.8.0
func (a *GitCredentialsAPI) CredentialInfoGitProviderToCredentialIdMap(ctx context.Context) (map[string]int64, error)
CredentialInfoGitProviderToCredentialIdMap calls GitCredentialsAPI.ListAll and creates a map of results with CredentialInfo.GitProvider as key and CredentialInfo.CredentialId as value.
Returns an error if there's more than one CredentialInfo with the same .GitProvider.
Note: All CredentialInfo instances are loaded into memory before creating a map.
This method is generated by Databricks SDK Code Generator.
func (*GitCredentialsAPI) Delete ¶ added in v0.8.0
func (a *GitCredentialsAPI) Delete(ctx context.Context, request DeleteGitCredentialRequest) error
Delete a credential.
Deletes the specified Git credential.
func (*GitCredentialsAPI) DeleteByCredentialId ¶ added in v0.8.0
func (a *GitCredentialsAPI) DeleteByCredentialId(ctx context.Context, credentialId int64) error
Delete a credential.
Deletes the specified Git credential.
func (*GitCredentialsAPI) Get ¶ added in v0.8.0
func (a *GitCredentialsAPI) Get(ctx context.Context, request GetGitCredentialRequest) (*CredentialInfo, error)
Get a credential entry.
Gets the Git credential with the specified credential ID.
Example (GitCredentials) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } cr, err := w.GitCredentials.Create(ctx, workspace.CreateCredentials{ GitProvider: "gitHub", GitUsername: "test", PersonalAccessToken: "test", }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", cr) byId, err := w.GitCredentials.GetByCredentialId(ctx, cr.CredentialId) if err != nil { panic(err) } logger.Infof(ctx, "found %v", byId) // cleanup err = w.GitCredentials.DeleteByCredentialId(ctx, cr.CredentialId) if err != nil { panic(err) }
Output:
func (*GitCredentialsAPI) GetByCredentialId ¶ added in v0.8.0
func (a *GitCredentialsAPI) GetByCredentialId(ctx context.Context, credentialId int64) (*CredentialInfo, error)
Get a credential entry.
Gets the Git credential with the specified credential ID.
func (*GitCredentialsAPI) GetByGitProvider ¶ added in v0.8.0
func (a *GitCredentialsAPI) GetByGitProvider(ctx context.Context, name string) (*CredentialInfo, error)
GetByGitProvider calls GitCredentialsAPI.CredentialInfoGitProviderToCredentialIdMap and returns a single CredentialInfo.
Returns an error if there's more than one CredentialInfo with the same .GitProvider.
Note: All CredentialInfo instances are loaded into memory before returning matching by name.
This method is generated by Databricks SDK Code Generator.
func (*GitCredentialsAPI) Impl ¶ added in v0.8.0
func (a *GitCredentialsAPI) Impl() GitCredentialsService
Impl returns low-level GitCredentials API implementation Deprecated: use MockGitCredentialsInterface instead.
func (*GitCredentialsAPI) List ¶ added in v0.24.0
func (a *GitCredentialsAPI) List(ctx context.Context) listing.Iterator[CredentialInfo]
Get Git credentials.
Lists the calling user's Git credentials. One credential per user is supported.
This method is generated by Databricks SDK Code Generator.
func (*GitCredentialsAPI) ListAll ¶ added in v0.8.0
func (a *GitCredentialsAPI) ListAll(ctx context.Context) ([]CredentialInfo, error)
Get Git credentials.
Lists the calling user's Git credentials. One credential per user is supported.
This method is generated by Databricks SDK Code Generator.
Example (GitCredentials) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } list, err := w.GitCredentials.ListAll(ctx) if err != nil { panic(err) } logger.Infof(ctx, "found %v", list)
Output:
func (*GitCredentialsAPI) Update ¶ added in v0.8.0
func (a *GitCredentialsAPI) Update(ctx context.Context, request UpdateCredentials) error
Update a credential.
Updates the specified Git credential.
Example (GitCredentials) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } cr, err := w.GitCredentials.Create(ctx, workspace.CreateCredentials{ GitProvider: "gitHub", GitUsername: "test", PersonalAccessToken: "test", }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", cr) err = w.GitCredentials.Update(ctx, workspace.UpdateCredentials{ CredentialId: cr.CredentialId, GitProvider: "gitHub", GitUsername: fmt.Sprintf("sdk-%x@example.com", time.Now().UnixNano()), PersonalAccessToken: fmt.Sprintf("sdk-%x", time.Now().UnixNano()), }) if err != nil { panic(err) } // cleanup err = w.GitCredentials.DeleteByCredentialId(ctx, cr.CredentialId) if err != nil { panic(err) }
Output:
func (*GitCredentialsAPI) WithImpl ¶ added in v0.8.0
func (a *GitCredentialsAPI) WithImpl(impl GitCredentialsService) GitCredentialsInterface
WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks. Deprecated: use MockGitCredentialsInterface instead.
type GitCredentialsInterface ¶ added in v0.29.0
type GitCredentialsInterface interface { // WithImpl could be used to override low-level API implementations for unit // testing purposes with [github.com/golang/mock] or other mocking frameworks. // Deprecated: use MockGitCredentialsInterface instead. WithImpl(impl GitCredentialsService) GitCredentialsInterface // Impl returns low-level GitCredentials API implementation // Deprecated: use MockGitCredentialsInterface instead. Impl() GitCredentialsService // Create a credential entry. // // Creates a Git credential entry for the user. Only one Git credential per user // is supported, so any attempts to create credentials if an entry already // exists will fail. Use the PATCH endpoint to update existing credentials, or // the DELETE endpoint to delete existing credentials. Create(ctx context.Context, request CreateCredentials) (*CreateCredentialsResponse, error) // Delete a credential. // // Deletes the specified Git credential. Delete(ctx context.Context, request DeleteGitCredentialRequest) error // Delete a credential. // // Deletes the specified Git credential. DeleteByCredentialId(ctx context.Context, credentialId int64) error // Get a credential entry. // // Gets the Git credential with the specified credential ID. Get(ctx context.Context, request GetGitCredentialRequest) (*CredentialInfo, error) // Get a credential entry. // // Gets the Git credential with the specified credential ID. GetByCredentialId(ctx context.Context, credentialId int64) (*CredentialInfo, error) // Get Git credentials. // // Lists the calling user's Git credentials. One credential per user is // supported. // // This method is generated by Databricks SDK Code Generator. List(ctx context.Context) listing.Iterator[CredentialInfo] // Get Git credentials. // // Lists the calling user's Git credentials. One credential per user is // supported. // // This method is generated by Databricks SDK Code Generator. ListAll(ctx context.Context) ([]CredentialInfo, error) // CredentialInfoGitProviderToCredentialIdMap calls [GitCredentialsAPI.ListAll] and creates a map of results with [CredentialInfo].GitProvider as key and [CredentialInfo].CredentialId as value. // // Returns an error if there's more than one [CredentialInfo] with the same .GitProvider. // // Note: All [CredentialInfo] instances are loaded into memory before creating a map. // // This method is generated by Databricks SDK Code Generator. CredentialInfoGitProviderToCredentialIdMap(ctx context.Context) (map[string]int64, error) // GetByGitProvider calls [GitCredentialsAPI.CredentialInfoGitProviderToCredentialIdMap] and returns a single [CredentialInfo]. // // Returns an error if there's more than one [CredentialInfo] with the same .GitProvider. // // Note: All [CredentialInfo] instances are loaded into memory before returning matching by name. // // This method is generated by Databricks SDK Code Generator. GetByGitProvider(ctx context.Context, name string) (*CredentialInfo, error) // Update a credential. // // Updates the specified Git credential. Update(ctx context.Context, request UpdateCredentials) error }
type GitCredentialsService ¶ added in v0.8.0
type GitCredentialsService interface { // Create a credential entry. // // Creates a Git credential entry for the user. Only one Git credential per // user is supported, so any attempts to create credentials if an entry // already exists will fail. Use the PATCH endpoint to update existing // credentials, or the DELETE endpoint to delete existing credentials. Create(ctx context.Context, request CreateCredentials) (*CreateCredentialsResponse, error) // Delete a credential. // // Deletes the specified Git credential. Delete(ctx context.Context, request DeleteGitCredentialRequest) error // Get a credential entry. // // Gets the Git credential with the specified credential ID. Get(ctx context.Context, request GetGitCredentialRequest) (*CredentialInfo, error) // Get Git credentials. // // Lists the calling user's Git credentials. One credential per user is // supported. // // Use ListAll() to get all CredentialInfo instances List(ctx context.Context) (*GetCredentialsResponse, error) // Update a credential. // // Updates the specified Git credential. Update(ctx context.Context, request UpdateCredentials) error }
Registers personal access token for Databricks to do operations on behalf of the user.
See more info.
type Import ¶
type Import struct { // The base64-encoded content. This has a limit of 10 MB. // // If the limit (10MB) is exceeded, exception with error code // **MAX_NOTEBOOK_SIZE_EXCEEDED** is thrown. This parameter might be absent, // and instead a posted file is used. Content string `json:"content,omitempty"` // This specifies the format of the file to be imported. // // The value is case sensitive. // // - `AUTO`: The item is imported depending on an analysis of the item's // extension and the header content provided in the request. If the item is // imported as a notebook, then the item's extension is automatically // removed. - `SOURCE`: The notebook or directory is imported as source // code. - `HTML`: The notebook is imported as an HTML file. - `JUPYTER`: // The notebook is imported as a Jupyter/IPython Notebook file. - `DBC`: The // notebook is imported in Databricks archive format. Required for // directories. - `R_MARKDOWN`: The notebook is imported from R Markdown // format. Format ImportFormat `json:"format,omitempty"` // The language of the object. This value is set only if the object type is // `NOTEBOOK`. Language Language `json:"language,omitempty"` // The flag that specifies whether to overwrite existing object. It is // `false` by default. For `DBC` format, `overwrite` is not supported since // it may contain a directory. Overwrite bool `json:"overwrite,omitempty"` // The absolute path of the object or directory. Importing a directory is // only supported for the `DBC` and `SOURCE` formats. Path string `json:"path"` ForceSendFields []string `json:"-"` }
func PythonNotebookOverwrite ¶
PythonNotebookOverwrite crafts Python import notebook request also by trimming the code specified in the second argument
func (Import) MarshalJSON ¶ added in v0.23.0
func (*Import) UnmarshalJSON ¶ added in v0.23.0
type ImportFormat ¶ added in v0.10.0
type ImportFormat string
This specifies the format of the file to be imported.
The value is case sensitive.
- `AUTO`: The item is imported depending on an analysis of the item's extension and the header content provided in the request. If the item is imported as a notebook, then the item's extension is automatically removed. - `SOURCE`: The notebook or directory is imported as source code. - `HTML`: The notebook is imported as an HTML file. - `JUPYTER`: The notebook is imported as a Jupyter/IPython Notebook file. - `DBC`: The notebook is imported in Databricks archive format. Required for directories. - `R_MARKDOWN`: The notebook is imported from R Markdown format.
const ImportFormatAuto ImportFormat = `AUTO`
The item is imported depending on an analysis of the item's extension and
const ImportFormatDbc ImportFormat = `DBC`
The notebook is imported in <Databricks> archive format. Required for directories.
const ImportFormatHtml ImportFormat = `HTML`
The notebook is imported as an HTML file.
const ImportFormatJupyter ImportFormat = `JUPYTER`
The notebook is imported as a Jupyter/IPython Notebook file.
const ImportFormatRMarkdown ImportFormat = `R_MARKDOWN`
The notebook is imported from R Markdown format.
const ImportFormatSource ImportFormat = `SOURCE`
The notebook or directory is imported as source code.
func (*ImportFormat) Set ¶ added in v0.10.0
func (f *ImportFormat) Set(v string) error
Set raw string value and validate it against allowed values
func (*ImportFormat) String ¶ added in v0.10.0
func (f *ImportFormat) String() string
String representation for fmt.Print
func (*ImportFormat) Type ¶ added in v0.10.0
func (f *ImportFormat) Type() string
Type always returns ImportFormat to satisfy [pflag.Value] interface
type ImportResponse ¶ added in v0.34.0
type ImportResponse struct { }
type Language ¶
type Language string
The language of the object. This value is set only if the object type is `NOTEBOOK`.
const LanguagePython Language = `PYTHON`
const LanguageR Language = `R`
const LanguageScala Language = `SCALA`
const LanguageSql Language = `SQL`
type ListAclsRequest ¶ added in v0.8.0
type ListAclsRequest struct { // The name of the scope to fetch ACL information from. Scope string `json:"-" url:"scope"` }
Lists ACLs
type ListAclsResponse ¶ added in v0.8.0
type ListAclsResponse struct { // The associated ACLs rule applied to principals in the given scope. Items []AclItem `json:"items,omitempty"` }
type ListReposRequest ¶ added in v0.8.0
type ListReposRequest struct { // Token used to get the next page of results. If not specified, returns the // first page of results as well as a next page token if there are more // results. NextPageToken string `json:"-" url:"next_page_token,omitempty"` // Filters repos that have paths starting with the given path prefix. If not // provided repos from /Repos will be served. PathPrefix string `json:"-" url:"path_prefix,omitempty"` ForceSendFields []string `json:"-"` }
Get repos
func (ListReposRequest) MarshalJSON ¶ added in v0.23.0
func (s ListReposRequest) MarshalJSON() ([]byte, error)
func (*ListReposRequest) UnmarshalJSON ¶ added in v0.23.0
func (s *ListReposRequest) UnmarshalJSON(b []byte) error
type ListReposResponse ¶ added in v0.8.0
type ListReposResponse struct { // Token that can be specified as a query parameter to the GET /repos // endpoint to retrieve the next page of results. NextPageToken string `json:"next_page_token,omitempty"` Repos []RepoInfo `json:"repos,omitempty"` ForceSendFields []string `json:"-"` }
func (ListReposResponse) MarshalJSON ¶ added in v0.23.0
func (s ListReposResponse) MarshalJSON() ([]byte, error)
func (*ListReposResponse) UnmarshalJSON ¶ added in v0.23.0
func (s *ListReposResponse) UnmarshalJSON(b []byte) error
type ListResponse ¶
type ListResponse struct { // List of objects. Objects []ObjectInfo `json:"objects,omitempty"` }
type ListScopesResponse ¶ added in v0.8.0
type ListScopesResponse struct { // The available secret scopes. Scopes []SecretScope `json:"scopes,omitempty"` }
type ListSecretsRequest ¶ added in v0.8.0
type ListSecretsRequest struct { // The name of the scope to list secrets within. Scope string `json:"-" url:"scope"` }
List secret keys
type ListSecretsResponse ¶ added in v0.8.0
type ListSecretsResponse struct { // Metadata information of all secrets contained within the given scope. Secrets []SecretMetadata `json:"secrets,omitempty"` }
type ListWorkspaceRequest ¶ added in v0.8.0
type ListWorkspaceRequest struct { // UTC timestamp in milliseconds NotebooksModifiedAfter int `json:"-" url:"notebooks_modified_after,omitempty"` // The absolute path of the notebook or directory. Path string `json:"-" url:"path"` ForceSendFields []string `json:"-"` }
List contents
func (ListWorkspaceRequest) MarshalJSON ¶ added in v0.23.0
func (s ListWorkspaceRequest) MarshalJSON() ([]byte, error)
func (*ListWorkspaceRequest) UnmarshalJSON ¶ added in v0.23.0
func (s *ListWorkspaceRequest) UnmarshalJSON(b []byte) error
type Mkdirs ¶
type Mkdirs struct { // The absolute path of the directory. If the parent directories do not // exist, it will also create them. If the directory already exists, this // command will do nothing and succeed. Path string `json:"path"` }
type MkdirsResponse ¶ added in v0.34.0
type MkdirsResponse struct { }
type ObjectInfo ¶
type ObjectInfo struct { // Only applicable to files. The creation UTC timestamp. CreatedAt int64 `json:"created_at,omitempty"` // The language of the object. This value is set only if the object type is // `NOTEBOOK`. Language Language `json:"language,omitempty"` // Only applicable to files, the last modified UTC timestamp. ModifiedAt int64 `json:"modified_at,omitempty"` // Unique identifier for the object. ObjectId int64 `json:"object_id,omitempty"` // The type of the object in workspace. // // - `NOTEBOOK`: document that contains runnable code, visualizations, and // explanatory text. - `DIRECTORY`: directory - `LIBRARY`: library - `FILE`: // file - `REPO`: repository - `DASHBOARD`: Lakeview dashboard ObjectType ObjectType `json:"object_type,omitempty"` // The absolute path of the object. Path string `json:"path,omitempty"` // A unique identifier for the object that is consistent across all // Databricks APIs. ResourceId string `json:"resource_id,omitempty"` // Only applicable to files. The file size in bytes can be returned. Size int64 `json:"size,omitempty"` ForceSendFields []string `json:"-"` }
func (ObjectInfo) MarshalJSON ¶ added in v0.23.0
func (s ObjectInfo) MarshalJSON() ([]byte, error)
func (*ObjectInfo) UnmarshalJSON ¶ added in v0.23.0
func (s *ObjectInfo) UnmarshalJSON(b []byte) error
type ObjectType ¶
type ObjectType string
The type of the object in workspace.
- `NOTEBOOK`: document that contains runnable code, visualizations, and explanatory text. - `DIRECTORY`: directory - `LIBRARY`: library - `FILE`: file - `REPO`: repository - `DASHBOARD`: Lakeview dashboard
const ObjectTypeDashboard ObjectType = `DASHBOARD`
Lakeview dashboard
const ObjectTypeDirectory ObjectType = `DIRECTORY`
directory
const ObjectTypeFile ObjectType = `FILE`
file
const ObjectTypeLibrary ObjectType = `LIBRARY`
library
const ObjectTypeNotebook ObjectType = `NOTEBOOK`
document that contains runnable code, visualizations, and explanatory text.
const ObjectTypeRepo ObjectType = `REPO`
repository
func (*ObjectType) Set ¶ added in v0.2.0
func (f *ObjectType) Set(v string) error
Set raw string value and validate it against allowed values
func (*ObjectType) String ¶ added in v0.2.0
func (f *ObjectType) String() string
String representation for fmt.Print
func (*ObjectType) Type ¶ added in v0.2.0
func (f *ObjectType) Type() string
Type always returns ObjectType to satisfy [pflag.Value] interface
type PutAcl ¶ added in v0.8.0
type PutAcl struct { // The permission level applied to the principal. Permission AclPermission `json:"permission"` // The principal in which the permission is applied. Principal string `json:"principal"` // The name of the scope to apply permissions to. Scope string `json:"scope"` }
type PutAclResponse ¶ added in v0.34.0
type PutAclResponse struct { }
type PutSecret ¶ added in v0.8.0
type PutSecret struct { // If specified, value will be stored as bytes. BytesValue string `json:"bytes_value,omitempty"` // A unique name to identify the secret. Key string `json:"key"` // The name of the scope to which the secret will be associated with. Scope string `json:"scope"` // If specified, note that the value will be stored in UTF-8 (MB4) form. StringValue string `json:"string_value,omitempty"` ForceSendFields []string `json:"-"` }
func (PutSecret) MarshalJSON ¶ added in v0.23.0
func (*PutSecret) UnmarshalJSON ¶ added in v0.23.0
type PutSecretResponse ¶ added in v0.34.0
type PutSecretResponse struct { }
type RepoAccessControlRequest ¶ added in v0.15.0
type RepoAccessControlRequest struct { // name of the group GroupName string `json:"group_name,omitempty"` // Permission level PermissionLevel RepoPermissionLevel `json:"permission_level,omitempty"` // application ID of a service principal ServicePrincipalName string `json:"service_principal_name,omitempty"` // name of the user UserName string `json:"user_name,omitempty"` ForceSendFields []string `json:"-"` }
func (RepoAccessControlRequest) MarshalJSON ¶ added in v0.23.0
func (s RepoAccessControlRequest) MarshalJSON() ([]byte, error)
func (*RepoAccessControlRequest) UnmarshalJSON ¶ added in v0.23.0
func (s *RepoAccessControlRequest) UnmarshalJSON(b []byte) error
type RepoAccessControlResponse ¶ added in v0.15.0
type RepoAccessControlResponse struct { // All permissions. AllPermissions []RepoPermission `json:"all_permissions,omitempty"` // Display name of the user or service principal. DisplayName string `json:"display_name,omitempty"` // name of the group GroupName string `json:"group_name,omitempty"` // Name of the service principal. ServicePrincipalName string `json:"service_principal_name,omitempty"` // name of the user UserName string `json:"user_name,omitempty"` ForceSendFields []string `json:"-"` }
func (RepoAccessControlResponse) MarshalJSON ¶ added in v0.23.0
func (s RepoAccessControlResponse) MarshalJSON() ([]byte, error)
func (*RepoAccessControlResponse) UnmarshalJSON ¶ added in v0.23.0
func (s *RepoAccessControlResponse) UnmarshalJSON(b []byte) error
type RepoInfo ¶ added in v0.8.0
type RepoInfo struct { // Branch that the local version of the repo is checked out to. Branch string `json:"branch,omitempty"` // SHA-1 hash representing the commit ID of the current HEAD of the repo. HeadCommitId string `json:"head_commit_id,omitempty"` // ID of the repo object in the workspace. Id int64 `json:"id,omitempty"` // Desired path for the repo in the workspace. Almost any path in the // workspace can be chosen. If repo is created in /Repos, path must be in // the format /Repos/{folder}/{repo-name}. Path string `json:"path,omitempty"` // Git provider. This field is case-insensitive. The available Git providers // are gitHub, bitbucketCloud, gitLab, azureDevOpsServices, // gitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition and // awsCodeCommit. Provider string `json:"provider,omitempty"` SparseCheckout *SparseCheckout `json:"sparse_checkout,omitempty"` // URL of the Git repository to be linked. Url string `json:"url,omitempty"` ForceSendFields []string `json:"-"` }
func (RepoInfo) MarshalJSON ¶ added in v0.23.0
func (*RepoInfo) UnmarshalJSON ¶ added in v0.23.0
type RepoPermission ¶ added in v0.15.0
type RepoPermission struct { Inherited bool `json:"inherited,omitempty"` InheritedFromObject []string `json:"inherited_from_object,omitempty"` // Permission level PermissionLevel RepoPermissionLevel `json:"permission_level,omitempty"` ForceSendFields []string `json:"-"` }
func (RepoPermission) MarshalJSON ¶ added in v0.23.0
func (s RepoPermission) MarshalJSON() ([]byte, error)
func (*RepoPermission) UnmarshalJSON ¶ added in v0.23.0
func (s *RepoPermission) UnmarshalJSON(b []byte) error
type RepoPermissionLevel ¶ added in v0.15.0
type RepoPermissionLevel string
Permission level
const RepoPermissionLevelCanEdit RepoPermissionLevel = `CAN_EDIT`
const RepoPermissionLevelCanManage RepoPermissionLevel = `CAN_MANAGE`
const RepoPermissionLevelCanRead RepoPermissionLevel = `CAN_READ`
const RepoPermissionLevelCanRun RepoPermissionLevel = `CAN_RUN`
func (*RepoPermissionLevel) Set ¶ added in v0.15.0
func (f *RepoPermissionLevel) Set(v string) error
Set raw string value and validate it against allowed values
func (*RepoPermissionLevel) String ¶ added in v0.15.0
func (f *RepoPermissionLevel) String() string
String representation for fmt.Print
func (*RepoPermissionLevel) Type ¶ added in v0.15.0
func (f *RepoPermissionLevel) Type() string
Type always returns RepoPermissionLevel to satisfy [pflag.Value] interface
type RepoPermissions ¶ added in v0.15.0
type RepoPermissions struct { AccessControlList []RepoAccessControlResponse `json:"access_control_list,omitempty"` ObjectId string `json:"object_id,omitempty"` ObjectType string `json:"object_type,omitempty"` ForceSendFields []string `json:"-"` }
func (RepoPermissions) MarshalJSON ¶ added in v0.23.0
func (s RepoPermissions) MarshalJSON() ([]byte, error)
func (*RepoPermissions) UnmarshalJSON ¶ added in v0.23.0
func (s *RepoPermissions) UnmarshalJSON(b []byte) error
type RepoPermissionsDescription ¶ added in v0.15.0
type RepoPermissionsDescription struct { Description string `json:"description,omitempty"` // Permission level PermissionLevel RepoPermissionLevel `json:"permission_level,omitempty"` ForceSendFields []string `json:"-"` }
func (RepoPermissionsDescription) MarshalJSON ¶ added in v0.23.0
func (s RepoPermissionsDescription) MarshalJSON() ([]byte, error)
func (*RepoPermissionsDescription) UnmarshalJSON ¶ added in v0.23.0
func (s *RepoPermissionsDescription) UnmarshalJSON(b []byte) error
type RepoPermissionsRequest ¶ added in v0.15.0
type RepoPermissionsRequest struct { AccessControlList []RepoAccessControlRequest `json:"access_control_list,omitempty"` // The repo for which to get or manage permissions. RepoId string `json:"-" url:"-"` }
type ReposAPI ¶ added in v0.8.0
type ReposAPI struct {
// contains filtered or unexported fields
}
The Repos API allows users to manage their git repos. Users can use the API to access all repos that they have manage permissions on.
Databricks Repos is a visual Git client in Databricks. It supports common Git operations such a cloning a repository, committing and pushing, pulling, branch management, and visual comparison of diffs when committing.
Within Repos you can develop code in notebooks or other files and follow data science and engineering code development best practices using Git for version control, collaboration, and CI/CD.
func NewRepos ¶ added in v0.8.0
func NewRepos(client *client.DatabricksClient) *ReposAPI
func (*ReposAPI) Create ¶ added in v0.8.0
Create a repo.
Creates a repo in the workspace and links it to the remote Git repo specified. Note that repos created programmatically must be linked to a remote Git repo, unlike repos created in the browser.
Example (Repos) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } root := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) ri, err := w.Repos.Create(ctx, workspace.CreateRepo{ Path: root, Url: "https://github.com/shreyas-goenka/empty-repo.git", Provider: "github", }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", ri) // cleanup err = w.Repos.DeleteByRepoId(ctx, ri.Id) if err != nil { panic(err) }
Output:
func (*ReposAPI) Delete ¶ added in v0.8.0
func (a *ReposAPI) Delete(ctx context.Context, request DeleteRepoRequest) error
Delete a repo.
Deletes the specified repo.
func (*ReposAPI) Get ¶ added in v0.8.0
Get a repo.
Returns the repo with the given repo ID.
Example (Repos) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } root := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) ri, err := w.Repos.Create(ctx, workspace.CreateRepo{ Path: root, Url: "https://github.com/shreyas-goenka/empty-repo.git", Provider: "github", }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", ri) byId, err := w.Repos.GetByRepoId(ctx, ri.Id) if err != nil { panic(err) } logger.Infof(ctx, "found %v", byId) // cleanup err = w.Repos.DeleteByRepoId(ctx, ri.Id) if err != nil { panic(err) }
Output:
func (*ReposAPI) GetByPath ¶ added in v0.8.0
GetByPath calls ReposAPI.RepoInfoPathToIdMap and returns a single RepoInfo.
Returns an error if there's more than one RepoInfo with the same .Path.
Note: All RepoInfo instances are loaded into memory before returning matching by name.
This method is generated by Databricks SDK Code Generator.
Example (CheckoutBranchByPath) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } // shortcut for getting RepoInfo by path repo, err := w.Repos.GetByPath(ctx, "/Repos/path/to/prod") if err != nil { panic(err) } // because you can update repo only by ID, not by path err = w.Repos.Update(ctx, workspace.UpdateRepo{ RepoId: repo.Id, Branch: "v1.4.18", }) if err != nil { panic(err) }
Output:
func (*ReposAPI) GetPermissionLevels ¶ added in v0.19.0
func (a *ReposAPI) GetPermissionLevels(ctx context.Context, request GetRepoPermissionLevelsRequest) (*GetRepoPermissionLevelsResponse, error)
Get repo permission levels.
Gets the permission levels that a user can have on an object.
func (*ReposAPI) GetPermissionLevelsByRepoId ¶ added in v0.19.0
func (a *ReposAPI) GetPermissionLevelsByRepoId(ctx context.Context, repoId string) (*GetRepoPermissionLevelsResponse, error)
Get repo permission levels.
Gets the permission levels that a user can have on an object.
func (*ReposAPI) GetPermissions ¶ added in v0.19.0
func (a *ReposAPI) GetPermissions(ctx context.Context, request GetRepoPermissionsRequest) (*RepoPermissions, error)
Get repo permissions.
Gets the permissions of a repo. Repos can inherit permissions from their root object.
func (*ReposAPI) GetPermissionsByRepoId ¶ added in v0.19.0
func (a *ReposAPI) GetPermissionsByRepoId(ctx context.Context, repoId string) (*RepoPermissions, error)
Get repo permissions.
Gets the permissions of a repo. Repos can inherit permissions from their root object.
func (*ReposAPI) Impl ¶ added in v0.8.0
func (a *ReposAPI) Impl() ReposService
Impl returns low-level Repos API implementation Deprecated: use MockReposInterface instead.
func (*ReposAPI) List ¶ added in v0.24.0
Get repos.
Returns repos that the calling user has Manage permissions on. Results are paginated with each page containing twenty repos.
This method is generated by Databricks SDK Code Generator.
func (*ReposAPI) ListAll ¶ added in v0.8.0
Get repos.
Returns repos that the calling user has Manage permissions on. Results are paginated with each page containing twenty repos.
This method is generated by Databricks SDK Code Generator.
Example (Repos) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } all, err := w.Repos.ListAll(ctx, workspace.ListReposRequest{}) if err != nil { panic(err) } logger.Infof(ctx, "found %v", all)
Output:
func (*ReposAPI) RepoInfoPathToIdMap ¶ added in v0.8.0
func (a *ReposAPI) RepoInfoPathToIdMap(ctx context.Context, request ListReposRequest) (map[string]int64, error)
RepoInfoPathToIdMap calls ReposAPI.ListAll and creates a map of results with RepoInfo.Path as key and RepoInfo.Id as value.
Returns an error if there's more than one RepoInfo with the same .Path.
Note: All RepoInfo instances are loaded into memory before creating a map.
This method is generated by Databricks SDK Code Generator.
func (*ReposAPI) SetPermissions ¶ added in v0.19.0
func (a *ReposAPI) SetPermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error)
Set repo permissions.
Sets permissions on a repo. Repos can inherit permissions from their root object.
func (*ReposAPI) Update ¶ added in v0.8.0
func (a *ReposAPI) Update(ctx context.Context, request UpdateRepo) error
Update a repo.
Updates the repo to a different branch or tag, or updates the repo to the latest commit on the same branch.
Example (Repos) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } root := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) ri, err := w.Repos.Create(ctx, workspace.CreateRepo{ Path: root, Url: "https://github.com/shreyas-goenka/empty-repo.git", Provider: "github", }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", ri) err = w.Repos.Update(ctx, workspace.UpdateRepo{ RepoId: ri.Id, Branch: "foo", }) if err != nil { panic(err) } // cleanup err = w.Repos.DeleteByRepoId(ctx, ri.Id) if err != nil { panic(err) }
Output:
func (*ReposAPI) UpdatePermissions ¶ added in v0.19.0
func (a *ReposAPI) UpdatePermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error)
Update repo permissions.
Updates the permissions on a repo. Repos can inherit permissions from their root object.
func (*ReposAPI) WithImpl ¶ added in v0.8.0
func (a *ReposAPI) WithImpl(impl ReposService) ReposInterface
WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks. Deprecated: use MockReposInterface instead.
type ReposInterface ¶ added in v0.29.0
type ReposInterface interface { // WithImpl could be used to override low-level API implementations for unit // testing purposes with [github.com/golang/mock] or other mocking frameworks. // Deprecated: use MockReposInterface instead. WithImpl(impl ReposService) ReposInterface // Impl returns low-level Repos API implementation // Deprecated: use MockReposInterface instead. Impl() ReposService // Create a repo. // // Creates a repo in the workspace and links it to the remote Git repo // specified. Note that repos created programmatically must be linked to a // remote Git repo, unlike repos created in the browser. Create(ctx context.Context, request CreateRepo) (*RepoInfo, error) // Delete a repo. // // Deletes the specified repo. Delete(ctx context.Context, request DeleteRepoRequest) error // Delete a repo. // // Deletes the specified repo. DeleteByRepoId(ctx context.Context, repoId int64) error // Get a repo. // // Returns the repo with the given repo ID. Get(ctx context.Context, request GetRepoRequest) (*RepoInfo, error) // Get a repo. // // Returns the repo with the given repo ID. GetByRepoId(ctx context.Context, repoId int64) (*RepoInfo, error) // Get repo permission levels. // // Gets the permission levels that a user can have on an object. GetPermissionLevels(ctx context.Context, request GetRepoPermissionLevelsRequest) (*GetRepoPermissionLevelsResponse, error) // Get repo permission levels. // // Gets the permission levels that a user can have on an object. GetPermissionLevelsByRepoId(ctx context.Context, repoId string) (*GetRepoPermissionLevelsResponse, error) // Get repo permissions. // // Gets the permissions of a repo. Repos can inherit permissions from their root // object. GetPermissions(ctx context.Context, request GetRepoPermissionsRequest) (*RepoPermissions, error) // Get repo permissions. // // Gets the permissions of a repo. Repos can inherit permissions from their root // object. GetPermissionsByRepoId(ctx context.Context, repoId string) (*RepoPermissions, error) // Get repos. // // Returns repos that the calling user has Manage permissions on. Results are // paginated with each page containing twenty repos. // // This method is generated by Databricks SDK Code Generator. List(ctx context.Context, request ListReposRequest) listing.Iterator[RepoInfo] // Get repos. // // Returns repos that the calling user has Manage permissions on. Results are // paginated with each page containing twenty repos. // // This method is generated by Databricks SDK Code Generator. ListAll(ctx context.Context, request ListReposRequest) ([]RepoInfo, error) // RepoInfoPathToIdMap calls [ReposAPI.ListAll] and creates a map of results with [RepoInfo].Path as key and [RepoInfo].Id as value. // // Returns an error if there's more than one [RepoInfo] with the same .Path. // // Note: All [RepoInfo] instances are loaded into memory before creating a map. // // This method is generated by Databricks SDK Code Generator. RepoInfoPathToIdMap(ctx context.Context, request ListReposRequest) (map[string]int64, error) // GetByPath calls [ReposAPI.RepoInfoPathToIdMap] and returns a single [RepoInfo]. // // Returns an error if there's more than one [RepoInfo] with the same .Path. // // Note: All [RepoInfo] instances are loaded into memory before returning matching by name. // // This method is generated by Databricks SDK Code Generator. GetByPath(ctx context.Context, name string) (*RepoInfo, error) // Set repo permissions. // // Sets permissions on a repo. Repos can inherit permissions from their root // object. SetPermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error) // Update a repo. // // Updates the repo to a different branch or tag, or updates the repo to the // latest commit on the same branch. Update(ctx context.Context, request UpdateRepo) error // Update repo permissions. // // Updates the permissions on a repo. Repos can inherit permissions from their // root object. UpdatePermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error) }
type ReposService ¶ added in v0.8.0
type ReposService interface { // Create a repo. // // Creates a repo in the workspace and links it to the remote Git repo // specified. Note that repos created programmatically must be linked to a // remote Git repo, unlike repos created in the browser. Create(ctx context.Context, request CreateRepo) (*RepoInfo, error) // Delete a repo. // // Deletes the specified repo. Delete(ctx context.Context, request DeleteRepoRequest) error // Get a repo. // // Returns the repo with the given repo ID. Get(ctx context.Context, request GetRepoRequest) (*RepoInfo, error) // Get repo permission levels. // // Gets the permission levels that a user can have on an object. GetPermissionLevels(ctx context.Context, request GetRepoPermissionLevelsRequest) (*GetRepoPermissionLevelsResponse, error) // Get repo permissions. // // Gets the permissions of a repo. Repos can inherit permissions from their // root object. GetPermissions(ctx context.Context, request GetRepoPermissionsRequest) (*RepoPermissions, error) // Get repos. // // Returns repos that the calling user has Manage permissions on. Results // are paginated with each page containing twenty repos. // // Use ListAll() to get all RepoInfo instances, which will iterate over every result page. List(ctx context.Context, request ListReposRequest) (*ListReposResponse, error) // Set repo permissions. // // Sets permissions on a repo. Repos can inherit permissions from their root // object. SetPermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error) // Update a repo. // // Updates the repo to a different branch or tag, or updates the repo to the // latest commit on the same branch. Update(ctx context.Context, request UpdateRepo) error // Update repo permissions. // // Updates the permissions on a repo. Repos can inherit permissions from // their root object. UpdatePermissions(ctx context.Context, request RepoPermissionsRequest) (*RepoPermissions, error) }
The Repos API allows users to manage their git repos. Users can use the API to access all repos that they have manage permissions on.
Databricks Repos is a visual Git client in Databricks. It supports common Git operations such a cloning a repository, committing and pushing, pulling, branch management, and visual comparison of diffs when committing.
Within Repos you can develop code in notebooks or other files and follow data science and engineering code development best practices using Git for version control, collaboration, and CI/CD.
type ScopeBackendType ¶ added in v0.8.0
type ScopeBackendType string
const ScopeBackendTypeAzureKeyvault ScopeBackendType = `AZURE_KEYVAULT`
const ScopeBackendTypeDatabricks ScopeBackendType = `DATABRICKS`
func (*ScopeBackendType) Set ¶ added in v0.8.0
func (f *ScopeBackendType) Set(v string) error
Set raw string value and validate it against allowed values
func (*ScopeBackendType) String ¶ added in v0.8.0
func (f *ScopeBackendType) String() string
String representation for fmt.Print
func (*ScopeBackendType) Type ¶ added in v0.8.0
func (f *ScopeBackendType) Type() string
Type always returns ScopeBackendType to satisfy [pflag.Value] interface
type SecretMetadata ¶ added in v0.8.0
type SecretMetadata struct { // A unique name to identify the secret. Key string `json:"key,omitempty"` // The last updated timestamp (in milliseconds) for the secret. LastUpdatedTimestamp int64 `json:"last_updated_timestamp,omitempty"` ForceSendFields []string `json:"-"` }
func (SecretMetadata) MarshalJSON ¶ added in v0.23.0
func (s SecretMetadata) MarshalJSON() ([]byte, error)
func (*SecretMetadata) UnmarshalJSON ¶ added in v0.23.0
func (s *SecretMetadata) UnmarshalJSON(b []byte) error
type SecretScope ¶ added in v0.8.0
type SecretScope struct { // The type of secret scope backend. BackendType ScopeBackendType `json:"backend_type,omitempty"` // The metadata for the secret scope if the type is `AZURE_KEYVAULT` KeyvaultMetadata *AzureKeyVaultSecretScopeMetadata `json:"keyvault_metadata,omitempty"` // A unique name to identify the secret scope. Name string `json:"name,omitempty"` ForceSendFields []string `json:"-"` }
func (SecretScope) MarshalJSON ¶ added in v0.23.0
func (s SecretScope) MarshalJSON() ([]byte, error)
func (*SecretScope) UnmarshalJSON ¶ added in v0.23.0
func (s *SecretScope) UnmarshalJSON(b []byte) error
type SecretsAPI ¶ added in v0.8.0
type SecretsAPI struct {
// contains filtered or unexported fields
}
The Secrets API allows you to manage secrets, secret scopes, and access permissions.
Sometimes accessing data requires that you authenticate to external data sources through JDBC. Instead of directly entering your credentials into a notebook, use Databricks secrets to store your credentials and reference them in notebooks and jobs.
Administrators, secret creators, and users granted permission can read Databricks secrets. While Databricks makes an effort to redact secret values that might be displayed in notebooks, it is not possible to prevent such users from reading secrets.
func NewSecrets ¶ added in v0.8.0
func NewSecrets(client *client.DatabricksClient) *SecretsAPI
func (*SecretsAPI) CreateScope ¶ added in v0.8.0
func (a *SecretsAPI) CreateScope(ctx context.Context, request CreateScope) error
Create a new secret scope.
The scope name must consist of alphanumeric characters, dashes, underscores, and periods, and may not exceed 128 characters.
Example (Secrets) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } keyName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) scopeName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) err = w.Secrets.CreateScope(ctx, workspace.CreateScope{ Scope: scopeName, }) if err != nil { panic(err) } // cleanup err = w.Secrets.DeleteSecret(ctx, workspace.DeleteSecret{ Scope: scopeName, Key: keyName, }) if err != nil { panic(err) } err = w.Secrets.DeleteScopeByScope(ctx, scopeName) if err != nil { panic(err) }
Output:
func (*SecretsAPI) DeleteAcl ¶ added in v0.8.0
func (a *SecretsAPI) DeleteAcl(ctx context.Context, request DeleteAcl) error
Delete an ACL.
Deletes the given ACL on the given scope.
Users must have the `MANAGE` permission to invoke this API. Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope, principal, or ACL exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) DeleteScope ¶ added in v0.8.0
func (a *SecretsAPI) DeleteScope(ctx context.Context, request DeleteScope) error
Delete a secret scope.
Deletes a secret scope.
Throws `RESOURCE_DOES_NOT_EXIST` if the scope does not exist. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) DeleteScopeByScope ¶ added in v0.8.0
func (a *SecretsAPI) DeleteScopeByScope(ctx context.Context, scope string) error
Delete a secret scope.
Deletes a secret scope.
Throws `RESOURCE_DOES_NOT_EXIST` if the scope does not exist. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) DeleteSecret ¶ added in v0.8.0
func (a *SecretsAPI) DeleteSecret(ctx context.Context, request DeleteSecret) error
Delete a secret.
Deletes the secret stored in this secret scope. You must have `WRITE` or `MANAGE` permission on the secret scope.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope or secret exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) GetAcl ¶ added in v0.8.0
func (a *SecretsAPI) GetAcl(ctx context.Context, request GetAclRequest) (*AclItem, error)
Get secret ACL details.
Gets the details about the given ACL, such as the group and permission. Users must have the `MANAGE` permission to invoke this API.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) GetSecret ¶ added in v0.17.0
func (a *SecretsAPI) GetSecret(ctx context.Context, request GetSecretRequest) (*GetSecretResponse, error)
Get a secret.
Gets the bytes representation of a secret value for the specified scope and key.
Users need the READ permission to make this call.
Note that the secret value returned is in bytes. The interpretation of the bytes is determined by the caller in DBUtils and the type the data is decoded into.
Throws “PERMISSION_DENIED“ if the user does not have permission to make this API call. Throws “RESOURCE_DOES_NOT_EXIST“ if no such secret or secret scope exists.
func (*SecretsAPI) Impl ¶ added in v0.8.0
func (a *SecretsAPI) Impl() SecretsService
Impl returns low-level Secrets API implementation Deprecated: use MockSecretsInterface instead.
func (*SecretsAPI) ListAcls ¶ added in v0.24.0
func (a *SecretsAPI) ListAcls(ctx context.Context, request ListAclsRequest) listing.Iterator[AclItem]
Lists ACLs.
List the ACLs for a given secret scope. Users must have the `MANAGE` permission to invoke this API.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
This method is generated by Databricks SDK Code Generator.
Example (Secrets) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } keyName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) scopeName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) err = w.Secrets.CreateScope(ctx, workspace.CreateScope{ Scope: scopeName, }) if err != nil { panic(err) } acls, err := w.Secrets.ListAclsByScope(ctx, scopeName) if err != nil { panic(err) } logger.Infof(ctx, "found %v", acls) // cleanup err = w.Secrets.DeleteSecret(ctx, workspace.DeleteSecret{ Scope: scopeName, Key: keyName, }) if err != nil { panic(err) } err = w.Secrets.DeleteScopeByScope(ctx, scopeName) if err != nil { panic(err) }
Output:
func (*SecretsAPI) ListAclsAll ¶ added in v0.8.0
func (a *SecretsAPI) ListAclsAll(ctx context.Context, request ListAclsRequest) ([]AclItem, error)
Lists ACLs.
List the ACLs for a given secret scope. Users must have the `MANAGE` permission to invoke this API.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
This method is generated by Databricks SDK Code Generator.
func (*SecretsAPI) ListAclsByScope ¶ added in v0.8.0
func (a *SecretsAPI) ListAclsByScope(ctx context.Context, scope string) (*ListAclsResponse, error)
Lists ACLs.
List the ACLs for a given secret scope. Users must have the `MANAGE` permission to invoke this API.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) ListScopes ¶ added in v0.24.0
func (a *SecretsAPI) ListScopes(ctx context.Context) listing.Iterator[SecretScope]
List all scopes.
Lists all secret scopes available in the workspace.
Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
This method is generated by Databricks SDK Code Generator.
Example (Secrets) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } scopes, err := w.Secrets.ListScopesAll(ctx) if err != nil { panic(err) } logger.Infof(ctx, "found %v", scopes)
Output:
func (*SecretsAPI) ListScopesAll ¶ added in v0.8.0
func (a *SecretsAPI) ListScopesAll(ctx context.Context) ([]SecretScope, error)
List all scopes.
Lists all secret scopes available in the workspace.
Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
This method is generated by Databricks SDK Code Generator.
func (*SecretsAPI) ListSecrets ¶ added in v0.24.0
func (a *SecretsAPI) ListSecrets(ctx context.Context, request ListSecretsRequest) listing.Iterator[SecretMetadata]
List secret keys.
Lists the secret keys that are stored at this scope. This is a metadata-only operation; secret data cannot be retrieved using this API. Users need the READ permission to make this call.
The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
This method is generated by Databricks SDK Code Generator.
Example (Secrets) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } keyName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) scopeName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) err = w.Secrets.CreateScope(ctx, workspace.CreateScope{ Scope: scopeName, }) if err != nil { panic(err) } scrts, err := w.Secrets.ListSecretsByScope(ctx, scopeName) if err != nil { panic(err) } logger.Infof(ctx, "found %v", scrts) // cleanup err = w.Secrets.DeleteSecret(ctx, workspace.DeleteSecret{ Scope: scopeName, Key: keyName, }) if err != nil { panic(err) } err = w.Secrets.DeleteScopeByScope(ctx, scopeName) if err != nil { panic(err) }
Output:
func (*SecretsAPI) ListSecretsAll ¶ added in v0.8.0
func (a *SecretsAPI) ListSecretsAll(ctx context.Context, request ListSecretsRequest) ([]SecretMetadata, error)
List secret keys.
Lists the secret keys that are stored at this scope. This is a metadata-only operation; secret data cannot be retrieved using this API. Users need the READ permission to make this call.
The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
This method is generated by Databricks SDK Code Generator.
func (*SecretsAPI) ListSecretsByScope ¶ added in v0.8.0
func (a *SecretsAPI) ListSecretsByScope(ctx context.Context, scope string) (*ListSecretsResponse, error)
List secret keys.
Lists the secret keys that are stored at this scope. This is a metadata-only operation; secret data cannot be retrieved using this API. Users need the READ permission to make this call.
The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
func (*SecretsAPI) PutAcl ¶ added in v0.8.0
func (a *SecretsAPI) PutAcl(ctx context.Context, request PutAcl) error
Create/update an ACL.
Creates or overwrites the Access Control List (ACL) associated with the given principal (user or group) on the specified scope point.
In general, a user or group will use the most powerful permission available to them, and permissions are ordered as follows:
* `MANAGE` - Allowed to change ACLs, and read and write to this secret scope. * `WRITE` - Allowed to read and write to this secret scope. * `READ` - Allowed to read this secret scope and list what secrets are available.
Note that in general, secret values can only be read from within a command on a cluster (for example, through a notebook). There is no API to read the actual secret value material outside of a cluster. However, the user's permission will be applied based on who is executing the command, and they must have at least READ permission.
Users must have the `MANAGE` permission to invoke this API.
The principal is a user or group name corresponding to an existing Databricks principal to be granted or revoked access.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `RESOURCE_ALREADY_EXISTS` if a permission for the principal already exists. Throws `INVALID_PARAMETER_VALUE` if the permission or principal is invalid. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
Example (Secrets) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } keyName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) group, err := w.Groups.Create(ctx, iam.Group{ DisplayName: fmt.Sprintf("sdk-%x", time.Now().UnixNano()), }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", group) scopeName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) err = w.Secrets.CreateScope(ctx, workspace.CreateScope{ Scope: scopeName, }) if err != nil { panic(err) } err = w.Secrets.PutAcl(ctx, workspace.PutAcl{ Scope: scopeName, Permission: workspace.AclPermissionManage, Principal: group.DisplayName, }) if err != nil { panic(err) } // cleanup err = w.Groups.DeleteById(ctx, group.Id) if err != nil { panic(err) } err = w.Secrets.DeleteSecret(ctx, workspace.DeleteSecret{ Scope: scopeName, Key: keyName, }) if err != nil { panic(err) } err = w.Secrets.DeleteScopeByScope(ctx, scopeName) if err != nil { panic(err) }
Output:
func (*SecretsAPI) PutSecret ¶ added in v0.8.0
func (a *SecretsAPI) PutSecret(ctx context.Context, request PutSecret) error
Add a secret.
Inserts a secret under the provided scope with the given name. If a secret already exists with the same name, this command overwrites the existing secret's value. The server encrypts the secret using the secret scope's encryption settings before storing it.
You must have `WRITE` or `MANAGE` permission on the secret scope. The secret key must consist of alphanumeric characters, dashes, underscores, and periods, and cannot exceed 128 characters. The maximum allowed secret value size is 128 KB. The maximum number of secrets in a given scope is 1000.
The input fields "string_value" or "bytes_value" specify the type of the secret, which will determine the value returned when the secret value is requested. Exactly one must be specified.
Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws `RESOURCE_LIMIT_EXCEEDED` if maximum number of secrets in scope is exceeded. Throws `INVALID_PARAMETER_VALUE` if the key name or value length is invalid. Throws `PERMISSION_DENIED` if the user does not have permission to make this API call.
Example (Secrets) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } keyName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) scopeName := fmt.Sprintf("sdk-%x", time.Now().UnixNano()) err = w.Secrets.CreateScope(ctx, workspace.CreateScope{ Scope: scopeName, }) if err != nil { panic(err) } err = w.Secrets.PutSecret(ctx, workspace.PutSecret{ Scope: scopeName, Key: keyName, StringValue: fmt.Sprintf("sdk-%x", time.Now().UnixNano()), }) if err != nil { panic(err) } // cleanup err = w.Secrets.DeleteSecret(ctx, workspace.DeleteSecret{ Scope: scopeName, Key: keyName, }) if err != nil { panic(err) } err = w.Secrets.DeleteScopeByScope(ctx, scopeName) if err != nil { panic(err) }
Output:
func (*SecretsAPI) WithImpl ¶ added in v0.8.0
func (a *SecretsAPI) WithImpl(impl SecretsService) SecretsInterface
WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks. Deprecated: use MockSecretsInterface instead.
type SecretsInterface ¶ added in v0.29.0
type SecretsInterface interface { // WithImpl could be used to override low-level API implementations for unit // testing purposes with [github.com/golang/mock] or other mocking frameworks. // Deprecated: use MockSecretsInterface instead. WithImpl(impl SecretsService) SecretsInterface // Impl returns low-level Secrets API implementation // Deprecated: use MockSecretsInterface instead. Impl() SecretsService // Create a new secret scope. // // The scope name must consist of alphanumeric characters, dashes, underscores, // and periods, and may not exceed 128 characters. CreateScope(ctx context.Context, request CreateScope) error // Delete an ACL. // // Deletes the given ACL on the given scope. // // Users must have the `MANAGE` permission to invoke this API. Throws // `RESOURCE_DOES_NOT_EXIST` if no such secret scope, principal, or ACL exists. // Throws `PERMISSION_DENIED` if the user does not have permission to make this // API call. DeleteAcl(ctx context.Context, request DeleteAcl) error // Delete a secret scope. // // Deletes a secret scope. // // Throws `RESOURCE_DOES_NOT_EXIST` if the scope does not exist. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. DeleteScope(ctx context.Context, request DeleteScope) error // Delete a secret scope. // // Deletes a secret scope. // // Throws `RESOURCE_DOES_NOT_EXIST` if the scope does not exist. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. DeleteScopeByScope(ctx context.Context, scope string) error // Delete a secret. // // Deletes the secret stored in this secret scope. You must have `WRITE` or // `MANAGE` permission on the secret scope. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope or secret exists. // Throws `PERMISSION_DENIED` if the user does not have permission to make this // API call. DeleteSecret(ctx context.Context, request DeleteSecret) error // Get secret ACL details. // // Gets the details about the given ACL, such as the group and permission. Users // must have the `MANAGE` permission to invoke this API. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. GetAcl(ctx context.Context, request GetAclRequest) (*AclItem, error) // Get a secret. // // Gets the bytes representation of a secret value for the specified scope and // key. // // Users need the READ permission to make this call. // // Note that the secret value returned is in bytes. The interpretation of the // bytes is determined by the caller in DBUtils and the type the data is decoded // into. // // Throws “PERMISSION_DENIED“ if the user does not have permission to make // this API call. Throws “RESOURCE_DOES_NOT_EXIST“ if no such secret or secret // scope exists. GetSecret(ctx context.Context, request GetSecretRequest) (*GetSecretResponse, error) // Lists ACLs. // // List the ACLs for a given secret scope. Users must have the `MANAGE` // permission to invoke this API. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. // // This method is generated by Databricks SDK Code Generator. ListAcls(ctx context.Context, request ListAclsRequest) listing.Iterator[AclItem] // Lists ACLs. // // List the ACLs for a given secret scope. Users must have the `MANAGE` // permission to invoke this API. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. // // This method is generated by Databricks SDK Code Generator. ListAclsAll(ctx context.Context, request ListAclsRequest) ([]AclItem, error) // Lists ACLs. // // List the ACLs for a given secret scope. Users must have the `MANAGE` // permission to invoke this API. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. ListAclsByScope(ctx context.Context, scope string) (*ListAclsResponse, error) // List all scopes. // // Lists all secret scopes available in the workspace. // // Throws `PERMISSION_DENIED` if the user does not have permission to make this // API call. // // This method is generated by Databricks SDK Code Generator. ListScopes(ctx context.Context) listing.Iterator[SecretScope] // List all scopes. // // Lists all secret scopes available in the workspace. // // Throws `PERMISSION_DENIED` if the user does not have permission to make this // API call. // // This method is generated by Databricks SDK Code Generator. ListScopesAll(ctx context.Context) ([]SecretScope, error) // List secret keys. // // Lists the secret keys that are stored at this scope. This is a metadata-only // operation; secret data cannot be retrieved using this API. Users need the // READ permission to make this call. // // The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws // `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. // // This method is generated by Databricks SDK Code Generator. ListSecrets(ctx context.Context, request ListSecretsRequest) listing.Iterator[SecretMetadata] // List secret keys. // // Lists the secret keys that are stored at this scope. This is a metadata-only // operation; secret data cannot be retrieved using this API. Users need the // READ permission to make this call. // // The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws // `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. // // This method is generated by Databricks SDK Code Generator. ListSecretsAll(ctx context.Context, request ListSecretsRequest) ([]SecretMetadata, error) // List secret keys. // // Lists the secret keys that are stored at this scope. This is a metadata-only // operation; secret data cannot be retrieved using this API. Users need the // READ permission to make this call. // // The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws // `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. ListSecretsByScope(ctx context.Context, scope string) (*ListSecretsResponse, error) // Create/update an ACL. // // Creates or overwrites the Access Control List (ACL) associated with the given // principal (user or group) on the specified scope point. // // In general, a user or group will use the most powerful permission available // to them, and permissions are ordered as follows: // // * `MANAGE` - Allowed to change ACLs, and read and write to this secret scope. // * `WRITE` - Allowed to read and write to this secret scope. * `READ` - // Allowed to read this secret scope and list what secrets are available. // // Note that in general, secret values can only be read from within a command on // a cluster (for example, through a notebook). There is no API to read the // actual secret value material outside of a cluster. However, the user's // permission will be applied based on who is executing the command, and they // must have at least READ permission. // // Users must have the `MANAGE` permission to invoke this API. // // The principal is a user or group name corresponding to an existing Databricks // principal to be granted or revoked access. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `RESOURCE_ALREADY_EXISTS` if a permission for the principal already exists. // Throws `INVALID_PARAMETER_VALUE` if the permission or principal is invalid. // Throws `PERMISSION_DENIED` if the user does not have permission to make this // API call. PutAcl(ctx context.Context, request PutAcl) error // Add a secret. // // Inserts a secret under the provided scope with the given name. If a secret // already exists with the same name, this command overwrites the existing // secret's value. The server encrypts the secret using the secret scope's // encryption settings before storing it. // // You must have `WRITE` or `MANAGE` permission on the secret scope. The secret // key must consist of alphanumeric characters, dashes, underscores, and // periods, and cannot exceed 128 characters. The maximum allowed secret value // size is 128 KB. The maximum number of secrets in a given scope is 1000. // // The input fields "string_value" or "bytes_value" specify the type of the // secret, which will determine the value returned when the secret value is // requested. Exactly one must be specified. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `RESOURCE_LIMIT_EXCEEDED` if maximum number of secrets in scope is exceeded. // Throws `INVALID_PARAMETER_VALUE` if the key name or value length is invalid. // Throws `PERMISSION_DENIED` if the user does not have permission to make this // API call. PutSecret(ctx context.Context, request PutSecret) error }
type SecretsService ¶ added in v0.8.0
type SecretsService interface { // Create a new secret scope. // // The scope name must consist of alphanumeric characters, dashes, // underscores, and periods, and may not exceed 128 characters. CreateScope(ctx context.Context, request CreateScope) error // Delete an ACL. // // Deletes the given ACL on the given scope. // // Users must have the `MANAGE` permission to invoke this API. Throws // `RESOURCE_DOES_NOT_EXIST` if no such secret scope, principal, or ACL // exists. Throws `PERMISSION_DENIED` if the user does not have permission // to make this API call. DeleteAcl(ctx context.Context, request DeleteAcl) error // Delete a secret scope. // // Deletes a secret scope. // // Throws `RESOURCE_DOES_NOT_EXIST` if the scope does not exist. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. DeleteScope(ctx context.Context, request DeleteScope) error // Delete a secret. // // Deletes the secret stored in this secret scope. You must have `WRITE` or // `MANAGE` permission on the secret scope. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope or secret // exists. Throws `PERMISSION_DENIED` if the user does not have permission // to make this API call. DeleteSecret(ctx context.Context, request DeleteSecret) error // Get secret ACL details. // // Gets the details about the given ACL, such as the group and permission. // Users must have the `MANAGE` permission to invoke this API. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. GetAcl(ctx context.Context, request GetAclRequest) (*AclItem, error) // Get a secret. // // Gets the bytes representation of a secret value for the specified scope // and key. // // Users need the READ permission to make this call. // // Note that the secret value returned is in bytes. The interpretation of // the bytes is determined by the caller in DBUtils and the type the data is // decoded into. // // Throws “PERMISSION_DENIED“ if the user does not have permission to make // this API call. Throws “RESOURCE_DOES_NOT_EXIST“ if no such secret or // secret scope exists. GetSecret(ctx context.Context, request GetSecretRequest) (*GetSecretResponse, error) // Lists ACLs. // // List the ACLs for a given secret scope. Users must have the `MANAGE` // permission to invoke this API. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. // // Use ListAclsAll() to get all AclItem instances ListAcls(ctx context.Context, request ListAclsRequest) (*ListAclsResponse, error) // List all scopes. // // Lists all secret scopes available in the workspace. // // Throws `PERMISSION_DENIED` if the user does not have permission to make // this API call. // // Use ListScopesAll() to get all SecretScope instances ListScopes(ctx context.Context) (*ListScopesResponse, error) // List secret keys. // // Lists the secret keys that are stored at this scope. This is a // metadata-only operation; secret data cannot be retrieved using this API. // Users need the READ permission to make this call. // // The lastUpdatedTimestamp returned is in milliseconds since epoch. Throws // `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `PERMISSION_DENIED` if the user does not have permission to make this API // call. // // Use ListSecretsAll() to get all SecretMetadata instances ListSecrets(ctx context.Context, request ListSecretsRequest) (*ListSecretsResponse, error) // Create/update an ACL. // // Creates or overwrites the Access Control List (ACL) associated with the // given principal (user or group) on the specified scope point. // // In general, a user or group will use the most powerful permission // available to them, and permissions are ordered as follows: // // * `MANAGE` - Allowed to change ACLs, and read and write to this secret // scope. * `WRITE` - Allowed to read and write to this secret scope. * // `READ` - Allowed to read this secret scope and list what secrets are // available. // // Note that in general, secret values can only be read from within a // command on a cluster (for example, through a notebook). There is no API // to read the actual secret value material outside of a cluster. However, // the user's permission will be applied based on who is executing the // command, and they must have at least READ permission. // // Users must have the `MANAGE` permission to invoke this API. // // The principal is a user or group name corresponding to an existing // Databricks principal to be granted or revoked access. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `RESOURCE_ALREADY_EXISTS` if a permission for the principal already // exists. Throws `INVALID_PARAMETER_VALUE` if the permission or principal // is invalid. Throws `PERMISSION_DENIED` if the user does not have // permission to make this API call. PutAcl(ctx context.Context, request PutAcl) error // Add a secret. // // Inserts a secret under the provided scope with the given name. If a // secret already exists with the same name, this command overwrites the // existing secret's value. The server encrypts the secret using the secret // scope's encryption settings before storing it. // // You must have `WRITE` or `MANAGE` permission on the secret scope. The // secret key must consist of alphanumeric characters, dashes, underscores, // and periods, and cannot exceed 128 characters. The maximum allowed secret // value size is 128 KB. The maximum number of secrets in a given scope is // 1000. // // The input fields "string_value" or "bytes_value" specify the type of the // secret, which will determine the value returned when the secret value is // requested. Exactly one must be specified. // // Throws `RESOURCE_DOES_NOT_EXIST` if no such secret scope exists. Throws // `RESOURCE_LIMIT_EXCEEDED` if maximum number of secrets in scope is // exceeded. Throws `INVALID_PARAMETER_VALUE` if the key name or value // length is invalid. Throws `PERMISSION_DENIED` if the user does not have // permission to make this API call. PutSecret(ctx context.Context, request PutSecret) error }
The Secrets API allows you to manage secrets, secret scopes, and access permissions.
Sometimes accessing data requires that you authenticate to external data sources through JDBC. Instead of directly entering your credentials into a notebook, use Databricks secrets to store your credentials and reference them in notebooks and jobs.
Administrators, secret creators, and users granted permission can read Databricks secrets. While Databricks makes an effort to redact secret values that might be displayed in notebooks, it is not possible to prevent such users from reading secrets.
type SparseCheckout ¶ added in v0.8.0
type SparseCheckout struct { // List of patterns to include for sparse checkout. Patterns []string `json:"patterns,omitempty"` }
type SparseCheckoutUpdate ¶ added in v0.8.0
type SparseCheckoutUpdate struct { // List of patterns to include for sparse checkout. Patterns []string `json:"patterns,omitempty"` }
type UpdateCredentials ¶ added in v0.8.0
type UpdateCredentials struct { // The ID for the corresponding credential to access. CredentialId int64 `json:"-" url:"-"` // Git provider. This field is case-insensitive. The available Git providers // are gitHub, bitbucketCloud, gitLab, azureDevOpsServices, // gitHubEnterprise, bitbucketServer, gitLabEnterpriseEdition and // awsCodeCommit. GitProvider string `json:"git_provider,omitempty"` // The username or email provided with your Git provider account, depending // on which provider you are using. For GitHub, GitHub Enterprise Server, or // Azure DevOps Services, either email or username may be used. For GitLab, // GitLab Enterprise Edition, email must be used. For AWS CodeCommit, // BitBucket or BitBucket Server, username must be used. For all other // providers please see your provider's Personal Access Token authentication // documentation to see what is supported. GitUsername string `json:"git_username,omitempty"` // The personal access token used to authenticate to the corresponding Git // provider. For certain providers, support may exist for other types of // scoped access tokens. [Learn more]. The personal access token used to // authenticate to the corresponding Git // // [Learn more]: https://docs.databricks.com/repos/get-access-tokens-from-git-provider.html PersonalAccessToken string `json:"personal_access_token,omitempty"` ForceSendFields []string `json:"-"` }
func (UpdateCredentials) MarshalJSON ¶ added in v0.23.0
func (s UpdateCredentials) MarshalJSON() ([]byte, error)
func (*UpdateCredentials) UnmarshalJSON ¶ added in v0.23.0
func (s *UpdateCredentials) UnmarshalJSON(b []byte) error
type UpdateRepo ¶ added in v0.8.0
type UpdateRepo struct { // Branch that the local version of the repo is checked out to. Branch string `json:"branch,omitempty"` // The ID for the corresponding repo to access. RepoId int64 `json:"-" url:"-"` // If specified, update the sparse checkout settings. The update will fail // if sparse checkout is not enabled for the repo. SparseCheckout *SparseCheckoutUpdate `json:"sparse_checkout,omitempty"` // Tag that the local version of the repo is checked out to. Updating the // repo to a tag puts the repo in a detached HEAD state. Before committing // new changes, you must update the repo to a branch instead of the detached // HEAD. Tag string `json:"tag,omitempty"` ForceSendFields []string `json:"-"` }
func (UpdateRepo) MarshalJSON ¶ added in v0.23.0
func (s UpdateRepo) MarshalJSON() ([]byte, error)
func (*UpdateRepo) UnmarshalJSON ¶ added in v0.23.0
func (s *UpdateRepo) UnmarshalJSON(b []byte) error
type UpdateResponse ¶ added in v0.34.0
type UpdateResponse struct { }
type UploadOption ¶ added in v0.10.0
type UploadOption = func(*Import)
func UploadFormat ¶ added in v0.10.0
func UploadFormat(f ImportFormat) UploadOption
func UploadLanguage ¶ added in v0.10.0
func UploadLanguage(l Language) UploadOption
func UploadOverwrite ¶ added in v0.10.0
func UploadOverwrite() UploadOption
type WorkspaceAPI ¶
type WorkspaceAPI struct {
// contains filtered or unexported fields
}
The Workspace API allows you to list, import, export, and delete notebooks and folders.
A notebook is a web-based interface to a document that contains runnable code, visualizations, and explanatory text.
func NewWorkspace ¶
func NewWorkspace(client *client.DatabricksClient) *WorkspaceAPI
func (*WorkspaceAPI) Delete ¶
func (a *WorkspaceAPI) Delete(ctx context.Context, request Delete) error
Delete a workspace object.
Deletes an object or a directory (and optionally recursively deletes all objects in the directory). * If `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`. * If `path` is a non-empty directory and `recursive` is set to `false`, this call returns an error `DIRECTORY_NOT_EMPTY`.
Object deletion cannot be undone and deleting a directory recursively is not atomic.
func (*WorkspaceAPI) Download ¶ added in v0.10.0
func (a *WorkspaceAPI) Download(ctx context.Context, path string, opts ...DownloadOption) (io.ReadCloser, error)
Download a notebook or file from the workspace by path.
By default, it acts as if workspace.DownloadFormat(workspace.ExportFormatSource) option is supplied. When using workspace.ExportFormatAuto, the `path` is imported or exported as either a workspace file or a notebook, depending on an analysis of the `item`’s extension and the file content header provided in the request.
Returns bytes.Buffer of the path contents.
func (*WorkspaceAPI) Export ¶
func (a *WorkspaceAPI) Export(ctx context.Context, request ExportRequest) (*ExportResponse, error)
Export a workspace object.
Exports an object or the contents of an entire directory.
If `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.
If the exported data would exceed size limit, this call returns `MAX_NOTEBOOK_SIZE_EXCEEDED`. Currently, this API does not support exporting a library.
Example (WorkspaceIntegration) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebook := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() exportResponse, err := w.Workspace.Export(ctx, workspace.ExportRequest{ Format: workspace.ExportFormatSource, Path: notebook, }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", exportResponse)
Output:
func (*WorkspaceAPI) GetByPath ¶
func (a *WorkspaceAPI) GetByPath(ctx context.Context, name string) (*ObjectInfo, error)
GetByPath calls WorkspaceAPI.ObjectInfoPathToObjectIdMap and returns a single ObjectInfo.
Returns an error if there's more than one ObjectInfo with the same .Path.
Note: All ObjectInfo instances are loaded into memory before returning matching by name.
This method is generated by Databricks SDK Code Generator.
func (*WorkspaceAPI) GetPermissionLevels ¶ added in v0.19.0
func (a *WorkspaceAPI) GetPermissionLevels(ctx context.Context, request GetWorkspaceObjectPermissionLevelsRequest) (*GetWorkspaceObjectPermissionLevelsResponse, error)
Get workspace object permission levels.
Gets the permission levels that a user can have on an object.
func (*WorkspaceAPI) GetPermissionLevelsByWorkspaceObjectTypeAndWorkspaceObjectId ¶ added in v0.19.0
func (a *WorkspaceAPI) GetPermissionLevelsByWorkspaceObjectTypeAndWorkspaceObjectId(ctx context.Context, workspaceObjectType string, workspaceObjectId string) (*GetWorkspaceObjectPermissionLevelsResponse, error)
Get workspace object permission levels.
Gets the permission levels that a user can have on an object.
func (*WorkspaceAPI) GetPermissions ¶ added in v0.19.0
func (a *WorkspaceAPI) GetPermissions(ctx context.Context, request GetWorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error)
Get workspace object permissions.
Gets the permissions of a workspace object. Workspace objects can inherit permissions from their parent objects or root object.
func (*WorkspaceAPI) GetPermissionsByWorkspaceObjectTypeAndWorkspaceObjectId ¶ added in v0.19.0
func (a *WorkspaceAPI) GetPermissionsByWorkspaceObjectTypeAndWorkspaceObjectId(ctx context.Context, workspaceObjectType string, workspaceObjectId string) (*WorkspaceObjectPermissions, error)
Get workspace object permissions.
Gets the permissions of a workspace object. Workspace objects can inherit permissions from their parent objects or root object.
func (*WorkspaceAPI) GetStatus ¶
func (a *WorkspaceAPI) GetStatus(ctx context.Context, request GetStatusRequest) (*ObjectInfo, error)
Get status.
Gets the status of an object or a directory. If `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.
Example (GenericPermissions) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebookPath := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() obj, err := w.Workspace.GetStatusByPath(ctx, notebookPath) if err != nil { panic(err) } logger.Infof(ctx, "found %v", obj)
Output:
Example (WorkspaceIntegration) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebook := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() getStatusResponse, err := w.Workspace.GetStatusByPath(ctx, notebook) if err != nil { panic(err) } logger.Infof(ctx, "found %v", getStatusResponse)
Output:
func (*WorkspaceAPI) GetStatusByPath ¶
func (a *WorkspaceAPI) GetStatusByPath(ctx context.Context, path string) (*ObjectInfo, error)
Get status.
Gets the status of an object or a directory. If `path` does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.
func (*WorkspaceAPI) Impl ¶
func (a *WorkspaceAPI) Impl() WorkspaceService
Impl returns low-level Workspace API implementation Deprecated: use MockWorkspaceInterface instead.
func (*WorkspaceAPI) Import ¶
func (a *WorkspaceAPI) Import(ctx context.Context, request Import) error
Import a workspace object.
Imports a workspace object (for example, a notebook or file) or the contents of an entire directory. If `path` already exists and `overwrite` is set to `false`, this call returns an error `RESOURCE_ALREADY_EXISTS`. To import a directory, you can use either the `DBC` format or the `SOURCE` format with the `language` field unset. To import a single file as `SOURCE`, you must set the `language` field.
Example (GenericPermissions) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebookPath := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() err = w.Workspace.Import(ctx, workspace.Import{ Path: notebookPath, Overwrite: true, Format: workspace.ImportFormatSource, Language: workspace.LanguagePython, Content: base64.StdEncoding.EncodeToString([]byte((`print(1) `))), }) if err != nil { panic(err) }
Output:
Example (JobsApiFullIntegration) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebookPath := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() err = w.Workspace.Import(ctx, workspace.Import{ Path: notebookPath, Overwrite: true, Format: workspace.ImportFormatSource, Language: workspace.LanguagePython, Content: base64.StdEncoding.EncodeToString([]byte((`import time time.sleep(10) dbutils.notebook.exit('hello') `))), }) if err != nil { panic(err) }
Output:
Example (Pipelines) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebookPath := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() err = w.Workspace.Import(ctx, workspace.Import{ Content: base64.StdEncoding.EncodeToString([]byte(("CREATE LIVE TABLE dlt_sample AS SELECT 1"))), Format: workspace.ImportFormatSource, Language: workspace.LanguageSql, Overwrite: true, Path: notebookPath, }) if err != nil { panic(err) }
Output:
Example (WorkspaceIntegration) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebook := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() err = w.Workspace.Import(ctx, workspace.Import{ Path: notebook, Format: workspace.ImportFormatSource, Language: workspace.LanguagePython, Content: base64.StdEncoding.EncodeToString([]byte(("# Databricks notebook source\nprint('hello from job')"))), Overwrite: true, }) if err != nil { panic(err) }
Output:
func (*WorkspaceAPI) List ¶ added in v0.24.0
func (a *WorkspaceAPI) List(ctx context.Context, request ListWorkspaceRequest) listing.Iterator[ObjectInfo]
List contents.
Lists the contents of a directory, or the object if it is not a directory. If the input path does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.
This method is generated by Databricks SDK Code Generator.
func (*WorkspaceAPI) ListAll ¶
func (a *WorkspaceAPI) ListAll(ctx context.Context, request ListWorkspaceRequest) ([]ObjectInfo, error)
List contents.
Lists the contents of a directory, or the object if it is not a directory. If the input path does not exist, this call returns an error `RESOURCE_DOES_NOT_EXIST`.
This method is generated by Databricks SDK Code Generator.
Example (WorkspaceIntegration) ¶
ctx := context.Background() w, err := databricks.NewWorkspaceClient() if err != nil { panic(err) } notebook := func() string { me, err := w.CurrentUser.Me(ctx) if err != nil { panic(err) } return filepath.Join("/Users", me.UserName, fmt.Sprintf("sdk-%x", time.Now().UnixNano())) }() objects, err := w.Workspace.ListAll(ctx, workspace.ListWorkspaceRequest{ Path: filepath.Dir(notebook), }) if err != nil { panic(err) } logger.Infof(ctx, "found %v", objects)
Output:
func (*WorkspaceAPI) Mkdirs ¶
func (a *WorkspaceAPI) Mkdirs(ctx context.Context, request Mkdirs) error
Create a directory.
Creates the specified directory (and necessary parent directories if they do not exist). If there is an object (not a directory) at any prefix of the input path, this call returns an error `RESOURCE_ALREADY_EXISTS`.
Note that if this operation fails it may have succeeded in creating some of the necessary parent directories.
func (*WorkspaceAPI) MkdirsByPath ¶
func (a *WorkspaceAPI) MkdirsByPath(ctx context.Context, path string) error
Create a directory.
Creates the specified directory (and necessary parent directories if they do not exist). If there is an object (not a directory) at any prefix of the input path, this call returns an error `RESOURCE_ALREADY_EXISTS`.
Note that if this operation fails it may have succeeded in creating some of the necessary parent directories.
func (*WorkspaceAPI) ObjectInfoPathToObjectIdMap ¶
func (a *WorkspaceAPI) ObjectInfoPathToObjectIdMap(ctx context.Context, request ListWorkspaceRequest) (map[string]int64, error)
ObjectInfoPathToObjectIdMap calls WorkspaceAPI.ListAll and creates a map of results with ObjectInfo.Path as key and ObjectInfo.ObjectId as value.
Returns an error if there's more than one ObjectInfo with the same .Path.
Note: All ObjectInfo instances are loaded into memory before creating a map.
This method is generated by Databricks SDK Code Generator.
func (*WorkspaceAPI) ReadFile ¶ added in v0.10.0
ReadFile is identical to os.ReadFile but for workspace files.
func (*WorkspaceAPI) RecursiveList ¶
func (a *WorkspaceAPI) RecursiveList(ctx context.Context, path string) ([]ObjectInfo, error)
RecursiveList traverses the workspace tree and returns all non-directory objects under the path
func (*WorkspaceAPI) SetPermissions ¶ added in v0.19.0
func (a *WorkspaceAPI) SetPermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error)
Set workspace object permissions.
Sets permissions on a workspace object. Workspace objects can inherit permissions from their parent objects or root object.
func (*WorkspaceAPI) UpdatePermissions ¶ added in v0.19.0
func (a *WorkspaceAPI) UpdatePermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error)
Update workspace object permissions.
Updates the permissions on a workspace object. Workspace objects can inherit permissions from their parent objects or root object.
func (*WorkspaceAPI) Upload ¶ added in v0.10.0
func (a *WorkspaceAPI) Upload(ctx context.Context, path string, r io.Reader, opts ...UploadOption) error
Upload a workspace object (for example, a notebook or file) or the contents of an entire directory (`DBC` format).
Errors:
- RESOURCE_ALREADY_EXISTS: if `path` already exists no `overwrite=True`.
- INVALID_PARAMETER_VALUE: if `format` and `content` values are not compatible.
By default, workspace.UploadFormat(workspace.ImportFormatSource). If using workspace.UploadFormat(workspace.ImportFormatAuto) the `path` is imported or exported as either a workspace file or a notebook, depending on an analysis of the `path`’s extension and the header content provided in the request. In addition, if the `path` is imported as a notebook, then the `item`’s extension is automatically removed.
workspace.UploadLanguage(...) is only required if source format.
func (*WorkspaceAPI) WithImpl ¶
func (a *WorkspaceAPI) WithImpl(impl WorkspaceService) WorkspaceInterface
WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks. Deprecated: use MockWorkspaceInterface instead.
func (*WorkspaceAPI) WriteFile ¶ added in v0.10.0
WriteFile is identical to os.WriteFile but for Workspace File. Keep in mind: It doesn't upload the notebook, but the file and does always overwrite it.
type WorkspaceInterface ¶ added in v0.29.0
type WorkspaceInterface interface { // WithImpl could be used to override low-level API implementations for unit // testing purposes with [github.com/golang/mock] or other mocking frameworks. // Deprecated: use MockWorkspaceInterface instead. WithImpl(impl WorkspaceService) WorkspaceInterface // Impl returns low-level Workspace API implementation // Deprecated: use MockWorkspaceInterface instead. Impl() WorkspaceService // Delete a workspace object. // // Deletes an object or a directory (and optionally recursively deletes all // objects in the directory). * If `path` does not exist, this call returns an // error `RESOURCE_DOES_NOT_EXIST`. * If `path` is a non-empty directory and // `recursive` is set to `false`, this call returns an error // `DIRECTORY_NOT_EMPTY`. // // Object deletion cannot be undone and deleting a directory recursively is not // atomic. Delete(ctx context.Context, request Delete) error // Export a workspace object. // // Exports an object or the contents of an entire directory. // // If `path` does not exist, this call returns an error // `RESOURCE_DOES_NOT_EXIST`. // // If the exported data would exceed size limit, this call returns // `MAX_NOTEBOOK_SIZE_EXCEEDED`. Currently, this API does not support exporting // a library. Export(ctx context.Context, request ExportRequest) (*ExportResponse, error) // Get workspace object permission levels. // // Gets the permission levels that a user can have on an object. GetPermissionLevels(ctx context.Context, request GetWorkspaceObjectPermissionLevelsRequest) (*GetWorkspaceObjectPermissionLevelsResponse, error) // Get workspace object permission levels. // // Gets the permission levels that a user can have on an object. GetPermissionLevelsByWorkspaceObjectTypeAndWorkspaceObjectId(ctx context.Context, workspaceObjectType string, workspaceObjectId string) (*GetWorkspaceObjectPermissionLevelsResponse, error) // Get workspace object permissions. // // Gets the permissions of a workspace object. Workspace objects can inherit // permissions from their parent objects or root object. GetPermissions(ctx context.Context, request GetWorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error) // Get workspace object permissions. // // Gets the permissions of a workspace object. Workspace objects can inherit // permissions from their parent objects or root object. GetPermissionsByWorkspaceObjectTypeAndWorkspaceObjectId(ctx context.Context, workspaceObjectType string, workspaceObjectId string) (*WorkspaceObjectPermissions, error) // Get status. // // Gets the status of an object or a directory. If `path` does not exist, this // call returns an error `RESOURCE_DOES_NOT_EXIST`. GetStatus(ctx context.Context, request GetStatusRequest) (*ObjectInfo, error) // Get status. // // Gets the status of an object or a directory. If `path` does not exist, this // call returns an error `RESOURCE_DOES_NOT_EXIST`. GetStatusByPath(ctx context.Context, path string) (*ObjectInfo, error) // Import a workspace object. // // Imports a workspace object (for example, a notebook or file) or the contents // of an entire directory. If `path` already exists and `overwrite` is set to // `false`, this call returns an error `RESOURCE_ALREADY_EXISTS`. To import a // directory, you can use either the `DBC` format or the `SOURCE` format with // the `language` field unset. To import a single file as `SOURCE`, you must set // the `language` field. Import(ctx context.Context, request Import) error // List contents. // // Lists the contents of a directory, or the object if it is not a directory. If // the input path does not exist, this call returns an error // `RESOURCE_DOES_NOT_EXIST`. // // This method is generated by Databricks SDK Code Generator. List(ctx context.Context, request ListWorkspaceRequest) listing.Iterator[ObjectInfo] // List contents. // // Lists the contents of a directory, or the object if it is not a directory. If // the input path does not exist, this call returns an error // `RESOURCE_DOES_NOT_EXIST`. // // This method is generated by Databricks SDK Code Generator. ListAll(ctx context.Context, request ListWorkspaceRequest) ([]ObjectInfo, error) // ObjectInfoPathToObjectIdMap calls [WorkspaceAPI.ListAll] and creates a map of results with [ObjectInfo].Path as key and [ObjectInfo].ObjectId as value. // // Returns an error if there's more than one [ObjectInfo] with the same .Path. // // Note: All [ObjectInfo] instances are loaded into memory before creating a map. // // This method is generated by Databricks SDK Code Generator. ObjectInfoPathToObjectIdMap(ctx context.Context, request ListWorkspaceRequest) (map[string]int64, error) // GetByPath calls [WorkspaceAPI.ObjectInfoPathToObjectIdMap] and returns a single [ObjectInfo]. // // Returns an error if there's more than one [ObjectInfo] with the same .Path. // // Note: All [ObjectInfo] instances are loaded into memory before returning matching by name. // // This method is generated by Databricks SDK Code Generator. GetByPath(ctx context.Context, name string) (*ObjectInfo, error) // Create a directory. // // Creates the specified directory (and necessary parent directories if they do // not exist). If there is an object (not a directory) at any prefix of the // input path, this call returns an error `RESOURCE_ALREADY_EXISTS`. // // Note that if this operation fails it may have succeeded in creating some of // the necessary parent directories. Mkdirs(ctx context.Context, request Mkdirs) error // Create a directory. // // Creates the specified directory (and necessary parent directories if they do // not exist). If there is an object (not a directory) at any prefix of the // input path, this call returns an error `RESOURCE_ALREADY_EXISTS`. // // Note that if this operation fails it may have succeeded in creating some of // the necessary parent directories. MkdirsByPath(ctx context.Context, path string) error // Set workspace object permissions. // // Sets permissions on a workspace object. Workspace objects can inherit // permissions from their parent objects or root object. SetPermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error) // Update workspace object permissions. // // Updates the permissions on a workspace object. Workspace objects can inherit // permissions from their parent objects or root object. UpdatePermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error) // contains filtered or unexported methods }
type WorkspaceObjectAccessControlRequest ¶ added in v0.15.0
type WorkspaceObjectAccessControlRequest struct { // name of the group GroupName string `json:"group_name,omitempty"` // Permission level PermissionLevel WorkspaceObjectPermissionLevel `json:"permission_level,omitempty"` // application ID of a service principal ServicePrincipalName string `json:"service_principal_name,omitempty"` // name of the user UserName string `json:"user_name,omitempty"` ForceSendFields []string `json:"-"` }
func (WorkspaceObjectAccessControlRequest) MarshalJSON ¶ added in v0.23.0
func (s WorkspaceObjectAccessControlRequest) MarshalJSON() ([]byte, error)
func (*WorkspaceObjectAccessControlRequest) UnmarshalJSON ¶ added in v0.23.0
func (s *WorkspaceObjectAccessControlRequest) UnmarshalJSON(b []byte) error
type WorkspaceObjectAccessControlResponse ¶ added in v0.15.0
type WorkspaceObjectAccessControlResponse struct { // All permissions. AllPermissions []WorkspaceObjectPermission `json:"all_permissions,omitempty"` // Display name of the user or service principal. DisplayName string `json:"display_name,omitempty"` // name of the group GroupName string `json:"group_name,omitempty"` // Name of the service principal. ServicePrincipalName string `json:"service_principal_name,omitempty"` // name of the user UserName string `json:"user_name,omitempty"` ForceSendFields []string `json:"-"` }
func (WorkspaceObjectAccessControlResponse) MarshalJSON ¶ added in v0.23.0
func (s WorkspaceObjectAccessControlResponse) MarshalJSON() ([]byte, error)
func (*WorkspaceObjectAccessControlResponse) UnmarshalJSON ¶ added in v0.23.0
func (s *WorkspaceObjectAccessControlResponse) UnmarshalJSON(b []byte) error
type WorkspaceObjectPermission ¶ added in v0.15.0
type WorkspaceObjectPermission struct { Inherited bool `json:"inherited,omitempty"` InheritedFromObject []string `json:"inherited_from_object,omitempty"` // Permission level PermissionLevel WorkspaceObjectPermissionLevel `json:"permission_level,omitempty"` ForceSendFields []string `json:"-"` }
func (WorkspaceObjectPermission) MarshalJSON ¶ added in v0.23.0
func (s WorkspaceObjectPermission) MarshalJSON() ([]byte, error)
func (*WorkspaceObjectPermission) UnmarshalJSON ¶ added in v0.23.0
func (s *WorkspaceObjectPermission) UnmarshalJSON(b []byte) error
type WorkspaceObjectPermissionLevel ¶ added in v0.15.0
type WorkspaceObjectPermissionLevel string
Permission level
const WorkspaceObjectPermissionLevelCanEdit WorkspaceObjectPermissionLevel = `CAN_EDIT`
const WorkspaceObjectPermissionLevelCanManage WorkspaceObjectPermissionLevel = `CAN_MANAGE`
const WorkspaceObjectPermissionLevelCanRead WorkspaceObjectPermissionLevel = `CAN_READ`
const WorkspaceObjectPermissionLevelCanRun WorkspaceObjectPermissionLevel = `CAN_RUN`
func (*WorkspaceObjectPermissionLevel) Set ¶ added in v0.15.0
func (f *WorkspaceObjectPermissionLevel) Set(v string) error
Set raw string value and validate it against allowed values
func (*WorkspaceObjectPermissionLevel) String ¶ added in v0.15.0
func (f *WorkspaceObjectPermissionLevel) String() string
String representation for fmt.Print
func (*WorkspaceObjectPermissionLevel) Type ¶ added in v0.15.0
func (f *WorkspaceObjectPermissionLevel) Type() string
Type always returns WorkspaceObjectPermissionLevel to satisfy [pflag.Value] interface
type WorkspaceObjectPermissions ¶ added in v0.15.0
type WorkspaceObjectPermissions struct { AccessControlList []WorkspaceObjectAccessControlResponse `json:"access_control_list,omitempty"` ObjectId string `json:"object_id,omitempty"` ObjectType string `json:"object_type,omitempty"` ForceSendFields []string `json:"-"` }
func (WorkspaceObjectPermissions) MarshalJSON ¶ added in v0.23.0
func (s WorkspaceObjectPermissions) MarshalJSON() ([]byte, error)
func (*WorkspaceObjectPermissions) UnmarshalJSON ¶ added in v0.23.0
func (s *WorkspaceObjectPermissions) UnmarshalJSON(b []byte) error
type WorkspaceObjectPermissionsDescription ¶ added in v0.15.0
type WorkspaceObjectPermissionsDescription struct { Description string `json:"description,omitempty"` // Permission level PermissionLevel WorkspaceObjectPermissionLevel `json:"permission_level,omitempty"` ForceSendFields []string `json:"-"` }
func (WorkspaceObjectPermissionsDescription) MarshalJSON ¶ added in v0.23.0
func (s WorkspaceObjectPermissionsDescription) MarshalJSON() ([]byte, error)
func (*WorkspaceObjectPermissionsDescription) UnmarshalJSON ¶ added in v0.23.0
func (s *WorkspaceObjectPermissionsDescription) UnmarshalJSON(b []byte) error
type WorkspaceObjectPermissionsRequest ¶ added in v0.15.0
type WorkspaceObjectPermissionsRequest struct { AccessControlList []WorkspaceObjectAccessControlRequest `json:"access_control_list,omitempty"` // The workspace object for which to get or manage permissions. WorkspaceObjectId string `json:"-" url:"-"` // The workspace object type for which to get or manage permissions. WorkspaceObjectType string `json:"-" url:"-"` }
type WorkspaceService ¶
type WorkspaceService interface { // Delete a workspace object. // // Deletes an object or a directory (and optionally recursively deletes all // objects in the directory). * If `path` does not exist, this call returns // an error `RESOURCE_DOES_NOT_EXIST`. * If `path` is a non-empty directory // and `recursive` is set to `false`, this call returns an error // `DIRECTORY_NOT_EMPTY`. // // Object deletion cannot be undone and deleting a directory recursively is // not atomic. Delete(ctx context.Context, request Delete) error // Export a workspace object. // // Exports an object or the contents of an entire directory. // // If `path` does not exist, this call returns an error // `RESOURCE_DOES_NOT_EXIST`. // // If the exported data would exceed size limit, this call returns // `MAX_NOTEBOOK_SIZE_EXCEEDED`. Currently, this API does not support // exporting a library. Export(ctx context.Context, request ExportRequest) (*ExportResponse, error) // Get workspace object permission levels. // // Gets the permission levels that a user can have on an object. GetPermissionLevels(ctx context.Context, request GetWorkspaceObjectPermissionLevelsRequest) (*GetWorkspaceObjectPermissionLevelsResponse, error) // Get workspace object permissions. // // Gets the permissions of a workspace object. Workspace objects can inherit // permissions from their parent objects or root object. GetPermissions(ctx context.Context, request GetWorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error) // Get status. // // Gets the status of an object or a directory. If `path` does not exist, // this call returns an error `RESOURCE_DOES_NOT_EXIST`. GetStatus(ctx context.Context, request GetStatusRequest) (*ObjectInfo, error) // Import a workspace object. // // Imports a workspace object (for example, a notebook or file) or the // contents of an entire directory. If `path` already exists and `overwrite` // is set to `false`, this call returns an error `RESOURCE_ALREADY_EXISTS`. // To import a directory, you can use either the `DBC` format or the // `SOURCE` format with the `language` field unset. To import a single file // as `SOURCE`, you must set the `language` field. Import(ctx context.Context, request Import) error // List contents. // // Lists the contents of a directory, or the object if it is not a // directory. If the input path does not exist, this call returns an error // `RESOURCE_DOES_NOT_EXIST`. // // Use ListAll() to get all ObjectInfo instances List(ctx context.Context, request ListWorkspaceRequest) (*ListResponse, error) // Create a directory. // // Creates the specified directory (and necessary parent directories if they // do not exist). If there is an object (not a directory) at any prefix of // the input path, this call returns an error `RESOURCE_ALREADY_EXISTS`. // // Note that if this operation fails it may have succeeded in creating some // of the necessary parent directories. Mkdirs(ctx context.Context, request Mkdirs) error // Set workspace object permissions. // // Sets permissions on a workspace object. Workspace objects can inherit // permissions from their parent objects or root object. SetPermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error) // Update workspace object permissions. // // Updates the permissions on a workspace object. Workspace objects can // inherit permissions from their parent objects or root object. UpdatePermissions(ctx context.Context, request WorkspaceObjectPermissionsRequest) (*WorkspaceObjectPermissions, error) }
The Workspace API allows you to list, import, export, and delete notebooks and folders.
A notebook is a web-based interface to a document that contains runnable code, visualizations, and explanatory text.