unitycatalog

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

These APIs allow you to manage Account Metastore Assignments, Account Metastores, Account Storage Credentials, Catalogs, External Locations, Functions, Grants, Metastores, Providers, Recipient Activation, Recipients, Schemas, Shares, Storage Credentials, Table Constraints, Tables, etc.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountMetastoreAssignmentsAPI added in v0.4.0

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

These APIs manage metastore assignments to a workspace.

func NewAccountMetastoreAssignments added in v0.4.0

func NewAccountMetastoreAssignments(client *client.DatabricksClient) *AccountMetastoreAssignmentsAPI

func (*AccountMetastoreAssignmentsAPI) Create added in v0.4.0

Assigns a workspace to a metastore.

Creates an assignment to a metastore for a workspace

func (*AccountMetastoreAssignmentsAPI) Delete added in v0.4.0

Delete a metastore assignment.

Deletes a metastore assignment to a workspace, leaving the workspace with no metastore.

func (*AccountMetastoreAssignmentsAPI) DeleteByWorkspaceIdAndMetastoreId added in v0.4.0

func (a *AccountMetastoreAssignmentsAPI) DeleteByWorkspaceIdAndMetastoreId(ctx context.Context, workspaceId int64, metastoreId string) error

Delete a metastore assignment.

Deletes a metastore assignment to a workspace, leaving the workspace with no metastore.

func (*AccountMetastoreAssignmentsAPI) Get added in v0.4.0

Gets the metastore assignment for a workspace.

Gets the metastore assignment, if any, for the workspace specified by ID. If the workspace is assigned a metastore, the mappig will be returned. If no metastore is assigned to the workspace, the assignment will not be found and a 404 returned.

func (*AccountMetastoreAssignmentsAPI) GetByWorkspaceId added in v0.4.0

func (a *AccountMetastoreAssignmentsAPI) GetByWorkspaceId(ctx context.Context, workspaceId int64) (*MetastoreAssignment, error)

Gets the metastore assignment for a workspace.

Gets the metastore assignment, if any, for the workspace specified by ID. If the workspace is assigned a metastore, the mappig will be returned. If no metastore is assigned to the workspace, the assignment will not be found and a 404 returned.

func (*AccountMetastoreAssignmentsAPI) Impl added in v0.4.0

Impl returns low-level AccountMetastoreAssignments API implementation

func (*AccountMetastoreAssignmentsAPI) List added in v0.4.0

Get all workspaces assigned to a metastore.

Gets a list of all Databricks workspace IDs that have been assigned to given metastore.

func (*AccountMetastoreAssignmentsAPI) ListByMetastoreId added in v0.4.0

func (a *AccountMetastoreAssignmentsAPI) ListByMetastoreId(ctx context.Context, metastoreId string) ([]MetastoreAssignment, error)

Get all workspaces assigned to a metastore.

Gets a list of all Databricks workspace IDs that have been assigned to given metastore.

func (*AccountMetastoreAssignmentsAPI) Update added in v0.4.0

Updates a metastore assignment to a workspaces.

Updates an assignment to a metastore for a workspace. Currently, only the default catalog may be updated

func (*AccountMetastoreAssignmentsAPI) WithImpl added in v0.4.0

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type AccountMetastoreAssignmentsService added in v0.4.0

type AccountMetastoreAssignmentsService interface {

	// Assigns a workspace to a metastore.
	//
	// Creates an assignment to a metastore for a workspace
	Create(ctx context.Context, request CreateMetastoreAssignment) (*MetastoreAssignment, error)

	// Delete a metastore assignment.
	//
	// Deletes a metastore assignment to a workspace, leaving the workspace with
	// no metastore.
	Delete(ctx context.Context, request DeleteAccountMetastoreAssignmentRequest) error

	// Gets the metastore assignment for a workspace.
	//
	// Gets the metastore assignment, if any, for the workspace specified by ID.
	// If the workspace is assigned a metastore, the mappig will be returned. If
	// no metastore is assigned to the workspace, the assignment will not be
	// found and a 404 returned.
	Get(ctx context.Context, request GetAccountMetastoreAssignmentRequest) (*MetastoreAssignment, error)

	// Get all workspaces assigned to a metastore.
	//
	// Gets a list of all Databricks workspace IDs that have been assigned to
	// given metastore.
	List(ctx context.Context, request ListAccountMetastoreAssignmentsRequest) ([]MetastoreAssignment, error)

	// Updates a metastore assignment to a workspaces.
	//
	// Updates an assignment to a metastore for a workspace. Currently, only the
	// default catalog may be updated
	Update(ctx context.Context, request UpdateMetastoreAssignment) (*MetastoreAssignment, error)
}

These APIs manage metastore assignments to a workspace.

type AccountMetastoresAPI added in v0.4.0

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

These APIs manage Unity Catalog metastores for an account. A metastore contains catalogs that can be associated with workspaces

func NewAccountMetastores added in v0.4.0

func NewAccountMetastores(client *client.DatabricksClient) *AccountMetastoresAPI

func (*AccountMetastoresAPI) Create added in v0.4.0

Create metastore.

Creates a Unity Catalog metastore.

func (*AccountMetastoresAPI) Delete added in v0.4.0

Delete a metastore.

Deletes a Databricks Unity Catalog metastore for an account, both specified by ID.

func (*AccountMetastoresAPI) DeleteByMetastoreId added in v0.4.0

func (a *AccountMetastoresAPI) DeleteByMetastoreId(ctx context.Context, metastoreId string) error

Delete a metastore.

Deletes a Databricks Unity Catalog metastore for an account, both specified by ID.

func (*AccountMetastoresAPI) Get added in v0.4.0

Get a metastore.

Gets a Databricks Unity Catalog metastore from an account, both specified by ID.

func (*AccountMetastoresAPI) GetByMetastoreId added in v0.4.0

func (a *AccountMetastoresAPI) GetByMetastoreId(ctx context.Context, metastoreId string) (*MetastoreInfo, error)

Get a metastore.

Gets a Databricks Unity Catalog metastore from an account, both specified by ID.

func (*AccountMetastoresAPI) Impl added in v0.4.0

Impl returns low-level AccountMetastores API implementation

func (*AccountMetastoresAPI) List added in v0.4.0

Get all metastores associated with an account.

Gets all Unity Catalog metastores associated with an account specified by ID.

func (*AccountMetastoresAPI) Update added in v0.4.0

Update a metastore.

Updates an existing Unity Catalog metastore.

func (*AccountMetastoresAPI) WithImpl added in v0.4.0

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type AccountMetastoresService added in v0.4.0

type AccountMetastoresService interface {

	// Create metastore.
	//
	// Creates a Unity Catalog metastore.
	Create(ctx context.Context, request CreateMetastore) (*MetastoreInfo, error)

	// Delete a metastore.
	//
	// Deletes a Databricks Unity Catalog metastore for an account, both
	// specified by ID.
	Delete(ctx context.Context, request DeleteAccountMetastoreRequest) error

	// Get a metastore.
	//
	// Gets a Databricks Unity Catalog metastore from an account, both specified
	// by ID.
	Get(ctx context.Context, request GetAccountMetastoreRequest) (*MetastoreInfo, error)

	// Get all metastores associated with an account.
	//
	// Gets all Unity Catalog metastores associated with an account specified by
	// ID.
	List(ctx context.Context) (*ListMetastoresResponse, error)

	// Update a metastore.
	//
	// Updates an existing Unity Catalog metastore.
	Update(ctx context.Context, request UpdateMetastore) (*MetastoreInfo, error)
}

These APIs manage Unity Catalog metastores for an account. A metastore contains catalogs that can be associated with workspaces

type AccountStorageCredentialsAPI added in v0.4.0

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

These APIs manage storage credentials for a particular metastore.

func NewAccountStorageCredentials added in v0.4.0

func NewAccountStorageCredentials(client *client.DatabricksClient) *AccountStorageCredentialsAPI

func (*AccountStorageCredentialsAPI) Create added in v0.4.0

Create a storage credential.

Creates a new storage credential. The request object is specific to the cloud:

* **AwsIamRole** for AWS credentials * **AzureServicePrincipal** for Azure credentials * **GcpServiceAcountKey** for GCP credentials.

The caller must be a metastore admin and have the **CREATE_STORAGE_CREDENTIAL** privilege on the metastore.

func (*AccountStorageCredentialsAPI) Get added in v0.4.0

Gets the named storage credential.

Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the storage credential, or have a level of privilege on the storage credential.

func (*AccountStorageCredentialsAPI) GetByMetastoreIdAndStorageCredentialName added in v0.4.0

func (a *AccountStorageCredentialsAPI) GetByMetastoreIdAndStorageCredentialName(ctx context.Context, metastoreId string, storageCredentialName string) (*StorageCredentialInfo, error)

Gets the named storage credential.

Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the storage credential, or have a level of privilege on the storage credential.

func (*AccountStorageCredentialsAPI) Impl added in v0.4.0

Impl returns low-level AccountStorageCredentials API implementation

func (*AccountStorageCredentialsAPI) List added in v0.4.0

Get all storage credentials assigned to a metastore.

Gets a list of all storage credentials that have been assigned to given metastore.

func (*AccountStorageCredentialsAPI) ListByMetastoreId added in v0.4.0

func (a *AccountStorageCredentialsAPI) ListByMetastoreId(ctx context.Context, metastoreId string) ([]StorageCredentialInfo, error)

Get all storage credentials assigned to a metastore.

Gets a list of all storage credentials that have been assigned to given metastore.

func (*AccountStorageCredentialsAPI) WithImpl added in v0.4.0

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type AccountStorageCredentialsService added in v0.4.0

type AccountStorageCredentialsService interface {

	// Create a storage credential.
	//
	// Creates a new storage credential. The request object is specific to the
	// cloud:
	//
	// * **AwsIamRole** for AWS credentials * **AzureServicePrincipal** for
	// Azure credentials * **GcpServiceAcountKey** for GCP credentials.
	//
	// The caller must be a metastore admin and have the
	// **CREATE_STORAGE_CREDENTIAL** privilege on the metastore.
	Create(ctx context.Context, request CreateStorageCredential) (*StorageCredentialInfo, error)

	// Gets the named storage credential.
	//
	// Gets a storage credential from the metastore. The caller must be a
	// metastore admin, the owner of the storage credential, or have a level of
	// privilege on the storage credential.
	Get(ctx context.Context, request GetAccountStorageCredentialRequest) (*StorageCredentialInfo, error)

	// Get all storage credentials assigned to a metastore.
	//
	// Gets a list of all storage credentials that have been assigned to given
	// metastore.
	List(ctx context.Context, request ListAccountStorageCredentialsRequest) ([]StorageCredentialInfo, error)
}

These APIs manage storage credentials for a particular metastore.

type AuthenticationType added in v0.2.0

type AuthenticationType string

The delta sharing authentication type.

const AuthenticationTypeDatabricks AuthenticationType = `DATABRICKS`
const AuthenticationTypeToken AuthenticationType = `TOKEN`

func (*AuthenticationType) Set added in v0.2.0

func (at *AuthenticationType) Set(v string) error

Set raw string value and validate it against allowed values

func (*AuthenticationType) String added in v0.2.0

func (at *AuthenticationType) String() string

String representation for fmt.Print

func (*AuthenticationType) Type added in v0.2.0

func (at *AuthenticationType) Type() string

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

type AwsIamRole

type AwsIamRole struct {
	// The external ID used in role assumption to prevent confused deputy
	// problem..
	ExternalId string `json:"external_id,omitempty"`
	// The Amazon Resource Name (ARN) of the AWS IAM role for S3 data access.
	RoleArn string `json:"role_arn"`
	// The Amazon Resource Name (ARN) of the AWS IAM user managed by Databricks.
	// This is the identity that is going to assume the AWS IAM role.
	UnityCatalogIamArn string `json:"unity_catalog_iam_arn,omitempty"`
}

type AzureServicePrincipal

type AzureServicePrincipal struct {
	// The application ID of the application registration within the referenced
	// AAD tenant.
	ApplicationId string `json:"application_id"`
	// The client secret generated for the above app ID in AAD.
	ClientSecret string `json:"client_secret"`
	// The directory ID corresponding to the Azure Active Directory (AAD) tenant
	// of the application.
	DirectoryId string `json:"directory_id"`
}

type CatalogInfo

type CatalogInfo struct {
	// The type of the catalog.
	CatalogType CatalogType `json:"catalog_type,omitempty"`
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Time at which this catalog was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of catalog creator.
	CreatedBy string `json:"created_by,omitempty"`

	EffectiveAutoMaintenanceFlag *EffectiveAutoMaintenanceFlag `json:"effective_auto_maintenance_flag,omitempty"`
	// Whether auto maintenance should be enabled for this object and objects
	// under it.
	EnableAutoMaintenance EnableAutoMaintenance `json:"enable_auto_maintenance,omitempty"`
	// Unique identifier of parent metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// Name of catalog.
	Name string `json:"name,omitempty"`
	// Username of current owner of catalog.
	Owner string `json:"owner,omitempty"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
	// The name of delta sharing provider.
	//
	// A Delta Sharing catalog is a catalog that is based on a Delta share on a
	// remote sharing server.
	ProviderName string `json:"provider_name,omitempty"`
	// The name of the share under the share provider.
	ShareName string `json:"share_name,omitempty"`
	// Storage Location URL (full path) for managed tables within catalog.
	StorageLocation string `json:"storage_location,omitempty"`
	// Storage root URL for managed tables within catalog.
	StorageRoot string `json:"storage_root,omitempty"`
	// Time at which this catalog was last modified, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified catalog.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type CatalogType added in v0.2.0

type CatalogType string

The type of the catalog.

const CatalogTypeDeltasharingCatalog CatalogType = `DELTASHARING_CATALOG`
const CatalogTypeManagedCatalog CatalogType = `MANAGED_CATALOG`
const CatalogTypeSystemCatalog CatalogType = `SYSTEM_CATALOG`

func (*CatalogType) Set added in v0.2.0

func (ct *CatalogType) Set(v string) error

Set raw string value and validate it against allowed values

func (*CatalogType) String added in v0.2.0

func (ct *CatalogType) String() string

String representation for fmt.Print

func (*CatalogType) Type added in v0.2.0

func (ct *CatalogType) Type() string

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

type CatalogsAPI

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

A catalog is the first layer of Unity Catalog’s three-level namespace. It’s used to organize your data assets. Users can see all catalogs on which they have been assigned the USE_CATALOG data permission.

In Unity Catalog, admins and data stewards manage users and their access to data centrally across all of the workspaces in a Databricks account. Users in different workspaces can share access to the same data, depending on privileges granted centrally in Unity Catalog.

func NewCatalogs

func NewCatalogs(client *client.DatabricksClient) *CatalogsAPI

func (*CatalogsAPI) Create

func (a *CatalogsAPI) Create(ctx context.Context, request CreateCatalog) (*CatalogInfo, error)

Create a catalog.

Creates a new catalog instance in the parent metastore if the caller is a metastore admin or has the **CREATE_CATALOG** privilege.

func (*CatalogsAPI) Delete

func (a *CatalogsAPI) Delete(ctx context.Context, request DeleteCatalogRequest) error

Delete a catalog.

Deletes the catalog that matches the supplied name. The caller must be a metastore admin or the owner of the catalog.

func (*CatalogsAPI) DeleteByName

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

Delete a catalog.

Deletes the catalog that matches the supplied name. The caller must be a metastore admin or the owner of the catalog.

func (*CatalogsAPI) Get

func (a *CatalogsAPI) Get(ctx context.Context, request GetCatalogRequest) (*CatalogInfo, error)

Get a catalog.

Gets the specified catalog in a metastore. The caller must be a metastore admin, the owner of the catalog, or a user that has the **USE_CATALOG** privilege set for their account.

func (*CatalogsAPI) GetByName

func (a *CatalogsAPI) GetByName(ctx context.Context, name string) (*CatalogInfo, error)

Get a catalog.

Gets the specified catalog in a metastore. The caller must be a metastore admin, the owner of the catalog, or a user that has the **USE_CATALOG** privilege set for their account.

func (*CatalogsAPI) Impl

func (a *CatalogsAPI) Impl() CatalogsService

Impl returns low-level Catalogs API implementation

func (*CatalogsAPI) ListAll

func (a *CatalogsAPI) ListAll(ctx context.Context) ([]CatalogInfo, error)

List catalogs.

Gets an array of catalogs in the metastore. If the caller is the metastore admin, all catalogs will be retrieved. Otherwise, only catalogs owned by the caller (or for which the caller has the **USE_CATALOG** privilege) will be retrieved. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*CatalogsAPI) Update

func (a *CatalogsAPI) Update(ctx context.Context, request UpdateCatalog) (*CatalogInfo, error)

Update a catalog.

Updates the catalog that matches the supplied name. The caller must be either the owner of the catalog, or a metastore admin (when changing the owner field of the catalog).

func (*CatalogsAPI) WithImpl

func (a *CatalogsAPI) WithImpl(impl CatalogsService) *CatalogsAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type CatalogsService

type CatalogsService interface {

	// Create a catalog.
	//
	// Creates a new catalog instance in the parent metastore if the caller is a
	// metastore admin or has the **CREATE_CATALOG** privilege.
	Create(ctx context.Context, request CreateCatalog) (*CatalogInfo, error)

	// Delete a catalog.
	//
	// Deletes the catalog that matches the supplied name. The caller must be a
	// metastore admin or the owner of the catalog.
	Delete(ctx context.Context, request DeleteCatalogRequest) error

	// Get a catalog.
	//
	// Gets the specified catalog in a metastore. The caller must be a metastore
	// admin, the owner of the catalog, or a user that has the **USE_CATALOG**
	// privilege set for their account.
	Get(ctx context.Context, request GetCatalogRequest) (*CatalogInfo, error)

	// List catalogs.
	//
	// Gets an array of catalogs in the metastore. If the caller is the
	// metastore admin, all catalogs will be retrieved. Otherwise, only catalogs
	// owned by the caller (or for which the caller has the **USE_CATALOG**
	// privilege) will be retrieved. There is no guarantee of a specific
	// ordering of the elements in the array.
	//
	// Use ListAll() to get all CatalogInfo instances
	List(ctx context.Context) (*ListCatalogsResponse, error)

	// Update a catalog.
	//
	// Updates the catalog that matches the supplied name. The caller must be
	// either the owner of the catalog, or a metastore admin (when changing the
	// owner field of the catalog).
	Update(ctx context.Context, request UpdateCatalog) (*CatalogInfo, error)
}

A catalog is the first layer of Unity Catalog’s three-level namespace. It’s used to organize your data assets. Users can see all catalogs on which they have been assigned the USE_CATALOG data permission.

In Unity Catalog, admins and data stewards manage users and their access to data centrally across all of the workspaces in a Databricks account. Users in different workspaces can share access to the same data, depending on privileges granted centrally in Unity Catalog.

type ColumnInfo

type ColumnInfo struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`

	Mask *ColumnMask `json:"mask,omitempty"`
	// Name of Column.
	Name string `json:"name,omitempty"`
	// Whether field may be Null (default: true).
	Nullable bool `json:"nullable,omitempty"`
	// Partition index for column.
	PartitionIndex int `json:"partition_index,omitempty"`
	// Ordinal position of column (starting at position 0).
	Position int `json:"position,omitempty"`
	// Format of IntervalType.
	TypeIntervalType string `json:"type_interval_type,omitempty"`
	// Full data type specification, JSON-serialized.
	TypeJson string `json:"type_json,omitempty"`
	// Name of type (INT, STRUCT, MAP, etc.).
	TypeName ColumnTypeName `json:"type_name,omitempty"`
	// Digits of precision; required for DecimalTypes.
	TypePrecision int `json:"type_precision,omitempty"`
	// Digits to right of decimal; Required for DecimalTypes.
	TypeScale int `json:"type_scale,omitempty"`
	// Full data type specification as SQL/catalogString text.
	TypeText string `json:"type_text,omitempty"`
}

type ColumnMask added in v0.3.0

type ColumnMask struct {
	// The full name of the column maks SQL UDF.
	FunctionName string `json:"function_name,omitempty"`
	// The list of additional table columns to be passed as input to the column
	// mask function. The first arg of the mask function should be of the type
	// of the column being masked and the types of the rest of the args should
	// match the types of columns in 'using_column_names'.
	UsingColumnNames []string `json:"using_column_names,omitempty"`
}

type ColumnTypeName added in v0.3.0

type ColumnTypeName string

Name of type (INT, STRUCT, MAP, etc.).

const ColumnTypeNameArray ColumnTypeName = `ARRAY`
const ColumnTypeNameBinary ColumnTypeName = `BINARY`
const ColumnTypeNameBoolean ColumnTypeName = `BOOLEAN`
const ColumnTypeNameByte ColumnTypeName = `BYTE`
const ColumnTypeNameChar ColumnTypeName = `CHAR`
const ColumnTypeNameDate ColumnTypeName = `DATE`
const ColumnTypeNameDecimal ColumnTypeName = `DECIMAL`
const ColumnTypeNameDouble ColumnTypeName = `DOUBLE`
const ColumnTypeNameFloat ColumnTypeName = `FLOAT`
const ColumnTypeNameInt ColumnTypeName = `INT`
const ColumnTypeNameInterval ColumnTypeName = `INTERVAL`
const ColumnTypeNameLong ColumnTypeName = `LONG`
const ColumnTypeNameMap ColumnTypeName = `MAP`
const ColumnTypeNameNull ColumnTypeName = `NULL`
const ColumnTypeNameShort ColumnTypeName = `SHORT`
const ColumnTypeNameString ColumnTypeName = `STRING`
const ColumnTypeNameStruct ColumnTypeName = `STRUCT`
const ColumnTypeNameTableType ColumnTypeName = `TABLE_TYPE`
const ColumnTypeNameTimestamp ColumnTypeName = `TIMESTAMP`
const ColumnTypeNameUserDefinedType ColumnTypeName = `USER_DEFINED_TYPE`

func (*ColumnTypeName) Set added in v0.3.0

func (ctn *ColumnTypeName) Set(v string) error

Set raw string value and validate it against allowed values

func (*ColumnTypeName) String added in v0.3.0

func (ctn *ColumnTypeName) String() string

String representation for fmt.Print

func (*ColumnTypeName) Type added in v0.3.0

func (ctn *ColumnTypeName) Type() string

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

type CreateCatalog

type CreateCatalog struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of catalog.
	Name string `json:"name"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
	// The name of delta sharing provider.
	//
	// A Delta Sharing catalog is a catalog that is based on a Delta share on a
	// remote sharing server.
	ProviderName string `json:"provider_name,omitempty"`
	// The name of the share under the share provider.
	ShareName string `json:"share_name,omitempty"`
	// Storage root URL for managed tables within catalog.
	StorageRoot string `json:"storage_root,omitempty"`
}

type CreateExternalLocation

type CreateExternalLocation struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of the storage credential used with this location.
	CredentialName string `json:"credential_name"`
	// Name of the external location.
	Name string `json:"name"`
	// Indicates whether the external location is read-only.
	ReadOnly bool `json:"read_only,omitempty"`
	// Skips validation of the storage credential associated with the external
	// location.
	SkipValidation bool `json:"skip_validation,omitempty"`
	// Path URL of the external location.
	Url string `json:"url"`
}

type CreateFunction added in v0.3.0

type CreateFunction struct {
	// Name of parent catalog.
	CatalogName string `json:"catalog_name"`
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Scalar function return data type.
	DataType ColumnTypeName `json:"data_type"`
	// External function language.
	ExternalLanguage string `json:"external_language,omitempty"`
	// External function name.
	ExternalName string `json:"external_name,omitempty"`
	// Pretty printed function data type.
	FullDataType string `json:"full_data_type"`
	// The array of __FunctionParameterInfo__ definitions of the function's
	// parameters.
	InputParams []FunctionParameterInfo `json:"input_params"`
	// Whether the function is deterministic.
	IsDeterministic bool `json:"is_deterministic"`
	// Function null call.
	IsNullCall bool `json:"is_null_call"`
	// Name of function, relative to parent schema.
	Name string `json:"name"`
	// Function parameter style. **S** is the value for SQL.
	ParameterStyle CreateFunctionParameterStyle `json:"parameter_style"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
	// Table function return parameters.
	ReturnParams []FunctionParameterInfo `json:"return_params"`
	// Function language. When **EXTERNAL** is used, the language of the routine
	// function should be specified in the __external_language__ field, and the
	// __return_params__ of the function cannot be used (as **TABLE** return
	// type is not supported), and the __sql_data_access__ field must be
	// **NO_SQL**.
	RoutineBody CreateFunctionRoutineBody `json:"routine_body"`
	// Function body.
	RoutineDefinition string `json:"routine_definition"`
	// Function dependencies.
	RoutineDependencies []Dependency `json:"routine_dependencies"`
	// Name of parent schema relative to its parent catalog.
	SchemaName string `json:"schema_name"`
	// Function security type.
	SecurityType CreateFunctionSecurityType `json:"security_type"`
	// Specific name of the function; Reserved for future use.
	SpecificName string `json:"specific_name"`
	// Function SQL data access.
	SqlDataAccess CreateFunctionSqlDataAccess `json:"sql_data_access"`
	// List of schemes whose objects can be referenced without qualification.
	SqlPath string `json:"sql_path,omitempty"`
}

type CreateFunctionParameterStyle added in v0.3.0

type CreateFunctionParameterStyle string

Function parameter style. **S** is the value for SQL.

const CreateFunctionParameterStyleS CreateFunctionParameterStyle = `S`

func (*CreateFunctionParameterStyle) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*CreateFunctionParameterStyle) String added in v0.3.0

func (cfps *CreateFunctionParameterStyle) String() string

String representation for fmt.Print

func (*CreateFunctionParameterStyle) Type added in v0.3.0

func (cfps *CreateFunctionParameterStyle) Type() string

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

type CreateFunctionRoutineBody added in v0.3.0

type CreateFunctionRoutineBody string

Function language. When **EXTERNAL** is used, the language of the routine function should be specified in the __external_language__ field, and the __return_params__ of the function cannot be used (as **TABLE** return type is not supported), and the __sql_data_access__ field must be **NO_SQL**.

const CreateFunctionRoutineBodyExternal CreateFunctionRoutineBody = `EXTERNAL`
const CreateFunctionRoutineBodySql CreateFunctionRoutineBody = `SQL`

func (*CreateFunctionRoutineBody) Set added in v0.3.0

func (cfrb *CreateFunctionRoutineBody) Set(v string) error

Set raw string value and validate it against allowed values

func (*CreateFunctionRoutineBody) String added in v0.3.0

func (cfrb *CreateFunctionRoutineBody) String() string

String representation for fmt.Print

func (*CreateFunctionRoutineBody) Type added in v0.3.0

func (cfrb *CreateFunctionRoutineBody) Type() string

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

type CreateFunctionSecurityType added in v0.3.0

type CreateFunctionSecurityType string

Function security type.

const CreateFunctionSecurityTypeDefiner CreateFunctionSecurityType = `DEFINER`

func (*CreateFunctionSecurityType) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*CreateFunctionSecurityType) String added in v0.3.0

func (cfst *CreateFunctionSecurityType) String() string

String representation for fmt.Print

func (*CreateFunctionSecurityType) Type added in v0.3.0

func (cfst *CreateFunctionSecurityType) Type() string

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

type CreateFunctionSqlDataAccess added in v0.3.0

type CreateFunctionSqlDataAccess string

Function SQL data access.

const CreateFunctionSqlDataAccessContainsSql CreateFunctionSqlDataAccess = `CONTAINS_SQL`
const CreateFunctionSqlDataAccessNoSql CreateFunctionSqlDataAccess = `NO_SQL`
const CreateFunctionSqlDataAccessReadsSqlData CreateFunctionSqlDataAccess = `READS_SQL_DATA`

func (*CreateFunctionSqlDataAccess) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*CreateFunctionSqlDataAccess) String added in v0.3.0

func (cfsda *CreateFunctionSqlDataAccess) String() string

String representation for fmt.Print

func (*CreateFunctionSqlDataAccess) Type added in v0.3.0

func (cfsda *CreateFunctionSqlDataAccess) Type() string

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

type CreateMetastore

type CreateMetastore struct {
	// The user-specified name of the metastore.
	Name string `json:"name"`
	// Cloud region which the metastore serves (e.g., `us-west-2`, `westus`). If
	// this field is omitted, the region of the workspace receiving the request
	// will be used.
	Region string `json:"region,omitempty"`
	// The storage root URL for metastore
	StorageRoot string `json:"storage_root"`
}

type CreateMetastoreAssignment

type CreateMetastoreAssignment struct {
	// The name of the default catalog in the metastore.
	DefaultCatalogName string `json:"default_catalog_name"`
	// The unique ID of the metastore.
	MetastoreId string `json:"metastore_id" url:"-"`
	// Workspace ID.
	WorkspaceId int64 `json:"-" url:"-"`
}

type CreateProvider

type CreateProvider struct {
	// The delta sharing authentication type.
	AuthenticationType AuthenticationType `json:"authentication_type"`
	// Description about the provider.
	Comment string `json:"comment,omitempty"`
	// The name of the Provider.
	Name string `json:"name"`
	// This field is required when the __authentication_type__ is **TOKEN** or
	// not provided.
	RecipientProfileStr string `json:"recipient_profile_str,omitempty"`
}

type CreateRecipient

type CreateRecipient struct {
	// The delta sharing authentication type.
	AuthenticationType AuthenticationType `json:"authentication_type"`
	// Description about the recipient.
	Comment string `json:"comment,omitempty"`
	// The global Unity Catalog metastore id provided by the data recipient.
	//
	// This field is required when the __authentication_type__ is
	// **DATABRICKS**.
	//
	// The identifier is of format __cloud__:__region__:__metastore-uuid__.
	DataRecipientGlobalMetastoreId any `json:"data_recipient_global_metastore_id,omitempty"`
	// IP Access List
	IpAccessList *IpAccessList `json:"ip_access_list,omitempty"`
	// Name of Recipient.
	Name string `json:"name"`
	// Username of the recipient owner.
	Owner string `json:"owner,omitempty"`
	// Recipient properties as map of string key-value pairs.
	PropertiesKvpairs any `json:"properties_kvpairs,omitempty"`
	// The one-time sharing code provided by the data recipient. This field is
	// required when the __authentication_type__ is **DATABRICKS**.
	SharingCode string `json:"sharing_code,omitempty"`
}

type CreateSchema

type CreateSchema struct {
	// Name of parent catalog.
	CatalogName string `json:"catalog_name"`
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of schema, relative to parent catalog.
	Name string `json:"name"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
	// Storage root URL for managed tables within schema.
	StorageRoot string `json:"storage_root,omitempty"`
}

type CreateShare

type CreateShare struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of the share.
	Name string `json:"name"`
}

type CreateStorageCredential

type CreateStorageCredential struct {
	// The AWS IAM role configuration.
	AwsIamRole *AwsIamRole `json:"aws_iam_role,omitempty"`
	// The Azure service principal configuration.
	AzureServicePrincipal *AzureServicePrincipal `json:"azure_service_principal,omitempty"`
	// Comment associated with the credential.
	Comment string `json:"comment,omitempty"`
	// The GCP service account key configuration.
	GcpServiceAccountKey *GcpServiceAccountKey `json:"gcp_service_account_key,omitempty"`
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
	// The credential name. The name must be unique within the metastore.
	Name string `json:"name"`
	// Whether the storage credential is only usable for read operations.
	ReadOnly bool `json:"read_only,omitempty"`
	// Supplying true to this argument skips validation of the created
	// credential.
	SkipValidation bool `json:"skip_validation,omitempty"`
}

type CreateTableConstraint added in v0.3.0

type CreateTableConstraint struct {
	// A table constraint, as defined by *one* of the following fields being
	// set: __primary_key_constraint__, __foreign_key_constraint__,
	// __named_table_constraint__.
	Constraint TableConstraint `json:"constraint"`
	// The full name of the table referenced by the constraint.
	FullNameArg string `json:"full_name_arg"`
}

type DataSourceFormat added in v0.2.0

type DataSourceFormat string

Data source format

const DataSourceFormatAvro DataSourceFormat = `AVRO`
const DataSourceFormatCsv DataSourceFormat = `CSV`
const DataSourceFormatDelta DataSourceFormat = `DELTA`
const DataSourceFormatDeltasharing DataSourceFormat = `DELTASHARING`
const DataSourceFormatJson DataSourceFormat = `JSON`
const DataSourceFormatOrc DataSourceFormat = `ORC`
const DataSourceFormatParquet DataSourceFormat = `PARQUET`
const DataSourceFormatText DataSourceFormat = `TEXT`
const DataSourceFormatUnityCatalog DataSourceFormat = `UNITY_CATALOG`

func (*DataSourceFormat) Set added in v0.2.0

func (dsf *DataSourceFormat) Set(v string) error

Set raw string value and validate it against allowed values

func (*DataSourceFormat) String added in v0.2.0

func (dsf *DataSourceFormat) String() string

String representation for fmt.Print

func (*DataSourceFormat) Type added in v0.2.0

func (dsf *DataSourceFormat) Type() string

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

type DeleteAccountMetastoreAssignmentRequest added in v0.4.0

type DeleteAccountMetastoreAssignmentRequest struct {
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
	// Workspace ID.
	WorkspaceId int64 `json:"-" url:"-"`
}

Delete a metastore assignment

type DeleteAccountMetastoreRequest added in v0.4.0

type DeleteAccountMetastoreRequest struct {
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
}

Delete a metastore

type DeleteCatalogRequest

type DeleteCatalogRequest struct {
	// Force deletion even if the catalog is not empty.
	Force bool `json:"-" url:"force,omitempty"`
	// The name of the catalog.
	Name string `json:"-" url:"-"`
}

Delete a catalog

type DeleteExternalLocationRequest

type DeleteExternalLocationRequest struct {
	// Force deletion even if there are dependent external tables or mounts.
	Force bool `json:"-" url:"force,omitempty"`
	// Name of the external location.
	Name string `json:"-" url:"-"`
}

Delete an external location

type DeleteFunctionRequest added in v0.3.0

type DeleteFunctionRequest struct {
	// Force deletion even if the function is notempty.
	Force bool `json:"-" url:"force,omitempty"`
	// The fully-qualified name of the function (of the form
	// __catalog_name__.__schema_name__.__function__name__).
	Name string `json:"-" url:"-"`
}

Delete a function

type DeleteMetastoreRequest

type DeleteMetastoreRequest struct {
	// Force deletion even if the metastore is not empty. Default is false.
	Force bool `json:"-" url:"force,omitempty"`
	// Unique ID of the metastore.
	Id string `json:"-" url:"-"`
}

Delete a metastore

type DeleteProviderRequest

type DeleteProviderRequest struct {
	// Name of the provider.
	Name string `json:"-" url:"-"`
}

Delete a provider

type DeleteRecipientRequest

type DeleteRecipientRequest struct {
	// Name of the recipient.
	Name string `json:"-" url:"-"`
}

Delete a share recipient

type DeleteSchemaRequest

type DeleteSchemaRequest struct {
	// Full name of the schema.
	FullName string `json:"-" url:"-"`
}

Delete a schema

type DeleteShareRequest

type DeleteShareRequest struct {
	// The name of the share.
	Name string `json:"-" url:"-"`
}

Delete a share

type DeleteStorageCredentialRequest

type DeleteStorageCredentialRequest struct {
	// Force deletion even if there are dependent external locations or external
	// tables.
	Force bool `json:"-" url:"force,omitempty"`
	// Name of the storage credential.
	Name string `json:"-" url:"-"`
}

Delete a credential

type DeleteTableConstraintRequest added in v0.3.0

type DeleteTableConstraintRequest struct {
	// If true, try deleting all child constraints of the current constraint.
	//
	// If false, reject this operation if the current constraint has any child
	// constraints.
	Cascade bool `json:"-" url:"cascade"`
	// The name of the constraint to delete.
	ConstraintName string `json:"-" url:"constraint_name"`
	// Full name of the table referenced by the constraint.
	FullName string `json:"-" url:"-"`
}

Delete a table constraint

type DeleteTableRequest

type DeleteTableRequest struct {
	// Full name of the table.
	FullName string `json:"-" url:"-"`
}

Delete a table

type Dependency added in v0.3.0

type Dependency struct {
	// A function that is dependent on a SQL object.
	Function *FunctionDependency `json:"function,omitempty"`
	// A table that is dependent on a SQL object.
	Table *TableDependency `json:"table,omitempty"`
}

A dependency of a SQL object. Either the __table__ field or the __function__ field must be defined.

type EffectiveAutoMaintenanceFlag added in v0.4.0

type EffectiveAutoMaintenanceFlag struct {
	// The name of the object from which the flag was inherited. If there was no
	// inheritance, this field is left blank.
	InheritedFromName string `json:"inherited_from_name,omitempty"`
	// The type of the object from which the flag was inherited. If there was no
	// inheritance, this field is left blank.
	InheritedFromType EffectiveAutoMaintenanceFlagInheritedFromType `json:"inherited_from_type,omitempty"`
	// Whether auto maintenance should be enabled for this object and objects
	// under it.
	Value EnableAutoMaintenance `json:"value"`
}

type EffectiveAutoMaintenanceFlagInheritedFromType added in v0.4.0

type EffectiveAutoMaintenanceFlagInheritedFromType string

The type of the object from which the flag was inherited. If there was no inheritance, this field is left blank.

const EffectiveAutoMaintenanceFlagInheritedFromTypeCatalog EffectiveAutoMaintenanceFlagInheritedFromType = `CATALOG`
const EffectiveAutoMaintenanceFlagInheritedFromTypeSchema EffectiveAutoMaintenanceFlagInheritedFromType = `SCHEMA`

func (*EffectiveAutoMaintenanceFlagInheritedFromType) Set added in v0.4.0

Set raw string value and validate it against allowed values

func (*EffectiveAutoMaintenanceFlagInheritedFromType) String added in v0.4.0

String representation for fmt.Print

func (*EffectiveAutoMaintenanceFlagInheritedFromType) Type added in v0.4.0

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

type EffectivePermissionsList added in v0.3.0

type EffectivePermissionsList struct {
	// The privileges conveyed to each principal (either directly or via
	// inheritance)
	PrivilegeAssignments []EffectivePrivilegeAssignment `json:"privilege_assignments,omitempty"`
}

type EffectivePrivilege added in v0.3.0

type EffectivePrivilege struct {
	// The full name of the object that conveys this privilege via inheritance.
	//
	// This field is omitted when privilege is not inherited (it's assigned to
	// the securable itself).
	InheritedFromName string `json:"inherited_from_name,omitempty"`
	// The type of the object that conveys this privilege via inheritance.
	//
	// This field is omitted when privilege is not inherited (it's assigned to
	// the securable itself).
	InheritedFromType SecurableType `json:"inherited_from_type,omitempty"`
	// The privilege assigned to the principal.
	Privilege Privilege `json:"privilege,omitempty"`
}

type EffectivePrivilegeAssignment added in v0.3.0

type EffectivePrivilegeAssignment struct {
	// The principal (user email address or group name).
	Principal string `json:"principal,omitempty"`
	// The privileges conveyed to the principal (either directly or via
	// inheritance).
	Privileges []EffectivePrivilege `json:"privileges,omitempty"`
}

type EnableAutoMaintenance added in v0.4.0

type EnableAutoMaintenance string

Whether auto maintenance should be enabled for this object and objects under it.

const EnableAutoMaintenanceDisable EnableAutoMaintenance = `DISABLE`
const EnableAutoMaintenanceEnable EnableAutoMaintenance = `ENABLE`
const EnableAutoMaintenanceInherit EnableAutoMaintenance = `INHERIT`

func (*EnableAutoMaintenance) Set added in v0.4.0

func (eam *EnableAutoMaintenance) Set(v string) error

Set raw string value and validate it against allowed values

func (*EnableAutoMaintenance) String added in v0.4.0

func (eam *EnableAutoMaintenance) String() string

String representation for fmt.Print

func (*EnableAutoMaintenance) Type added in v0.4.0

func (eam *EnableAutoMaintenance) Type() string

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

type ExternalLocationInfo

type ExternalLocationInfo struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Time at which this external location was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of external location creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Unique ID of the location's storage credential.
	CredentialId string `json:"credential_id,omitempty"`
	// Name of the storage credential used with this location.
	CredentialName string `json:"credential_name,omitempty"`
	// Unique identifier of metastore hosting the external location.
	MetastoreId string `json:"metastore_id,omitempty"`
	// Name of the external location.
	Name string `json:"name,omitempty"`
	// The owner of the external location.
	Owner string `json:"owner,omitempty"`
	// Indicates whether the external location is read-only.
	ReadOnly bool `json:"read_only,omitempty"`
	// Time at which external location this was last modified, in epoch
	// milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified the external location.
	UpdatedBy string `json:"updated_by,omitempty"`
	// Path URL of the external location.
	Url string `json:"url,omitempty"`
}

type ExternalLocationsAPI

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

An external location is an object that combines a cloud storage path with a storage credential that authorizes access to the cloud storage path. Each external location is subject to Unity Catalog access-control policies that control which users and groups can access the credential. If a user does not have access to an external location in Unity Catalog, the request fails and Unity Catalog does not attempt to authenticate to your cloud tenant on the user’s behalf.

Databricks recommends using external locations rather than using storage credentials directly.

To create external locations, you must be a metastore admin or a user with the **CREATE_EXTERNAL_LOCATION** privilege.

func NewExternalLocations

func NewExternalLocations(client *client.DatabricksClient) *ExternalLocationsAPI

func (*ExternalLocationsAPI) Create

Create an external location.

Creates a new external location entry in the metastore. The caller must be a metastore admin or have the **CREATE_EXTERNAL_LOCATION** privilege on both the metastore and the associated storage credential.

func (*ExternalLocationsAPI) Delete

Delete an external location.

Deletes the specified external location from the metastore. The caller must be the owner of the external location.

func (*ExternalLocationsAPI) DeleteByName

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

Delete an external location.

Deletes the specified external location from the metastore. The caller must be the owner of the external location.

func (*ExternalLocationsAPI) Get

Get an external location.

Gets an external location from the metastore. The caller must be either a metastore admin, the owner of the external location, or a user that has some privilege on the external location.

func (*ExternalLocationsAPI) GetByName

Get an external location.

Gets an external location from the metastore. The caller must be either a metastore admin, the owner of the external location, or a user that has some privilege on the external location.

func (*ExternalLocationsAPI) Impl

Impl returns low-level ExternalLocations API implementation

func (*ExternalLocationsAPI) ListAll

List external locations.

Gets an array of external locations (__ExternalLocationInfo__ objects) from the metastore. The caller must be a metastore admin, the owner of the external location, or a user that has some privilege on the external location. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*ExternalLocationsAPI) Update

Update an external location.

Updates an external location in the metastore. The caller must be the owner of the external location, or be a metastore admin. In the second case, the admin can only update the name of the external location.

func (*ExternalLocationsAPI) WithImpl

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type ExternalLocationsService

type ExternalLocationsService interface {

	// Create an external location.
	//
	// Creates a new external location entry in the metastore. The caller must
	// be a metastore admin or have the **CREATE_EXTERNAL_LOCATION** privilege
	// on both the metastore and the associated storage credential.
	Create(ctx context.Context, request CreateExternalLocation) (*ExternalLocationInfo, error)

	// Delete an external location.
	//
	// Deletes the specified external location from the metastore. The caller
	// must be the owner of the external location.
	Delete(ctx context.Context, request DeleteExternalLocationRequest) error

	// Get an external location.
	//
	// Gets an external location from the metastore. The caller must be either a
	// metastore admin, the owner of the external location, or a user that has
	// some privilege on the external location.
	Get(ctx context.Context, request GetExternalLocationRequest) (*ExternalLocationInfo, error)

	// List external locations.
	//
	// Gets an array of external locations (__ExternalLocationInfo__ objects)
	// from the metastore. The caller must be a metastore admin, the owner of
	// the external location, or a user that has some privilege on the external
	// location. There is no guarantee of a specific ordering of the elements in
	// the array.
	//
	// Use ListAll() to get all ExternalLocationInfo instances
	List(ctx context.Context) (*ListExternalLocationsResponse, error)

	// Update an external location.
	//
	// Updates an external location in the metastore. The caller must be the
	// owner of the external location, or be a metastore admin. In the second
	// case, the admin can only update the name of the external location.
	Update(ctx context.Context, request UpdateExternalLocation) (*ExternalLocationInfo, error)
}

An external location is an object that combines a cloud storage path with a storage credential that authorizes access to the cloud storage path. Each external location is subject to Unity Catalog access-control policies that control which users and groups can access the credential. If a user does not have access to an external location in Unity Catalog, the request fails and Unity Catalog does not attempt to authenticate to your cloud tenant on the user’s behalf.

Databricks recommends using external locations rather than using storage credentials directly.

To create external locations, you must be a metastore admin or a user with the **CREATE_EXTERNAL_LOCATION** privilege.

type ForeignKeyConstraint added in v0.3.0

type ForeignKeyConstraint struct {
	// Column names for this constraint.
	ChildColumns []string `json:"child_columns"`
	// The name of the constraint.
	Name string `json:"name"`
	// Column names for this constraint.
	ParentColumns []string `json:"parent_columns"`
	// The full name of the parent constraint.
	ParentTable string `json:"parent_table"`
}

type FunctionDependency added in v0.3.0

type FunctionDependency struct {
	// Full name of the dependent function, in the form of
	// __catalog_name__.__schema_name__.__function_name__.
	FunctionFullName string `json:"function_full_name"`
}

A function that is dependent on a SQL object.

type FunctionInfo added in v0.3.0

type FunctionInfo struct {
	// Name of parent catalog.
	CatalogName string `json:"catalog_name,omitempty"`
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Time at which this function was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of function creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Scalar function return data type.
	DataType ColumnTypeName `json:"data_type,omitempty"`
	// External function language.
	ExternalLanguage string `json:"external_language,omitempty"`
	// External function name.
	ExternalName string `json:"external_name,omitempty"`
	// Pretty printed function data type.
	FullDataType string `json:"full_data_type,omitempty"`
	// Full name of function, in form of
	// __catalog_name__.__schema_name__.__function__name__
	FullName string `json:"full_name,omitempty"`
	// Id of Function, relative to parent schema.
	FunctionId string `json:"function_id,omitempty"`
	// The array of __FunctionParameterInfo__ definitions of the function's
	// parameters.
	InputParams []FunctionParameterInfo `json:"input_params,omitempty"`
	// Whether the function is deterministic.
	IsDeterministic bool `json:"is_deterministic,omitempty"`
	// Function null call.
	IsNullCall bool `json:"is_null_call,omitempty"`
	// Unique identifier of parent metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// Name of function, relative to parent schema.
	Name string `json:"name,omitempty"`
	// Username of current owner of function.
	Owner string `json:"owner,omitempty"`
	// Function parameter style. **S** is the value for SQL.
	ParameterStyle FunctionInfoParameterStyle `json:"parameter_style,omitempty"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
	// Table function return parameters.
	ReturnParams []FunctionParameterInfo `json:"return_params,omitempty"`
	// Function language. When **EXTERNAL** is used, the language of the routine
	// function should be specified in the __external_language__ field, and the
	// __return_params__ of the function cannot be used (as **TABLE** return
	// type is not supported), and the __sql_data_access__ field must be
	// **NO_SQL**.
	RoutineBody FunctionInfoRoutineBody `json:"routine_body,omitempty"`
	// Function body.
	RoutineDefinition string `json:"routine_definition,omitempty"`
	// Function dependencies.
	RoutineDependencies []Dependency `json:"routine_dependencies,omitempty"`
	// Name of parent schema relative to its parent catalog.
	SchemaName string `json:"schema_name,omitempty"`
	// Function security type.
	SecurityType FunctionInfoSecurityType `json:"security_type,omitempty"`
	// Specific name of the function; Reserved for future use.
	SpecificName string `json:"specific_name,omitempty"`
	// Function SQL data access.
	SqlDataAccess FunctionInfoSqlDataAccess `json:"sql_data_access,omitempty"`
	// List of schemes whose objects can be referenced without qualification.
	SqlPath string `json:"sql_path,omitempty"`
	// Time at which this function was created, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified function.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type FunctionInfoParameterStyle added in v0.3.0

type FunctionInfoParameterStyle string

Function parameter style. **S** is the value for SQL.

const FunctionInfoParameterStyleS FunctionInfoParameterStyle = `S`

func (*FunctionInfoParameterStyle) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*FunctionInfoParameterStyle) String added in v0.3.0

func (fips *FunctionInfoParameterStyle) String() string

String representation for fmt.Print

func (*FunctionInfoParameterStyle) Type added in v0.3.0

func (fips *FunctionInfoParameterStyle) Type() string

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

type FunctionInfoRoutineBody added in v0.3.0

type FunctionInfoRoutineBody string

Function language. When **EXTERNAL** is used, the language of the routine function should be specified in the __external_language__ field, and the __return_params__ of the function cannot be used (as **TABLE** return type is not supported), and the __sql_data_access__ field must be **NO_SQL**.

const FunctionInfoRoutineBodyExternal FunctionInfoRoutineBody = `EXTERNAL`
const FunctionInfoRoutineBodySql FunctionInfoRoutineBody = `SQL`

func (*FunctionInfoRoutineBody) Set added in v0.3.0

func (firb *FunctionInfoRoutineBody) Set(v string) error

Set raw string value and validate it against allowed values

func (*FunctionInfoRoutineBody) String added in v0.3.0

func (firb *FunctionInfoRoutineBody) String() string

String representation for fmt.Print

func (*FunctionInfoRoutineBody) Type added in v0.3.0

func (firb *FunctionInfoRoutineBody) Type() string

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

type FunctionInfoSecurityType added in v0.3.0

type FunctionInfoSecurityType string

Function security type.

const FunctionInfoSecurityTypeDefiner FunctionInfoSecurityType = `DEFINER`

func (*FunctionInfoSecurityType) Set added in v0.3.0

func (fist *FunctionInfoSecurityType) Set(v string) error

Set raw string value and validate it against allowed values

func (*FunctionInfoSecurityType) String added in v0.3.0

func (fist *FunctionInfoSecurityType) String() string

String representation for fmt.Print

func (*FunctionInfoSecurityType) Type added in v0.3.0

func (fist *FunctionInfoSecurityType) Type() string

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

type FunctionInfoSqlDataAccess added in v0.3.0

type FunctionInfoSqlDataAccess string

Function SQL data access.

const FunctionInfoSqlDataAccessContainsSql FunctionInfoSqlDataAccess = `CONTAINS_SQL`
const FunctionInfoSqlDataAccessNoSql FunctionInfoSqlDataAccess = `NO_SQL`
const FunctionInfoSqlDataAccessReadsSqlData FunctionInfoSqlDataAccess = `READS_SQL_DATA`

func (*FunctionInfoSqlDataAccess) Set added in v0.3.0

func (fisda *FunctionInfoSqlDataAccess) Set(v string) error

Set raw string value and validate it against allowed values

func (*FunctionInfoSqlDataAccess) String added in v0.3.0

func (fisda *FunctionInfoSqlDataAccess) String() string

String representation for fmt.Print

func (*FunctionInfoSqlDataAccess) Type added in v0.3.0

func (fisda *FunctionInfoSqlDataAccess) Type() string

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

type FunctionParameterInfo added in v0.3.0

type FunctionParameterInfo struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of parameter.
	Name string `json:"name"`
	// Default value of the parameter.
	ParameterDefault string `json:"parameter_default,omitempty"`
	// The mode of the function parameter.
	ParameterMode FunctionParameterMode `json:"parameter_mode,omitempty"`
	// The type of function parameter.
	ParameterType FunctionParameterType `json:"parameter_type,omitempty"`
	// Ordinal position of column (starting at position 0).
	Position int `json:"position"`
	// Format of IntervalType.
	TypeIntervalType string `json:"type_interval_type,omitempty"`
	// Full data type spec, JSON-serialized.
	TypeJson string `json:"type_json,omitempty"`
	// Name of type (INT, STRUCT, MAP, etc.).
	TypeName ColumnTypeName `json:"type_name"`
	// Digits of precision; required on Create for DecimalTypes.
	TypePrecision int `json:"type_precision,omitempty"`
	// Digits to right of decimal; Required on Create for DecimalTypes.
	TypeScale int `json:"type_scale,omitempty"`
	// Full data type spec, SQL/catalogString text.
	TypeText string `json:"type_text"`
}

type FunctionParameterMode added in v0.3.0

type FunctionParameterMode string

The mode of the function parameter.

const FunctionParameterModeIn FunctionParameterMode = `IN`

func (*FunctionParameterMode) Set added in v0.3.0

func (fpm *FunctionParameterMode) Set(v string) error

Set raw string value and validate it against allowed values

func (*FunctionParameterMode) String added in v0.3.0

func (fpm *FunctionParameterMode) String() string

String representation for fmt.Print

func (*FunctionParameterMode) Type added in v0.3.0

func (fpm *FunctionParameterMode) Type() string

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

type FunctionParameterType added in v0.3.0

type FunctionParameterType string

The type of function parameter.

const FunctionParameterTypeColumn FunctionParameterType = `COLUMN`
const FunctionParameterTypeParam FunctionParameterType = `PARAM`

func (*FunctionParameterType) Set added in v0.3.0

func (fpt *FunctionParameterType) Set(v string) error

Set raw string value and validate it against allowed values

func (*FunctionParameterType) String added in v0.3.0

func (fpt *FunctionParameterType) String() string

String representation for fmt.Print

func (*FunctionParameterType) Type added in v0.3.0

func (fpt *FunctionParameterType) Type() string

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

type FunctionsAPI added in v0.3.0

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

Functions implement User-Defined Functions (UDFs) in Unity Catalog.

The function implementation can be any SQL expression or Query, and it can be invoked wherever a table reference is allowed in a query. In Unity Catalog, a function resides at the same level as a table, so it can be referenced with the form __catalog_name__.__schema_name__.__function_name__.

func NewFunctions added in v0.3.0

func NewFunctions(client *client.DatabricksClient) *FunctionsAPI

func (*FunctionsAPI) Create added in v0.3.0

func (a *FunctionsAPI) Create(ctx context.Context, request CreateFunction) (*FunctionInfo, error)

Create a function.

Creates a new function

The user must have the following permissions in order for the function to be created: - **USE_CATALOG** on the function's parent catalog - **USE_SCHEMA** and **CREATE_FUNCTION** on the function's parent schema

func (*FunctionsAPI) Delete added in v0.3.0

func (a *FunctionsAPI) Delete(ctx context.Context, request DeleteFunctionRequest) error

Delete a function.

Deletes the function that matches the supplied name. For the deletion to succeed, the user must satisfy one of the following conditions: - Is the owner of the function's parent catalog - Is the owner of the function's parent schema and have the **USE_CATALOG** privilege on its parent catalog - Is the owner of the function itself and have both the **USE_CATALOG** privilege on its parent catalog and the **USE_SCHEMA** privilege on its parent schema

func (*FunctionsAPI) DeleteByName added in v0.3.0

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

Delete a function.

Deletes the function that matches the supplied name. For the deletion to succeed, the user must satisfy one of the following conditions: - Is the owner of the function's parent catalog - Is the owner of the function's parent schema and have the **USE_CATALOG** privilege on its parent catalog - Is the owner of the function itself and have both the **USE_CATALOG** privilege on its parent catalog and the **USE_SCHEMA** privilege on its parent schema

func (*FunctionsAPI) Get added in v0.3.0

Get a function.

Gets a function from within a parent catalog and schema. For the fetch to succeed, the user must satisfy one of the following requirements: - Is a metastore admin - Is an owner of the function's parent catalog - Have the **USE_CATALOG** privilege on the function's parent catalog and be the owner of the function - Have the **USE_CATALOG** privilege on the function's parent catalog, the **USE_SCHEMA** privilege on the function's parent schema, and the **EXECUTE** privilege on the function itself

func (*FunctionsAPI) GetByName added in v0.3.0

func (a *FunctionsAPI) GetByName(ctx context.Context, name string) (*FunctionInfo, error)

Get a function.

Gets a function from within a parent catalog and schema. For the fetch to succeed, the user must satisfy one of the following requirements: - Is a metastore admin - Is an owner of the function's parent catalog - Have the **USE_CATALOG** privilege on the function's parent catalog and be the owner of the function - Have the **USE_CATALOG** privilege on the function's parent catalog, the **USE_SCHEMA** privilege on the function's parent schema, and the **EXECUTE** privilege on the function itself

func (*FunctionsAPI) Impl added in v0.3.0

func (a *FunctionsAPI) Impl() FunctionsService

Impl returns low-level Functions API implementation

func (*FunctionsAPI) List added in v0.3.0

List functions.

List functions within the specified parent catalog and schema. If the user is a metastore admin, all functions are returned in the output list. Otherwise, the user must have the **USE_CATALOG** privilege on the catalog and the **USE_SCHEMA** privilege on the schema, and the output list contains only functions for which either the user has the **EXECUTE** privilege or the user is the owner. There is no guarantee of a specific ordering of the elements in the array.

func (*FunctionsAPI) Update added in v0.3.0

func (a *FunctionsAPI) Update(ctx context.Context, request UpdateFunction) (*FunctionInfo, error)

Update a function.

Updates the function that matches the supplied name. Only the owner of the function can be updated. If the user is not a metastore admin, the user must be a member of the group that is the new function owner. - Is a metastore admin - Is the owner of the function's parent catalog - Is the owner of the function's parent schema and has the **USE_CATALOG** privilege on its parent catalog - Is the owner of the function itself and has the **USE_CATALOG** privilege on its parent catalog as well as the **USE_SCHEMA** privilege on the function's parent schema.

func (*FunctionsAPI) WithImpl added in v0.3.0

func (a *FunctionsAPI) WithImpl(impl FunctionsService) *FunctionsAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type FunctionsService added in v0.3.0

type FunctionsService interface {

	// Create a function.
	//
	// Creates a new function
	//
	// The user must have the following permissions in order for the function to
	// be created: - **USE_CATALOG** on the function's parent catalog -
	// **USE_SCHEMA** and **CREATE_FUNCTION** on the function's parent schema
	Create(ctx context.Context, request CreateFunction) (*FunctionInfo, error)

	// Delete a function.
	//
	// Deletes the function that matches the supplied name. For the deletion to
	// succeed, the user must satisfy one of the following conditions: - Is the
	// owner of the function's parent catalog - Is the owner of the function's
	// parent schema and have the **USE_CATALOG** privilege on its parent
	// catalog - Is the owner of the function itself and have both the
	// **USE_CATALOG** privilege on its parent catalog and the **USE_SCHEMA**
	// privilege on its parent schema
	Delete(ctx context.Context, request DeleteFunctionRequest) error

	// Get a function.
	//
	// Gets a function from within a parent catalog and schema. For the fetch to
	// succeed, the user must satisfy one of the following requirements: - Is a
	// metastore admin - Is an owner of the function's parent catalog - Have the
	// **USE_CATALOG** privilege on the function's parent catalog and be the
	// owner of the function - Have the **USE_CATALOG** privilege on the
	// function's parent catalog, the **USE_SCHEMA** privilege on the function's
	// parent schema, and the **EXECUTE** privilege on the function itself
	Get(ctx context.Context, request GetFunctionRequest) (*FunctionInfo, error)

	// List functions.
	//
	// List functions within the specified parent catalog and schema. If the
	// user is a metastore admin, all functions are returned in the output list.
	// Otherwise, the user must have the **USE_CATALOG** privilege on the
	// catalog and the **USE_SCHEMA** privilege on the schema, and the output
	// list contains only functions for which either the user has the
	// **EXECUTE** privilege or the user is the owner. There is no guarantee of
	// a specific ordering of the elements in the array.
	List(ctx context.Context, request ListFunctionsRequest) (*ListFunctionsResponse, error)

	// Update a function.
	//
	// Updates the function that matches the supplied name. Only the owner of
	// the function can be updated. If the user is not a metastore admin, the
	// user must be a member of the group that is the new function owner. - Is a
	// metastore admin - Is the owner of the function's parent catalog - Is the
	// owner of the function's parent schema and has the **USE_CATALOG**
	// privilege on its parent catalog - Is the owner of the function itself and
	// has the **USE_CATALOG** privilege on its parent catalog as well as the
	// **USE_SCHEMA** privilege on the function's parent schema.
	Update(ctx context.Context, request UpdateFunction) (*FunctionInfo, error)
}

Functions implement User-Defined Functions (UDFs) in Unity Catalog.

The function implementation can be any SQL expression or Query, and it can be invoked wherever a table reference is allowed in a query. In Unity Catalog, a function resides at the same level as a table, so it can be referenced with the form __catalog_name__.__schema_name__.__function_name__.

type GcpServiceAccountKey

type GcpServiceAccountKey struct {
	// The email of the service account.
	Email string `json:"email"`
	// The service account's RSA private key.
	PrivateKey string `json:"private_key"`
	// The ID of the service account's private key.
	PrivateKeyId string `json:"private_key_id"`
}

type GetAccountMetastoreAssignmentRequest added in v0.4.0

type GetAccountMetastoreAssignmentRequest struct {
	// Workspace ID.
	WorkspaceId int64 `json:"-" url:"-"`
}

Gets the metastore assignment for a workspace

type GetAccountMetastoreRequest added in v0.4.0

type GetAccountMetastoreRequest struct {
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
}

Get a metastore

type GetAccountStorageCredentialRequest added in v0.4.0

type GetAccountStorageCredentialRequest struct {
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
	// Name of the storage credential.
	Name string `json:"-" url:"-"`

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

Gets the named storage credential

type GetActivationUrlInfoRequest

type GetActivationUrlInfoRequest struct {
	// The one time activation url. It also accepts activation token.
	ActivationUrl string `json:"-" url:"-"`
}

Get a share activation URL

type GetCatalogRequest

type GetCatalogRequest struct {
	// The name of the catalog.
	Name string `json:"-" url:"-"`
}

Get a catalog

type GetEffectiveRequest added in v0.3.0

type GetEffectiveRequest struct {
	// Full name of securable.
	FullName string `json:"-" url:"-"`
	// If provided, only the effective permissions for the specified principal
	// (user or group) are returned.
	Principal string `json:"-" url:"principal,omitempty"`
	// Type of securable.
	SecurableType SecurableType `json:"-" url:"-"`
}

Get effective permissions

type GetExternalLocationRequest

type GetExternalLocationRequest struct {
	// Name of the external location.
	Name string `json:"-" url:"-"`
}

Get an external location

type GetFunctionRequest added in v0.3.0

type GetFunctionRequest struct {
	// The fully-qualified name of the function (of the form
	// __catalog_name__.__schema_name__.__function__name__).
	Name string `json:"-" url:"-"`
}

Get a function

type GetGrantRequest

type GetGrantRequest struct {
	// Full name of securable.
	FullName string `json:"-" url:"-"`
	// If provided, only the permissions for the specified principal (user or
	// group) are returned.
	Principal string `json:"-" url:"principal,omitempty"`
	// Type of securable.
	SecurableType SecurableType `json:"-" url:"-"`
}

Get permissions

type GetMetastoreRequest

type GetMetastoreRequest struct {
	// Unique ID of the metastore.
	Id string `json:"-" url:"-"`
}

Get a metastore

type GetMetastoreSummaryResponse

type GetMetastoreSummaryResponse struct {
	// Cloud vendor of the metastore home shard (e.g., `aws`, `azure`, `gcp`).
	Cloud string `json:"cloud,omitempty"`
	// Time at which this metastore was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of metastore creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Unique identifier of the metastore's (Default) Data Access Configuration.
	DefaultDataAccessConfigId string `json:"default_data_access_config_id,omitempty"`
	// The organization name of a Delta Sharing entity, to be used in
	// Databricks-to-Databricks Delta Sharing as the official name.
	DeltaSharingOrganizationName string `json:"delta_sharing_organization_name,omitempty"`
	// The lifetime of delta sharing recipient token in seconds.
	DeltaSharingRecipientTokenLifetimeInSeconds int64 `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"`
	// The scope of Delta Sharing enabled for the metastore.
	DeltaSharingScope GetMetastoreSummaryResponseDeltaSharingScope `json:"delta_sharing_scope,omitempty"`
	// Globally unique metastore ID across clouds and regions, of the form
	// `cloud:region:metastore_id`.
	GlobalMetastoreId string `json:"global_metastore_id,omitempty"`
	// Unique identifier of metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// The user-specified name of the metastore.
	Name string `json:"name,omitempty"`
	// The owner of the metastore.
	Owner string `json:"owner,omitempty"`
	// Privilege model version of the metastore, of the form `major.minor`
	// (e.g., `1.0`).
	PrivilegeModelVersion string `json:"privilege_model_version,omitempty"`
	// Cloud region which the metastore serves (e.g., `us-west-2`, `westus`).
	Region string `json:"region,omitempty"`
	// The storage root URL for metastore
	StorageRoot string `json:"storage_root,omitempty"`
	// UUID of storage credential to access the metastore storage_root.
	StorageRootCredentialId string `json:"storage_root_credential_id,omitempty"`
	// Name of the storage credential to access the metastore storage_root.
	StorageRootCredentialName string `json:"storage_root_credential_name,omitempty"`
	// Time at which the metastore was last modified, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified the metastore.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type GetMetastoreSummaryResponseDeltaSharingScope added in v0.2.0

type GetMetastoreSummaryResponseDeltaSharingScope string

The scope of Delta Sharing enabled for the metastore.

const GetMetastoreSummaryResponseDeltaSharingScopeInternal GetMetastoreSummaryResponseDeltaSharingScope = `INTERNAL`
const GetMetastoreSummaryResponseDeltaSharingScopeInternalAndExternal GetMetastoreSummaryResponseDeltaSharingScope = `INTERNAL_AND_EXTERNAL`

func (*GetMetastoreSummaryResponseDeltaSharingScope) Set added in v0.2.0

Set raw string value and validate it against allowed values

func (*GetMetastoreSummaryResponseDeltaSharingScope) String added in v0.2.0

String representation for fmt.Print

func (*GetMetastoreSummaryResponseDeltaSharingScope) Type added in v0.2.0

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

type GetProviderRequest

type GetProviderRequest struct {
	// Name of the provider.
	Name string `json:"-" url:"-"`
}

Get a provider

type GetRecipientRequest

type GetRecipientRequest struct {
	// Name of the recipient.
	Name string `json:"-" url:"-"`
}

Get a share recipient

type GetRecipientSharePermissionsResponse

type GetRecipientSharePermissionsResponse struct {
	// An array of data share permissions for a recipient.
	PermissionsOut []ShareToPrivilegeAssignment `json:"permissions_out,omitempty"`
}

type GetSchemaRequest

type GetSchemaRequest struct {
	// Full name of the schema.
	FullName string `json:"-" url:"-"`
}

Get a schema

type GetShareRequest

type GetShareRequest struct {
	// Query for data to include in the share.
	IncludeSharedData bool `json:"-" url:"include_shared_data,omitempty"`
	// The name of the share.
	Name string `json:"-" url:"-"`
}

Get a share

type GetStorageCredentialRequest

type GetStorageCredentialRequest struct {
	// Name of the storage credential.
	Name string `json:"-" url:"-"`
}

Get a credential

type GetTableRequest

type GetTableRequest struct {
	// Full name of the table.
	FullName string `json:"-" url:"-"`
	// Whether delta metadata should be included in the response.
	IncludeDeltaMetadata bool `json:"-" url:"include_delta_metadata,omitempty"`
}

Get a table

type GrantsAPI

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

In Unity Catalog, data is secure by default. Initially, users have no access to data in a metastore. Access can be granted by either a metastore admin, the owner of an object, or the owner of the catalog or schema that contains the object. Securable objects in Unity Catalog are hierarchical and privileges are inherited downward.

Securable objects in Unity Catalog are hierarchical and privileges are inherited downward. This means that granting a privilege on the catalog automatically grants the privilege to all current and future objects within the catalog. Similarly, privileges granted on a schema are inherited by all current and future objects within that schema.

func NewGrants

func NewGrants(client *client.DatabricksClient) *GrantsAPI

func (*GrantsAPI) Get

func (a *GrantsAPI) Get(ctx context.Context, request GetGrantRequest) (*PermissionsList, error)

Get permissions.

Gets the permissions for a securable.

func (*GrantsAPI) GetBySecurableTypeAndFullName

func (a *GrantsAPI) GetBySecurableTypeAndFullName(ctx context.Context, securableType SecurableType, fullName string) (*PermissionsList, error)

Get permissions.

Gets the permissions for a securable.

func (*GrantsAPI) GetEffective added in v0.3.0

func (a *GrantsAPI) GetEffective(ctx context.Context, request GetEffectiveRequest) (*EffectivePermissionsList, error)

Get effective permissions.

Gets the effective permissions for a securable.

func (*GrantsAPI) GetEffectiveBySecurableTypeAndFullName added in v0.3.0

func (a *GrantsAPI) GetEffectiveBySecurableTypeAndFullName(ctx context.Context, securableType SecurableType, fullName string) (*EffectivePermissionsList, error)

Get effective permissions.

Gets the effective permissions for a securable.

func (*GrantsAPI) Impl

func (a *GrantsAPI) Impl() GrantsService

Impl returns low-level Grants API implementation

func (*GrantsAPI) Update

func (a *GrantsAPI) Update(ctx context.Context, request UpdatePermissions) (*PermissionsList, error)

Update permissions.

Updates the permissions for a securable.

func (*GrantsAPI) WithImpl

func (a *GrantsAPI) WithImpl(impl GrantsService) *GrantsAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type GrantsService

type GrantsService interface {

	// Get permissions.
	//
	// Gets the permissions for a securable.
	Get(ctx context.Context, request GetGrantRequest) (*PermissionsList, error)

	// Get effective permissions.
	//
	// Gets the effective permissions for a securable.
	GetEffective(ctx context.Context, request GetEffectiveRequest) (*EffectivePermissionsList, error)

	// Update permissions.
	//
	// Updates the permissions for a securable.
	Update(ctx context.Context, request UpdatePermissions) (*PermissionsList, error)
}

In Unity Catalog, data is secure by default. Initially, users have no access to data in a metastore. Access can be granted by either a metastore admin, the owner of an object, or the owner of the catalog or schema that contains the object. Securable objects in Unity Catalog are hierarchical and privileges are inherited downward.

Securable objects in Unity Catalog are hierarchical and privileges are inherited downward. This means that granting a privilege on the catalog automatically grants the privilege to all current and future objects within the catalog. Similarly, privileges granted on a schema are inherited by all current and future objects within that schema.

type IpAccessList

type IpAccessList struct {
	// Allowed IP Addresses in CIDR notation. Limit of 100.
	AllowedIpAddresses []string `json:"allowed_ip_addresses,omitempty"`
}

type ListAccountMetastoreAssignmentsRequest added in v0.4.0

type ListAccountMetastoreAssignmentsRequest struct {
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
}

Get all workspaces assigned to a metastore

type ListAccountStorageCredentialsRequest added in v0.4.0

type ListAccountStorageCredentialsRequest struct {
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
}

Get all storage credentials assigned to a metastore

type ListCatalogsResponse

type ListCatalogsResponse struct {
	// An array of catalog information objects.
	Catalogs []CatalogInfo `json:"catalogs,omitempty"`
}

type ListExternalLocationsResponse

type ListExternalLocationsResponse struct {
	// An array of external locations.
	ExternalLocations []ExternalLocationInfo `json:"external_locations,omitempty"`
}

type ListFunctionsRequest added in v0.3.0

type ListFunctionsRequest struct {
	// Name of parent catalog for functions of interest.
	CatalogName string `json:"-" url:"catalog_name"`
	// Parent schema of functions.
	SchemaName string `json:"-" url:"schema_name"`
}

List functions

type ListFunctionsResponse added in v0.3.0

type ListFunctionsResponse struct {
	// An array of function information objects.
	Schemas []FunctionInfo `json:"schemas,omitempty"`
}

type ListMetastoresResponse

type ListMetastoresResponse struct {
	// An array of metastore information objects.
	Metastores []MetastoreInfo `json:"metastores,omitempty"`
}

type ListProviderSharesResponse

type ListProviderSharesResponse struct {
	// An array of provider shares.
	Shares []ProviderShare `json:"shares,omitempty"`
}

type ListProvidersRequest

type ListProvidersRequest struct {
	// If not provided, all providers will be returned. If no providers exist
	// with this ID, no results will be returned.
	DataProviderGlobalMetastoreId string `json:"-" url:"data_provider_global_metastore_id,omitempty"`
}

List providers

type ListProvidersResponse

type ListProvidersResponse struct {
	// An array of provider information objects.
	Providers []ProviderInfo `json:"providers,omitempty"`
}

type ListRecipientsRequest

type ListRecipientsRequest struct {
	// If not provided, all recipients will be returned. If no recipients exist
	// with this ID, no results will be returned.
	DataRecipientGlobalMetastoreId string `json:"-" url:"data_recipient_global_metastore_id,omitempty"`
}

List share recipients

type ListRecipientsResponse

type ListRecipientsResponse struct {
	// An array of recipient information objects.
	Recipients []RecipientInfo `json:"recipients,omitempty"`
}

type ListSchemasRequest

type ListSchemasRequest struct {
	// Parent catalog for schemas of interest.
	CatalogName string `json:"-" url:"catalog_name"`
}

List schemas

type ListSchemasResponse

type ListSchemasResponse struct {
	// An array of schema information objects.
	Schemas []SchemaInfo `json:"schemas,omitempty"`
}

type ListSharesRequest

type ListSharesRequest struct {
	// Name of the provider in which to list shares.
	Name string `json:"-" url:"-"`
}

List shares by Provider

type ListSharesResponse

type ListSharesResponse struct {
	// An array of data share information objects.
	Shares []ShareInfo `json:"shares,omitempty"`
}

type ListSummariesRequest added in v0.3.0

type ListSummariesRequest struct {
	// Name of parent catalog for tables of interest.
	CatalogName string `json:"-" url:"catalog_name"`
	// Maximum number of tables to return (page length). Defaults to 10000.
	MaxResults int `json:"-" url:"max_results,omitempty"`
	// Opaque token to send for the next page of results (pagination).
	PageToken string `json:"-" url:"page_token,omitempty"`
	// A sql LIKE pattern (% and _) for schema names. All schemas will be
	// returned if not set or empty.
	SchemaNamePattern string `json:"-" url:"schema_name_pattern,omitempty"`
	// A sql LIKE pattern (% and _) for table names. All tables will be returned
	// if not set or empty.
	TableNamePattern string `json:"-" url:"table_name_pattern,omitempty"`
}

List table summaries

type ListTableSummariesResponse

type ListTableSummariesResponse struct {
	// Opaque token for pagination. Omitted if there are no more results.
	NextPageToken string `json:"next_page_token,omitempty"`
	// List of table summaries.
	Tables []TableSummary `json:"tables,omitempty"`
}

type ListTablesRequest

type ListTablesRequest struct {
	// Name of parent catalog for tables of interest.
	CatalogName string `json:"-" url:"catalog_name"`
	// Whether delta metadata should be included in the response.
	IncludeDeltaMetadata bool `json:"-" url:"include_delta_metadata,omitempty"`
	// Parent schema of tables.
	SchemaName string `json:"-" url:"schema_name"`
}

List tables

type ListTablesResponse

type ListTablesResponse struct {
	// An array of table information objects.
	Tables []TableInfo `json:"tables,omitempty"`
}

type MetastoreAssignment added in v0.3.0

type MetastoreAssignment struct {
	// The name of the default catalog in the metastore.
	DefaultCatalogName string `json:"default_catalog_name,omitempty"`
	// The unique ID of the metastore.
	MetastoreId string `json:"metastore_id"`
	// The unique ID of the Databricks workspace.
	WorkspaceId string `json:"workspace_id"`
}

type MetastoreInfo

type MetastoreInfo struct {
	// Cloud vendor of the metastore home shard (e.g., `aws`, `azure`, `gcp`).
	Cloud string `json:"cloud,omitempty"`
	// Time at which this metastore was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of metastore creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Unique identifier of the metastore's (Default) Data Access Configuration.
	DefaultDataAccessConfigId string `json:"default_data_access_config_id,omitempty"`
	// The organization name of a Delta Sharing entity, to be used in
	// Databricks-to-Databricks Delta Sharing as the official name.
	DeltaSharingOrganizationName string `json:"delta_sharing_organization_name,omitempty"`
	// The lifetime of delta sharing recipient token in seconds.
	DeltaSharingRecipientTokenLifetimeInSeconds int64 `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"`
	// The scope of Delta Sharing enabled for the metastore.
	DeltaSharingScope MetastoreInfoDeltaSharingScope `json:"delta_sharing_scope,omitempty"`
	// Globally unique metastore ID across clouds and regions, of the form
	// `cloud:region:metastore_id`.
	GlobalMetastoreId string `json:"global_metastore_id,omitempty"`
	// Unique identifier of metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// The user-specified name of the metastore.
	Name string `json:"name,omitempty"`
	// The owner of the metastore.
	Owner string `json:"owner,omitempty"`
	// Privilege model version of the metastore, of the form `major.minor`
	// (e.g., `1.0`).
	PrivilegeModelVersion string `json:"privilege_model_version,omitempty"`
	// Cloud region which the metastore serves (e.g., `us-west-2`, `westus`).
	Region string `json:"region,omitempty"`
	// The storage root URL for metastore
	StorageRoot string `json:"storage_root,omitempty"`
	// UUID of storage credential to access the metastore storage_root.
	StorageRootCredentialId string `json:"storage_root_credential_id,omitempty"`
	// Name of the storage credential to access the metastore storage_root.
	StorageRootCredentialName string `json:"storage_root_credential_name,omitempty"`
	// Time at which the metastore was last modified, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified the metastore.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type MetastoreInfoDeltaSharingScope added in v0.3.0

type MetastoreInfoDeltaSharingScope string

The scope of Delta Sharing enabled for the metastore.

const MetastoreInfoDeltaSharingScopeInternal MetastoreInfoDeltaSharingScope = `INTERNAL`
const MetastoreInfoDeltaSharingScopeInternalAndExternal MetastoreInfoDeltaSharingScope = `INTERNAL_AND_EXTERNAL`

func (*MetastoreInfoDeltaSharingScope) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*MetastoreInfoDeltaSharingScope) String added in v0.3.0

func (midss *MetastoreInfoDeltaSharingScope) String() string

String representation for fmt.Print

func (*MetastoreInfoDeltaSharingScope) Type added in v0.3.0

func (midss *MetastoreInfoDeltaSharingScope) Type() string

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

type MetastoresAPI

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

A metastore is the top-level container of objects in Unity Catalog. It stores data assets (tables and views) and the permissions that govern access to them. Databricks account admins can create metastores and assign them to Databricks workspaces to control which workloads use each metastore. For a workspace to use Unity Catalog, it must have a Unity Catalog metastore attached.

Each metastore is configured with a root storage location in a cloud storage account. This storage location is used for metadata and managed tables data.

NOTE: This metastore is distinct from the metastore included in Databricks workspaces created before Unity Catalog was released. If your workspace includes a legacy Hive metastore, the data in that metastore is available in a catalog named hive_metastore.

func NewMetastores

func NewMetastores(client *client.DatabricksClient) *MetastoresAPI

func (*MetastoresAPI) Assign

Create an assignment.

Creates a new metastore assignment. If an assignment for the same __workspace_id__ exists, it will be overwritten by the new __metastore_id__ and __default_catalog_name__. The caller must be an account admin.

func (*MetastoresAPI) Create

func (a *MetastoresAPI) Create(ctx context.Context, request CreateMetastore) (*MetastoreInfo, error)

Create a metastore.

Creates a new metastore based on a provided name and storage root path.

func (*MetastoresAPI) Current added in v0.3.0

Get metastore assignment for workspace.

Gets the metastore assignment for the workspace being accessed.

func (*MetastoresAPI) Delete

func (a *MetastoresAPI) Delete(ctx context.Context, request DeleteMetastoreRequest) error

Delete a metastore.

Deletes a metastore. The caller must be a metastore admin.

func (*MetastoresAPI) DeleteById

func (a *MetastoresAPI) DeleteById(ctx context.Context, id string) error

Delete a metastore.

Deletes a metastore. The caller must be a metastore admin.

func (*MetastoresAPI) Get

Get a metastore.

Gets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this info.

func (*MetastoresAPI) GetById

func (a *MetastoresAPI) GetById(ctx context.Context, id string) (*MetastoreInfo, error)

Get a metastore.

Gets a metastore that matches the supplied ID. The caller must be a metastore admin to retrieve this info.

func (*MetastoresAPI) GetByName added in v0.2.0

func (a *MetastoresAPI) GetByName(ctx context.Context, name string) (*MetastoreInfo, error)

GetByName calls MetastoresAPI.MetastoreInfoNameToMetastoreIdMap and returns a single MetastoreInfo.

Returns an error if there's more than one MetastoreInfo with the same .Name.

Note: All MetastoreInfo instances are loaded into memory before returning matching by name.

This method is generated by Databricks SDK Code Generator.

func (*MetastoresAPI) Impl

func (a *MetastoresAPI) Impl() MetastoresService

Impl returns low-level Metastores API implementation

func (*MetastoresAPI) ListAll

func (a *MetastoresAPI) ListAll(ctx context.Context) ([]MetastoreInfo, error)

List metastores.

Gets an array of the available metastores (as __MetastoreInfo__ objects). The caller must be an admin to retrieve this info. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*MetastoresAPI) MetastoreInfoNameToMetastoreIdMap added in v0.2.0

func (a *MetastoresAPI) MetastoreInfoNameToMetastoreIdMap(ctx context.Context) (map[string]string, error)

MetastoreInfoNameToMetastoreIdMap calls MetastoresAPI.ListAll and creates a map of results with MetastoreInfo.Name as key and MetastoreInfo.MetastoreId as value.

Returns an error if there's more than one MetastoreInfo with the same .Name.

Note: All MetastoreInfo instances are loaded into memory before creating a map.

This method is generated by Databricks SDK Code Generator.

func (*MetastoresAPI) Summary

Get a metastore summary.

Gets information about a metastore. This summary includes the storage credential, the cloud vendor, the cloud region, and the global metastore ID.

func (*MetastoresAPI) Unassign

func (a *MetastoresAPI) Unassign(ctx context.Context, request UnassignRequest) error

Delete an assignment.

Deletes a metastore assignment. The caller must be an account administrator.

func (*MetastoresAPI) UnassignByWorkspaceId

func (a *MetastoresAPI) UnassignByWorkspaceId(ctx context.Context, workspaceId int64) error

Delete an assignment.

Deletes a metastore assignment. The caller must be an account administrator.

func (*MetastoresAPI) Update

func (a *MetastoresAPI) Update(ctx context.Context, request UpdateMetastore) (*MetastoreInfo, error)

Update a metastore.

Updates information for a specific metastore. The caller must be a metastore admin.

func (*MetastoresAPI) UpdateAssignment

func (a *MetastoresAPI) UpdateAssignment(ctx context.Context, request UpdateMetastoreAssignment) error

Update an assignment.

Updates a metastore assignment. This operation can be used to update __metastore_id__ or __default_catalog_name__ for a specified Workspace, if the Workspace is already assigned a metastore. The caller must be an account admin to update __metastore_id__; otherwise, the caller can be a Workspace admin.

func (*MetastoresAPI) WithImpl

func (a *MetastoresAPI) WithImpl(impl MetastoresService) *MetastoresAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type MetastoresService

type MetastoresService interface {

	// Create an assignment.
	//
	// Creates a new metastore assignment. If an assignment for the same
	// __workspace_id__ exists, it will be overwritten by the new
	// __metastore_id__ and __default_catalog_name__. The caller must be an
	// account admin.
	Assign(ctx context.Context, request CreateMetastoreAssignment) error

	// Create a metastore.
	//
	// Creates a new metastore based on a provided name and storage root path.
	Create(ctx context.Context, request CreateMetastore) (*MetastoreInfo, error)

	// Get metastore assignment for workspace.
	//
	// Gets the metastore assignment for the workspace being accessed.
	Current(ctx context.Context) (*MetastoreAssignment, error)

	// Delete a metastore.
	//
	// Deletes a metastore. The caller must be a metastore admin.
	Delete(ctx context.Context, request DeleteMetastoreRequest) error

	// Get a metastore.
	//
	// Gets a metastore that matches the supplied ID. The caller must be a
	// metastore admin to retrieve this info.
	Get(ctx context.Context, request GetMetastoreRequest) (*MetastoreInfo, error)

	// List metastores.
	//
	// Gets an array of the available metastores (as __MetastoreInfo__ objects).
	// The caller must be an admin to retrieve this info. There is no guarantee
	// of a specific ordering of the elements in the array.
	//
	// Use ListAll() to get all MetastoreInfo instances
	List(ctx context.Context) (*ListMetastoresResponse, error)

	// Get a metastore summary.
	//
	// Gets information about a metastore. This summary includes the storage
	// credential, the cloud vendor, the cloud region, and the global metastore
	// ID.
	Summary(ctx context.Context) (*GetMetastoreSummaryResponse, error)

	// Delete an assignment.
	//
	// Deletes a metastore assignment. The caller must be an account
	// administrator.
	Unassign(ctx context.Context, request UnassignRequest) error

	// Update a metastore.
	//
	// Updates information for a specific metastore. The caller must be a
	// metastore admin.
	Update(ctx context.Context, request UpdateMetastore) (*MetastoreInfo, error)

	// Update an assignment.
	//
	// Updates a metastore assignment. This operation can be used to update
	// __metastore_id__ or __default_catalog_name__ for a specified Workspace,
	// if the Workspace is already assigned a metastore. The caller must be an
	// account admin to update __metastore_id__; otherwise, the caller can be a
	// Workspace admin.
	UpdateAssignment(ctx context.Context, request UpdateMetastoreAssignment) error
}

A metastore is the top-level container of objects in Unity Catalog. It stores data assets (tables and views) and the permissions that govern access to them. Databricks account admins can create metastores and assign them to Databricks workspaces to control which workloads use each metastore. For a workspace to use Unity Catalog, it must have a Unity Catalog metastore attached.

Each metastore is configured with a root storage location in a cloud storage account. This storage location is used for metadata and managed tables data.

NOTE: This metastore is distinct from the metastore included in Databricks workspaces created before Unity Catalog was released. If your workspace includes a legacy Hive metastore, the data in that metastore is available in a catalog named hive_metastore.

type NamedTableConstraint added in v0.3.0

type NamedTableConstraint struct {
	// The name of the constraint.
	Name string `json:"name"`
}

type Partition

type Partition struct {
	// An array of partition values.
	Values []PartitionValue `json:"values,omitempty"`
}

type PartitionValue

type PartitionValue struct {
	// The name of the partition column.
	Name string `json:"name,omitempty"`
	// The operator to apply for the value.
	Op PartitionValueOp `json:"op,omitempty"`
	// The key of a Delta Sharing recipient's property. For example
	// `databricks-account-id`. When this field is set, field `value` can not be
	// set.
	RecipientPropertyKey string `json:"recipient_property_key,omitempty"`
	// The value of the partition column. When this value is not set, it means
	// `null` value. When this field is set, field `recipient_property_key` can
	// not be set.
	Value string `json:"value,omitempty"`
}

type PartitionValueOp

type PartitionValueOp string

The operator to apply for the value.

const PartitionValueOpEqual PartitionValueOp = `EQUAL`
const PartitionValueOpLike PartitionValueOp = `LIKE`

func (*PartitionValueOp) Set added in v0.2.0

func (pvo *PartitionValueOp) Set(v string) error

Set raw string value and validate it against allowed values

func (*PartitionValueOp) String added in v0.2.0

func (pvo *PartitionValueOp) String() string

String representation for fmt.Print

func (*PartitionValueOp) Type added in v0.2.0

func (pvo *PartitionValueOp) Type() string

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

type PermissionsChange

type PermissionsChange struct {
	// The set of privileges to add.
	Add []Privilege `json:"add,omitempty"`
	// The principal whose privileges we are changing.
	Principal string `json:"principal,omitempty"`
	// The set of privileges to remove.
	Remove []Privilege `json:"remove,omitempty"`
}

type PermissionsList added in v0.3.0

type PermissionsList struct {
	// The privileges assigned to each principal
	PrivilegeAssignments []PrivilegeAssignment `json:"privilege_assignments,omitempty"`
}

type PrimaryKeyConstraint added in v0.3.0

type PrimaryKeyConstraint struct {
	// Column names for this constraint.
	ChildColumns []string `json:"child_columns"`
	// The name of the constraint.
	Name string `json:"name"`
}

type Privilege added in v0.2.0

type Privilege string
const PrivilegeAllPrivileges Privilege = `ALL_PRIVILEGES`
const PrivilegeCreate Privilege = `CREATE`
const PrivilegeCreateCatalog Privilege = `CREATE_CATALOG`
const PrivilegeCreateExternalLocation Privilege = `CREATE_EXTERNAL_LOCATION`
const PrivilegeCreateExternalTable Privilege = `CREATE_EXTERNAL_TABLE`
const PrivilegeCreateFunction Privilege = `CREATE_FUNCTION`
const PrivilegeCreateManagedStorage Privilege = `CREATE_MANAGED_STORAGE`
const PrivilegeCreateMaterializedView Privilege = `CREATE_MATERIALIZED_VIEW`
const PrivilegeCreateProvider Privilege = `CREATE_PROVIDER`
const PrivilegeCreateRecipient Privilege = `CREATE_RECIPIENT`
const PrivilegeCreateSchema Privilege = `CREATE_SCHEMA`
const PrivilegeCreateShare Privilege = `CREATE_SHARE`
const PrivilegeCreateStorageCredential Privilege = `CREATE_STORAGE_CREDENTIAL`
const PrivilegeCreateTable Privilege = `CREATE_TABLE`
const PrivilegeCreateView Privilege = `CREATE_VIEW`
const PrivilegeExecute Privilege = `EXECUTE`
const PrivilegeModify Privilege = `MODIFY`
const PrivilegeReadFiles Privilege = `READ_FILES`
const PrivilegeReadPrivateFiles Privilege = `READ_PRIVATE_FILES`
const PrivilegeRefresh Privilege = `REFRESH`
const PrivilegeSelect Privilege = `SELECT`
const PrivilegeSetSharePermission Privilege = `SET_SHARE_PERMISSION`
const PrivilegeUsage Privilege = `USAGE`
const PrivilegeUseCatalog Privilege = `USE_CATALOG`
const PrivilegeUseProvider Privilege = `USE_PROVIDER`
const PrivilegeUseRecipient Privilege = `USE_RECIPIENT`
const PrivilegeUseSchema Privilege = `USE_SCHEMA`
const PrivilegeUseShare Privilege = `USE_SHARE`
const PrivilegeWriteFiles Privilege = `WRITE_FILES`
const PrivilegeWritePrivateFiles Privilege = `WRITE_PRIVATE_FILES`

func (*Privilege) Set added in v0.2.0

func (p *Privilege) Set(v string) error

Set raw string value and validate it against allowed values

func (*Privilege) String added in v0.2.0

func (p *Privilege) String() string

String representation for fmt.Print

func (*Privilege) Type added in v0.2.0

func (p *Privilege) Type() string

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

type PrivilegeAssignment

type PrivilegeAssignment struct {
	// The principal (user email address or group name).
	Principal string `json:"principal,omitempty"`
	// The privileges assigned to the principal.
	Privileges []Privilege `json:"privileges,omitempty"`
}

type ProviderInfo

type ProviderInfo struct {
	// The delta sharing authentication type.
	AuthenticationType AuthenticationType `json:"authentication_type,omitempty"`
	// Cloud vendor of the provider's UC metastore. This field is only present
	// when the __authentication_type__ is **DATABRICKS**.
	Cloud string `json:"cloud,omitempty"`
	// Description about the provider.
	Comment string `json:"comment,omitempty"`
	// Time at which this Provider was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of Provider creator.
	CreatedBy string `json:"created_by,omitempty"`
	// The global UC metastore id of the data provider. This field is only
	// present when the __authentication_type__ is **DATABRICKS**. The
	// identifier is of format <cloud>:<region>:<metastore-uuid>.
	DataProviderGlobalMetastoreId string `json:"data_provider_global_metastore_id,omitempty"`
	// UUID of the provider's UC metastore. This field is only present when the
	// __authentication_type__ is **DATABRICKS**.
	MetastoreId string `json:"metastore_id,omitempty"`
	// The name of the Provider.
	Name string `json:"name,omitempty"`
	// Username of Provider owner.
	Owner string `json:"owner,omitempty"`
	// The recipient profile. This field is only present when the
	// authentication_type is `TOKEN`.
	RecipientProfile *RecipientProfile `json:"recipient_profile,omitempty"`
	// This field is only present when the authentication_type is `TOKEN` or not
	// provided.
	RecipientProfileStr string `json:"recipient_profile_str,omitempty"`
	// Cloud region of the provider's UC metastore. This field is only present
	// when the __authentication_type__ is **DATABRICKS**.
	Region string `json:"region,omitempty"`
	// Time at which this Provider was created, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified Share.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type ProviderShare

type ProviderShare struct {
	// The name of the Provider Share.
	Name string `json:"name,omitempty"`
}

type ProvidersAPI

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

Databricks Delta Sharing: Providers REST API

func NewProviders

func NewProviders(client *client.DatabricksClient) *ProvidersAPI

func (*ProvidersAPI) Create

func (a *ProvidersAPI) Create(ctx context.Context, request CreateProvider) (*ProviderInfo, error)

Create an auth provider.

Creates a new authentication provider minimally based on a name and authentication type. The caller must be an admin on the metastore.

func (*ProvidersAPI) Delete

func (a *ProvidersAPI) Delete(ctx context.Context, request DeleteProviderRequest) error

Delete a provider.

Deletes an authentication provider, if the caller is a metastore admin or is the owner of the provider.

func (*ProvidersAPI) DeleteByName

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

Delete a provider.

Deletes an authentication provider, if the caller is a metastore admin or is the owner of the provider.

func (*ProvidersAPI) Get

Get a provider.

Gets a specific authentication provider. The caller must supply the name of the provider, and must either be a metastore admin or the owner of the provider.

func (*ProvidersAPI) GetByName

func (a *ProvidersAPI) GetByName(ctx context.Context, name string) (*ProviderInfo, error)

Get a provider.

Gets a specific authentication provider. The caller must supply the name of the provider, and must either be a metastore admin or the owner of the provider.

func (*ProvidersAPI) Impl

func (a *ProvidersAPI) Impl() ProvidersService

Impl returns low-level Providers API implementation

func (*ProvidersAPI) ListAll

func (a *ProvidersAPI) ListAll(ctx context.Context, request ListProvidersRequest) ([]ProviderInfo, error)

List providers.

Gets an array of available authentication providers. The caller must either be a metastore admin or the owner of the providers. Providers not owned by the caller are not included in the response. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*ProvidersAPI) ListShares

List shares by Provider.

Gets an array of a specified provider's shares within the metastore where:

* the caller is a metastore admin, or * the caller is the owner.

func (*ProvidersAPI) ListSharesByName

func (a *ProvidersAPI) ListSharesByName(ctx context.Context, name string) (*ListProviderSharesResponse, error)

List shares by Provider.

Gets an array of a specified provider's shares within the metastore where:

* the caller is a metastore admin, or * the caller is the owner.

func (*ProvidersAPI) ProviderInfoNameToMetastoreIdMap added in v0.2.0

func (a *ProvidersAPI) ProviderInfoNameToMetastoreIdMap(ctx context.Context, request ListProvidersRequest) (map[string]string, error)

ProviderInfoNameToMetastoreIdMap calls ProvidersAPI.ListAll and creates a map of results with ProviderInfo.Name as key and ProviderInfo.MetastoreId as value.

Returns an error if there's more than one ProviderInfo with the same .Name.

Note: All ProviderInfo instances are loaded into memory before creating a map.

This method is generated by Databricks SDK Code Generator.

func (*ProvidersAPI) Update

func (a *ProvidersAPI) Update(ctx context.Context, request UpdateProvider) (*ProviderInfo, error)

Update a provider.

Updates the information for an authentication provider, if the caller is a metastore admin or is the owner of the provider. If the update changes the provider name, the caller must be both a metastore admin and the owner of the provider.

func (*ProvidersAPI) WithImpl

func (a *ProvidersAPI) WithImpl(impl ProvidersService) *ProvidersAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type ProvidersService

type ProvidersService interface {

	// Create an auth provider.
	//
	// Creates a new authentication provider minimally based on a name and
	// authentication type. The caller must be an admin on the metastore.
	Create(ctx context.Context, request CreateProvider) (*ProviderInfo, error)

	// Delete a provider.
	//
	// Deletes an authentication provider, if the caller is a metastore admin or
	// is the owner of the provider.
	Delete(ctx context.Context, request DeleteProviderRequest) error

	// Get a provider.
	//
	// Gets a specific authentication provider. The caller must supply the name
	// of the provider, and must either be a metastore admin or the owner of the
	// provider.
	Get(ctx context.Context, request GetProviderRequest) (*ProviderInfo, error)

	// List providers.
	//
	// Gets an array of available authentication providers. The caller must
	// either be a metastore admin or the owner of the providers. Providers not
	// owned by the caller are not included in the response. There is no
	// guarantee of a specific ordering of the elements in the array.
	//
	// Use ListAll() to get all ProviderInfo instances
	List(ctx context.Context, request ListProvidersRequest) (*ListProvidersResponse, error)

	// List shares by Provider.
	//
	// Gets an array of a specified provider's shares within the metastore
	// where:
	//
	// * the caller is a metastore admin, or * the caller is the owner.
	ListShares(ctx context.Context, request ListSharesRequest) (*ListProviderSharesResponse, error)

	// Update a provider.
	//
	// Updates the information for an authentication provider, if the caller is
	// a metastore admin or is the owner of the provider. If the update changes
	// the provider name, the caller must be both a metastore admin and the
	// owner of the provider.
	Update(ctx context.Context, request UpdateProvider) (*ProviderInfo, error)
}

Databricks Delta Sharing: Providers REST API

type RecipientActivationAPI

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

Databricks Delta Sharing: Recipient Activation REST API

func NewRecipientActivation

func NewRecipientActivation(client *client.DatabricksClient) *RecipientActivationAPI

func (*RecipientActivationAPI) GetActivationUrlInfo

func (a *RecipientActivationAPI) GetActivationUrlInfo(ctx context.Context, request GetActivationUrlInfoRequest) error

Get a share activation URL.

Gets an activation URL for a share.

func (*RecipientActivationAPI) GetActivationUrlInfoByActivationUrl

func (a *RecipientActivationAPI) GetActivationUrlInfoByActivationUrl(ctx context.Context, activationUrl string) error

Get a share activation URL.

Gets an activation URL for a share.

func (*RecipientActivationAPI) Impl

Impl returns low-level RecipientActivation API implementation

func (*RecipientActivationAPI) RetrieveToken

Get an access token.

Retrieve access token with an activation url. This is a public API without any authentication.

func (*RecipientActivationAPI) RetrieveTokenByActivationUrl

func (a *RecipientActivationAPI) RetrieveTokenByActivationUrl(ctx context.Context, activationUrl string) (*RetrieveTokenResponse, error)

Get an access token.

Retrieve access token with an activation url. This is a public API without any authentication.

func (*RecipientActivationAPI) WithImpl

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type RecipientActivationService

type RecipientActivationService interface {

	// Get a share activation URL.
	//
	// Gets an activation URL for a share.
	GetActivationUrlInfo(ctx context.Context, request GetActivationUrlInfoRequest) error

	// Get an access token.
	//
	// Retrieve access token with an activation url. This is a public API
	// without any authentication.
	RetrieveToken(ctx context.Context, request RetrieveTokenRequest) (*RetrieveTokenResponse, error)
}

Databricks Delta Sharing: Recipient Activation REST API

type RecipientInfo

type RecipientInfo struct {
	// A boolean status field showing whether the Recipient's activation URL has
	// been exercised or not.
	Activated bool `json:"activated,omitempty"`
	// Full activation url to retrieve the access token. It will be empty if the
	// token is already retrieved.
	ActivationUrl string `json:"activation_url,omitempty"`
	// The delta sharing authentication type.
	AuthenticationType AuthenticationType `json:"authentication_type,omitempty"`
	// Cloud vendor of the recipient's Unity Catalog Metstore. This field is
	// only present when the __authentication_type__ is **DATABRICKS**`.
	Cloud string `json:"cloud,omitempty"`
	// Description about the recipient.
	Comment string `json:"comment,omitempty"`
	// Time at which this recipient was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of recipient creator.
	CreatedBy string `json:"created_by,omitempty"`
	// The global Unity Catalog metastore id provided by the data recipient.
	//
	// This field is only present when the __authentication_type__ is
	// **DATABRICKS**.
	//
	// The identifier is of format __cloud__:__region__:__metastore-uuid__.
	DataRecipientGlobalMetastoreId any `json:"data_recipient_global_metastore_id,omitempty"`
	// IP Access List
	IpAccessList *IpAccessList `json:"ip_access_list,omitempty"`
	// Unique identifier of recipient's Unity Catalog metastore. This field is
	// only present when the __authentication_type__ is **DATABRICKS**
	MetastoreId string `json:"metastore_id,omitempty"`
	// Name of Recipient.
	Name string `json:"name,omitempty"`
	// Username of the recipient owner.
	Owner string `json:"owner,omitempty"`
	// Recipient properties as map of string key-value pairs.
	PropertiesKvpairs any `json:"properties_kvpairs,omitempty"`
	// Cloud region of the recipient's Unity Catalog Metstore. This field is
	// only present when the __authentication_type__ is **DATABRICKS**.
	Region string `json:"region,omitempty"`
	// The one-time sharing code provided by the data recipient. This field is
	// only present when the __authentication_type__ is **DATABRICKS**.
	SharingCode string `json:"sharing_code,omitempty"`
	// This field is only present when the __authentication_type__ is **TOKEN**.
	Tokens []RecipientTokenInfo `json:"tokens,omitempty"`
	// Time at which the recipient was updated, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of recipient updater.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type RecipientProfile

type RecipientProfile struct {
	// The token used to authorize the recipient.
	BearerToken string `json:"bearer_token,omitempty"`
	// The endpoint for the share to be used by the recipient.
	Endpoint string `json:"endpoint,omitempty"`
	// The version number of the recipient's credentials on a share.
	ShareCredentialsVersion int `json:"share_credentials_version,omitempty"`
}

type RecipientTokenInfo

type RecipientTokenInfo struct {
	// Full activation URL to retrieve the access token. It will be empty if the
	// token is already retrieved.
	ActivationUrl string `json:"activation_url,omitempty"`
	// Time at which this recipient Token was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of recipient token creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Expiration timestamp of the token in epoch milliseconds.
	ExpirationTime int64 `json:"expiration_time,omitempty"`
	// Unique ID of the recipient token.
	Id string `json:"id,omitempty"`
	// Time at which this recipient Token was updated, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of recipient Token updater.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type RecipientsAPI

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

Databricks Delta Sharing: Recipients REST API

func NewRecipients

func NewRecipients(client *client.DatabricksClient) *RecipientsAPI

func (*RecipientsAPI) Create

func (a *RecipientsAPI) Create(ctx context.Context, request CreateRecipient) (*RecipientInfo, error)

Create a share recipient.

Creates a new recipient with the delta sharing authentication type in the metastore. The caller must be a metastore admin or has the **CREATE_RECIPIENT** privilege on the metastore.

func (*RecipientsAPI) Delete

func (a *RecipientsAPI) Delete(ctx context.Context, request DeleteRecipientRequest) error

Delete a share recipient.

Deletes the specified recipient from the metastore. The caller must be the owner of the recipient.

func (*RecipientsAPI) DeleteByName

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

Delete a share recipient.

Deletes the specified recipient from the metastore. The caller must be the owner of the recipient.

func (*RecipientsAPI) Get

Get a share recipient.

Gets a share recipient from the metastore if:

* the caller is the owner of the share recipient, or: * is a metastore admin

func (*RecipientsAPI) GetByName

func (a *RecipientsAPI) GetByName(ctx context.Context, name string) (*RecipientInfo, error)

Get a share recipient.

Gets a share recipient from the metastore if:

* the caller is the owner of the share recipient, or: * is a metastore admin

func (*RecipientsAPI) Impl

func (a *RecipientsAPI) Impl() RecipientsService

Impl returns low-level Recipients API implementation

func (*RecipientsAPI) ListAll

func (a *RecipientsAPI) ListAll(ctx context.Context, request ListRecipientsRequest) ([]RecipientInfo, error)

List share recipients.

Gets an array of all share recipients within the current metastore where:

* the caller is a metastore admin, or * the caller is the owner. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*RecipientsAPI) RecipientInfoNameToMetastoreIdMap added in v0.2.0

func (a *RecipientsAPI) RecipientInfoNameToMetastoreIdMap(ctx context.Context, request ListRecipientsRequest) (map[string]string, error)

RecipientInfoNameToMetastoreIdMap calls RecipientsAPI.ListAll and creates a map of results with RecipientInfo.Name as key and RecipientInfo.MetastoreId as value.

Returns an error if there's more than one RecipientInfo with the same .Name.

Note: All RecipientInfo instances are loaded into memory before creating a map.

This method is generated by Databricks SDK Code Generator.

func (*RecipientsAPI) RotateToken

func (a *RecipientsAPI) RotateToken(ctx context.Context, request RotateRecipientToken) (*RecipientInfo, error)

Rotate a token.

Refreshes the specified recipient's delta sharing authentication token with the provided token info. The caller must be the owner of the recipient.

func (*RecipientsAPI) SharePermissions

Get recipient share permissions.

Gets the share permissions for the specified Recipient. The caller must be a metastore admin or the owner of the Recipient.

func (*RecipientsAPI) SharePermissionsByName

func (a *RecipientsAPI) SharePermissionsByName(ctx context.Context, name string) (*GetRecipientSharePermissionsResponse, error)

Get recipient share permissions.

Gets the share permissions for the specified Recipient. The caller must be a metastore admin or the owner of the Recipient.

func (*RecipientsAPI) Update

func (a *RecipientsAPI) Update(ctx context.Context, request UpdateRecipient) error

Update a share recipient.

Updates an existing recipient in the metastore. The caller must be a metastore admin or the owner of the recipient. If the recipient name will be updated, the user must be both a metastore admin and the owner of the recipient.

func (*RecipientsAPI) WithImpl

func (a *RecipientsAPI) WithImpl(impl RecipientsService) *RecipientsAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type RecipientsService

type RecipientsService interface {

	// Create a share recipient.
	//
	// Creates a new recipient with the delta sharing authentication type in the
	// metastore. The caller must be a metastore admin or has the
	// **CREATE_RECIPIENT** privilege on the metastore.
	Create(ctx context.Context, request CreateRecipient) (*RecipientInfo, error)

	// Delete a share recipient.
	//
	// Deletes the specified recipient from the metastore. The caller must be
	// the owner of the recipient.
	Delete(ctx context.Context, request DeleteRecipientRequest) error

	// Get a share recipient.
	//
	// Gets a share recipient from the metastore if:
	//
	// * the caller is the owner of the share recipient, or: * is a metastore
	// admin
	Get(ctx context.Context, request GetRecipientRequest) (*RecipientInfo, error)

	// List share recipients.
	//
	// Gets an array of all share recipients within the current metastore where:
	//
	// * the caller is a metastore admin, or * the caller is the owner. There is
	// no guarantee of a specific ordering of the elements in the array.
	//
	// Use ListAll() to get all RecipientInfo instances
	List(ctx context.Context, request ListRecipientsRequest) (*ListRecipientsResponse, error)

	// Rotate a token.
	//
	// Refreshes the specified recipient's delta sharing authentication token
	// with the provided token info. The caller must be the owner of the
	// recipient.
	RotateToken(ctx context.Context, request RotateRecipientToken) (*RecipientInfo, error)

	// Get recipient share permissions.
	//
	// Gets the share permissions for the specified Recipient. The caller must
	// be a metastore admin or the owner of the Recipient.
	SharePermissions(ctx context.Context, request SharePermissionsRequest) (*GetRecipientSharePermissionsResponse, error)

	// Update a share recipient.
	//
	// Updates an existing recipient in the metastore. The caller must be a
	// metastore admin or the owner of the recipient. If the recipient name will
	// be updated, the user must be both a metastore admin and the owner of the
	// recipient.
	Update(ctx context.Context, request UpdateRecipient) error
}

Databricks Delta Sharing: Recipients REST API

type RetrieveTokenRequest

type RetrieveTokenRequest struct {
	// The one time activation url. It also accepts activation token.
	ActivationUrl string `json:"-" url:"-"`
}

Get an access token

type RetrieveTokenResponse

type RetrieveTokenResponse struct {
	// The token used to authorize the recipient.
	BearerToken string `json:"bearerToken,omitempty"`
	// The endpoint for the share to be used by the recipient.
	Endpoint string `json:"endpoint,omitempty"`
	// Expiration timestamp of the token in epoch milliseconds.
	ExpirationTime string `json:"expirationTime,omitempty"`
	// These field names must follow the delta sharing protocol.
	ShareCredentialsVersion int `json:"shareCredentialsVersion,omitempty"`
}

type RotateRecipientToken

type RotateRecipientToken struct {
	// The expiration time of the bearer token in ISO 8601 format. This will set
	// the expiration_time of existing token only to a smaller timestamp, it
	// cannot extend the expiration_time. Use 0 to expire the existing token
	// immediately, negative number will return an error.
	ExistingTokenExpireInSeconds int64 `json:"existing_token_expire_in_seconds"`
	// The name of the recipient.
	Name string `json:"-" url:"-"`
}

type SchemaInfo

type SchemaInfo struct {
	// Name of parent catalog.
	CatalogName string `json:"catalog_name,omitempty"`
	// The type of the parent catalog.
	CatalogType string `json:"catalog_type,omitempty"`
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Time at which this schema was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of schema creator.
	CreatedBy string `json:"created_by,omitempty"`

	EffectiveAutoMaintenanceFlag *EffectiveAutoMaintenanceFlag `json:"effective_auto_maintenance_flag,omitempty"`
	// Whether auto maintenance should be enabled for this object and objects
	// under it.
	EnableAutoMaintenance EnableAutoMaintenance `json:"enable_auto_maintenance,omitempty"`
	// Full name of schema, in form of __catalog_name__.__schema_name__.
	FullName string `json:"full_name,omitempty"`
	// Unique identifier of parent metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// Name of schema, relative to parent catalog.
	Name string `json:"name,omitempty"`
	// Username of current owner of schema.
	Owner string `json:"owner,omitempty"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
	// Storage location for managed tables within schema.
	StorageLocation string `json:"storage_location,omitempty"`
	// Storage root URL for managed tables within schema.
	StorageRoot string `json:"storage_root,omitempty"`
	// Time at which this schema was created, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified schema.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type SchemasAPI

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

A schema (also called a database) is the second layer of Unity Catalog’s three-level namespace. A schema organizes tables, views and functions. To access (or list) a table or view in a schema, users must have the USE_SCHEMA data permission on the schema and its parent catalog, and they must have the SELECT permission on the table or view.

func NewSchemas

func NewSchemas(client *client.DatabricksClient) *SchemasAPI

func (*SchemasAPI) Create

func (a *SchemasAPI) Create(ctx context.Context, request CreateSchema) (*SchemaInfo, error)

Create a schema.

Creates a new schema for catalog in the Metatastore. The caller must be a metastore admin, or have the **CREATE_SCHEMA** privilege in the parent catalog.

func (*SchemasAPI) Delete

func (a *SchemasAPI) Delete(ctx context.Context, request DeleteSchemaRequest) error

Delete a schema.

Deletes the specified schema from the parent catalog. The caller must be the owner of the schema or an owner of the parent catalog.

func (*SchemasAPI) DeleteByFullName

func (a *SchemasAPI) DeleteByFullName(ctx context.Context, fullName string) error

Delete a schema.

Deletes the specified schema from the parent catalog. The caller must be the owner of the schema or an owner of the parent catalog.

func (*SchemasAPI) Get

func (a *SchemasAPI) Get(ctx context.Context, request GetSchemaRequest) (*SchemaInfo, error)

Get a schema.

Gets the specified schema within the metastore. The caller must be a metastore admin, the owner of the schema, or a user that has the **USE_SCHEMA** privilege on the schema.

func (*SchemasAPI) GetByFullName

func (a *SchemasAPI) GetByFullName(ctx context.Context, fullName string) (*SchemaInfo, error)

Get a schema.

Gets the specified schema within the metastore. The caller must be a metastore admin, the owner of the schema, or a user that has the **USE_SCHEMA** privilege on the schema.

func (*SchemasAPI) GetByName added in v0.2.0

func (a *SchemasAPI) GetByName(ctx context.Context, name string) (*SchemaInfo, error)

GetByName calls SchemasAPI.SchemaInfoNameToFullNameMap and returns a single SchemaInfo.

Returns an error if there's more than one SchemaInfo with the same .Name.

Note: All SchemaInfo instances are loaded into memory before returning matching by name.

This method is generated by Databricks SDK Code Generator.

func (*SchemasAPI) Impl

func (a *SchemasAPI) Impl() SchemasService

Impl returns low-level Schemas API implementation

func (*SchemasAPI) ListAll

func (a *SchemasAPI) ListAll(ctx context.Context, request ListSchemasRequest) ([]SchemaInfo, error)

List schemas.

Gets an array of schemas for a catalog in the metastore. If the caller is the metastore admin or the owner of the parent catalog, all schemas for the catalog will be retrieved. Otherwise, only schemas owned by the caller (or for which the caller has the **USE_SCHEMA** privilege) will be retrieved. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*SchemasAPI) SchemaInfoNameToFullNameMap added in v0.2.0

func (a *SchemasAPI) SchemaInfoNameToFullNameMap(ctx context.Context, request ListSchemasRequest) (map[string]string, error)

SchemaInfoNameToFullNameMap calls SchemasAPI.ListAll and creates a map of results with SchemaInfo.Name as key and SchemaInfo.FullName as value.

Returns an error if there's more than one SchemaInfo with the same .Name.

Note: All SchemaInfo instances are loaded into memory before creating a map.

This method is generated by Databricks SDK Code Generator.

func (*SchemasAPI) Update

func (a *SchemasAPI) Update(ctx context.Context, request UpdateSchema) (*SchemaInfo, error)

Update a schema.

Updates a schema for a catalog. The caller must be the owner of the schema or a metastore admin. If the caller is a metastore admin, only the __owner__ field can be changed in the update. If the __name__ field must be updated, the caller must be a metastore admin or have the **CREATE_SCHEMA** privilege on the parent catalog.

func (*SchemasAPI) WithImpl

func (a *SchemasAPI) WithImpl(impl SchemasService) *SchemasAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type SchemasService

type SchemasService interface {

	// Create a schema.
	//
	// Creates a new schema for catalog in the Metatastore. The caller must be a
	// metastore admin, or have the **CREATE_SCHEMA** privilege in the parent
	// catalog.
	Create(ctx context.Context, request CreateSchema) (*SchemaInfo, error)

	// Delete a schema.
	//
	// Deletes the specified schema from the parent catalog. The caller must be
	// the owner of the schema or an owner of the parent catalog.
	Delete(ctx context.Context, request DeleteSchemaRequest) error

	// Get a schema.
	//
	// Gets the specified schema within the metastore. The caller must be a
	// metastore admin, the owner of the schema, or a user that has the
	// **USE_SCHEMA** privilege on the schema.
	Get(ctx context.Context, request GetSchemaRequest) (*SchemaInfo, error)

	// List schemas.
	//
	// Gets an array of schemas for a catalog in the metastore. If the caller is
	// the metastore admin or the owner of the parent catalog, all schemas for
	// the catalog will be retrieved. Otherwise, only schemas owned by the
	// caller (or for which the caller has the **USE_SCHEMA** privilege) will be
	// retrieved. There is no guarantee of a specific ordering of the elements
	// in the array.
	//
	// Use ListAll() to get all SchemaInfo instances
	List(ctx context.Context, request ListSchemasRequest) (*ListSchemasResponse, error)

	// Update a schema.
	//
	// Updates a schema for a catalog. The caller must be the owner of the
	// schema or a metastore admin. If the caller is a metastore admin, only the
	// __owner__ field can be changed in the update. If the __name__ field must
	// be updated, the caller must be a metastore admin or have the
	// **CREATE_SCHEMA** privilege on the parent catalog.
	Update(ctx context.Context, request UpdateSchema) (*SchemaInfo, error)
}

A schema (also called a database) is the second layer of Unity Catalog’s three-level namespace. A schema organizes tables, views and functions. To access (or list) a table or view in a schema, users must have the USE_SCHEMA data permission on the schema and its parent catalog, and they must have the SELECT permission on the table or view.

type SecurablePropertiesMap added in v0.3.0

type SecurablePropertiesMap map[string]string

A map of key-value properties attached to the securable.

type SecurableType added in v0.3.0

type SecurableType string

The type of Unity Catalog securable

const SecurableTypeCatalog SecurableType = `CATALOG`
const SecurableTypeExternalLocation SecurableType = `EXTERNAL_LOCATION`
const SecurableTypeFunction SecurableType = `FUNCTION`
const SecurableTypeMetastore SecurableType = `METASTORE`
const SecurableTypeProvider SecurableType = `PROVIDER`
const SecurableTypeRecipient SecurableType = `RECIPIENT`
const SecurableTypeSchema SecurableType = `SCHEMA`
const SecurableTypeShare SecurableType = `SHARE`
const SecurableTypeStorageCredential SecurableType = `STORAGE_CREDENTIAL`
const SecurableTypeTable SecurableType = `TABLE`

func (*SecurableType) Set added in v0.3.0

func (st *SecurableType) Set(v string) error

Set raw string value and validate it against allowed values

func (*SecurableType) String added in v0.3.0

func (st *SecurableType) String() string

String representation for fmt.Print

func (*SecurableType) Type added in v0.3.0

func (st *SecurableType) Type() string

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

type ShareInfo

type ShareInfo struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Time at which this share was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of share creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Name of the share.
	Name string `json:"name,omitempty"`
	// A list of shared data objects within the share.
	Objects []SharedDataObject `json:"objects,omitempty"`
	// Username of current owner of share.
	Owner string `json:"owner,omitempty"`
	// Time at which this share was updated, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of share updater.
	UpdatedBy string `json:"updated_by,omitempty"`
}

type SharePermissionsRequest

type SharePermissionsRequest struct {
	// The name of the Recipient.
	Name string `json:"-" url:"-"`
}

Get recipient share permissions

type ShareToPrivilegeAssignment

type ShareToPrivilegeAssignment struct {
	// The privileges assigned to the principal.
	PrivilegeAssignments []PrivilegeAssignment `json:"privilege_assignments,omitempty"`
	// The share name.
	ShareName string `json:"share_name,omitempty"`
}

type SharedDataObject

type SharedDataObject struct {
	// The time when this data object is added to the share, in epoch
	// milliseconds.
	AddedAt int64 `json:"added_at,omitempty"`
	// Username of the sharer.
	AddedBy string `json:"added_by,omitempty"`
	// Whether to enable cdf or indicate if cdf is enabled on the shared object.
	CdfEnabled bool `json:"cdf_enabled,omitempty"`
	// A user-provided comment when adding the data object to the share.
	// [Update:OPT]
	Comment string `json:"comment,omitempty"`
	// The type of the data object.
	DataObjectType string `json:"data_object_type,omitempty"`
	// A fully qualified name that uniquely identifies a data object.
	//
	// For example, a table's fully qualified name is in the format of
	// `<catalog>.<schema>.<table>`.
	Name string `json:"name"`
	// Array of partitions for the shared data.
	Partitions []Partition `json:"partitions,omitempty"`
	// A user-provided new name for the data object within the share. If this
	// new name is not provided, the object's original name will be used as the
	// `shared_as` name. The `shared_as` name must be unique within a share. For
	// tables, the new name must follow the format of `<schema>.<table>`.
	SharedAs string `json:"shared_as,omitempty"`
	// The start version associated with the object. This allows data providers
	// to control the lowest object version that is accessible by clients. If
	// specified, clients can query snapshots or changes for versions >=
	// start_version. If not specified, clients can only query starting from the
	// version of the object at the time it was added to the share.
	//
	// NOTE: The start_version should be <= the `current` version of the object.
	StartVersion int64 `json:"start_version,omitempty"`
	// One of: **ACTIVE**, **PERMISSION_DENIED**.
	Status SharedDataObjectStatus `json:"status,omitempty"`
}

type SharedDataObjectStatus

type SharedDataObjectStatus string

One of: **ACTIVE**, **PERMISSION_DENIED**.

const SharedDataObjectStatusActive SharedDataObjectStatus = `ACTIVE`
const SharedDataObjectStatusPermissionDenied SharedDataObjectStatus = `PERMISSION_DENIED`

func (*SharedDataObjectStatus) Set added in v0.2.0

func (sdos *SharedDataObjectStatus) Set(v string) error

Set raw string value and validate it against allowed values

func (*SharedDataObjectStatus) String added in v0.2.0

func (sdos *SharedDataObjectStatus) String() string

String representation for fmt.Print

func (*SharedDataObjectStatus) Type added in v0.2.0

func (sdos *SharedDataObjectStatus) Type() string

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

type SharedDataObjectUpdate

type SharedDataObjectUpdate struct {
	// One of: **ADD**, **REMOVE**, **UPDATE**.
	Action SharedDataObjectUpdateAction `json:"action,omitempty"`
	// The data object that is being added, removed, or updated.
	DataObject *SharedDataObject `json:"data_object,omitempty"`
}

type SharedDataObjectUpdateAction

type SharedDataObjectUpdateAction string

One of: **ADD**, **REMOVE**, **UPDATE**.

const SharedDataObjectUpdateActionAdd SharedDataObjectUpdateAction = `ADD`
const SharedDataObjectUpdateActionRemove SharedDataObjectUpdateAction = `REMOVE`
const SharedDataObjectUpdateActionUpdate SharedDataObjectUpdateAction = `UPDATE`

func (*SharedDataObjectUpdateAction) Set added in v0.2.0

Set raw string value and validate it against allowed values

func (*SharedDataObjectUpdateAction) String added in v0.2.0

func (sdoua *SharedDataObjectUpdateAction) String() string

String representation for fmt.Print

func (*SharedDataObjectUpdateAction) Type added in v0.2.0

func (sdoua *SharedDataObjectUpdateAction) Type() string

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

type SharesAPI

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

Databricks Delta Sharing: Shares REST API

func NewShares

func NewShares(client *client.DatabricksClient) *SharesAPI

func (*SharesAPI) Create

func (a *SharesAPI) Create(ctx context.Context, request CreateShare) (*ShareInfo, error)

Create a share.

Creates a new share for data objects. Data objects can be added at this time or after creation with **update**. The caller must be a metastore admin or have the **CREATE_SHARE** privilege on the metastore.

func (*SharesAPI) Delete

func (a *SharesAPI) Delete(ctx context.Context, request DeleteShareRequest) error

Delete a share.

Deletes a data object share from the metastore. The caller must be an owner of the share.

func (*SharesAPI) DeleteByName

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

Delete a share.

Deletes a data object share from the metastore. The caller must be an owner of the share.

func (*SharesAPI) Get

func (a *SharesAPI) Get(ctx context.Context, request GetShareRequest) (*ShareInfo, error)

Get a share.

Gets a data object share from the metastore. The caller must be a metastore admin or the owner of the share.

func (*SharesAPI) GetByName

func (a *SharesAPI) GetByName(ctx context.Context, name string) (*ShareInfo, error)

Get a share.

Gets a data object share from the metastore. The caller must be a metastore admin or the owner of the share.

func (*SharesAPI) Impl

func (a *SharesAPI) Impl() SharesService

Impl returns low-level Shares API implementation

func (*SharesAPI) ListAll

func (a *SharesAPI) ListAll(ctx context.Context) ([]ShareInfo, error)

List shares.

Gets an array of data object shares from the metastore. The caller must be a metastore admin or the owner of the share. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*SharesAPI) SharePermissions

func (a *SharesAPI) SharePermissions(ctx context.Context, request SharePermissionsRequest) (*PermissionsList, error)

Get permissions.

Gets the permissions for a data share from the metastore. The caller must be a metastore admin or the owner of the share.

func (*SharesAPI) SharePermissionsByName

func (a *SharesAPI) SharePermissionsByName(ctx context.Context, name string) (*PermissionsList, error)

Get permissions.

Gets the permissions for a data share from the metastore. The caller must be a metastore admin or the owner of the share.

func (*SharesAPI) Update

func (a *SharesAPI) Update(ctx context.Context, request UpdateShare) (*ShareInfo, error)

Update a share.

Updates the share with the changes and data objects in the request. The caller must be the owner of the share or a metastore admin.

When the caller is a metastore admin, only the __owner__ field can be updated.

In the case that the share name is changed, **updateShare** requires that the caller is both the share owner and a metastore admin.

For each table that is added through this method, the share owner must also have **SELECT** privilege on the table. This privilege must be maintained indefinitely for recipients to be able to access the table. Typically, you should use a group as the share owner.

Table removals through **update** do not require additional privileges.

func (*SharesAPI) UpdatePermissions

func (a *SharesAPI) UpdatePermissions(ctx context.Context, request UpdateSharePermissions) error

Update permissions.

Updates the permissions for a data share in the metastore. The caller must be a metastore admin or an owner of the share.

For new recipient grants, the user must also be the owner of the recipients. recipient revocations do not require additional privileges.

func (*SharesAPI) WithImpl

func (a *SharesAPI) WithImpl(impl SharesService) *SharesAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type SharesService

type SharesService interface {

	// Create a share.
	//
	// Creates a new share for data objects. Data objects can be added at this
	// time or after creation with **update**. The caller must be a metastore
	// admin or have the **CREATE_SHARE** privilege on the metastore.
	Create(ctx context.Context, request CreateShare) (*ShareInfo, error)

	// Delete a share.
	//
	// Deletes a data object share from the metastore. The caller must be an
	// owner of the share.
	Delete(ctx context.Context, request DeleteShareRequest) error

	// Get a share.
	//
	// Gets a data object share from the metastore. The caller must be a
	// metastore admin or the owner of the share.
	Get(ctx context.Context, request GetShareRequest) (*ShareInfo, error)

	// List shares.
	//
	// Gets an array of data object shares from the metastore. The caller must
	// be a metastore admin or the owner of the share. There is no guarantee of
	// a specific ordering of the elements in the array.
	//
	// Use ListAll() to get all ShareInfo instances
	List(ctx context.Context) (*ListSharesResponse, error)

	// Get permissions.
	//
	// Gets the permissions for a data share from the metastore. The caller must
	// be a metastore admin or the owner of the share.
	SharePermissions(ctx context.Context, request SharePermissionsRequest) (*PermissionsList, error)

	// Update a share.
	//
	// Updates the share with the changes and data objects in the request. The
	// caller must be the owner of the share or a metastore admin.
	//
	// When the caller is a metastore admin, only the __owner__ field can be
	// updated.
	//
	// In the case that the share name is changed, **updateShare** requires that
	// the caller is both the share owner and a metastore admin.
	//
	// For each table that is added through this method, the share owner must
	// also have **SELECT** privilege on the table. This privilege must be
	// maintained indefinitely for recipients to be able to access the table.
	// Typically, you should use a group as the share owner.
	//
	// Table removals through **update** do not require additional privileges.
	Update(ctx context.Context, request UpdateShare) (*ShareInfo, error)

	// Update permissions.
	//
	// Updates the permissions for a data share in the metastore. The caller
	// must be a metastore admin or an owner of the share.
	//
	// For new recipient grants, the user must also be the owner of the
	// recipients. recipient revocations do not require additional privileges.
	UpdatePermissions(ctx context.Context, request UpdateSharePermissions) error
}

Databricks Delta Sharing: Shares REST API

type StorageCredentialInfo

type StorageCredentialInfo struct {
	// The AWS IAM role configuration.
	AwsIamRole *AwsIamRole `json:"aws_iam_role,omitempty"`
	// The Azure service principal configuration.
	AzureServicePrincipal *AzureServicePrincipal `json:"azure_service_principal,omitempty"`
	// Comment associated with the credential.
	Comment string `json:"comment,omitempty"`
	// Time at which this Credential was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of credential creator.
	CreatedBy string `json:"created_by,omitempty"`
	// The GCP service account key configuration.
	GcpServiceAccountKey *GcpServiceAccountKey `json:"gcp_service_account_key,omitempty"`
	// The unique identifier of the credential.
	Id string `json:"id,omitempty"`
	// Unique identifier of parent metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// The credential name. The name must be unique within the metastore.
	Name string `json:"name,omitempty"`
	// Username of current owner of credential.
	Owner string `json:"owner,omitempty"`
	// Whether the storage credential is only usable for read operations.
	ReadOnly bool `json:"read_only,omitempty"`
	// Time at which this credential was last modified, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified the credential.
	UpdatedBy string `json:"updated_by,omitempty"`
	// Whether this credential is the current metastore's root storage
	// credential.
	UsedForManagedStorage bool `json:"used_for_managed_storage,omitempty"`
}

type StorageCredentialsAPI

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

A storage credential represents an authentication and authorization mechanism for accessing data stored on your cloud tenant. Each storage credential is subject to Unity Catalog access-control policies that control which users and groups can access the credential. If a user does not have access to a storage credential in Unity Catalog, the request fails and Unity Catalog does not attempt to authenticate to your cloud tenant on the user’s behalf.

Databricks recommends using external locations rather than using storage credentials directly.

To create storage credentials, you must be a Databricks account admin. The account admin who creates the storage credential can delegate ownership to another user or group to manage permissions on it.

func NewStorageCredentials

func NewStorageCredentials(client *client.DatabricksClient) *StorageCredentialsAPI

func (*StorageCredentialsAPI) Create

Create a storage credential.

Creates a new storage credential. The request object is specific to the cloud:

* **AwsIamRole** for AWS credentials * **AzureServicePrincipal** for Azure credentials * **GcpServiceAcountKey** for GCP credentials.

The caller must be a metastore admin and have the **CREATE_STORAGE_CREDENTIAL** privilege on the metastore.

func (*StorageCredentialsAPI) Delete

Delete a credential.

Deletes a storage credential from the metastore. The caller must be an owner of the storage credential.

func (*StorageCredentialsAPI) DeleteByName

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

Delete a credential.

Deletes a storage credential from the metastore. The caller must be an owner of the storage credential.

func (*StorageCredentialsAPI) Get

Get a credential.

Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the storage credential, or have some permission on the storage credential.

func (*StorageCredentialsAPI) GetByName

Get a credential.

Gets a storage credential from the metastore. The caller must be a metastore admin, the owner of the storage credential, or have some permission on the storage credential.

func (*StorageCredentialsAPI) Impl

Impl returns low-level StorageCredentials API implementation

func (*StorageCredentialsAPI) List added in v0.4.0

List credentials.

Gets an array of storage credentials (as __StorageCredentialInfo__ objects). The array is limited to only those storage credentials the caller has permission to access. If the caller is a metastore admin, all storage credentials will be retrieved. There is no guarantee of a specific ordering of the elements in the array.

func (*StorageCredentialsAPI) StorageCredentialInfoNameToIdMap added in v0.2.0

func (a *StorageCredentialsAPI) StorageCredentialInfoNameToIdMap(ctx context.Context) (map[string]string, error)

StorageCredentialInfoNameToIdMap calls StorageCredentialsAPI.List and creates a map of results with StorageCredentialInfo.Name as key and StorageCredentialInfo.Id as value.

Returns an error if there's more than one StorageCredentialInfo with the same .Name.

Note: All StorageCredentialInfo instances are loaded into memory before creating a map.

This method is generated by Databricks SDK Code Generator.

func (*StorageCredentialsAPI) Update

Update a credential.

Updates a storage credential on the metastore. The caller must be the owner of the storage credential or a metastore admin. If the caller is a metastore admin, only the __owner__ credential can be changed.

func (*StorageCredentialsAPI) Validate added in v0.3.0

Validate a storage credential.

Validates a storage credential. At least one of __external_location_name__ and __url__ need to be provided. If only one of them is provided, it will be used for validation. And if both are provided, the __url__ will be used for validation, and __external_location_name__ will be ignored when checking overlapping urls.

Either the __storage_credential_name__ or the cloud-specific credential must be provided.

The caller must be a metastore admin or the storage credential owner or have the **CREATE_EXTERNAL_LOCATION** privilege on the metastore and the storage credential.

func (*StorageCredentialsAPI) WithImpl

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type StorageCredentialsService

type StorageCredentialsService interface {

	// Create a storage credential.
	//
	// Creates a new storage credential. The request object is specific to the
	// cloud:
	//
	// * **AwsIamRole** for AWS credentials * **AzureServicePrincipal** for
	// Azure credentials * **GcpServiceAcountKey** for GCP credentials.
	//
	// The caller must be a metastore admin and have the
	// **CREATE_STORAGE_CREDENTIAL** privilege on the metastore.
	Create(ctx context.Context, request CreateStorageCredential) (*StorageCredentialInfo, error)

	// Delete a credential.
	//
	// Deletes a storage credential from the metastore. The caller must be an
	// owner of the storage credential.
	Delete(ctx context.Context, request DeleteStorageCredentialRequest) error

	// Get a credential.
	//
	// Gets a storage credential from the metastore. The caller must be a
	// metastore admin, the owner of the storage credential, or have some
	// permission on the storage credential.
	Get(ctx context.Context, request GetStorageCredentialRequest) (*StorageCredentialInfo, error)

	// List credentials.
	//
	// Gets an array of storage credentials (as __StorageCredentialInfo__
	// objects). The array is limited to only those storage credentials the
	// caller has permission to access. If the caller is a metastore admin, all
	// storage credentials will be retrieved. There is no guarantee of a
	// specific ordering of the elements in the array.
	List(ctx context.Context) ([]StorageCredentialInfo, error)

	// Update a credential.
	//
	// Updates a storage credential on the metastore. The caller must be the
	// owner of the storage credential or a metastore admin. If the caller is a
	// metastore admin, only the __owner__ credential can be changed.
	Update(ctx context.Context, request UpdateStorageCredential) (*StorageCredentialInfo, error)

	// Validate a storage credential.
	//
	// Validates a storage credential. At least one of
	// __external_location_name__ and __url__ need to be provided. If only one
	// of them is provided, it will be used for validation. And if both are
	// provided, the __url__ will be used for validation, and
	// __external_location_name__ will be ignored when checking overlapping
	// urls.
	//
	// Either the __storage_credential_name__ or the cloud-specific credential
	// must be provided.
	//
	// The caller must be a metastore admin or the storage credential owner or
	// have the **CREATE_EXTERNAL_LOCATION** privilege on the metastore and the
	// storage credential.
	Validate(ctx context.Context, request ValidateStorageCredential) (*ValidateStorageCredentialResponse, error)
}

A storage credential represents an authentication and authorization mechanism for accessing data stored on your cloud tenant. Each storage credential is subject to Unity Catalog access-control policies that control which users and groups can access the credential. If a user does not have access to a storage credential in Unity Catalog, the request fails and Unity Catalog does not attempt to authenticate to your cloud tenant on the user’s behalf.

Databricks recommends using external locations rather than using storage credentials directly.

To create storage credentials, you must be a Databricks account admin. The account admin who creates the storage credential can delegate ownership to another user or group to manage permissions on it.

type TableConstraint added in v0.3.0

type TableConstraint struct {
	ForeignKeyConstraint *ForeignKeyConstraint `json:"foreign_key_constraint,omitempty"`

	NamedTableConstraint *NamedTableConstraint `json:"named_table_constraint,omitempty"`

	PrimaryKeyConstraint *PrimaryKeyConstraint `json:"primary_key_constraint,omitempty"`
}

A table constraint, as defined by *one* of the following fields being set: __primary_key_constraint__, __foreign_key_constraint__, __named_table_constraint__.

type TableConstraintList added in v0.3.0

type TableConstraintList struct {
	// List of table constraints.
	TableConstraints []TableConstraint `json:"table_constraints,omitempty"`
}

type TableConstraintsAPI added in v0.3.0

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

Primary key and foreign key constraints encode relationships between fields in tables.

Primary and foreign keys are informational only and are not enforced. Foreign keys must reference a primary key in another table. This primary key is the parent constraint of the foreign key and the table this primary key is on is the parent table of the foreign key. Similarly, the foreign key is the child constraint of its referenced primary key; the table of the foreign key is the child table of the primary key.

You can declare primary keys and foreign keys as part of the table specification during table creation. You can also add or drop constraints on existing tables.

func NewTableConstraints added in v0.3.0

func NewTableConstraints(client *client.DatabricksClient) *TableConstraintsAPI

func (*TableConstraintsAPI) Create added in v0.3.0

Create a table constraint.

Creates a new table constraint.

For the table constraint creation to succeed, the user must satisfy both of these conditions: - the user must have the **USE_CATALOG** privilege on the table's parent catalog, the **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table. - if the new constraint is a __ForeignKeyConstraint__, the user must have the **USE_CATALOG** privilege on the referenced parent table's catalog, the **USE_SCHEMA** privilege on the referenced parent table's schema, and be the owner of the referenced parent table.

func (*TableConstraintsAPI) Delete added in v0.3.0

Delete a table constraint.

Deletes a table constraint.

For the table constraint deletion to succeed, the user must satisfy both of these conditions: - the user must have the **USE_CATALOG** privilege on the table's parent catalog, the **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table. - if __cascade__ argument is **true**, the user must have the following permissions on all of the child tables: the **USE_CATALOG** privilege on the table's catalog, the **USE_SCHEMA** privilege on the table's schema, and be the owner of the table.

func (*TableConstraintsAPI) DeleteByFullName added in v0.3.0

func (a *TableConstraintsAPI) DeleteByFullName(ctx context.Context, fullName string) error

Delete a table constraint.

Deletes a table constraint.

For the table constraint deletion to succeed, the user must satisfy both of these conditions: - the user must have the **USE_CATALOG** privilege on the table's parent catalog, the **USE_SCHEMA** privilege on the table's parent schema, and be the owner of the table. - if __cascade__ argument is **true**, the user must have the following permissions on all of the child tables: the **USE_CATALOG** privilege on the table's catalog, the **USE_SCHEMA** privilege on the table's schema, and be the owner of the table.

func (*TableConstraintsAPI) Impl added in v0.3.0

Impl returns low-level TableConstraints API implementation

func (*TableConstraintsAPI) WithImpl added in v0.3.0

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type TableConstraintsService added in v0.3.0

type TableConstraintsService interface {

	// Create a table constraint.
	//
	// Creates a new table constraint.
	//
	// For the table constraint creation to succeed, the user must satisfy both
	// of these conditions: - the user must have the **USE_CATALOG** privilege
	// on the table's parent catalog, the **USE_SCHEMA** privilege on the
	// table's parent schema, and be the owner of the table. - if the new
	// constraint is a __ForeignKeyConstraint__, the user must have the
	// **USE_CATALOG** privilege on the referenced parent table's catalog, the
	// **USE_SCHEMA** privilege on the referenced parent table's schema, and be
	// the owner of the referenced parent table.
	Create(ctx context.Context, request CreateTableConstraint) (*TableConstraint, error)

	// Delete a table constraint.
	//
	// Deletes a table constraint.
	//
	// For the table constraint deletion to succeed, the user must satisfy both
	// of these conditions: - the user must have the **USE_CATALOG** privilege
	// on the table's parent catalog, the **USE_SCHEMA** privilege on the
	// table's parent schema, and be the owner of the table. - if __cascade__
	// argument is **true**, the user must have the following permissions on all
	// of the child tables: the **USE_CATALOG** privilege on the table's
	// catalog, the **USE_SCHEMA** privilege on the table's schema, and be the
	// owner of the table.
	Delete(ctx context.Context, request DeleteTableConstraintRequest) error
}

Primary key and foreign key constraints encode relationships between fields in tables.

Primary and foreign keys are informational only and are not enforced. Foreign keys must reference a primary key in another table. This primary key is the parent constraint of the foreign key and the table this primary key is on is the parent table of the foreign key. Similarly, the foreign key is the child constraint of its referenced primary key; the table of the foreign key is the child table of the primary key.

You can declare primary keys and foreign keys as part of the table specification during table creation. You can also add or drop constraints on existing tables.

type TableDependency added in v0.3.0

type TableDependency struct {
	// Full name of the dependent table, in the form of
	// __catalog_name__.__schema_name__.__table_name__.
	TableFullName string `json:"table_full_name"`
}

A table that is dependent on a SQL object.

type TableInfo

type TableInfo struct {
	// Name of parent catalog.
	CatalogName string `json:"catalog_name,omitempty"`
	// The array of __ColumnInfo__ definitions of the table's columns.
	Columns []ColumnInfo `json:"columns,omitempty"`
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Time at which this table was created, in epoch milliseconds.
	CreatedAt int64 `json:"created_at,omitempty"`
	// Username of table creator.
	CreatedBy string `json:"created_by,omitempty"`
	// Unique ID of the Data Access Configuration to use with the table data.
	DataAccessConfigurationId string `json:"data_access_configuration_id,omitempty"`
	// Data source format
	DataSourceFormat DataSourceFormat `json:"data_source_format,omitempty"`
	// Time at which this table was deleted, in epoch milliseconds. Field is
	// omitted if table is not deleted.
	DeletedAt int64 `json:"deleted_at,omitempty"`
	// Information pertaining to current state of the delta table.
	DeltaRuntimePropertiesKvpairs any `json:"delta_runtime_properties_kvpairs,omitempty"`

	EffectiveAutoMaintenanceFlag *EffectiveAutoMaintenanceFlag `json:"effective_auto_maintenance_flag,omitempty"`
	// Whether auto maintenance should be enabled for this object and objects
	// under it.
	EnableAutoMaintenance EnableAutoMaintenance `json:"enable_auto_maintenance,omitempty"`
	// Full name of table, in form of
	// __catalog_name__.__schema_name__.__table_name__
	FullName string `json:"full_name,omitempty"`
	// Unique identifier of parent metastore.
	MetastoreId string `json:"metastore_id,omitempty"`
	// Name of table, relative to parent schema.
	Name string `json:"name,omitempty"`
	// Username of current owner of table.
	Owner string `json:"owner,omitempty"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`

	RowFilter *TableRowFilter `json:"row_filter,omitempty"`
	// Name of parent schema relative to its parent catalog.
	SchemaName string `json:"schema_name,omitempty"`
	// List of schemes whose objects can be referenced without qualification.
	SqlPath string `json:"sql_path,omitempty"`
	// Name of the storage credential, when a storage credential is configured
	// for use with this table.
	StorageCredentialName string `json:"storage_credential_name,omitempty"`
	// Storage root URL for table (for **MANAGED**, **EXTERNAL** tables)
	StorageLocation string `json:"storage_location,omitempty"`

	TableConstraints *TableConstraintList `json:"table_constraints,omitempty"`
	// Name of table, relative to parent schema.
	TableId string `json:"table_id,omitempty"`

	TableType TableType `json:"table_type,omitempty"`
	// Time at which this table was last modified, in epoch milliseconds.
	UpdatedAt int64 `json:"updated_at,omitempty"`
	// Username of user who last modified the table.
	UpdatedBy string `json:"updated_by,omitempty"`
	// View definition SQL (when __table_type__ is **VIEW**,
	// **MATERIALIZED_VIEW**, or **STREAMING_TABLE**)
	ViewDefinition string `json:"view_definition,omitempty"`
	// View dependencies (when table_type == **VIEW** or **MATERIALIZED_VIEW**,
	// **STREAMING_TABLE**) - when DependencyList is None, the dependency is not
	// provided; - when DependencyList is an empty list, the dependency is
	// provided but is empty; - when DependencyList is not an empty list,
	// dependencies are provided and recorded.
	ViewDependencies []Dependency `json:"view_dependencies,omitempty"`
}

type TableRowFilter added in v0.3.0

type TableRowFilter struct {
	// The list of table columns to be passed as input to the row filter
	// function. The column types should match the types of the filter function
	// arguments.
	InputColumnNames []string `json:"input_column_names"`
	// The full name of the row filter SQL UDF.
	Name string `json:"name"`
}

type TableSummary

type TableSummary struct {
	// The full name of the table.
	FullName string `json:"full_name,omitempty"`

	TableType TableType `json:"table_type,omitempty"`
}

type TableType added in v0.2.0

type TableType string
const TableTypeExternal TableType = `EXTERNAL`
const TableTypeManaged TableType = `MANAGED`
const TableTypeMaterializedView TableType = `MATERIALIZED_VIEW`
const TableTypeStreamingTable TableType = `STREAMING_TABLE`
const TableTypeView TableType = `VIEW`

func (*TableType) Set added in v0.2.0

func (tt *TableType) Set(v string) error

Set raw string value and validate it against allowed values

func (*TableType) String added in v0.2.0

func (tt *TableType) String() string

String representation for fmt.Print

func (*TableType) Type added in v0.2.0

func (tt *TableType) Type() string

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

type TablesAPI

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

A table resides in the third layer of Unity Catalog’s three-level namespace. It contains rows of data. To create a table, users must have CREATE_TABLE and USE_SCHEMA permissions on the schema, and they must have the USE_CATALOG permission on its parent catalog. To query a table, users must have the SELECT permission on the table, and they must have the USE_CATALOG permission on its parent catalog and the USE_SCHEMA permission on its parent schema.

A table can be managed or external. From an API perspective, a __VIEW__ is a particular kind of table (rather than a managed or external table).

func NewTables

func NewTables(client *client.DatabricksClient) *TablesAPI

func (*TablesAPI) Delete

func (a *TablesAPI) Delete(ctx context.Context, request DeleteTableRequest) error

Delete a table.

Deletes a table from the specified parent catalog and schema. The caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema, or be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.

func (*TablesAPI) DeleteByFullName

func (a *TablesAPI) DeleteByFullName(ctx context.Context, fullName string) error

Delete a table.

Deletes a table from the specified parent catalog and schema. The caller must be the owner of the parent catalog, have the **USE_CATALOG** privilege on the parent catalog and be the owner of the parent schema, or be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.

func (*TablesAPI) Get

func (a *TablesAPI) Get(ctx context.Context, request GetTableRequest) (*TableInfo, error)

Get a table.

Gets a table from the metastore for a specific catalog and schema. The caller must be a metastore admin, be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema, or be the owner of the table and have the **SELECT** privilege on it as well.

func (*TablesAPI) GetByFullName

func (a *TablesAPI) GetByFullName(ctx context.Context, fullName string) (*TableInfo, error)

Get a table.

Gets a table from the metastore for a specific catalog and schema. The caller must be a metastore admin, be the owner of the table and have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema, or be the owner of the table and have the **SELECT** privilege on it as well.

func (*TablesAPI) GetByName added in v0.2.0

func (a *TablesAPI) GetByName(ctx context.Context, name string) (*TableInfo, error)

GetByName calls TablesAPI.TableInfoNameToTableIdMap and returns a single TableInfo.

Returns an error if there's more than one TableInfo with the same .Name.

Note: All TableInfo instances are loaded into memory before returning matching by name.

This method is generated by Databricks SDK Code Generator.

func (*TablesAPI) Impl

func (a *TablesAPI) Impl() TablesService

Impl returns low-level Tables API implementation

func (*TablesAPI) ListAll

func (a *TablesAPI) ListAll(ctx context.Context, request ListTablesRequest) ([]TableInfo, error)

List tables.

Gets an array of all tables for the current metastore under the parent catalog and schema. The caller must be a metastore admin or an owner of (or have the **SELECT** privilege on) the table. For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema. There is no guarantee of a specific ordering of the elements in the array.

This method is generated by Databricks SDK Code Generator.

func (*TablesAPI) ListSummaries added in v0.3.0

List table summaries.

Gets an array of summaries for tables for a schema and catalog within the metastore. The table summaries returned are either:

* summaries for all tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or: * summaries for all tables and schemas (within the current metastore and parent catalog) for which the user has ownership or the **SELECT** privilege on the table and ownership or **USE_SCHEMA** privilege on the schema, provided that the user also has ownership or the **USE_CATALOG** privilege on the parent catalog.

There is no guarantee of a specific ordering of the elements in the array.

func (*TablesAPI) TableInfoNameToTableIdMap added in v0.2.0

func (a *TablesAPI) TableInfoNameToTableIdMap(ctx context.Context, request ListTablesRequest) (map[string]string, error)

TableInfoNameToTableIdMap calls TablesAPI.ListAll and creates a map of results with TableInfo.Name as key and TableInfo.TableId as value.

Returns an error if there's more than one TableInfo with the same .Name.

Note: All TableInfo instances are loaded into memory before creating a map.

This method is generated by Databricks SDK Code Generator.

func (*TablesAPI) WithImpl

func (a *TablesAPI) WithImpl(impl TablesService) *TablesAPI

WithImpl could be used to override low-level API implementations for unit testing purposes with github.com/golang/mock or other mocking frameworks.

type TablesService

type TablesService interface {

	// Delete a table.
	//
	// Deletes a table from the specified parent catalog and schema. The caller
	// must be the owner of the parent catalog, have the **USE_CATALOG**
	// privilege on the parent catalog and be the owner of the parent schema, or
	// be the owner of the table and have the **USE_CATALOG** privilege on the
	// parent catalog and the **USE_SCHEMA** privilege on the parent schema.
	Delete(ctx context.Context, request DeleteTableRequest) error

	// Get a table.
	//
	// Gets a table from the metastore for a specific catalog and schema. The
	// caller must be a metastore admin, be the owner of the table and have the
	// **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA**
	// privilege on the parent schema, or be the owner of the table and have the
	// **SELECT** privilege on it as well.
	Get(ctx context.Context, request GetTableRequest) (*TableInfo, error)

	// List tables.
	//
	// Gets an array of all tables for the current metastore under the parent
	// catalog and schema. The caller must be a metastore admin or an owner of
	// (or have the **SELECT** privilege on) the table. For the latter case, the
	// caller must also be the owner or have the **USE_CATALOG** privilege on
	// the parent catalog and the **USE_SCHEMA** privilege on the parent schema.
	// There is no guarantee of a specific ordering of the elements in the
	// array.
	//
	// Use ListAll() to get all TableInfo instances
	List(ctx context.Context, request ListTablesRequest) (*ListTablesResponse, error)

	// List table summaries.
	//
	// Gets an array of summaries for tables for a schema and catalog within the
	// metastore. The table summaries returned are either:
	//
	// * summaries for all tables (within the current metastore and parent
	// catalog and schema), when the user is a metastore admin, or: * summaries
	// for all tables and schemas (within the current metastore and parent
	// catalog) for which the user has ownership or the **SELECT** privilege on
	// the table and ownership or **USE_SCHEMA** privilege on the schema,
	// provided that the user also has ownership or the **USE_CATALOG**
	// privilege on the parent catalog.
	//
	// There is no guarantee of a specific ordering of the elements in the
	// array.
	ListSummaries(ctx context.Context, request ListSummariesRequest) (*ListTableSummariesResponse, error)
}

A table resides in the third layer of Unity Catalog’s three-level namespace. It contains rows of data. To create a table, users must have CREATE_TABLE and USE_SCHEMA permissions on the schema, and they must have the USE_CATALOG permission on its parent catalog. To query a table, users must have the SELECT permission on the table, and they must have the USE_CATALOG permission on its parent catalog and the USE_SCHEMA permission on its parent schema.

A table can be managed or external. From an API perspective, a __VIEW__ is a particular kind of table (rather than a managed or external table).

type UnassignRequest

type UnassignRequest struct {
	// Query for the ID of the metastore to delete.
	MetastoreId string `json:"-" url:"metastore_id"`
	// A workspace ID.
	WorkspaceId int64 `json:"-" url:"-"`
}

Delete an assignment

type UpdateCatalog

type UpdateCatalog struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of catalog.
	Name string `json:"name,omitempty" url:"-"`
	// Username of current owner of catalog.
	Owner string `json:"owner,omitempty"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
}

type UpdateExternalLocation

type UpdateExternalLocation struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of the storage credential used with this location.
	CredentialName string `json:"credential_name,omitempty"`
	// Force update even if changing url invalidates dependent external tables
	// or mounts.
	Force bool `json:"force,omitempty"`
	// Name of the external location.
	Name string `json:"name,omitempty" url:"-"`
	// The owner of the external location.
	Owner string `json:"owner,omitempty"`
	// Indicates whether the external location is read-only.
	ReadOnly bool `json:"read_only,omitempty"`
	// Path URL of the external location.
	Url string `json:"url,omitempty"`
}

type UpdateFunction added in v0.3.0

type UpdateFunction struct {
	// The fully-qualified name of the function (of the form
	// __catalog_name__.__schema_name__.__function__name__).
	Name string `json:"-" url:"-"`
	// Username of current owner of function.
	Owner string `json:"owner,omitempty"`
}

type UpdateMetastore

type UpdateMetastore struct {
	// The organization name of a Delta Sharing entity, to be used in
	// Databricks-to-Databricks Delta Sharing as the official name.
	DeltaSharingOrganizationName string `json:"delta_sharing_organization_name,omitempty"`
	// The lifetime of delta sharing recipient token in seconds.
	DeltaSharingRecipientTokenLifetimeInSeconds int64 `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"`
	// The scope of Delta Sharing enabled for the metastore.
	DeltaSharingScope UpdateMetastoreDeltaSharingScope `json:"delta_sharing_scope,omitempty"`
	// Unique ID of the metastore.
	Id string `json:"-" url:"-"`
	// Databricks Unity Catalog metastore ID
	MetastoreId string `json:"-" url:"-"`
	// The user-specified name of the metastore.
	Name string `json:"name,omitempty"`
	// The owner of the metastore.
	Owner string `json:"owner,omitempty"`
	// Privilege model version of the metastore, of the form `major.minor`
	// (e.g., `1.0`).
	PrivilegeModelVersion string `json:"privilege_model_version,omitempty"`
	// UUID of storage credential to access the metastore storage_root.
	StorageRootCredentialId string `json:"storage_root_credential_id,omitempty"`
}

type UpdateMetastoreAssignment

type UpdateMetastoreAssignment struct {
	// The name of the default catalog for the metastore.
	DefaultCatalogName string `json:"default_catalog_name,omitempty"`
	// The unique ID of the metastore.
	MetastoreId string `json:"metastore_id,omitempty" url:"-"`
	// Workspace ID.
	WorkspaceId int64 `json:"-" url:"-"`
}

type UpdateMetastoreDeltaSharingScope added in v0.3.0

type UpdateMetastoreDeltaSharingScope string

The scope of Delta Sharing enabled for the metastore.

const UpdateMetastoreDeltaSharingScopeInternal UpdateMetastoreDeltaSharingScope = `INTERNAL`
const UpdateMetastoreDeltaSharingScopeInternalAndExternal UpdateMetastoreDeltaSharingScope = `INTERNAL_AND_EXTERNAL`

func (*UpdateMetastoreDeltaSharingScope) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*UpdateMetastoreDeltaSharingScope) String added in v0.3.0

func (umdss *UpdateMetastoreDeltaSharingScope) String() string

String representation for fmt.Print

func (*UpdateMetastoreDeltaSharingScope) Type added in v0.3.0

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

type UpdatePermissions

type UpdatePermissions struct {
	// Array of permissions change objects.
	Changes []PermissionsChange `json:"changes,omitempty"`
	// Full name of securable.
	FullName string `json:"-" url:"-"`
	// Type of securable.
	SecurableType SecurableType `json:"-" url:"-"`
}

type UpdateProvider

type UpdateProvider struct {
	// Description about the provider.
	Comment string `json:"comment,omitempty"`
	// The name of the Provider.
	Name string `json:"name,omitempty" url:"-"`
	// Username of Provider owner.
	Owner string `json:"owner,omitempty"`
	// This field is required when the __authentication_type__ is **TOKEN** or
	// not provided.
	RecipientProfileStr string `json:"recipient_profile_str,omitempty"`
}

type UpdateRecipient

type UpdateRecipient struct {
	// Description about the recipient.
	Comment string `json:"comment,omitempty"`
	// IP Access List
	IpAccessList *IpAccessList `json:"ip_access_list,omitempty"`
	// Name of Recipient.
	Name string `json:"name,omitempty" url:"-"`
	// Username of the recipient owner.
	Owner string `json:"owner,omitempty"`
	// Recipient properties as map of string key-value pairs.
	//
	// When provided in update request, the specified properties will override
	// the existing properties. To add and remove properties, one would need to
	// perform a read-modify-write.
	PropertiesKvpairs any `json:"properties_kvpairs,omitempty"`
}

type UpdateSchema

type UpdateSchema struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Full name of the schema.
	FullName string `json:"-" url:"-"`
	// Name of schema, relative to parent catalog.
	Name string `json:"name,omitempty"`
	// Username of current owner of schema.
	Owner string `json:"owner,omitempty"`
	// A map of key-value properties attached to the securable.
	Properties map[string]string `json:"properties,omitempty"`
}

type UpdateShare

type UpdateShare struct {
	// User-provided free-form text description.
	Comment string `json:"comment,omitempty"`
	// Name of the share.
	Name string `json:"name,omitempty" url:"-"`
	// Username of current owner of share.
	Owner string `json:"owner,omitempty"`
	// Array of shared data object updates.
	Updates []SharedDataObjectUpdate `json:"updates,omitempty"`
}

type UpdateSharePermissions

type UpdateSharePermissions struct {
	// Array of permission changes.
	Changes []PermissionsChange `json:"changes,omitempty"`
	// The name of the share.
	Name string `json:"-" url:"-"`
}

type UpdateStorageCredential

type UpdateStorageCredential struct {
	// The AWS IAM role configuration.
	AwsIamRole *AwsIamRole `json:"aws_iam_role,omitempty"`
	// The Azure service principal configuration.
	AzureServicePrincipal *AzureServicePrincipal `json:"azure_service_principal,omitempty"`
	// Comment associated with the credential.
	Comment string `json:"comment,omitempty"`
	// Force update even if there are dependent external locations or external
	// tables.
	Force bool `json:"force,omitempty"`
	// The GCP service account key configuration.
	GcpServiceAccountKey *GcpServiceAccountKey `json:"gcp_service_account_key,omitempty"`
	// The credential name. The name must be unique within the metastore.
	Name string `json:"name,omitempty" url:"-"`
	// Username of current owner of credential.
	Owner string `json:"owner,omitempty"`
	// Whether the storage credential is only usable for read operations.
	ReadOnly bool `json:"read_only,omitempty"`
	// Supplying true to this argument skips validation of the updated
	// credential.
	SkipValidation bool `json:"skip_validation,omitempty"`
}

type ValidateStorageCredential added in v0.3.0

type ValidateStorageCredential struct {
	// The AWS IAM role configuration.
	AwsIamRole *AwsIamRole `json:"aws_iam_role,omitempty"`
	// The Azure service principal configuration.
	AzureServicePrincipal *AzureServicePrincipal `json:"azure_service_principal,omitempty"`
	// The name of an existing external location to validate.
	ExternalLocationName string `json:"external_location_name,omitempty"`
	// The GCP service account key configuration.
	GcpServiceAccountKey *GcpServiceAccountKey `json:"gcp_service_account_key,omitempty"`
	// Whether the storage credential is only usable for read operations.
	ReadOnly bool `json:"read_only,omitempty"`
	// The name of the storage credential to validate.
	StorageCredentialName any `json:"storage_credential_name,omitempty"`
	// The external location url to validate.
	Url string `json:"url,omitempty"`
}

type ValidateStorageCredentialResponse added in v0.3.0

type ValidateStorageCredentialResponse struct {
	// Whether the tested location is a directory in cloud storage.
	IsDir bool `json:"isDir,omitempty"`
	// The results of the validation check.
	Results []ValidationResult `json:"results,omitempty"`
}

type ValidationResult added in v0.3.0

type ValidationResult struct {
	// Error message would exist when the result does not equal to **PASS**.
	Message string `json:"message,omitempty"`
	// The operation tested.
	Operation ValidationResultOperation `json:"operation,omitempty"`
	// The results of the tested operation.
	Result ValidationResultResult `json:"result,omitempty"`
}

type ValidationResultOperation added in v0.3.0

type ValidationResultOperation string

The operation tested.

const ValidationResultOperationDelete ValidationResultOperation = `DELETE`
const ValidationResultOperationList ValidationResultOperation = `LIST`
const ValidationResultOperationRead ValidationResultOperation = `READ`
const ValidationResultOperationWrite ValidationResultOperation = `WRITE`

func (*ValidationResultOperation) Set added in v0.3.0

Set raw string value and validate it against allowed values

func (*ValidationResultOperation) String added in v0.3.0

func (vro *ValidationResultOperation) String() string

String representation for fmt.Print

func (*ValidationResultOperation) Type added in v0.3.0

func (vro *ValidationResultOperation) Type() string

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

type ValidationResultResult added in v0.3.0

type ValidationResultResult string

The results of the tested operation.

const ValidationResultResultFail ValidationResultResult = `FAIL`
const ValidationResultResultPass ValidationResultResult = `PASS`
const ValidationResultResultSkip ValidationResultResult = `SKIP`

func (*ValidationResultResult) Set added in v0.3.0

func (vrr *ValidationResultResult) Set(v string) error

Set raw string value and validate it against allowed values

func (*ValidationResultResult) String added in v0.3.0

func (vrr *ValidationResultResult) String() string

String representation for fmt.Print

func (*ValidationResultResult) Type added in v0.3.0

func (vrr *ValidationResultResult) Type() string

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

Jump to

Keyboard shortcuts

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