Documentation
¶
Overview ¶
These APIs allow you to manage Catalogs, External Locations, Grants, Metastores, Providers, Recipient Activation, Recipients, Schemas, Shares, Storage Credentials, Tables, etc.
Index ¶
- type AuthenticationType
- type AwsIamRole
- type AzureServicePrincipal
- type CatalogInfo
- type CatalogType
- type CatalogsAPI
- func (a *CatalogsAPI) Create(ctx context.Context, request CreateCatalog) (*CatalogInfo, error)
- func (a *CatalogsAPI) Delete(ctx context.Context, request DeleteCatalogRequest) error
- func (a *CatalogsAPI) DeleteByName(ctx context.Context, name string) error
- func (a *CatalogsAPI) Get(ctx context.Context, request GetCatalogRequest) (*CatalogInfo, error)
- func (a *CatalogsAPI) GetByName(ctx context.Context, name string) (*CatalogInfo, error)
- func (a *CatalogsAPI) Impl() CatalogsService
- func (a *CatalogsAPI) ListAll(ctx context.Context) ([]CatalogInfo, error)
- func (a *CatalogsAPI) Update(ctx context.Context, request UpdateCatalog) (*CatalogInfo, error)
- func (a *CatalogsAPI) WithImpl(impl CatalogsService) *CatalogsAPI
- type CatalogsService
- type ColumnInfo
- type ColumnInfoTypeName
- type CreateCatalog
- type CreateExternalLocation
- type CreateMetastore
- type CreateMetastoreAssignment
- type CreateProvider
- type CreateRecipient
- type CreateSchema
- type CreateShare
- type CreateStorageCredential
- type DataSourceFormat
- type DeleteCatalogRequest
- type DeleteExternalLocationRequest
- type DeleteMetastoreRequest
- type DeleteProviderRequest
- type DeleteRecipientRequest
- type DeleteSchemaRequest
- type DeleteShareRequest
- type DeleteStorageCredentialRequest
- type DeleteTableRequest
- type ExternalLocationInfo
- type ExternalLocationsAPI
- func (a *ExternalLocationsAPI) Create(ctx context.Context, request CreateExternalLocation) (*ExternalLocationInfo, error)
- func (a *ExternalLocationsAPI) Delete(ctx context.Context, request DeleteExternalLocationRequest) error
- func (a *ExternalLocationsAPI) DeleteByName(ctx context.Context, name string) error
- func (a *ExternalLocationsAPI) Get(ctx context.Context, request GetExternalLocationRequest) (*ExternalLocationInfo, error)
- func (a *ExternalLocationsAPI) GetByName(ctx context.Context, name string) (*ExternalLocationInfo, error)
- func (a *ExternalLocationsAPI) Impl() ExternalLocationsService
- func (a *ExternalLocationsAPI) ListAll(ctx context.Context) ([]ExternalLocationInfo, error)
- func (a *ExternalLocationsAPI) Update(ctx context.Context, request UpdateExternalLocation) (*ExternalLocationInfo, error)
- func (a *ExternalLocationsAPI) WithImpl(impl ExternalLocationsService) *ExternalLocationsAPI
- type ExternalLocationsService
- type GcpServiceAccountKey
- type GetActivationUrlInfoRequest
- type GetCatalogRequest
- type GetExternalLocationRequest
- type GetGrantRequest
- type GetMetastoreRequest
- type GetMetastoreSummaryResponse
- type GetMetastoreSummaryResponseDeltaSharingScope
- type GetPermissionsResponse
- type GetProviderRequest
- type GetRecipientRequest
- type GetRecipientSharePermissionsResponse
- type GetSchemaRequest
- type GetSharePermissionsResponse
- type GetShareRequest
- type GetStorageCredentialRequest
- type GetTableRequest
- type GrantsAPI
- func (a *GrantsAPI) Get(ctx context.Context, request GetGrantRequest) (*GetPermissionsResponse, error)
- func (a *GrantsAPI) GetBySecurableTypeAndFullName(ctx context.Context, securableType string, fullName string) (*GetPermissionsResponse, error)
- func (a *GrantsAPI) Impl() GrantsService
- func (a *GrantsAPI) Update(ctx context.Context, request UpdatePermissions) error
- func (a *GrantsAPI) WithImpl(impl GrantsService) *GrantsAPI
- type GrantsService
- type IpAccessList
- type ListCatalogsResponse
- type ListExternalLocationsResponse
- type ListMetastoresResponse
- type ListProviderSharesResponse
- type ListProvidersRequest
- type ListProvidersResponse
- type ListRecipientsRequest
- type ListRecipientsResponse
- type ListSchemasRequest
- type ListSchemasResponse
- type ListSharesRequest
- type ListSharesResponse
- type ListStorageCredentialsResponse
- type ListTableSummariesResponse
- type ListTablesRequest
- type ListTablesResponse
- type MetastoreInfo
- type MetastoresAPI
- func (a *MetastoresAPI) Assign(ctx context.Context, request CreateMetastoreAssignment) error
- func (a *MetastoresAPI) Create(ctx context.Context, request CreateMetastore) (*MetastoreInfo, error)
- func (a *MetastoresAPI) Delete(ctx context.Context, request DeleteMetastoreRequest) error
- func (a *MetastoresAPI) DeleteById(ctx context.Context, id string) error
- func (a *MetastoresAPI) Get(ctx context.Context, request GetMetastoreRequest) (*MetastoreInfo, error)
- func (a *MetastoresAPI) GetById(ctx context.Context, id string) (*MetastoreInfo, error)
- func (a *MetastoresAPI) GetByName(ctx context.Context, name string) (*MetastoreInfo, error)
- func (a *MetastoresAPI) Impl() MetastoresService
- func (a *MetastoresAPI) ListAll(ctx context.Context) ([]MetastoreInfo, error)
- func (a *MetastoresAPI) MetastoreInfoNameToMetastoreIdMap(ctx context.Context) (map[string]string, error)
- func (a *MetastoresAPI) Summary(ctx context.Context) (*GetMetastoreSummaryResponse, error)
- func (a *MetastoresAPI) Unassign(ctx context.Context, request UnassignRequest) error
- func (a *MetastoresAPI) UnassignByWorkspaceId(ctx context.Context, workspaceId int64) error
- func (a *MetastoresAPI) Update(ctx context.Context, request UpdateMetastore) (*MetastoreInfo, error)
- func (a *MetastoresAPI) UpdateAssignment(ctx context.Context, request UpdateMetastoreAssignment) error
- func (a *MetastoresAPI) WithImpl(impl MetastoresService) *MetastoresAPI
- type MetastoresService
- type Partition
- type PartitionValue
- type PartitionValueOp
- type PermissionsChange
- type Privilege
- type PrivilegeAssignment
- type ProviderInfo
- type ProviderShare
- type ProvidersAPI
- func (a *ProvidersAPI) Create(ctx context.Context, request CreateProvider) (*ProviderInfo, error)
- func (a *ProvidersAPI) Delete(ctx context.Context, request DeleteProviderRequest) error
- func (a *ProvidersAPI) DeleteByName(ctx context.Context, name string) error
- func (a *ProvidersAPI) Get(ctx context.Context, request GetProviderRequest) (*ProviderInfo, error)
- func (a *ProvidersAPI) GetByName(ctx context.Context, name string) (*ProviderInfo, error)
- func (a *ProvidersAPI) Impl() ProvidersService
- func (a *ProvidersAPI) ListAll(ctx context.Context, request ListProvidersRequest) ([]ProviderInfo, error)
- func (a *ProvidersAPI) ListShares(ctx context.Context, request ListSharesRequest) (*ListProviderSharesResponse, error)
- func (a *ProvidersAPI) ListSharesByName(ctx context.Context, name string) (*ListProviderSharesResponse, error)
- func (a *ProvidersAPI) ProviderInfoNameToMetastoreIdMap(ctx context.Context, request ListProvidersRequest) (map[string]string, error)
- func (a *ProvidersAPI) Update(ctx context.Context, request UpdateProvider) (*ProviderInfo, error)
- func (a *ProvidersAPI) WithImpl(impl ProvidersService) *ProvidersAPI
- type ProvidersService
- type RecipientActivationAPI
- func (a *RecipientActivationAPI) GetActivationUrlInfo(ctx context.Context, request GetActivationUrlInfoRequest) error
- func (a *RecipientActivationAPI) GetActivationUrlInfoByActivationUrl(ctx context.Context, activationUrl string) error
- func (a *RecipientActivationAPI) Impl() RecipientActivationService
- func (a *RecipientActivationAPI) RetrieveToken(ctx context.Context, request RetrieveTokenRequest) (*RetrieveTokenResponse, error)
- func (a *RecipientActivationAPI) RetrieveTokenByActivationUrl(ctx context.Context, activationUrl string) (*RetrieveTokenResponse, error)
- func (a *RecipientActivationAPI) WithImpl(impl RecipientActivationService) *RecipientActivationAPI
- type RecipientActivationService
- type RecipientInfo
- type RecipientProfile
- type RecipientTokenInfo
- type RecipientsAPI
- func (a *RecipientsAPI) Create(ctx context.Context, request CreateRecipient) (*RecipientInfo, error)
- func (a *RecipientsAPI) Delete(ctx context.Context, request DeleteRecipientRequest) error
- func (a *RecipientsAPI) DeleteByName(ctx context.Context, name string) error
- func (a *RecipientsAPI) Get(ctx context.Context, request GetRecipientRequest) (*RecipientInfo, error)
- func (a *RecipientsAPI) GetByName(ctx context.Context, name string) (*RecipientInfo, error)
- func (a *RecipientsAPI) Impl() RecipientsService
- func (a *RecipientsAPI) ListAll(ctx context.Context, request ListRecipientsRequest) ([]RecipientInfo, error)
- func (a *RecipientsAPI) RecipientInfoNameToMetastoreIdMap(ctx context.Context, request ListRecipientsRequest) (map[string]string, error)
- func (a *RecipientsAPI) RotateToken(ctx context.Context, request RotateRecipientToken) (*RecipientInfo, error)
- func (a *RecipientsAPI) SharePermissions(ctx context.Context, request SharePermissionsRequest) (*GetRecipientSharePermissionsResponse, error)
- func (a *RecipientsAPI) SharePermissionsByName(ctx context.Context, name string) (*GetRecipientSharePermissionsResponse, error)
- func (a *RecipientsAPI) Update(ctx context.Context, request UpdateRecipient) error
- func (a *RecipientsAPI) WithImpl(impl RecipientsService) *RecipientsAPI
- type RecipientsService
- type RetrieveTokenRequest
- type RetrieveTokenResponse
- type RotateRecipientToken
- type SchemaInfo
- type SchemasAPI
- func (a *SchemasAPI) Create(ctx context.Context, request CreateSchema) (*SchemaInfo, error)
- func (a *SchemasAPI) Delete(ctx context.Context, request DeleteSchemaRequest) error
- func (a *SchemasAPI) DeleteByFullName(ctx context.Context, fullName string) error
- func (a *SchemasAPI) Get(ctx context.Context, request GetSchemaRequest) (*SchemaInfo, error)
- func (a *SchemasAPI) GetByFullName(ctx context.Context, fullName string) (*SchemaInfo, error)
- func (a *SchemasAPI) GetByName(ctx context.Context, name string) (*SchemaInfo, error)
- func (a *SchemasAPI) Impl() SchemasService
- func (a *SchemasAPI) ListAll(ctx context.Context, request ListSchemasRequest) ([]SchemaInfo, error)
- func (a *SchemasAPI) SchemaInfoNameToFullNameMap(ctx context.Context, request ListSchemasRequest) (map[string]string, error)
- func (a *SchemasAPI) Update(ctx context.Context, request UpdateSchema) (*SchemaInfo, error)
- func (a *SchemasAPI) WithImpl(impl SchemasService) *SchemasAPI
- type SchemasService
- type ShareInfo
- type SharePermissionsRequest
- type ShareToPrivilegeAssignment
- type SharedDataObject
- type SharedDataObjectStatus
- type SharedDataObjectUpdate
- type SharedDataObjectUpdateAction
- type SharesAPI
- func (a *SharesAPI) Create(ctx context.Context, request CreateShare) (*ShareInfo, error)
- func (a *SharesAPI) Delete(ctx context.Context, request DeleteShareRequest) error
- func (a *SharesAPI) DeleteByName(ctx context.Context, name string) error
- func (a *SharesAPI) Get(ctx context.Context, request GetShareRequest) (*ShareInfo, error)
- func (a *SharesAPI) GetByName(ctx context.Context, name string) (*ShareInfo, error)
- func (a *SharesAPI) Impl() SharesService
- func (a *SharesAPI) ListAll(ctx context.Context) ([]ShareInfo, error)
- func (a *SharesAPI) SharePermissions(ctx context.Context, request SharePermissionsRequest) (*GetSharePermissionsResponse, error)
- func (a *SharesAPI) SharePermissionsByName(ctx context.Context, name string) (*GetSharePermissionsResponse, error)
- func (a *SharesAPI) Update(ctx context.Context, request UpdateShare) (*ShareInfo, error)
- func (a *SharesAPI) UpdatePermissions(ctx context.Context, request UpdateSharePermissions) error
- func (a *SharesAPI) WithImpl(impl SharesService) *SharesAPI
- type SharesService
- type StorageCredentialInfo
- type StorageCredentialsAPI
- func (a *StorageCredentialsAPI) Create(ctx context.Context, request CreateStorageCredential) (*StorageCredentialInfo, error)
- func (a *StorageCredentialsAPI) Delete(ctx context.Context, request DeleteStorageCredentialRequest) error
- func (a *StorageCredentialsAPI) DeleteByName(ctx context.Context, name string) error
- func (a *StorageCredentialsAPI) Get(ctx context.Context, request GetStorageCredentialRequest) (*StorageCredentialInfo, error)
- func (a *StorageCredentialsAPI) GetByName(ctx context.Context, name string) (*StorageCredentialInfo, error)
- func (a *StorageCredentialsAPI) Impl() StorageCredentialsService
- func (a *StorageCredentialsAPI) ListAll(ctx context.Context) ([]StorageCredentialInfo, error)
- func (a *StorageCredentialsAPI) StorageCredentialInfoNameToIdMap(ctx context.Context) (map[string]string, error)
- func (a *StorageCredentialsAPI) Update(ctx context.Context, request UpdateStorageCredential) (*StorageCredentialInfo, error)
- func (a *StorageCredentialsAPI) WithImpl(impl StorageCredentialsService) *StorageCredentialsAPI
- type StorageCredentialsService
- type TableInfo
- type TableSummariesRequest
- type TableSummary
- type TableType
- type TablesAPI
- func (a *TablesAPI) Delete(ctx context.Context, request DeleteTableRequest) error
- func (a *TablesAPI) DeleteByFullName(ctx context.Context, fullName string) error
- func (a *TablesAPI) Get(ctx context.Context, request GetTableRequest) (*TableInfo, error)
- func (a *TablesAPI) GetByFullName(ctx context.Context, fullName string) (*TableInfo, error)
- func (a *TablesAPI) GetByName(ctx context.Context, name string) (*TableInfo, error)
- func (a *TablesAPI) Impl() TablesService
- func (a *TablesAPI) ListAll(ctx context.Context, request ListTablesRequest) ([]TableInfo, error)
- func (a *TablesAPI) TableInfoNameToTableIdMap(ctx context.Context, request ListTablesRequest) (map[string]string, error)
- func (a *TablesAPI) TableSummaries(ctx context.Context, request TableSummariesRequest) (*ListTableSummariesResponse, error)
- func (a *TablesAPI) WithImpl(impl TablesService) *TablesAPI
- type TablesService
- type UnassignRequest
- type UpdateCatalog
- type UpdateExternalLocation
- type UpdateMetastore
- type UpdateMetastoreAssignment
- type UpdatePermissions
- type UpdateProvider
- type UpdateRecipient
- type UpdateSchema
- type UpdateShare
- type UpdateSharePermissions
- type UpdateStorageCredential
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthenticationType ¶ added in v0.2.0
type AuthenticationType string
The delta sharing authentication type.
const AuthenticationTypeDatabricks AuthenticationType = `DATABRICKS`
const AuthenticationTypeToken AuthenticationType = `TOKEN`
const AuthenticationTypeUnknown AuthenticationType = `UNKNOWN`
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"`
// 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"`
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"`
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 an array of all catalogs in the current Metastore for which the user is an admin or Catalog owner, or 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 an array of all catalogs in the current Metastore for which the user is an admin or Catalog owner, or 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.
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 an array of all catalogs in the current Metastore for which the user
// is an admin or Catalog owner, or 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.
//
// 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 {
// [Create,Update:OPT] User-provided free-form text description.
Comment string `json:"comment,omitempty"`
// [Create:REQ Update:OPT] Name of Column.
Name string `json:"name,omitempty"`
// [Create,Update:OPT] Whether field may be Null (default: True).
Nullable bool `json:"nullable,omitempty"`
// [Create,Update:OPT] Partition index for column.
PartitionIndex int `json:"partition_index,omitempty"`
// [Create:REQ Update:OPT] Ordinal position of column (starting at position
// 0).
Position int `json:"position,omitempty"`
// [Create: OPT, Update: OPT] Format of IntervalType.
TypeIntervalType string `json:"type_interval_type,omitempty"`
// [Create:OPT Update:OPT] Full data type spec, JSON-serialized.
TypeJson string `json:"type_json,omitempty"`
// [Create: REQ Update: OPT] Name of type (INT, STRUCT, MAP, etc.)
TypeName ColumnInfoTypeName `json:"type_name,omitempty"`
// [Create: OPT, Update: OPT] Digits of precision; required on Create for
// DecimalTypes.
TypePrecision int `json:"type_precision,omitempty"`
// [Create: OPT, Update: OPT] Digits to right of decimal; Required on Create
// for DecimalTypes.
TypeScale int `json:"type_scale,omitempty"`
// [Create:REQ Update:OPT] Full data type spec, SQL/catalogString text.
TypeText string `json:"type_text,omitempty"`
}
type ColumnInfoTypeName ¶
type ColumnInfoTypeName string
[Create: REQ Update: OPT] Name of type (INT, STRUCT, MAP, etc.)
const ColumnInfoTypeNameArray ColumnInfoTypeName = `ARRAY`
const ColumnInfoTypeNameBinary ColumnInfoTypeName = `BINARY`
const ColumnInfoTypeNameBoolean ColumnInfoTypeName = `BOOLEAN`
const ColumnInfoTypeNameByte ColumnInfoTypeName = `BYTE`
const ColumnInfoTypeNameChar ColumnInfoTypeName = `CHAR`
const ColumnInfoTypeNameDate ColumnInfoTypeName = `DATE`
const ColumnInfoTypeNameDecimal ColumnInfoTypeName = `DECIMAL`
const ColumnInfoTypeNameDouble ColumnInfoTypeName = `DOUBLE`
const ColumnInfoTypeNameFloat ColumnInfoTypeName = `FLOAT`
const ColumnInfoTypeNameInt ColumnInfoTypeName = `INT`
const ColumnInfoTypeNameInterval ColumnInfoTypeName = `INTERVAL`
const ColumnInfoTypeNameLong ColumnInfoTypeName = `LONG`
const ColumnInfoTypeNameMap ColumnInfoTypeName = `MAP`
const ColumnInfoTypeNameNull ColumnInfoTypeName = `NULL`
const ColumnInfoTypeNameShort ColumnInfoTypeName = `SHORT`
const ColumnInfoTypeNameString ColumnInfoTypeName = `STRING`
const ColumnInfoTypeNameStruct ColumnInfoTypeName = `STRUCT`
const ColumnInfoTypeNameTimestamp ColumnInfoTypeName = `TIMESTAMP`
const ColumnInfoTypeNameUserDefinedType ColumnInfoTypeName = `USER_DEFINED_TYPE`
func (*ColumnInfoTypeName) Set ¶ added in v0.2.0
func (citn *ColumnInfoTypeName) Set(v string) error
Set raw string value and validate it against allowed values
func (*ColumnInfoTypeName) String ¶ added in v0.2.0
func (citn *ColumnInfoTypeName) String() string
String representation for fmt.Print
func (*ColumnInfoTypeName) Type ¶ added in v0.2.0
func (citn *ColumnInfoTypeName) Type() string
Type always returns ColumnInfoTypeName 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"`
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"`
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"`
// Current name of the Storage Credential this location uses.
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 CreateMetastore ¶
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"`
// 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 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.\n
// This field is only present when the authentication type is
// `DATABRICKS`.\n 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"`
// 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"`
}
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"`
Properties map[string]string `json:"properties,omitempty"`
}
type CreateShare ¶
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"`
// The credential name. The name MUST be unique within the Metastore.
Name string `json:"name"`
// Optional. Supplying true to this argument skips validation of the created
// set of credentials.
SkipValidation bool `json:"skip_validation,omitempty"`
}
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 DeleteCatalogRequest ¶
type DeleteCatalogRequest struct {
// Force deletion even if the catalog is notempty.
Force bool `json:"-" url:"force,omitempty"`
// Required. 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"`
// Required. Name of the storage credential.
Name string `json:"-" url:"-"`
}
Delete an external location
type DeleteMetastoreRequest ¶
type DeleteMetastoreRequest struct {
// Force deletion even if the metastore is not empty. Default is false.
Force bool `json:"-" url:"force,omitempty"`
// Required. Unique ID of the Metastore (from URL).
Id string `json:"-" url:"-"`
}
Delete a Metastore
type DeleteProviderRequest ¶
type DeleteProviderRequest struct {
// Required. Name of the provider.
Name string `json:"-" url:"-"`
}
Delete a provider
type DeleteRecipientRequest ¶
type DeleteRecipientRequest struct {
// Required. Name of the recipient.
Name string `json:"-" url:"-"`
}
Delete a share recipient
type DeleteSchemaRequest ¶
type DeleteSchemaRequest struct {
// Required. Full name of the schema (from URL).
FullName string `json:"-" url:"-"`
}
Delete a schema
type DeleteShareRequest ¶
type DeleteShareRequest struct {
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"`
// Required. Name of the storage credential.
Name string `json:"-" url:"-"`
}
Delete a credential
type DeleteTableRequest ¶
type DeleteTableRequest struct {
// Required. Full name of the Table (from URL).
FullName string `json:"-" url:"-"`
}
Delete a table
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"`
// Current name of the Storage Credential this location uses.
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 ¶
func (a *ExternalLocationsAPI) Create(ctx context.Context, request CreateExternalLocation) (*ExternalLocationInfo, error)
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 ¶
func (a *ExternalLocationsAPI) Delete(ctx context.Context, request DeleteExternalLocationRequest) 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) 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 ¶
func (a *ExternalLocationsAPI) Get(ctx context.Context, request GetExternalLocationRequest) (*ExternalLocationInfo, 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 has some privilege on the external location.
func (*ExternalLocationsAPI) GetByName ¶
func (a *ExternalLocationsAPI) GetByName(ctx context.Context, name string) (*ExternalLocationInfo, 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 has some privilege on the external location.
func (*ExternalLocationsAPI) Impl ¶
func (a *ExternalLocationsAPI) Impl() ExternalLocationsService
Impl returns low-level ExternalLocations API implementation
func (*ExternalLocationsAPI) ListAll ¶
func (a *ExternalLocationsAPI) ListAll(ctx context.Context) ([]ExternalLocationInfo, error)
List external locations.
Gets an array of External Locations (ExternalLocationInfo objects) from the Metastore. The caller must be a Metastore admin, is the owner of the external location, or has some privilege on the external location.
This method is generated by Databricks SDK Code Generator.
func (*ExternalLocationsAPI) Update ¶
func (a *ExternalLocationsAPI) Update(ctx context.Context, request UpdateExternalLocation) (*ExternalLocationInfo, 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.
func (*ExternalLocationsAPI) WithImpl ¶
func (a *ExternalLocationsAPI) WithImpl(impl ExternalLocationsService) *ExternalLocationsAPI
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 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, is the owner of the
// external location, or has some privilege on the external location.
//
// 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 GcpServiceAccountKey ¶
type GetActivationUrlInfoRequest ¶
type GetActivationUrlInfoRequest struct {
// Required. The one time activation url. It also accepts activation token.
ActivationUrl string `json:"-" url:"-"`
}
Get a share activation URL
type GetCatalogRequest ¶
type GetCatalogRequest struct {
// Required. The name of the catalog.
Name string `json:"-" url:"-"`
}
Get a catalog
type GetExternalLocationRequest ¶
type GetExternalLocationRequest struct {
// Required. Name of the storage credential.
Name string `json:"-" url:"-"`
}
Get an external location
type GetGrantRequest ¶
type GetGrantRequest struct {
// Required. Unique identifier (full name) of Securable (from URL).
FullName string `json:"-" url:"-"`
// Optional. List permissions granted to this principal.
Principal string `json:"-" url:"principal,omitempty"`
// Required. Type of Securable (from URL).
SecurableType string `json:"-" url:"-"`
}
Get permissions
type GetMetastoreRequest ¶
type GetMetastoreRequest struct {
// Required. Unique ID of the Metastore (from URL).
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"`
// The unique ID (UUID) of the 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 of the Metastore home shard (e.g., `us-west-2`, `westus`).
Region string `json:"region,omitempty"`
// The storage root URL for the 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 this Metastore 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"`
}
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
func (gmsrdss *GetMetastoreSummaryResponseDeltaSharingScope) Set(v string) error
Set raw string value and validate it against allowed values
func (*GetMetastoreSummaryResponseDeltaSharingScope) String ¶ added in v0.2.0
func (gmsrdss *GetMetastoreSummaryResponseDeltaSharingScope) String() string
String representation for fmt.Print
func (*GetMetastoreSummaryResponseDeltaSharingScope) Type ¶ added in v0.2.0
func (gmsrdss *GetMetastoreSummaryResponseDeltaSharingScope) Type() string
Type always returns GetMetastoreSummaryResponseDeltaSharingScope to satisfy [pflag.Value] interface
type GetPermissionsResponse ¶
type GetPermissionsResponse struct {
PrivilegeAssignments []PrivilegeAssignment `json:"privilege_assignments,omitempty"`
}
type GetProviderRequest ¶
type GetProviderRequest struct {
// Required. Name of the provider.
Name string `json:"-" url:"-"`
}
Get a provider
type GetRecipientRequest ¶
type GetRecipientRequest struct {
// Required. Name of the recipient.
Name string `json:"-" url:"-"`
}
Get a share recipient
type GetRecipientSharePermissionsResponse ¶
type GetRecipientSharePermissionsResponse struct {
PermissionsOut []ShareToPrivilegeAssignment `json:"permissions_out,omitempty"`
}
type GetSchemaRequest ¶
type GetSchemaRequest struct {
// Required. Full name of the schema (from URL).
FullName string `json:"-" url:"-"`
}
Get a schema
type GetSharePermissionsResponse ¶
type GetSharePermissionsResponse struct {
// work here.
PrivilegeAssignments []PrivilegeAssignment `json:"privilege_assignments,omitempty"`
}
type GetShareRequest ¶
type GetShareRequest struct {
IncludeSharedData bool `json:"-" url:"include_shared_data,omitempty"`
Name string `json:"-" url:"-"`
}
Get a share
type GetStorageCredentialRequest ¶
type GetStorageCredentialRequest struct {
// Required. Name of the storage credential.
Name string `json:"-" url:"-"`
}
Get a credential
type GetTableRequest ¶
type GetTableRequest struct {
// Required. Full name of the Table (from URL).
FullName string `json:"-" url:"-"`
}
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.
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. 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) (*GetPermissionsResponse, error)
Get permissions.
Gets the permissions for a Securable type.
func (*GrantsAPI) GetBySecurableTypeAndFullName ¶
func (a *GrantsAPI) GetBySecurableTypeAndFullName(ctx context.Context, securableType string, fullName string) (*GetPermissionsResponse, error)
Get permissions.
Gets the permissions for a Securable type.
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) error
Update permissions.
Updates the permissions for a Securable type.
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 type.
Get(ctx context.Context, request GetGrantRequest) (*GetPermissionsResponse, error)
// Update permissions.
//
// Updates the permissions for a Securable type.
Update(ctx context.Context, request UpdatePermissions) 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.
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. 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 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 ListMetastoresResponse ¶
type ListMetastoresResponse struct {
// An array of Metastore information objects.
Metastores []MetastoreInfo `json:"metastores,omitempty"`
}
type ListProviderSharesResponse ¶
type ListProviderSharesResponse struct {
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 {
// Optional. Parent catalog for schemas of interest.
CatalogName string `json:"-" url:"catalog_name,omitempty"`
}
List schemas
type ListSchemasResponse ¶
type ListSchemasResponse struct {
// An array of schema information objects.
Schemas []SchemaInfo `json:"schemas,omitempty"`
}
type ListSharesRequest ¶
type ListSharesRequest struct {
Name string `json:"-" url:"-"`
}
List shares
type ListSharesResponse ¶
type ListSharesResponse struct {
Shares []ShareInfo `json:"shares,omitempty"`
}
type ListStorageCredentialsResponse ¶
type ListStorageCredentialsResponse struct {
StorageCredentials []StorageCredentialInfo `json:"storage_credentials,omitempty"`
}
type ListTableSummariesResponse ¶
type ListTableSummariesResponse struct {
// Optional. Opaque token for pagination. Empty if there's no more page.
NextPageToken string `json:"next_page_token,omitempty"`
// Only name, catalog_name, schema_name, full_name and table_type will be
// set.
Tables []TableSummary `json:"tables,omitempty"`
}
type ListTablesRequest ¶
type ListTablesRequest struct {
// Required. Name of parent catalog for tables of interest.
CatalogName string `json:"-" url:"catalog_name,omitempty"`
// Required (for now -- may be optional for wildcard search in future).
// Parent schema of tables.
SchemaName string `json:"-" url:"schema_name,omitempty"`
}
List tables
type ListTablesResponse ¶
type ListTablesResponse struct {
// An array of table information objects.
Tables []TableInfo `json:"tables,omitempty"`
}
type MetastoreInfo ¶
type MetastoreInfo struct {
// 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 (Default) Data Access Configuration
DefaultDataAccessConfigId string `json:"default_data_access_config_id,omitempty"`
// Whether Delta Sharing is enabled on this metastore.
DeltaSharingEnabled bool `json:"delta_sharing_enabled,omitempty"`
// The lifetime of delta sharing recipient token in seconds
DeltaSharingRecipientTokenLifetimeInSeconds int64 `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"`
// Unique identifier of Metastore.
MetastoreId string `json:"metastore_id,omitempty"`
// Name of Metastore.
Name string `json:"name,omitempty"`
// The owner of the metastore.
Owner string `json:"owner,omitempty"`
// The region this metastore has an afinity to. This is used by
// accounts-manager. Ignored by Unity Catalog.
Region string `json:"region,omitempty"`
// Storage root URL for Metastore
StorageRoot string `json:"storage_root,omitempty"`
// UUID of storage credential to access storage_root
StorageRootCredentialId string `json:"storage_root_credential_id,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 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 Unity Catalog in a catalog named hive_metastore.
func NewMetastores ¶
func NewMetastores(client *client.DatabricksClient) *MetastoresAPI
func (*MetastoresAPI) Assign ¶
func (a *MetastoresAPI) Assign(ctx context.Context, request CreateMetastoreAssignment) error
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) 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 ¶
func (a *MetastoresAPI) Get(ctx context.Context, request GetMetastoreRequest) (*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) 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.
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 ¶
func (a *MetastoresAPI) Summary(ctx context.Context) (*GetMetastoreSummaryResponse, error)
Get a 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)
// 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.
//
// Use ListAll() to get all MetastoreInfo instances
List(ctx context.Context) (*ListMetastoresResponse, error)
// Get a 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 Unity Catalog in a catalog named hive_metastore.
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 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 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 PrivilegeUsage Privilege = `USAGE`
const PrivilegeUseCatalog Privilege = `USE_CATALOG`
const PrivilegeUseProvider Privilege = `USE_PROVIDER`
const PrivilegeUseRecipient Privilege = `USE_RECIPIENT`
const PrivilegeUseSchema Privilege = `USE_SCHEMA`
const PrivilegeWriteFiles Privilege = `WRITE_FILES`
const PrivilegeWritePrivateFiles Privilege = `WRITE_PRIVATE_FILES`
type PrivilegeAssignment ¶
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 required 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 {
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 ¶
func (a *ProvidersAPI) Get(ctx context.Context, request GetProviderRequest) (*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) 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.
This method is generated by Databricks SDK Code Generator.
func (*ProvidersAPI) ListShares ¶
func (a *ProvidersAPI) ListShares(ctx context.Context, request ListSharesRequest) (*ListProviderSharesResponse, error)
List shares.
Gets an array of all 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.
Gets an array of all 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.
//
// Use ListAll() to get all ProviderInfo instances
List(ctx context.Context, request ListProvidersRequest) (*ListProvidersResponse, error)
//
// Gets an array of all 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 information about an Activation URL.
func (*RecipientActivationAPI) GetActivationUrlInfoByActivationUrl ¶
func (a *RecipientActivationAPI) GetActivationUrlInfoByActivationUrl(ctx context.Context, activationUrl string) error
Get a share activation URL.
Gets information about an Activation URL.
func (*RecipientActivationAPI) Impl ¶
func (a *RecipientActivationAPI) Impl() RecipientActivationService
Impl returns low-level RecipientActivation API implementation
func (*RecipientActivationAPI) RetrieveToken ¶
func (a *RecipientActivationAPI) RetrieveToken(ctx context.Context, request RetrieveTokenRequest) (*RetrieveTokenResponse, error)
Get an access token.
RPC to retrieve access token with an activation token. 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.
RPC to retrieve access token with an activation token. This is a public API without any authentication.
func (*RecipientActivationAPI) WithImpl ¶
func (a *RecipientActivationAPI) WithImpl(impl RecipientActivationService) *RecipientActivationAPI
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 information about an Activation URL.
GetActivationUrlInfo(ctx context.Context, request GetActivationUrlInfoRequest) error
// Get an access token.
//
// RPC to retrieve access token with an activation token. 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.\n
// This field is only present when the authentication type is
// `DATABRICKS`.\n 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"`
// 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"`
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 ¶
func (a *RecipientsAPI) Get(ctx context.Context, request GetRecipientRequest) (*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) 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.
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 ¶
func (a *RecipientsAPI) SharePermissions(ctx context.Context, request SharePermissionsRequest) (*GetRecipientSharePermissionsResponse, error)
Get 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 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.
//
// 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)
//
// 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 {
// Required. 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"`
ShareCredentialsVersion int `json:"shareCredentialsVersion,omitempty"`
}
type RotateRecipientToken ¶
type RotateRecipientToken struct {
// Required. 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,omitempty"`
// Required. The name of the recipient.
Name string `json:"-" url:"-"`
}
type SchemaInfo ¶
type SchemaInfo 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 Schema was created, in epoch milliseconds.
CreatedAt int64 `json:"created_at,omitempty"`
// Username of Schema creator.
CreatedBy string `json:"created_by,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"`
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 and views. 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 for a catalog in 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 for a catalog in 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 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.
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. 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 for a catalog in 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 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.
//
// 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. 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 and views. 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 ShareInfo ¶
type ShareInfo struct {
Comment string `json:"comment,omitempty"`
CreatedAt int64 `json:"created_at,omitempty"`
CreatedBy string `json:"created_by,omitempty"`
Name string `json:"name,omitempty"`
Objects []SharedDataObject `json:"objects,omitempty"`
Owner string `json:"owner,omitempty"`
Updates []SharedDataObjectUpdate `json:"updates,omitempty"`
}
type SharePermissionsRequest ¶
type SharePermissionsRequest struct {
Name string `json:"-" url:"-"`
}
Get share permissions
type ShareToPrivilegeAssignment ¶
type ShareToPrivilegeAssignment struct {
PrivilegeAssignments []PrivilegeAssignment `json:"privilege_assignments,omitempty"`
ShareName string `json:"share_name,omitempty"`
}
type SharedDataObject ¶
type SharedDataObject struct {
// milliseconds.
AddedAt int64 `json:"added_at,omitempty"`
AddedBy string `json:"added_by,omitempty"`
CdfEnabled bool `json:"cdf_enabled,omitempty"`
// [Update:OPT]
Comment string `json:"comment,omitempty"`
DataObjectType string `json:"data_object_type,omitempty"`
//
// For example, a table's fully qualified name is in the format of
// `<catalog>.<schema>.<table>`.
Name string `json:"name"`
Partitions []Partition `json:"partitions,omitempty"`
// new name is not 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"`
// 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"`
Status SharedDataObjectStatus `json:"status,omitempty"`
}
type SharedDataObjectStatus ¶
type SharedDataObjectStatus string
One of: **ACTIVE**, **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 {
Action SharedDataObjectUpdateAction `json:"action,omitempty"`
DataObject *SharedDataObject `json:"data_object,omitempty"`
}
type SharedDataObjectUpdateAction ¶
type SharedDataObjectUpdateAction string
One of: **ADD**, **REMOVE**, **UPDATE**.
func (*SharedDataObjectUpdateAction) Set ¶ added in v0.2.0
func (sdoua *SharedDataObjectUpdateAction) Set(v string) error
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 ¶
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 ¶
Delete a share.
Deletes a data object share from the Metastore. The caller must be an owner of the share.
func (*SharesAPI) Get ¶
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 ¶
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 ¶
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.
This method is generated by Databricks SDK Code Generator.
func (*SharesAPI) SharePermissions ¶
func (a *SharesAPI) SharePermissions(ctx context.Context, request SharePermissionsRequest) (*GetSharePermissionsResponse, 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) (*GetSharePermissionsResponse, 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 ¶
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 {
//
// 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)
//
// Deletes a data object share from the Metastore. The caller must be an
// owner of the share.
Delete(ctx context.Context, request DeleteShareRequest) error
//
// 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)
//
// Gets an array of data object shares from the Metastore. The caller must
// be a Metastore admin or the owner of the share.
//
// Use ListAll() to get all ShareInfo instances
List(ctx context.Context) (*ListSharesResponse, error)
//
// 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) (*GetSharePermissionsResponse, error)
//
// 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)
//
// 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"`
// Optional. Supplying true to this argument skips validation of the created
// set of credentials.
SkipValidation bool `json:"skip_validation,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"`
}
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, using an IAM role. 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 ¶
func (a *StorageCredentialsAPI) Create(ctx context.Context, request CreateStorageCredential) (*StorageCredentialInfo, error)
Create credentials.
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 ¶
func (a *StorageCredentialsAPI) Delete(ctx context.Context, request DeleteStorageCredentialRequest) error
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 ¶
func (a *StorageCredentialsAPI) Get(ctx context.Context, request GetStorageCredentialRequest) (*StorageCredentialInfo, 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 a level of privilege on the storage credential.
func (*StorageCredentialsAPI) GetByName ¶
func (a *StorageCredentialsAPI) GetByName(ctx context.Context, name string) (*StorageCredentialInfo, 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 a level of privilege on the storage credential.
func (*StorageCredentialsAPI) Impl ¶
func (a *StorageCredentialsAPI) Impl() StorageCredentialsService
Impl returns low-level StorageCredentials API implementation
func (*StorageCredentialsAPI) ListAll ¶
func (a *StorageCredentialsAPI) ListAll(ctx context.Context) ([]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 the privilege level to access. If the caller is a Metastore admin, all storage credentials will be retrieved.
This method is generated by Databricks SDK Code Generator.
func (*StorageCredentialsAPI) StorageCredentialInfoNameToIdMap ¶ added in v0.2.0
func (a *StorageCredentialsAPI) StorageCredentialInfoNameToIdMap(ctx context.Context) (map[string]string, error)
StorageCredentialInfoNameToIdMap calls StorageCredentialsAPI.ListAll 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 ¶
func (a *StorageCredentialsAPI) Update(ctx context.Context, request UpdateStorageCredential) (*StorageCredentialInfo, error)
Update a credential.
Updates a storage credential on the Metastore. The caller must be the owner of the storage credential. If the caller is a Metastore admin, only the __owner__ credential can be changed.
func (*StorageCredentialsAPI) WithImpl ¶
func (a *StorageCredentialsAPI) WithImpl(impl StorageCredentialsService) *StorageCredentialsAPI
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 credentials.
//
// 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 a level of
// privilege 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 the
// privilege level to access. If the caller is a Metastore admin, all
// storage credentials will be retrieved.
//
// Use ListAll() to get all StorageCredentialInfo instances
List(ctx context.Context) (*ListStorageCredentialsResponse, error)
// Update a credential.
//
// Updates a storage credential on the Metastore. The caller must be the
// owner of the storage credential. If the caller is a Metastore admin, only
// the __owner__ credential can be changed.
Update(ctx context.Context, request UpdateStorageCredential) (*StorageCredentialInfo, error)
}
A storage credential represents an authentication and authorization mechanism for accessing data stored on your cloud tenant, using an IAM role. 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 TableInfo ¶
type TableInfo struct {
// Name of parent Catalog.
CatalogName string `json:"catalog_name,omitempty"`
// This name ('columns') is what the client actually sees as the field name
// in messages that include PropertiesKVPairs using 'json_inline' (e.g.,
// TableInfo).
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.
DataAccessConfigurationId string `json:"data_access_configuration_id,omitempty"`
// Data source format
DataSourceFormat DataSourceFormat `json:"data_source_format,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"`
Properties map[string]string `json:"properties,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 this table used
StorageCredentialName string `json:"storage_credential_name,omitempty"`
// Storage root URL for table (for MANAGED, EXTERNAL tables)
StorageLocation string `json:"storage_location,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 == "VIEW")
ViewDefinition string `json:"view_definition,omitempty"`
}
type TableSummariesRequest ¶
type TableSummariesRequest struct {
// Required. Name of parent catalog for tables of interest.
CatalogName string `json:"-" url:"catalog_name,omitempty"`
// Optional. Maximum number of tables to return (page length). Defaults to
// 10000.
MaxResults int `json:"-" url:"max_results,omitempty"`
// Optional. Opaque token to send for the next page of results (pagination).
PageToken string `json:"-" url:"page_token,omitempty"`
// Optional. 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"`
// Optional. 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 TableSummary ¶
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`
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.
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 ¶
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 ¶
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 ¶
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
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 ¶
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.
This method is generated by Databricks SDK Code Generator.
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) TableSummaries ¶
func (a *TablesAPI) TableSummaries(ctx context.Context, request TableSummariesRequest) (*ListTableSummariesResponse, 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
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.
//
// 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
TableSummaries(ctx context.Context, request TableSummariesRequest) (*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.
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"`
Properties map[string]string `json:"properties,omitempty"`
}
type UpdateExternalLocation ¶
type UpdateExternalLocation struct {
// User-provided free-form text description.
Comment string `json:"comment,omitempty"`
// Current name of the Storage Credential this location uses.
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"`
// 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,omitempty"`
}
type UpdateMetastore ¶
type UpdateMetastore struct {
// Unique identifier of (Default) Data Access Configuration
DefaultDataAccessConfigId string `json:"default_data_access_config_id,omitempty"`
// Whether Delta Sharing is enabled on this metastore.
DeltaSharingEnabled bool `json:"delta_sharing_enabled,omitempty"`
// The lifetime of delta sharing recipient token in seconds
DeltaSharingRecipientTokenLifetimeInSeconds int64 `json:"delta_sharing_recipient_token_lifetime_in_seconds,omitempty"`
// Required. Unique ID of the Metastore (from URL).
Id string `json:"-" url:"-"`
// Name of Metastore.
Name string `json:"name,omitempty"`
// The owner of the metastore.
Owner string `json:"owner,omitempty"`
// UUID of storage credential to access 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"`
// A workspace ID.
WorkspaceId int64 `json:"-" url:"-"`
}
type UpdatePermissions ¶
type UpdatePermissions struct {
// Array of permissions change objects.
Changes []PermissionsChange `json:"changes,omitempty"`
// Required. Unique identifier (full name) of Securable (from URL).
FullName string `json:"-" url:"-"`
// Optional. List permissions granted to this principal.
Principal string `json:"-" url:"principal,omitempty"`
// Required. Type of Securable (from URL).
SecurableType string `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:"-"`
}
type UpdateSchema ¶
type UpdateSchema struct {
// Name of parent Catalog.
CatalogName string `json:"catalog_name,omitempty"`
// User-provided free-form text description.
Comment string `json:"comment,omitempty"`
// Required. Full name of the schema (from URL).
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"`
Properties map[string]string `json:"properties,omitempty"`
// Storage root URL for managed tables within schema.
StorageRoot string `json:"storage_root,omitempty"`
}
type UpdateShare ¶
type UpdateShare struct {
Comment string `json:"comment,omitempty"`
Name string `json:"name,omitempty" url:"-"`
Owner string `json:"owner,omitempty"`
Updates []SharedDataObjectUpdate `json:"updates,omitempty"`
}
type UpdateSharePermissions ¶
type UpdateSharePermissions struct {
Changes []PermissionsChange `json:"changes,omitempty"`
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"`
// 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"`
}