sharing

package
v0.0.1-dev.7 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(ctx context.Context, opts ...client.Option) (*Client, error)

func (*Client) CreateFederationPolicy

func (c *Client) CreateFederationPolicy(ctx context.Context, req CreateFederationPolicyRequest, opts ...call.Option) (*FederationPolicy, error)

Create a federation policy for an OIDC_FEDERATION recipient for sharing data from <Databricks> to non-<Databricks> recipients. The caller must be the owner of the recipient. When sharing data from <Databricks> to non-<Databricks> clients, you can define a federation policy to authenticate non-<Databricks> recipients. The federation policy validates OIDC claims in federated tokens and is defined at the recipient level. This enables secretless sharing clients to authenticate using OIDC tokens.

Supported scenarios for federation policies: 1. **User-to-Machine (U2M) flow** (e.g., PowerBI): A user accesses a resource using their own identity. 2. **Machine-to-Machine (M2M) flow** (e.g., OAuth App): An OAuth App accesses a resource using its own identity, typically for tasks like running nightly jobs.

For an overview, refer to: - Blog post: Overview of feature: https://www.databricks.com/blog/announcing-oidc-token-federation-enhanced-delta-sharing-security

For detailed configuration guides based on your use case: - Creating a Federation Policy as a provider: https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed - Configuration and usage for Machine-to-Machine (M2M) applications (e.g., Python Delta Sharing Client): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-m2m - Configuration and usage for User-to-Machine (U2M) applications (e.g., PowerBI): https://docs.databricks.com/aws/en/delta-sharing/sharing-over-oidc-u2m

func (*Client) CreateProvider

func (c *Client) CreateProvider(ctx context.Context, req CreateProviderRequest, opts ...call.Option) (*ProviderInfo, error)

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

func (*Client) CreateRecipient

func (c *Client) CreateRecipient(ctx context.Context, req CreateRecipientRequest, opts ...call.Option) (*RecipientInfo, error)

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

func (*Client) CreateShare

func (c *Client) CreateShare(ctx context.Context, req CreateShareRequest, opts ...call.Option) (*ShareInfo, error)

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

func (*Client) DeleteFederationPolicy

func (c *Client) DeleteFederationPolicy(ctx context.Context, req DeleteFederationPolicyRequest, opts ...call.Option) error

Deletes an existing federation policy for an OIDC_FEDERATION recipient. The caller must be the owner of the recipient.

func (*Client) DeleteProvider

func (c *Client) DeleteProvider(ctx context.Context, req DeleteProviderRequest, opts ...call.Option) (*DeleteProviderResponse, error)

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

func (*Client) DeleteRecipient

func (c *Client) DeleteRecipient(ctx context.Context, req DeleteRecipientRequest, opts ...call.Option) (*DeleteRecipientResponse, error)

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

func (*Client) DeleteShare

func (c *Client) DeleteShare(ctx context.Context, req DeleteShareRequest, opts ...call.Option) (*DeleteShareResponse, error)

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

func (*Client) GetActivationUrlInfo

func (c *Client) GetActivationUrlInfo(ctx context.Context, req GetActivationUrlInfoRequest, opts ...call.Option) (*GetActivationUrlInfoResponse, error)

Gets an activation URL for a share.

func (*Client) GetFederationPolicy

func (c *Client) GetFederationPolicy(ctx context.Context, req GetFederationPolicyRequest, opts ...call.Option) (*FederationPolicy, error)

Reads an existing federation policy for an OIDC_FEDERATION recipient for sharing data from <Databricks> to non-<Databricks> recipients. The caller must have read access to the recipient.

func (*Client) GetProvider

func (c *Client) GetProvider(ctx context.Context, req GetProviderRequest, opts ...call.Option) (*ProviderInfo, error)

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 (*Client) GetRecipient

func (c *Client) GetRecipient(ctx context.Context, req GetRecipientRequest, opts ...call.Option) (*RecipientInfo, error)

Gets a share recipient from the metastore. The caller must be one of: * A user with **USE_RECIPIENT** privilege on the metastore * The owner of the share recipient * A metastore admin

func (*Client) GetShare

func (c *Client) GetShare(ctx context.Context, req GetShareRequest, opts ...call.Option) (*ShareInfo, error)

Gets a data object share from the metastore. The caller must have the USE_SHARE privilege on the metastore or be the owner of the share.

func (*Client) ListFederationPolicies

func (c *Client) ListFederationPolicies(ctx context.Context, req ListFederationPoliciesRequest, opts ...call.Option) (*ListFederationPoliciesResponse, error)

Lists federation policies for an OIDC_FEDERATION recipient for sharing data from <Databricks> to non-<Databricks> recipients. The caller must have read access to the recipient.

func (*Client) ListFederationPoliciesIter

func (c *Client) ListFederationPoliciesIter(ctx context.Context, req ListFederationPoliciesRequest, opts ...call.Option) iter.Seq2[*FederationPolicy, error]

ListFederationPoliciesIter returns an iterator that iterates over the results of ListFederationPolicies.

For example:

for item, err := range c.ListFederationPoliciesIter(ctx, ListFederationPoliciesRequest{}) {
  if err != nil {
    return err
  }
  fmt.Println(item)
}

Options opts are passed to each ListFederationPolicies call made by the iterator under the hood.

Callers who need custom pagination logic should use ListFederationPolicies directly.

func (*Client) ListProviderShareAssets

func (c *Client) ListProviderShareAssets(ctx context.Context, req ListProviderShareAssetsRequest, opts ...call.Option) (*ListProviderShareAssetsResponse, error)

Get arrays of assets associated with a specified provider's share. The caller is the recipient of the share.

func (*Client) ListProviderShares

func (c *Client) ListProviderShares(ctx context.Context, req ListProviderSharesRequest, opts ...call.Option) (*ListProviderSharesResponse, error)

Gets an array of a specified provider's shares within the metastore where: * the caller is a metastore admin, or * the caller is the owner.

func (*Client) ListProviderSharesIter

func (c *Client) ListProviderSharesIter(ctx context.Context, req ListProviderSharesRequest, opts ...call.Option) iter.Seq2[*ProviderShare, error]

ListProviderSharesIter returns an iterator that iterates over the results of ListProviderShares.

For example:

for item, err := range c.ListProviderSharesIter(ctx, ListProviderSharesRequest{}) {
  if err != nil {
    return err
  }
  fmt.Println(item)
}

Options opts are passed to each ListProviderShares call made by the iterator under the hood.

Callers who need custom pagination logic should use ListProviderShares directly.

func (*Client) ListProviders

func (c *Client) ListProviders(ctx context.Context, req ListProvidersRequest, opts ...call.Option) (*ListProvidersResponse, error)

Gets an array of available authentication providers. The caller must either be a metastore admin, have the **USE_PROVIDER** privilege on the providers, or be the owner of the providers. Providers not owned by the caller and for which the caller does not have the **USE_PROVIDER** privilege are not included in the response. There is no guarantee of a specific ordering of the elements in the array.

func (*Client) ListProvidersIter

func (c *Client) ListProvidersIter(ctx context.Context, req ListProvidersRequest, opts ...call.Option) iter.Seq2[*ProviderInfo, error]

ListProvidersIter returns an iterator that iterates over the results of ListProviders.

For example:

for item, err := range c.ListProvidersIter(ctx, ListProvidersRequest{}) {
  if err != nil {
    return err
  }
  fmt.Println(item)
}

Options opts are passed to each ListProviders call made by the iterator under the hood.

Callers who need custom pagination logic should use ListProviders directly.

func (*Client) ListRecipientSharePermissions

func (c *Client) ListRecipientSharePermissions(ctx context.Context, req ListRecipientSharePermissionsRequest, opts ...call.Option) (*GetRecipientSharePermissionsResponse, error)

Gets the share permissions for the specified Recipient. The caller must have the **USE_RECIPIENT** privilege on the metastore or be the owner of the Recipient.

func (*Client) ListRecipients

func (c *Client) ListRecipients(ctx context.Context, req ListRecipientsRequest, opts ...call.Option) (*ListRecipientsResponse, error)

Gets an array of all share recipients within the current metastore where: * the caller is a metastore admin, or * the caller is the owner. There is no guarantee of a specific ordering of the elements in the array.

func (*Client) ListRecipientsIter

func (c *Client) ListRecipientsIter(ctx context.Context, req ListRecipientsRequest, opts ...call.Option) iter.Seq2[*RecipientInfo, error]

ListRecipientsIter returns an iterator that iterates over the results of ListRecipients.

For example:

for item, err := range c.ListRecipientsIter(ctx, ListRecipientsRequest{}) {
  if err != nil {
    return err
  }
  fmt.Println(item)
}

Options opts are passed to each ListRecipients call made by the iterator under the hood.

Callers who need custom pagination logic should use ListRecipients directly.

func (*Client) ListSharePermissions

func (c *Client) ListSharePermissions(ctx context.Context, req ListSharePermissionsRequest, opts ...call.Option) (*GetSharePermissionsResponse, error)

Gets the permissions for a data share from the metastore. The caller must have the USE_SHARE privilege on the metastore or be the owner of the share.

func (*Client) ListShares

func (c *Client) ListShares(ctx context.Context, req ListSharesRequest, opts ...call.Option) (*ListSharesResponse, error)

Gets an array of data object shares from the metastore. If the caller has the USE_SHARE privilege on the metastore, all shares are returned. Otherwise, only shares owned by the caller are returned. There is no guarantee of a specific ordering of the elements in the array.

func (*Client) ListSharesIter

func (c *Client) ListSharesIter(ctx context.Context, req ListSharesRequest, opts ...call.Option) iter.Seq2[*ShareInfo, error]

ListSharesIter returns an iterator that iterates over the results of ListShares.

For example:

for item, err := range c.ListSharesIter(ctx, ListSharesRequest{}) {
  if err != nil {
    return err
  }
  fmt.Println(item)
}

Options opts are passed to each ListShares call made by the iterator under the hood.

Callers who need custom pagination logic should use ListShares directly.

func (*Client) RetrieveAccessToken

func (c *Client) RetrieveAccessToken(ctx context.Context, req RetrieveTokenRequest, opts ...call.Option) (*RetrieveTokenResponse, error)

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

func (*Client) RotateRecipientToken

func (c *Client) RotateRecipientToken(ctx context.Context, req RotateRecipientTokenRequest, opts ...call.Option) (*RecipientInfo, error)

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

func (*Client) UpdateProvider

func (c *Client) UpdateProvider(ctx context.Context, req UpdateProviderRequest, opts ...call.Option) (*ProviderInfo, error)

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 (*Client) UpdateRecipient

func (c *Client) UpdateRecipient(ctx context.Context, req UpdateRecipientRequest, opts ...call.Option) (*RecipientInfo, error)

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 (*Client) UpdateShare

func (c *Client) UpdateShare(ctx context.Context, req UpdateShareRequest, opts ...call.Option) (*ShareInfo, 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 the share name is changed, **updateShare** requires that the caller is the owner of the share and has the CREATE_SHARE privilege.

If there are notebook files in the share, the __storage_root__ field cannot be updated. 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 (*Client) UpdateSharePermissions

func (c *Client) UpdateSharePermissions(ctx context.Context, req UpdateSharePermissionsRequest, opts ...call.Option) (*UpdateSharePermissionsResponse, error)

Updates the permissions for a data share in the metastore. The caller must have both the USE_SHARE and SET_SHARE_PERMISSION privileges on the metastore, or be the 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.

type ColumnTypeName

type ColumnTypeName string

UC supported column types Copied from https://src.dev.databricks.com/databricks/universe@23a85902bb58695ab9293adc9f327b0714b55e72/-/blob/managed-catalog/api/messages/table.proto?L68

const (
	ColumnTypeName_Unspecified     ColumnTypeName = ""
	ColumnTypeName_Boolean         ColumnTypeName = "BOOLEAN"
	ColumnTypeName_Byte            ColumnTypeName = "BYTE"
	ColumnTypeName_Short           ColumnTypeName = "SHORT"
	ColumnTypeName_Int             ColumnTypeName = "INT"
	ColumnTypeName_Long            ColumnTypeName = "LONG"
	ColumnTypeName_Float           ColumnTypeName = "FLOAT"
	ColumnTypeName_Double          ColumnTypeName = "DOUBLE"
	ColumnTypeName_Date            ColumnTypeName = "DATE"
	ColumnTypeName_Timestamp       ColumnTypeName = "TIMESTAMP"
	ColumnTypeName_String          ColumnTypeName = "STRING"
	ColumnTypeName_Binary          ColumnTypeName = "BINARY"
	ColumnTypeName_Decimal         ColumnTypeName = "DECIMAL"
	ColumnTypeName_Interval        ColumnTypeName = "INTERVAL"
	ColumnTypeName_Array           ColumnTypeName = "ARRAY"
	ColumnTypeName_Struct          ColumnTypeName = "STRUCT"
	ColumnTypeName_Map             ColumnTypeName = "MAP"
	ColumnTypeName_Char            ColumnTypeName = "CHAR"
	ColumnTypeName_Null            ColumnTypeName = "NULL"
	ColumnTypeName_UserDefinedType ColumnTypeName = "USER_DEFINED_TYPE"
	ColumnTypeName_TimestampNtz    ColumnTypeName = "TIMESTAMP_NTZ"
	ColumnTypeName_Variant         ColumnTypeName = "VARIANT"
	ColumnTypeName_TableType       ColumnTypeName = "TABLE_TYPE"
)

type CreateFederationPolicyRequest

type CreateFederationPolicyRequest struct {
	// Name of the recipient. This is the name of the recipient for which the policy
	// is being created.
	RecipientName *string
	// Name of the policy. This is the name of the policy to be created.
	Policy *FederationPolicy
}

type CreateProviderRequest

type CreateProviderRequest struct {
	// The name of the Provider.
	Name               *string
	AuthenticationType DeltaSharingAuthenticationType
	// This field is required when the __authentication_type__ is **TOKEN**,
	// **OAUTH_CLIENT_CREDENTIALS** or not provided.
	RecipientProfileStr *string
	// Description about the provider.
	Comment *string
	// Username of Provider owner.
	Owner *string
	// The recipient profile. This field is only present when the
	// authentication_type is `TOKEN` or `OAUTH_CLIENT_CREDENTIALS`.
	RecipientProfile *RecipientProfile
	// Time at which this Provider was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of Provider creator.
	CreatedBy *string
	// Time at which this Provider was created, in epoch milliseconds.
	UpdatedAt *int64
	// Username of user who last modified Provider.
	UpdatedBy *string
	// Cloud vendor of the provider's UC metastore. This field is only present when
	// the __authentication_type__ is **DATABRICKS**.
	Cloud *string
	// Cloud region of the provider's UC metastore. This field is only present when
	// the __authentication_type__ is **DATABRICKS**.
	Region *string
	// UUID of the provider's UC metastore. This field is only present when the
	// __authentication_type__ is **DATABRICKS**.
	MetastoreId *string
	// 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
}

type CreateRecipientRequest

type CreateRecipientRequest struct {
	// Name of Recipient.
	Name               *string
	AuthenticationType DeltaSharingAuthenticationType
	// The one-time sharing code provided by the data recipient. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	SharingCode *string
	// The global Unity Catalog metastore id provided by the data recipient. This
	// field is only present when the __authentication_type__ is **DATABRICKS**. The
	// identifier is of format __cloud__:__region__:__metastore-uuid__.
	DataRecipientGlobalMetastoreId *string
	// Username of the recipient owner.
	Owner *string
	// Description about the recipient.
	Comment *string
	// IP Access List
	IpAccessList *IpAccessList
	// Recipient properties as map of string key-value pairs. When provided in
	// update request, the specified properties will override the existing
	// properties. To add and remove properties, one would need to perform a
	// read-modify-write.
	PropertiesKvpairs *PropertiesKvPairs
	// Expiration timestamp of the token, in epoch milliseconds.
	ExpirationTime *int64
	// Full activation url to retrieve the access token. It will be empty if the
	// token is already retrieved.
	ActivationUrl *string
	// A boolean status field showing whether the Recipient's activation URL has
	// been exercised or not.
	Activated *bool
	// Time at which this recipient was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of recipient creator.
	CreatedBy *string
	// This field is only present when the __authentication_type__ is **TOKEN**.
	Tokens []RecipientTokenInfo
	// Time at which the recipient was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of recipient updater.
	UpdatedBy *string
	// Cloud vendor of the recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	Cloud *string
	// Cloud region of the recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	Region *string
	// Unique identifier of recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	MetastoreId *string
	// [Create,Update:IGN] common - id of the recipient
	Id *string
}

type CreateShareRequest

type CreateShareRequest struct {
	// Name of the share.
	Name *string
	// Username of current owner of share.
	Owner *string
	// User-provided free-form text description.
	Comment *string
	// Storage root URL for the share.
	StorageRoot *string
	// A list of shared data objects within the share.
	Objects []SharedDataObject
	// Time at which this share was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of share creator.
	CreatedBy *string
	// Time at which this share was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of share updater.
	UpdatedBy *string
	// Storage Location URL (full path) for the share.
	StorageLocation *string
}

type DeleteFederationPolicyRequest

type DeleteFederationPolicyRequest struct {
	// Name of the recipient. This is the name of the recipient for which the policy
	// is being deleted.
	RecipientName *string
	// Name of the policy. This is the name of the policy to be deleted.
	Name *string
}

type DeleteProviderRequest

type DeleteProviderRequest struct {
	// Name of the provider.
	NameArg *string
}

type DeleteProviderResponse

type DeleteProviderResponse struct {
}

type DeleteRecipientRequest

type DeleteRecipientRequest struct {
	// Name of the recipient.
	Name *string
}

type DeleteRecipientResponse

type DeleteRecipientResponse struct {
}

type DeleteShareRequest

type DeleteShareRequest struct {
	// The name of the share.
	Name *string
}

type DeleteShareResponse

type DeleteShareResponse struct {
}

type DeltaSharingAuthenticationType

type DeltaSharingAuthenticationType string

The delta sharing authentication type.

const (
	DeltaSharingAuthenticationType_Unspecified DeltaSharingAuthenticationType = ""
	// Token-based authentication.
	DeltaSharingAuthenticationType_Token DeltaSharingAuthenticationType = "TOKEN"
	// Databricks-managed authentication.
	DeltaSharingAuthenticationType_Databricks DeltaSharingAuthenticationType = "DATABRICKS"
	// OIDC Federation authentication
	DeltaSharingAuthenticationType_OidcFederation DeltaSharingAuthenticationType = "OIDC_FEDERATION"
	// OAuth Client Credentials Grant based authentication. This option is for
	// provider imports only.
	DeltaSharingAuthenticationType_OauthClientCredentials DeltaSharingAuthenticationType = "OAUTH_CLIENT_CREDENTIALS"
)

type Dependency

type Dependency struct {
	Value isDependency_Value
}

Represents a UC dependency..

type DependencyList

type DependencyList struct {
	// An array of Dependency.
	Dependencies []Dependency
}

Represents a list of dependencies..

type Dependency_Value_Function

type Dependency_Value_Function struct {
	Function FunctionDependency
}

Dependency_Value_Function selects Function for Dependency.Value.

type Dependency_Value_Table

type Dependency_Value_Table struct {
	Table TableDependency
}

Dependency_Value_Table selects Table for Dependency.Value.

type FederationPolicy

type FederationPolicy struct {
	// Name of the federation policy. A recipient can have multiple policies with
	// different names. The name must contain only lowercase alphanumeric
	// characters, numbers, and hyphens.
	Name   *string
	Policy isFederationPolicy_Policy
	// System-generated timestamp indicating when the policy was created.
	CreateTime *types.Time
	// Description of the policy. This is a user-provided description.
	Comment *string
	// System-generated timestamp indicating when the policy was last updated.
	UpdateTime *types.Time
	// Unique, immutable system-generated identifier for the federation policy.
	Id *string
}

type FederationPolicy_Policy_OidcPolicy

type FederationPolicy_Policy_OidcPolicy struct {
	OidcPolicy OidcFederationPolicy
}

FederationPolicy_Policy_OidcPolicy selects OidcPolicy for FederationPolicy.Policy. Specifies the policy to use for validating OIDC claims in the federated tokens.

type Function

type Function struct {
	// The name of the function.
	Name *string
	// The name of the schema that the function belongs to.
	Schema *string
	// The name of the share that the function belongs to.
	Share *string
	// The id of the share that the function belongs to.
	ShareId *string
	// The id of the function.
	Id *string
	// The storage location of the function.
	StorageLocation *string
	// The comment of the function.
	Comment *string
	// The aliass of registered model.
	Aliases []RegisteredModelAlias
	// The tags of the function.
	Tags []TagKeyValue
	// The securable kind of the function.
	SecurableKind SharedSecurableKind
	// The full data type of the function.
	FullDataType *string
	// The data type of the function.
	DataType ColumnTypeName
	// The routine definition of the function.
	RoutineDefinition *string
	// The function parameter information.
	InputParams *FunctionParameterInfos
	// The dependency list of the function.
	DependencyList *DependencyList
	// The properties of the function.
	Properties *string
}

type FunctionDependency

type FunctionDependency struct {
	SchemaName   *string
	FunctionName *string
}

A Function in UC as a dependency..

type FunctionParameterInfo

type FunctionParameterInfo struct {
	// The name of the parameter.
	Name *string
	// The type of the parameter in text format.
	TypeText *string
	// The type of the parameter in JSON format.
	TypeJson *string
	// The type of the parameter in Enum format.
	TypeName ColumnTypeName
	// The precision of the parameter type.
	TypePrecision *int
	// The scale of the parameter type.
	TypeScale *int
	// The interval type of the parameter type.
	TypeIntervalType *string
	// The position of the parameter.
	Position *int
	// The mode of the function parameter.
	ParameterMode FunctionParameterMode
	// The type of the function parameter.
	ParameterType FunctionParameterType
	// The default value of the parameter.
	ParameterDefault *string
	// The comment of the parameter.
	Comment *string
}

Represents a parameter of a function. The same message is used for both input and output columns..

type FunctionParameterInfos

type FunctionParameterInfos struct {
	// The list of parameters of the function.
	Parameters []FunctionParameterInfo
}

type FunctionParameterMode

type FunctionParameterMode string
const (
	FunctionParameterMode_Unspecified FunctionParameterMode = ""
	FunctionParameterMode_In          FunctionParameterMode = "IN"
	FunctionParameterMode_Out         FunctionParameterMode = "OUT"
	FunctionParameterMode_Inout       FunctionParameterMode = "INOUT"
)

type FunctionParameterType

type FunctionParameterType string
const (
	FunctionParameterType_Unspecified FunctionParameterType = ""
	FunctionParameterType_Param       FunctionParameterType = "PARAM"
	FunctionParameterType_Column      FunctionParameterType = "COLUMN"
)

type GetActivationUrlInfoRequest

type GetActivationUrlInfoRequest struct {
	// The one time activation url. It also accepts activation token.
	ActivationUrl *string
}

type GetActivationUrlInfoResponse

type GetActivationUrlInfoResponse struct {
}

type GetFederationPolicyRequest

type GetFederationPolicyRequest struct {
	// Name of the recipient. This is the name of the recipient for which the policy
	// is being retrieved.
	RecipientName *string
	// Name of the policy. This is the name of the policy to be retrieved.
	Name *string
}

type GetProviderRequest

type GetProviderRequest struct {
	// Name of the provider.
	NameArg *string
}

type GetRecipientRequest

type GetRecipientRequest struct {
	// Name of the recipient.
	Name *string
}

type GetRecipientSharePermissionsResponse

type GetRecipientSharePermissionsResponse struct {
	// An array of data share permissions for a recipient.
	PermissionsOut []ShareToPrivilegeAssignment
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. __page_token__ should be set to this value for the next request
	// (for the next page of results).
	NextPageToken *string
}

type GetSharePermissionsResponse

type GetSharePermissionsResponse struct {
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. __page_token__ should be set to this value for the next request
	// (for the next page of results).
	NextPageToken *string
	// The privileges assigned to each principal
	PrivilegeAssignments []PrivilegeAssignment
}

type GetShareRequest

type GetShareRequest struct {
	// The name of the share.
	Name *string
	// Query for data to include in the share.
	IncludeSharedData *bool
}

type IpAccessList

type IpAccessList struct {
	// Allowed IP Addresses in CIDR notation. Limit of 100.
	AllowedIpAddresses []string
}

type ListFederationPoliciesRequest

type ListFederationPoliciesRequest struct {
	// Name of the recipient. This is the name of the recipient for which the
	// policies are being listed.
	RecipientName *string
	MaxResults    *int
	PageToken     *string
}

type ListFederationPoliciesResponse

type ListFederationPoliciesResponse struct {
	Policies      []FederationPolicy
	NextPageToken *string
}

type ListProviderShareAssetsRequest

type ListProviderShareAssetsRequest struct {
	// The name of the provider who owns the share.
	ProviderNameArg *string
	// The name of the share.
	ShareNameArg *string
	// Maximum number of tables to return.
	TableMaxResults *int
	// Maximum number of functions to return.
	FunctionMaxResults *int
	// Maximum number of volumes to return.
	VolumeMaxResults *int
	// Maximum number of notebooks to return.
	NotebookMaxResults *int
}

Request to fetch the list of assets of a share that is shared with the recipient..

type ListProviderShareAssetsResponse

type ListProviderShareAssetsResponse struct {
	// The list of tables in the share.
	Tables []Table
	// The list of functions in the share.
	Functions []Function
	// The list of notebooks in the share.
	Notebooks []NotebookFile
	// The list of volumes in the share.
	Volumes []Volume
	// The metadata of the share.
	Share *Share
}

Response to ListProviderShareAssets, which contains the list of assets of a share..

type ListProviderSharesRequest

type ListProviderSharesRequest struct {
	// Name of the provider in which to list shares.
	ProviderNameArg *string
	// Maximum number of shares to return. - when set to 0, the page length is set
	// to a server configured value (recommended); - when set to a value greater
	// than 0, the page length is the minimum of this value and a server configured
	// value; - when set to a value less than 0, an invalid parameter error is
	// returned; - If not set, all valid shares are returned (not recommended). -
	// Note: The number of returned shares might be less than the specified
	// max_results size, even zero. The only definitive indication that no further
	// shares can be fetched is when the next_page_token is unset from the response.
	MaxResults *int
	// Opaque pagination token to go to next page based on previous query.
	PageToken *string
}

type ListProviderSharesResponse

type ListProviderSharesResponse struct {
	// An array of provider shares.
	Shares []ProviderShare
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. __page_token__ should be set to this value for the next request
	// (for the next page of results).
	NextPageToken *string
}

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
	// Maximum number of providers to return. - when set to 0, the page length is
	// set to a server configured value (recommended); - when set to a value greater
	// than 0, the page length is the minimum of this value and a server configured
	// value; - when set to a value less than 0, an invalid parameter error is
	// returned; - If not set, all valid providers are returned (not recommended). -
	// Note: The number of returned providers might be less than the specified
	// max_results size, even zero. The only definitive indication that no further
	// providers can be fetched is when the next_page_token is unset from the
	// response.
	MaxResults *int
	// Opaque pagination token to go to next page based on previous query.
	PageToken *string
}

type ListProvidersResponse

type ListProvidersResponse struct {
	// An array of provider information objects.
	Providers []ProviderInfo
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. __page_token__ should be set to this value for the next request
	// (for the next page of results).
	NextPageToken *string
}

type ListRecipientSharePermissionsRequest

type ListRecipientSharePermissionsRequest struct {
	// The name of the Recipient.
	Name *string
	// Maximum number of permissions to return. - when set to 0, the page length is
	// set to a server configured value (recommended); - when set to a value greater
	// than 0, the page length is the minimum of this value and a server configured
	// value; - when set to a value less than 0, an invalid parameter error is
	// returned; - If not set, all valid permissions are returned (not recommended).
	// - Note: The number of returned permissions might be less than the specified
	// max_results size, even zero. The only definitive indication that no further
	// permissions can be fetched is when the next_page_token is unset from the
	// response.
	MaxResults *int
	// Opaque pagination token to go to next page based on previous query.
	PageToken *string
}

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
	// Maximum number of recipients to return. - when set to 0, the page length is
	// set to a server configured value (recommended); - when set to a value greater
	// than 0, the page length is the minimum of this value and a server configured
	// value; - when set to a value less than 0, an invalid parameter error is
	// returned; - If not set, all valid recipients are returned (not recommended).
	// - Note: The number of returned recipients might be less than the specified
	// max_results size, even zero. The only definitive indication that no further
	// recipients can be fetched is when the next_page_token is unset from the
	// response.
	MaxResults *int
	// Opaque pagination token to go to next page based on previous query.
	PageToken *string
}

type ListRecipientsResponse

type ListRecipientsResponse struct {
	// An array of recipient information objects.
	Recipients []RecipientInfo
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. __page_token__ should be set to this value for the next request
	// (for the next page of results).
	NextPageToken *string
}

type ListSharePermissionsRequest

type ListSharePermissionsRequest struct {
	// The name of the share.
	Name *string
	// Maximum number of permissions to return. - when set to 0, the page length is
	// set to a server configured value (recommended); - when set to a value greater
	// than 0, the page length is the minimum of this value and a server configured
	// value; - when set to a value less than 0, an invalid parameter error is
	// returned; - If not set, all valid permissions are returned (not recommended).
	// - Note: The number of returned permissions might be less than the specified
	// max_results size, even zero. The only definitive indication that no further
	// permissions can be fetched is when the next_page_token is unset from the
	// response.
	MaxResults *int
	// Opaque pagination token to go to next page based on previous query.
	PageToken *string
}

type ListSharesRequest

type ListSharesRequest struct {
	// Maximum number of shares to return. - when set to 0, the page length is set
	// to a server configured value (recommended); - when set to a value greater
	// than 0, the page length is the minimum of this value and a server configured
	// value; - when set to a value less than 0, an invalid parameter error is
	// returned; - If not set, all valid shares are returned (not recommended). -
	// Note: The number of returned shares might be less than the specified
	// max_results size, even zero. The only definitive indication that no further
	// shares can be fetched is when the next_page_token is unset from the response.
	MaxResults *int
	// Opaque pagination token to go to next page based on previous query.
	PageToken *string
}

type ListSharesResponse

type ListSharesResponse struct {
	// An array of data share information objects.
	Shares []ShareInfo
	// Opaque token to retrieve the next page of results. Absent if there are no
	// more pages. __page_token__ should be set to this value for the next request
	// (for the next page of results).
	NextPageToken *string
}

type NotebookFile

type NotebookFile struct {
	// Name of the notebook file.
	Name *string
	// The name of the share that the notebook file belongs to.
	Share *string
	// The id of the share that the notebook file belongs to.
	ShareId *string
	// The id of the notebook file.
	Id *string
	// The comment of the notebook file.
	Comment *string
	// The tags of the notebook file.
	Tags []TagKeyValue
}

type OidcFederationPolicy

type OidcFederationPolicy struct {
	// The required token issuer, as specified in the 'iss' claim of federated
	// tokens.
	Issuer *string
	// The claim that contains the subject of the token. Depending on the identity
	// provider and the use case (U2M or M2M), this can vary: - For Entra ID (AAD):
	// * U2M flow (group access): Use `groups`. * U2M flow (user access): Use `oid`.
	// * M2M flow (OAuth App access): Use `azp`. - For other IdPs, refer to the
	// specific IdP documentation.
	//
	// Supported `subject_claim` values are: - `oid`: Object ID of the user. -
	// `azp`: Client ID of the OAuth app. - `groups`: Object ID of the group. -
	// `sub`: Subject identifier for other use cases.
	SubjectClaim *string
	// The required token subject, as specified in the subject claim of federated
	// tokens. The subject claim identifies the identity of the user or machine
	// accessing the resource. Examples for Entra ID (AAD): - U2M flow (group
	// access): If the subject claim is `groups`, this must be the Object ID of the
	// group in Entra ID. - U2M flow (user access): If the subject claim is `oid`,
	// this must be the Object ID of the user in Entra ID. - M2M flow (OAuth App
	// access): If the subject claim is `azp`, this must be the client ID of the
	// OAuth app registered in Entra ID.
	Subject *string
	// The allowed token audiences, as specified in the 'aud' claim of federated
	// tokens. The audience identifier is intended to represent the recipient of the
	// token. Can be any non-empty string value. As long as the audience in the
	// token matches at least one audience in the policy,
	Audiences []string
}

Specifies the policy to use for validating OIDC claims in your federated tokens from Delta Sharing Clients. Refer to https://docs.databricks.com/en/delta-sharing/create-recipient-oidc-fed for more details..

type PartitionSpecification

type PartitionSpecification struct {
}

PartitionSpecification defines the format of partition filtering specification for shared tables. It consists of a list of Partitions which in turn include a list of PartitionValues. - Partitions inside a single PartitionSpecification have OR logical relationship. - PartitionValues inside a single Partition have AND logical relationship. - PartitionValue.name must have distinct values inside a single Partition..

type PartitionSpecification_Partition

type PartitionSpecification_Partition struct {
	// An array of partition values.
	Values []PartitionSpecification_Partition_PartitionValue
}

type PartitionSpecification_Partition_PartitionValue

type PartitionSpecification_Partition_PartitionValue struct {
	// The name of the partition column.
	Name *string
	// 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
	// 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
	// The operator to apply for the value.
	Op PartitionSpecification_Partition_PartitionValue_PartitionValueOp
}

type PartitionSpecification_Partition_PartitionValue_PartitionValueOp

type PartitionSpecification_Partition_PartitionValue_PartitionValueOp string
const (
	PartitionSpecification_Partition_PartitionValue_PartitionValueOp_Unspecified PartitionSpecification_Partition_PartitionValue_PartitionValueOp = ""
	PartitionSpecification_Partition_PartitionValue_PartitionValueOp_Like        PartitionSpecification_Partition_PartitionValue_PartitionValueOp = "LIKE"
)

type PermissionsChange

type PermissionsChange struct {
	// The principal whose privileges we are changing. Only one of principal or
	// principal_id should be specified, never both at the same time.
	Principal *string
	// The set of privileges to add.
	Add []string
	// The set of privileges to remove.
	Remove []string
}

type PrivilegeAssignment

type PrivilegeAssignment struct {
	// The principal (user email address or group name). For deleted principals,
	// `principal` is empty while `principal_id` is populated.
	Principal *string
	// The privileges assigned to the principal.
	Privileges []string
}

type PropertiesKvPairs

type PropertiesKvPairs struct {
	// A map of key-value properties attached to the securable.
	Properties map[string]string
}

An object with __properties__ containing map of key-value properties attached to the securable..

type ProviderInfo

type ProviderInfo struct {
	// The name of the Provider.
	Name               *string
	AuthenticationType DeltaSharingAuthenticationType
	// This field is required when the __authentication_type__ is **TOKEN**,
	// **OAUTH_CLIENT_CREDENTIALS** or not provided.
	RecipientProfileStr *string
	// Description about the provider.
	Comment *string
	// Username of Provider owner.
	Owner *string
	// The recipient profile. This field is only present when the
	// authentication_type is `TOKEN` or `OAUTH_CLIENT_CREDENTIALS`.
	RecipientProfile *RecipientProfile
	// Time at which this Provider was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of Provider creator.
	CreatedBy *string
	// Time at which this Provider was created, in epoch milliseconds.
	UpdatedAt *int64
	// Username of user who last modified Provider.
	UpdatedBy *string
	// Cloud vendor of the provider's UC metastore. This field is only present when
	// the __authentication_type__ is **DATABRICKS**.
	Cloud *string
	// Cloud region of the provider's UC metastore. This field is only present when
	// the __authentication_type__ is **DATABRICKS**.
	Region *string
	// UUID of the provider's UC metastore. This field is only present when the
	// __authentication_type__ is **DATABRICKS**.
	MetastoreId *string
	// 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
}

type ProviderShare

type ProviderShare struct {
	// The name of the Provider Share.
	Name *string
}

type RecipientInfo

type RecipientInfo struct {
	// Name of Recipient.
	Name               *string
	AuthenticationType DeltaSharingAuthenticationType
	// The one-time sharing code provided by the data recipient. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	SharingCode *string
	// The global Unity Catalog metastore id provided by the data recipient. This
	// field is only present when the __authentication_type__ is **DATABRICKS**. The
	// identifier is of format __cloud__:__region__:__metastore-uuid__.
	DataRecipientGlobalMetastoreId *string
	// Username of the recipient owner.
	Owner *string
	// Description about the recipient.
	Comment *string
	// IP Access List
	IpAccessList *IpAccessList
	// Recipient properties as map of string key-value pairs. When provided in
	// update request, the specified properties will override the existing
	// properties. To add and remove properties, one would need to perform a
	// read-modify-write.
	PropertiesKvpairs *PropertiesKvPairs
	// Expiration timestamp of the token, in epoch milliseconds.
	ExpirationTime *int64
	// Full activation url to retrieve the access token. It will be empty if the
	// token is already retrieved.
	ActivationUrl *string
	// A boolean status field showing whether the Recipient's activation URL has
	// been exercised or not.
	Activated *bool
	// Time at which this recipient was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of recipient creator.
	CreatedBy *string
	// This field is only present when the __authentication_type__ is **TOKEN**.
	Tokens []RecipientTokenInfo
	// Time at which the recipient was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of recipient updater.
	UpdatedBy *string
	// Cloud vendor of the recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	Cloud *string
	// Cloud region of the recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	Region *string
	// Unique identifier of recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	MetastoreId *string
	// [Create,Update:IGN] common - id of the recipient
	Id *string
}

type RecipientProfile

type RecipientProfile struct {
	// The version number of the recipient's credentials on a share.
	ShareCredentialsVersion *int
	// The endpoint for the share to be used by the recipient.
	Endpoint *string
	// The token used to authorize the recipient.
	BearerToken *string
}

type RecipientTokenInfo

type RecipientTokenInfo struct {
	// Unique ID of the recipient token.
	Id *string
	// Time at which this recipient token was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of recipient token creator.
	CreatedBy *string
	// Full activation URL to retrieve the access token. It will be empty if the
	// token is already retrieved.
	ActivationUrl *string
	// Expiration timestamp of the token in epoch milliseconds.
	ExpirationTime *int64
	// Time at which this recipient token was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of recipient token updater.
	UpdatedBy *string
}

type RegisteredModelAlias

type RegisteredModelAlias struct {
	// Name of the alias.
	AliasName *string
	// Numeric model version that alias will reference.
	VersionNum *int64
}

type RetrieveTokenRequest

type RetrieveTokenRequest struct {
	// The one time activation url. It also accepts activation token.
	ActivationUrl *string
}

type RetrieveTokenResponse

type RetrieveTokenResponse struct {
	// These field names must follow the delta sharing protocol.
	ShareCredentialsVersion *int
	// The token used to authorize the recipient.
	BearerToken *string
	// The endpoint for the share to be used by the recipient.
	Endpoint *string
	// Expiration timestamp of the token in epoch milliseconds.
	ExpirationTime *string
}

type RotateRecipientTokenRequest

type RotateRecipientTokenRequest struct {
	// The name of the Recipient.
	Name *string
	// The expiration time of the bearer token in ISO 8601 format. This will set the
	// expiration_time of existing token only to a smaller timestamp, it cannot
	// extend the expiration_time. Use 0 to expire the existing token immediately,
	// negative number will return an error.
	ExistingTokenExpireInSeconds *int64
}

type Share

type Share struct {
	Name *string
	Id   *string
}

type ShareInfo

type ShareInfo struct {
	// Name of the share.
	Name *string
	// Username of current owner of share.
	Owner *string
	// User-provided free-form text description.
	Comment *string
	// Storage root URL for the share.
	StorageRoot *string
	// A list of shared data objects within the share.
	Objects []SharedDataObject
	// Time at which this share was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of share creator.
	CreatedBy *string
	// Time at which this share was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of share updater.
	UpdatedBy *string
	// Storage Location URL (full path) for the share.
	StorageLocation *string
}

type ShareToPrivilegeAssignment

type ShareToPrivilegeAssignment struct {
	// The share name.
	ShareName *string
	// The privileges assigned to the principal.
	PrivilegeAssignments []PrivilegeAssignment
}

type SharedDataObject

type SharedDataObject struct {
	// A fully qualified name that uniquely identifies a data object. For example, a
	// table's fully qualified name is in the format of
	// `<catalog>.<schema>.<table>`,
	Name *string
	// The type of the data object.
	DataObjectType *string
	// The time when this data object is added to the share, in epoch milliseconds.
	AddedAt *int64
	// Username of the sharer.
	AddedBy *string
	// A user-provided comment when adding the data object to the share.
	Comment *string
	// A user-provided alias name for table-like data objects within the share.
	//
	// Use this field for table-like objects (for example: TABLE, VIEW,
	// MATERIALIZED_VIEW, STREAMING_TABLE, FOREIGN_TABLE). For non-table objects
	// (for example: VOLUME, MODEL, NOTEBOOK_FILE, FUNCTION), use `string_shared_as`
	// instead.
	//
	// Important: For non-table objects, this field must be omitted entirely.
	//
	// Format: Must be a 2-part name `<schema_name>.<table_name>` (e.g.,
	// "sales_schema.orders_table") - Both schema and table names must contain only
	// alphanumeric characters and underscores - No periods, spaces, forward
	// slashes, or control characters are allowed within each part - Do not include
	// the catalog name (use 2 parts, not 3)
	//
	// Behavior: - If not provided, the service automatically generates the alias as
	// `<schema>.<table>` from the object's original name - If you don't want to
	// specify this field, omit it entirely from the request (do not pass an empty
	// string) - The `shared_as` name must be unique within the share
	//
	// Examples: - Valid: "analytics_schema.customer_view" - Invalid:
	// "catalog.analytics_schema.customer_view" (3 parts not allowed) - Invalid:
	// "analytics-schema.customer-view" (hyphens not allowed)
	SharedAs *string
	// Whether to enable cdf or indicate if cdf is enabled on the shared object.
	CdfEnabled *bool
	// Whether to enable or disable sharing of data history. If not specified, the
	// default is **DISABLED**.
	HistoryDataSharingStatus SharedDataObject_HistoryDataSharingStatus_Enum
	// The start version associated with the object. This allows data providers to
	// control the lowest object version that is accessible by clients. If
	// specified, clients can query snapshots or changes for versions >=
	// start_version. If not specified, clients can only query starting from the
	// version of the object at the time it was added to the share.
	//
	// NOTE: The start_version should be <= the `current` version of the object.
	StartVersion *int64
	// One of: **ACTIVE**, **PERMISSION_DENIED**.
	Status SharedDataObject_Status_Enum
	// The content of the notebook file when the data object type is NOTEBOOK_FILE.
	// This should be base64 encoded. Required for adding a NOTEBOOK_FILE, optional
	// for updating, ignored for other types.
	Content *string
	// A user-provided alias name for non-table data objects within the share.
	//
	// Use this field for non-table objects (for example: VOLUME, MODEL,
	// NOTEBOOK_FILE, FUNCTION). For table-like objects (for example: TABLE, VIEW,
	// MATERIALIZED_VIEW, STREAMING_TABLE, FOREIGN_TABLE), use `shared_as` instead.
	//
	// Important: For table-like objects, this field must be omitted entirely.
	//
	// Format: - For VOLUME: Must be a 2-part name `<schema_name>.<volume_name>`
	// (e.g., "data_schema.ml_models") - For FUNCTION: Must be a 2-part name
	// `<schema_name>.<function_name>` (e.g., "udf_schema.calculate_tax") - For
	// MODEL: Must be a 2-part name `<schema_name>.<model_name>` (e.g.,
	// "models.prediction_model") - For NOTEBOOK_FILE: Should be the notebook file
	// name (e.g., "analysis_notebook.py") - All names must contain only
	// alphanumeric characters and underscores - No periods, spaces, forward
	// slashes, or control characters are allowed within each part
	//
	// Behavior: - If not provided, the service automatically generates the alias
	// from the object's original name - If you don't want to specify this field,
	// omit it entirely from the request (do not pass an empty string) - The
	// `string_shared_as` name must be unique for objects of the same type within
	// the share
	//
	// Examples: - Valid for VOLUME: "data_schema.training_data" - Valid for
	// FUNCTION: "analytics.calculate_revenue" - Invalid:
	// "catalog.data_schema.training_data" (3 parts not allowed for volumes) -
	// Invalid: "data-schema.training-data" (hyphens not allowed)
	StringSharedAs *string
	// Array of partitions for the shared data.
	Partitions []PartitionSpecification_Partition
}

type SharedDataObject_HistoryDataSharingStatus

type SharedDataObject_HistoryDataSharingStatus struct {
}

type SharedDataObject_HistoryDataSharingStatus_Enum

type SharedDataObject_HistoryDataSharingStatus_Enum string
const (
	SharedDataObject_HistoryDataSharingStatus_Enum_Unspecified SharedDataObject_HistoryDataSharingStatus_Enum = ""
	SharedDataObject_HistoryDataSharingStatus_Enum_Disabled    SharedDataObject_HistoryDataSharingStatus_Enum = "DISABLED"
	SharedDataObject_HistoryDataSharingStatus_Enum_Enabled     SharedDataObject_HistoryDataSharingStatus_Enum = "ENABLED"
)

type SharedDataObject_Status

type SharedDataObject_Status struct {
}

Note: This is scoped to prevent future enum name conflicts..

type SharedDataObject_Status_Enum

type SharedDataObject_Status_Enum string
const (
	SharedDataObject_Status_Enum_Unspecified SharedDataObject_Status_Enum = ""
	// Object is being shared with recipients without any issues.
	SharedDataObject_Status_Enum_Active SharedDataObject_Status_Enum = "ACTIVE"
	// For securables, the share owner has lost access to the securable, so the
	// securable is not being shared with the recipient.
	SharedDataObject_Status_Enum_PermissionDenied SharedDataObject_Status_Enum = "PERMISSION_DENIED"
)

type SharedSecurableKind

type SharedSecurableKind string

The SecurableKind of a delta-shared object.

const (
	SharedSecurableKind_Unspecified             SharedSecurableKind = ""
	SharedSecurableKind_FunctionStandard        SharedSecurableKind = "FUNCTION_STANDARD"
	SharedSecurableKind_FunctionRegisteredModel SharedSecurableKind = "FUNCTION_REGISTERED_MODEL"
	SharedSecurableKind_FunctionFeatureSpec     SharedSecurableKind = "FUNCTION_FEATURE_SPEC"
)

type Table

type Table struct {
	// The name of the table.
	Name *string
	// The name of the schema that the table belongs to.
	Schema *string
	// The name of the share that the table belongs to.
	Share *string
	// The id of the share that the table belongs to.
	ShareId *string
	// The id of the table.
	Id *string
	// The comment of the table.
	Comment *string
	// The Tags of the table.
	Tags []TagKeyValue
	// The name of a materialized table.
	MaterializedTableName *string
	// The catalog and schema of the materialized table
	MaterializationNamespace *string
}

type TableDependency

type TableDependency struct {
	SchemaName *string
	TableName  *string
}

A Table in UC as a dependency..

type TagKeyValue

type TagKeyValue struct {
	// name of the tag
	Key *string
	// value of the tag associated with the key, could be optional
	Value *string
}

type UpdateProviderRequest

type UpdateProviderRequest struct {
	// Name of the provider.
	NameArg *string
	// New name for the provider.
	NewName *string
	// The name of the Provider.
	Name               *string
	AuthenticationType DeltaSharingAuthenticationType
	// This field is required when the __authentication_type__ is **TOKEN**,
	// **OAUTH_CLIENT_CREDENTIALS** or not provided.
	RecipientProfileStr *string
	// Description about the provider.
	Comment *string
	// Username of Provider owner.
	Owner *string
	// The recipient profile. This field is only present when the
	// authentication_type is `TOKEN` or `OAUTH_CLIENT_CREDENTIALS`.
	RecipientProfile *RecipientProfile
	// Time at which this Provider was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of Provider creator.
	CreatedBy *string
	// Time at which this Provider was created, in epoch milliseconds.
	UpdatedAt *int64
	// Username of user who last modified Provider.
	UpdatedBy *string
	// Cloud vendor of the provider's UC metastore. This field is only present when
	// the __authentication_type__ is **DATABRICKS**.
	Cloud *string
	// Cloud region of the provider's UC metastore. This field is only present when
	// the __authentication_type__ is **DATABRICKS**.
	Region *string
	// UUID of the provider's UC metastore. This field is only present when the
	// __authentication_type__ is **DATABRICKS**.
	MetastoreId *string
	// 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
}

type UpdateRecipientRequest

type UpdateRecipientRequest struct {
	// Name of the recipient.
	NameArg *string
	// New name for the recipient. .
	NewName *string
	// Name of Recipient.
	Name               *string
	AuthenticationType DeltaSharingAuthenticationType
	// The one-time sharing code provided by the data recipient. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	SharingCode *string
	// The global Unity Catalog metastore id provided by the data recipient. This
	// field is only present when the __authentication_type__ is **DATABRICKS**. The
	// identifier is of format __cloud__:__region__:__metastore-uuid__.
	DataRecipientGlobalMetastoreId *string
	// Username of the recipient owner.
	Owner *string
	// Description about the recipient.
	Comment *string
	// IP Access List
	IpAccessList *IpAccessList
	// Recipient properties as map of string key-value pairs. When provided in
	// update request, the specified properties will override the existing
	// properties. To add and remove properties, one would need to perform a
	// read-modify-write.
	PropertiesKvpairs *PropertiesKvPairs
	// Expiration timestamp of the token, in epoch milliseconds.
	ExpirationTime *int64
	// Full activation url to retrieve the access token. It will be empty if the
	// token is already retrieved.
	ActivationUrl *string
	// A boolean status field showing whether the Recipient's activation URL has
	// been exercised or not.
	Activated *bool
	// Time at which this recipient was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of recipient creator.
	CreatedBy *string
	// This field is only present when the __authentication_type__ is **TOKEN**.
	Tokens []RecipientTokenInfo
	// Time at which the recipient was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of recipient updater.
	UpdatedBy *string
	// Cloud vendor of the recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	Cloud *string
	// Cloud region of the recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	Region *string
	// Unique identifier of recipient's Unity Catalog Metastore. This field is only
	// present when the __authentication_type__ is **DATABRICKS**.
	MetastoreId *string
	// [Create,Update:IGN] common - id of the recipient
	Id *string
}

type UpdateSharePermissionsRequest

type UpdateSharePermissionsRequest struct {
	// The name of the share.
	Name *string
	// Optional. Whether to return the latest permissions list of the share in the
	// response.
	OmitPermissionsList *bool
	// Array of permissions change objects.
	Changes []PermissionsChange
}

type UpdateSharePermissionsResponse

type UpdateSharePermissionsResponse struct {
	// The privileges assigned to each principal
	PrivilegeAssignments []PrivilegeAssignment
}

type UpdateShareRequest

type UpdateShareRequest struct {
	// The name of the share.
	NameArg *string
	// New name for the share.
	NewName *string
	// Array of shared data object updates.
	Updates []UpdateShareRequest_SharedDataObjectUpdate
	// Name of the share.
	Name *string
	// Username of current owner of share.
	Owner *string
	// User-provided free-form text description.
	Comment *string
	// Storage root URL for the share.
	StorageRoot *string
	// A list of shared data objects within the share.
	Objects []SharedDataObject
	// Time at which this share was created, in epoch milliseconds.
	CreatedAt *int64
	// Username of share creator.
	CreatedBy *string
	// Time at which this share was updated, in epoch milliseconds.
	UpdatedAt *int64
	// Username of share updater.
	UpdatedBy *string
	// Storage Location URL (full path) for the share.
	StorageLocation *string
}

type UpdateShareRequest_SharedDataObjectUpdate

type UpdateShareRequest_SharedDataObjectUpdate struct {
	// One of: **ADD**, **REMOVE**, **UPDATE**.
	Action UpdateShareRequest_SharedDataObjectUpdate_Action
	// The data object that is being added, removed, or updated. The maximum number
	// update data objects allowed is a 100.
	DataObject *SharedDataObject
}

type UpdateShareRequest_SharedDataObjectUpdate_Action

type UpdateShareRequest_SharedDataObjectUpdate_Action string
const (
	UpdateShareRequest_SharedDataObjectUpdate_Action_Unspecified UpdateShareRequest_SharedDataObjectUpdate_Action = ""
	UpdateShareRequest_SharedDataObjectUpdate_Action_Remove      UpdateShareRequest_SharedDataObjectUpdate_Action = "REMOVE"
	UpdateShareRequest_SharedDataObjectUpdate_Action_Update      UpdateShareRequest_SharedDataObjectUpdate_Action = "UPDATE"
)

type Volume

type Volume struct {
	// The name of the volume.
	Name *string
	// This id maps to the shared_volume_id in database Recipient needs
	// shared_volume_id for recon to check if this volume is already in recipient's
	// DB or not.
	Id *string
	// The name of the schema that the volume belongs to.
	Schema *string
	// The name of the share that the volume belongs to.
	Share *string
	// / The id of the share that the volume belongs to.
	ShareId *string
	// The comment of the volume.
	Comment *string
	// The tags of the volume.
	Tags []TagKeyValue
}

Jump to

Keyboard shortcuts

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