iamv2

package
v0.196.0 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2026 License: Apache-2.0 Imports: 11 Imported by: 2

Documentation

Overview

These APIs allow you to manage Account Iam V2, Workspace Iam V2, etc.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountIamV2API

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

These APIs are used to manage identities and the workspace access of these identities in Databricks.

func NewAccountIamV2

func NewAccountIamV2(client *client.DatabricksClient) *AccountIamV2API

func (*AccountIamV2API) CreateDirectGroupMember added in v0.172.0

func (a *AccountIamV2API) CreateDirectGroupMember(ctx context.Context, request CreateDirectGroupMemberRequest) (*DirectGroupMember, error)

func (*AccountIamV2API) CreateGroup added in v0.172.0

func (a *AccountIamV2API) CreateGroup(ctx context.Context, request CreateGroupRequest) (*Group, error)

func (*AccountIamV2API) CreateIdentityVisibilityFilter

func (a *AccountIamV2API) CreateIdentityVisibilityFilter(ctx context.Context, request CreateIdentityVisibilityFilterRequest) (*IdentityVisibilityFilter, error)

func (*AccountIamV2API) CreateServicePrincipal added in v0.172.0

func (a *AccountIamV2API) CreateServicePrincipal(ctx context.Context, request CreateServicePrincipalRequest) (*ServicePrincipal, error)

func (*AccountIamV2API) CreateUser added in v0.172.0

func (a *AccountIamV2API) CreateUser(ctx context.Context, request CreateUserRequest) (*User, error)

func (*AccountIamV2API) CreateWorkspaceAssignment added in v0.172.0

func (a *AccountIamV2API) CreateWorkspaceAssignment(ctx context.Context, request CreateWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

func (*AccountIamV2API) CreateWorkspaceAssignmentDetail added in v0.133.0

func (a *AccountIamV2API) CreateWorkspaceAssignmentDetail(ctx context.Context, request CreateWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

func (*AccountIamV2API) DeleteDirectGroupMember added in v0.172.0

func (a *AccountIamV2API) DeleteDirectGroupMember(ctx context.Context, request DeleteDirectGroupMemberRequest) error

func (*AccountIamV2API) DeleteGroup added in v0.172.0

func (a *AccountIamV2API) DeleteGroup(ctx context.Context, request DeleteGroupRequest) error

func (*AccountIamV2API) DeleteIdentityVisibilityFilter

func (a *AccountIamV2API) DeleteIdentityVisibilityFilter(ctx context.Context, request DeleteIdentityVisibilityFilterRequest) error

func (*AccountIamV2API) DeleteServicePrincipal added in v0.172.0

func (a *AccountIamV2API) DeleteServicePrincipal(ctx context.Context, request DeleteServicePrincipalRequest) error

func (*AccountIamV2API) DeleteUser added in v0.172.0

func (a *AccountIamV2API) DeleteUser(ctx context.Context, request DeleteUserRequest) error

func (*AccountIamV2API) DeleteWorkspaceAssignment added in v0.172.0

func (a *AccountIamV2API) DeleteWorkspaceAssignment(ctx context.Context, request DeleteWorkspaceAssignmentRequest) error

func (*AccountIamV2API) DeleteWorkspaceAssignmentDetail added in v0.133.0

func (a *AccountIamV2API) DeleteWorkspaceAssignmentDetail(ctx context.Context, request DeleteWorkspaceAssignmentDetailRequest) error

func (*AccountIamV2API) GetDirectGroupMember added in v0.172.0

func (a *AccountIamV2API) GetDirectGroupMember(ctx context.Context, request GetDirectGroupMemberRequest) (*DirectGroupMember, error)

func (*AccountIamV2API) GetExternalGroup added in v0.177.0

func (a *AccountIamV2API) GetExternalGroup(ctx context.Context, request GetExternalGroupRequest) (*ExternalGroup, error)

func (*AccountIamV2API) GetExternalServicePrincipal added in v0.177.0

func (a *AccountIamV2API) GetExternalServicePrincipal(ctx context.Context, request GetExternalServicePrincipalRequest) (*ExternalServicePrincipal, error)

func (*AccountIamV2API) GetExternalUser added in v0.177.0

func (a *AccountIamV2API) GetExternalUser(ctx context.Context, request GetExternalUserRequest) (*ExternalUser, error)

func (*AccountIamV2API) GetGroup added in v0.172.0

func (a *AccountIamV2API) GetGroup(ctx context.Context, request GetGroupRequest) (*Group, error)

func (*AccountIamV2API) GetIdentityVisibilityFilter

func (a *AccountIamV2API) GetIdentityVisibilityFilter(ctx context.Context, request GetIdentityVisibilityFilterRequest) (*IdentityVisibilityFilter, error)

func (*AccountIamV2API) GetServicePrincipal added in v0.172.0

func (a *AccountIamV2API) GetServicePrincipal(ctx context.Context, request GetServicePrincipalRequest) (*ServicePrincipal, error)

func (*AccountIamV2API) GetUser added in v0.172.0

func (a *AccountIamV2API) GetUser(ctx context.Context, request GetUserRequest) (*User, error)

func (*AccountIamV2API) GetWorkspaceAccessDetail

func (a *AccountIamV2API) GetWorkspaceAccessDetail(ctx context.Context, request GetWorkspaceAccessDetailRequest) (*WorkspaceAccessDetail, error)

func (*AccountIamV2API) GetWorkspaceAssignment added in v0.172.0

func (a *AccountIamV2API) GetWorkspaceAssignment(ctx context.Context, request GetWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

func (*AccountIamV2API) GetWorkspaceAssignmentDetail added in v0.133.0

func (a *AccountIamV2API) GetWorkspaceAssignmentDetail(ctx context.Context, request GetWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

func (*AccountIamV2API) ListDirectGroupMembers added in v0.172.0

func (a *AccountIamV2API) ListDirectGroupMembers(ctx context.Context, request ListDirectGroupMembersRequest) listing.Iterator[DirectGroupMember]

Lists the direct members of a group, sorted by display name, with where each membership comes from. Members in your identity provider who haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListDirectGroupMembersAll added in v0.173.0

func (a *AccountIamV2API) ListDirectGroupMembersAll(ctx context.Context, request ListDirectGroupMembersRequest) ([]DirectGroupMember, error)

Lists the direct members of a group, sorted by display name, with where each membership comes from. Members in your identity provider who haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListGroups added in v0.172.0

func (a *AccountIamV2API) ListGroups(ctx context.Context, request ListGroupsRequest) listing.Iterator[Group]

Lists the groups in your account, sorted by Databricks ID. Groups in your identity provider that haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListGroupsAll added in v0.172.0

func (a *AccountIamV2API) ListGroupsAll(ctx context.Context, request ListGroupsRequest) ([]Group, error)

Lists the groups in your account, sorted by Databricks ID. Groups in your identity provider that haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListIdentityVisibilityFilters

func (a *AccountIamV2API) ListIdentityVisibilityFilters(ctx context.Context, request ListIdentityVisibilityFiltersRequest) listing.Iterator[IdentityVisibilityFilter]

Lists the group visibility filters in an account. It returns the rules, not the groups they match.

func (*AccountIamV2API) ListIdentityVisibilityFiltersAll

func (a *AccountIamV2API) ListIdentityVisibilityFiltersAll(ctx context.Context, request ListIdentityVisibilityFiltersRequest) ([]IdentityVisibilityFilter, error)

Lists the group visibility filters in an account. It returns the rules, not the groups they match.

func (*AccountIamV2API) ListServicePrincipals added in v0.172.0

func (a *AccountIamV2API) ListServicePrincipals(ctx context.Context, request ListServicePrincipalsRequest) listing.Iterator[ServicePrincipal]

Lists the service principals in your account, sorted by Databricks ID. Service principals in your identity provider that haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListServicePrincipalsAll added in v0.172.0

func (a *AccountIamV2API) ListServicePrincipalsAll(ctx context.Context, request ListServicePrincipalsRequest) ([]ServicePrincipal, error)

Lists the service principals in your account, sorted by Databricks ID. Service principals in your identity provider that haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListTransitiveParentGroups added in v0.172.0

func (a *AccountIamV2API) ListTransitiveParentGroups(ctx context.Context, request ListTransitiveParentGroupsRequest) (*ListTransitiveParentGroupsResponse, error)

func (*AccountIamV2API) ListUsers added in v0.172.0

func (a *AccountIamV2API) ListUsers(ctx context.Context, request ListUsersRequest) listing.Iterator[User]

Lists the users in your account, sorted by Databricks ID. Users in your identity provider who haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListUsersAll added in v0.172.0

func (a *AccountIamV2API) ListUsersAll(ctx context.Context, request ListUsersRequest) ([]User, error)

Lists the users in your account, sorted by Databricks ID. Users in your identity provider who haven't been added to Databricks aren't included.

func (*AccountIamV2API) ListWorkspaceAssignmentDetails added in v0.133.0

func (a *AccountIamV2API) ListWorkspaceAssignmentDetails(ctx context.Context, request ListWorkspaceAssignmentDetailsRequest) listing.Iterator[WorkspaceAssignmentDetail]

Lists workspace assignment details for a workspace. The response omits the per-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for a single principal, get that principal's assignment detail.

func (*AccountIamV2API) ListWorkspaceAssignmentDetailsAll added in v0.173.0

func (a *AccountIamV2API) ListWorkspaceAssignmentDetailsAll(ctx context.Context, request ListWorkspaceAssignmentDetailsRequest) ([]WorkspaceAssignmentDetail, error)

Lists workspace assignment details for a workspace. The response omits the per-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for a single principal, get that principal's assignment detail.

func (*AccountIamV2API) ListWorkspaceAssignments added in v0.172.0

func (a *AccountIamV2API) ListWorkspaceAssignments(ctx context.Context, request ListWorkspaceAssignmentsRequest) listing.Iterator[WorkspaceAssignment]

Lists the principals assigned directly to a workspace. The response leaves `entitlements` and `effective_entitlements` empty. To read a principal's entitlements, get its assignment.

func (*AccountIamV2API) ListWorkspaceAssignmentsAll added in v0.173.0

func (a *AccountIamV2API) ListWorkspaceAssignmentsAll(ctx context.Context, request ListWorkspaceAssignmentsRequest) ([]WorkspaceAssignment, error)

Lists the principals assigned directly to a workspace. The response leaves `entitlements` and `effective_entitlements` empty. To read a principal's entitlements, get its assignment.

func (*AccountIamV2API) ResolveGroup

func (a *AccountIamV2API) ResolveGroup(ctx context.Context, request ResolveGroupRequest) (*ResolveGroupResponse, error)

func (*AccountIamV2API) ResolveServicePrincipal

func (a *AccountIamV2API) ResolveServicePrincipal(ctx context.Context, request ResolveServicePrincipalRequest) (*ResolveServicePrincipalResponse, error)

func (*AccountIamV2API) ResolveUser

func (a *AccountIamV2API) ResolveUser(ctx context.Context, request ResolveUserRequest) (*ResolveUserResponse, error)

func (*AccountIamV2API) UpdateGroup added in v0.172.0

func (a *AccountIamV2API) UpdateGroup(ctx context.Context, request UpdateGroupRequest) (*Group, error)

func (*AccountIamV2API) UpdateServicePrincipal added in v0.172.0

func (a *AccountIamV2API) UpdateServicePrincipal(ctx context.Context, request UpdateServicePrincipalRequest) (*ServicePrincipal, error)

func (*AccountIamV2API) UpdateUser added in v0.172.0

func (a *AccountIamV2API) UpdateUser(ctx context.Context, request UpdateUserRequest) (*User, error)

func (*AccountIamV2API) UpdateWorkspaceAssignment added in v0.172.0

func (a *AccountIamV2API) UpdateWorkspaceAssignment(ctx context.Context, request UpdateWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

func (*AccountIamV2API) UpdateWorkspaceAssignmentDetail added in v0.133.0

func (a *AccountIamV2API) UpdateWorkspaceAssignmentDetail(ctx context.Context, request UpdateWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

type AccountIamV2Interface

type AccountIamV2Interface interface {

	// Adds a user, service principal, or group as a direct member of a group.
	//
	// If automatic identity management is on and the group has an `external_id`,
	// its members come from your identity provider and can't be changed in
	// Databricks.
	CreateDirectGroupMember(ctx context.Context, request CreateDirectGroupMemberRequest) (*DirectGroupMember, error)

	// Creates a local group, which is a group that isn't synced from your identity
	// provider (IdP). You become a manager of the new group.
	//
	// If automatic identity management is on, you can't set `external_id`. To add a
	// group from your IdP, get it as an external group instead.
	CreateGroup(ctx context.Context, request CreateGroupRequest) (*Group, error)

	// Creates a group visibility filter. It applies to every workspace in the
	// account.
	//
	// Returns `ALREADY_EXISTS` if a filter with the same ID, or the same type and
	// match value, already exists. Returns `RESOURCE_EXHAUSTED` if the account
	// already has the maximum number of filters of that type. You can't change a
	// filter: to change a rule, delete it and create a new one.
	CreateIdentityVisibilityFilter(ctx context.Context, request CreateIdentityVisibilityFilterRequest) (*IdentityVisibilityFilter, error)

	// Creates a local service principal, which is a service principal that isn't
	// synced from your identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To add a
	// service principal from your IdP, get it as an external service principal
	// instead.
	CreateServicePrincipal(ctx context.Context, request CreateServicePrincipalRequest) (*ServicePrincipal, error)

	// Creates a local user, which is a user that isn't synced from your identity
	// provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To add a
	// user from your IdP, get them as an external user instead.
	CreateUser(ctx context.Context, request CreateUserRequest) (*User, error)

	// Assigns a user, service principal, or group directly to a workspace with the
	// given entitlements. Returns an error if the principal is already assigned
	// directly.
	//
	// Entitlements are granted one at a time. If the request fails partway through,
	// the principal stays assigned with only some of the entitlements. Get the
	// assignment afterwards to check which were granted.
	CreateWorkspaceAssignment(ctx context.Context, request CreateWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

	// Creates a workspace assignment detail for a principal.
	CreateWorkspaceAssignmentDetail(ctx context.Context, request CreateWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

	// Removes a direct member from a group.
	//
	// If automatic identity management is on and the group has an `external_id`,
	// its members come from your identity provider and can't be changed in
	// Databricks.
	DeleteDirectGroupMember(ctx context.Context, request DeleteDirectGroupMemberRequest) error

	// Deletes a group from your account and removes it from the workspaces it's
	// assigned to.
	DeleteGroup(ctx context.Context, request DeleteGroupRequest) error

	// Deletes a group visibility filter. Deleting a filter doesn't delete groups or
	// remove access. Groups that only this filter matched stop being visible,
	// unless they or a parent group are already in your account. If no group
	// filters remain, all groups become visible again. Deleting a filter that
	// doesn't exist succeeds.
	DeleteIdentityVisibilityFilter(ctx context.Context, request DeleteIdentityVisibilityFilterRequest) error

	// Deletes a service principal from your account and removes it from the
	// workspaces it's assigned to. You can't delete service principals that
	// Databricks manages.
	DeleteServicePrincipal(ctx context.Context, request DeleteServicePrincipalRequest) error

	// Deletes a user from your account and removes them from the workspaces they're
	// assigned to.
	DeleteUser(ctx context.Context, request DeleteUserRequest) error

	// Removes a principal's direct assignment to a workspace and revokes the
	// entitlements it granted. The principal keeps any access it gets through
	// groups.
	//
	// Entitlements are revoked one at a time. If the request fails partway through,
	// the principal stays assigned with some of its entitlements. You can retry the
	// request.
	DeleteWorkspaceAssignment(ctx context.Context, request DeleteWorkspaceAssignmentRequest) error

	// Deletes a workspace assignment detail for a principal, revoking all of its
	// entitlements. Entitlements are revoked one at a time rather than atomically.
	// If the request fails partway through, the principal stays assigned with some
	// of its original entitlements. Retrying is safe.
	DeleteWorkspaceAssignmentDetail(ctx context.Context, request DeleteWorkspaceAssignmentDetailRequest) error

	// Gets a direct member of a group, including where the membership comes from.
	// Returns an error if the principal isn't a direct member.
	GetDirectGroupMember(ctx context.Context, request GetDirectGroupMemberRequest) (*DirectGroupMember, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name and
	// parent groups from your IdP. If the group isn't in your account yet, it's
	// added. Requires automatic identity management. If your account has group
	// visibility filters, the group must match them.
	GetExternalGroup(ctx context.Context, request GetExternalGroupRequest) (*ExternalGroup, error)

	// Gets a service principal by its ID in your identity provider (IdP) and syncs
	// its details and group memberships from your IdP. If the service principal
	// isn't in your account yet, it's added. Requires automatic identity management
	// with Microsoft Entra ID as your IdP.
	GetExternalServicePrincipal(ctx context.Context, request GetExternalServicePrincipalRequest) (*ExternalServicePrincipal, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in your
	// account yet, they're added. Requires automatic identity management.
	GetExternalUser(ctx context.Context, request GetExternalUserRequest) (*ExternalUser, error)

	// Gets a group by its Databricks ID.
	GetGroup(ctx context.Context, request GetGroupRequest) (*Group, error)

	// Gets a group visibility filter. It returns the rule, not the groups it
	// matches.
	GetIdentityVisibilityFilter(ctx context.Context, request GetIdentityVisibilityFilterRequest) (*IdentityVisibilityFilter, error)

	// Gets a service principal by its Databricks ID.
	GetServicePrincipal(ctx context.Context, request GetServicePrincipalRequest) (*ServicePrincipal, error)

	// Gets a user by their Databricks ID.
	GetUser(ctx context.Context, request GetUserRequest) (*User, error)

	// Returns the access details for a principal in a workspace. Allows for
	// checking access details for any provisioned principal (user, service
	// principal, or group) in a workspace. * Provisioned principal here refers to
	// one that has been synced into Databricks from the customer's IdP or added
	// explicitly to Databricks via SCIM/UI. Allows for passing in a "view"
	// parameter to control what fields are returned (BASIC by default or FULL).
	GetWorkspaceAccessDetail(ctx context.Context, request GetWorkspaceAccessDetailRequest) (*WorkspaceAccessDetail, error)

	// Gets a principal's direct assignment to a workspace, including its effective
	// entitlements. Returns an error if the principal isn't assigned directly.
	GetWorkspaceAssignment(ctx context.Context, request GetWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

	// Returns the assignment details for a principal in a workspace.
	GetWorkspaceAssignmentDetail(ctx context.Context, request GetWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

	// Lists the direct members of a group, sorted by display name, with where each
	// membership comes from. Members in your identity provider who haven't been
	// added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListDirectGroupMembers(ctx context.Context, request ListDirectGroupMembersRequest) listing.Iterator[DirectGroupMember]

	// Lists the direct members of a group, sorted by display name, with where each
	// membership comes from. Members in your identity provider who haven't been
	// added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListDirectGroupMembersAll(ctx context.Context, request ListDirectGroupMembersRequest) ([]DirectGroupMember, error)

	// Lists the groups in your account, sorted by Databricks ID. Groups in your
	// identity provider that haven't been added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListGroups(ctx context.Context, request ListGroupsRequest) listing.Iterator[Group]

	// Lists the groups in your account, sorted by Databricks ID. Groups in your
	// identity provider that haven't been added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListGroupsAll(ctx context.Context, request ListGroupsRequest) ([]Group, error)

	// Lists the group visibility filters in an account. It returns the rules, not
	// the groups they match.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListIdentityVisibilityFilters(ctx context.Context, request ListIdentityVisibilityFiltersRequest) listing.Iterator[IdentityVisibilityFilter]

	// Lists the group visibility filters in an account. It returns the rules, not
	// the groups they match.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListIdentityVisibilityFiltersAll(ctx context.Context, request ListIdentityVisibilityFiltersRequest) ([]IdentityVisibilityFilter, error)

	// Lists the service principals in your account, sorted by Databricks ID.
	// Service principals in your identity provider that haven't been added to
	// Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListServicePrincipals(ctx context.Context, request ListServicePrincipalsRequest) listing.Iterator[ServicePrincipal]

	// Lists the service principals in your account, sorted by Databricks ID.
	// Service principals in your identity provider that haven't been added to
	// Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListServicePrincipalsAll(ctx context.Context, request ListServicePrincipalsRequest) ([]ServicePrincipal, error)

	// Lists every group that a user, service principal, or group belongs to,
	// directly or through other groups, sorted by Databricks ID. If automatic
	// identity management is on, the principal's group memberships are synced from
	// your identity provider first.
	ListTransitiveParentGroups(ctx context.Context, request ListTransitiveParentGroupsRequest) (*ListTransitiveParentGroupsResponse, error)

	// Lists the users in your account, sorted by Databricks ID. Users in your
	// identity provider who haven't been added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListUsers(ctx context.Context, request ListUsersRequest) listing.Iterator[User]

	// Lists the users in your account, sorted by Databricks ID. Users in your
	// identity provider who haven't been added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListUsersAll(ctx context.Context, request ListUsersRequest) ([]User, error)

	// Lists workspace assignment details for a workspace. The response omits the
	// per-principal entitlement fields (`entitlements` and
	// `effective_entitlements`). To read the entitlements for a single principal,
	// get that principal's assignment detail.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentDetails(ctx context.Context, request ListWorkspaceAssignmentDetailsRequest) listing.Iterator[WorkspaceAssignmentDetail]

	// Lists workspace assignment details for a workspace. The response omits the
	// per-principal entitlement fields (`entitlements` and
	// `effective_entitlements`). To read the entitlements for a single principal,
	// get that principal's assignment detail.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentDetailsAll(ctx context.Context, request ListWorkspaceAssignmentDetailsRequest) ([]WorkspaceAssignmentDetail, error)

	// Lists the principals assigned directly to a workspace. The response leaves
	// `entitlements` and `effective_entitlements` empty. To read a principal's
	// entitlements, get its assignment.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignments(ctx context.Context, request ListWorkspaceAssignmentsRequest) listing.Iterator[WorkspaceAssignment]

	// Lists the principals assigned directly to a workspace. The response leaves
	// `entitlements` and `effective_entitlements` empty. To read a principal's
	// entitlements, get its assignment.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentsAll(ctx context.Context, request ListWorkspaceAssignmentsRequest) ([]WorkspaceAssignment, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name and
	// parent groups from your IdP. If the group isn't in your account yet, it's
	// added. Requires automatic identity management. If your account has group
	// visibility filters, the group must match them.
	ResolveGroup(ctx context.Context, request ResolveGroupRequest) (*ResolveGroupResponse, error)

	// Gets a service principal by its ID in your identity provider (IdP) and syncs
	// its details and group memberships from your IdP. If the service principal
	// isn't in your account yet, it's added. Requires automatic identity management
	// with Microsoft Entra ID as your IdP.
	ResolveServicePrincipal(ctx context.Context, request ResolveServicePrincipalRequest) (*ResolveServicePrincipalResponse, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in your
	// account yet, they're added. Requires automatic identity management.
	ResolveUser(ctx context.Context, request ResolveUserRequest) (*ResolveUserResponse, error)

	// Updates a group. Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the group has an `external_id`,
	// you can only update `external_id`. The group's other fields come from your
	// identity provider. If your account also has group visibility filters, a new
	// `external_id` must match them. You can always clear `external_id`.
	UpdateGroup(ctx context.Context, request UpdateGroupRequest) (*Group, error)

	// Updates a service principal. Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the service principal has an
	// `external_id`, you can only update `external_id`. Its other fields come from
	// your identity provider. A service principal can't deactivate itself, and you
	// can't update service principals that Databricks manages.
	UpdateServicePrincipal(ctx context.Context, request UpdateServicePrincipalRequest) (*ServicePrincipal, error)

	// Updates a user. Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the user has an `external_id`, you
	// can only update `external_id`. The user's other fields come from your
	// identity provider. You can't deactivate yourself or change the status of the
	// account owner.
	UpdateUser(ctx context.Context, request UpdateUserRequest) (*User, error)

	// Replaces the entitlements of a principal's direct assignment to a workspace.
	// The new list can't be empty.
	//
	// Entitlements are changed one at a time. If the request fails partway through,
	// only some of the changes take effect. Get the assignment afterwards to check
	// the result.
	UpdateWorkspaceAssignment(ctx context.Context, request UpdateWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

	// Updates the entitlements of a directly assigned principal in a workspace.
	// Changes are applied one at a time rather than atomically. If the request
	// fails partway through, only some of the requested changes take effect. Get
	// the assignment detail afterwards to confirm the final state.
	UpdateWorkspaceAssignmentDetail(ctx context.Context, request UpdateWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)
}

type AccountIamV2Service deprecated

type AccountIamV2Service interface {

	// Adds a user, service principal, or group as a direct member of a group.
	//
	// If automatic identity management is on and the group has an
	// `external_id`, its members come from your identity provider and can't be
	// changed in Databricks.
	CreateDirectGroupMember(ctx context.Context, request CreateDirectGroupMemberRequest) (*DirectGroupMember, error)

	// Creates a local group, which is a group that isn't synced from your
	// identity provider (IdP). You become a manager of the new group.
	//
	// If automatic identity management is on, you can't set `external_id`. To
	// add a group from your IdP, get it as an external group instead.
	CreateGroup(ctx context.Context, request CreateGroupRequest) (*Group, error)

	// Creates a group visibility filter. It applies to every workspace in the
	// account.
	//
	// Returns `ALREADY_EXISTS` if a filter with the same ID, or the same type
	// and match value, already exists. Returns `RESOURCE_EXHAUSTED` if the
	// account already has the maximum number of filters of that type. You can't
	// change a filter: to change a rule, delete it and create a new one.
	CreateIdentityVisibilityFilter(ctx context.Context, request CreateIdentityVisibilityFilterRequest) (*IdentityVisibilityFilter, error)

	// Creates a local service principal, which is a service principal that
	// isn't synced from your identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To
	// add a service principal from your IdP, get it as an external service
	// principal instead.
	CreateServicePrincipal(ctx context.Context, request CreateServicePrincipalRequest) (*ServicePrincipal, error)

	// Creates a local user, which is a user that isn't synced from your
	// identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To
	// add a user from your IdP, get them as an external user instead.
	CreateUser(ctx context.Context, request CreateUserRequest) (*User, error)

	// Assigns a user, service principal, or group directly to a workspace with
	// the given entitlements. Returns an error if the principal is already
	// assigned directly.
	//
	// Entitlements are granted one at a time. If the request fails partway
	// through, the principal stays assigned with only some of the entitlements.
	// Get the assignment afterwards to check which were granted.
	CreateWorkspaceAssignment(ctx context.Context, request CreateWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

	// Creates a workspace assignment detail for a principal.
	CreateWorkspaceAssignmentDetail(ctx context.Context, request CreateWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

	// Removes a direct member from a group.
	//
	// If automatic identity management is on and the group has an
	// `external_id`, its members come from your identity provider and can't be
	// changed in Databricks.
	DeleteDirectGroupMember(ctx context.Context, request DeleteDirectGroupMemberRequest) error

	// Deletes a group from your account and removes it from the workspaces it's
	// assigned to.
	DeleteGroup(ctx context.Context, request DeleteGroupRequest) error

	// Deletes a group visibility filter. Deleting a filter doesn't delete
	// groups or remove access. Groups that only this filter matched stop being
	// visible, unless they or a parent group are already in your account. If no
	// group filters remain, all groups become visible again. Deleting a filter
	// that doesn't exist succeeds.
	DeleteIdentityVisibilityFilter(ctx context.Context, request DeleteIdentityVisibilityFilterRequest) error

	// Deletes a service principal from your account and removes it from the
	// workspaces it's assigned to. You can't delete service principals that
	// Databricks manages.
	DeleteServicePrincipal(ctx context.Context, request DeleteServicePrincipalRequest) error

	// Deletes a user from your account and removes them from the workspaces
	// they're assigned to.
	DeleteUser(ctx context.Context, request DeleteUserRequest) error

	// Removes a principal's direct assignment to a workspace and revokes the
	// entitlements it granted. The principal keeps any access it gets through
	// groups.
	//
	// Entitlements are revoked one at a time. If the request fails partway
	// through, the principal stays assigned with some of its entitlements. You
	// can retry the request.
	DeleteWorkspaceAssignment(ctx context.Context, request DeleteWorkspaceAssignmentRequest) error

	// Deletes a workspace assignment detail for a principal, revoking all of
	// its entitlements. Entitlements are revoked one at a time rather than
	// atomically. If the request fails partway through, the principal stays
	// assigned with some of its original entitlements. Retrying is safe.
	DeleteWorkspaceAssignmentDetail(ctx context.Context, request DeleteWorkspaceAssignmentDetailRequest) error

	// Gets a direct member of a group, including where the membership comes
	// from. Returns an error if the principal isn't a direct member.
	GetDirectGroupMember(ctx context.Context, request GetDirectGroupMemberRequest) (*DirectGroupMember, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name
	// and parent groups from your IdP. If the group isn't in your account yet,
	// it's added. Requires automatic identity management. If your account has
	// group visibility filters, the group must match them.
	GetExternalGroup(ctx context.Context, request GetExternalGroupRequest) (*ExternalGroup, error)

	// Gets a service principal by its ID in your identity provider (IdP) and
	// syncs its details and group memberships from your IdP. If the service
	// principal isn't in your account yet, it's added. Requires automatic
	// identity management with Microsoft Entra ID as your IdP.
	GetExternalServicePrincipal(ctx context.Context, request GetExternalServicePrincipalRequest) (*ExternalServicePrincipal, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in your
	// account yet, they're added. Requires automatic identity management.
	GetExternalUser(ctx context.Context, request GetExternalUserRequest) (*ExternalUser, error)

	// Gets a group by its Databricks ID.
	GetGroup(ctx context.Context, request GetGroupRequest) (*Group, error)

	// Gets a group visibility filter. It returns the rule, not the groups it
	// matches.
	GetIdentityVisibilityFilter(ctx context.Context, request GetIdentityVisibilityFilterRequest) (*IdentityVisibilityFilter, error)

	// Gets a service principal by its Databricks ID.
	GetServicePrincipal(ctx context.Context, request GetServicePrincipalRequest) (*ServicePrincipal, error)

	// Gets a user by their Databricks ID.
	GetUser(ctx context.Context, request GetUserRequest) (*User, error)

	// Returns the access details for a principal in a workspace. Allows for
	// checking access details for any provisioned principal (user, service
	// principal, or group) in a workspace. * Provisioned principal here refers
	// to one that has been synced into Databricks from the customer's IdP or
	// added explicitly to Databricks via SCIM/UI. Allows for passing in a
	// "view" parameter to control what fields are returned (BASIC by default or
	// FULL).
	GetWorkspaceAccessDetail(ctx context.Context, request GetWorkspaceAccessDetailRequest) (*WorkspaceAccessDetail, error)

	// Gets a principal's direct assignment to a workspace, including its
	// effective entitlements. Returns an error if the principal isn't assigned
	// directly.
	GetWorkspaceAssignment(ctx context.Context, request GetWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

	// Returns the assignment details for a principal in a workspace.
	GetWorkspaceAssignmentDetail(ctx context.Context, request GetWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)

	// Lists the direct members of a group, sorted by display name, with where
	// each membership comes from. Members in your identity provider who haven't
	// been added to Databricks aren't included.
	ListDirectGroupMembers(ctx context.Context, request ListDirectGroupMembersRequest) (*ListDirectGroupMembersResponse, error)

	// Lists the groups in your account, sorted by Databricks ID. Groups in your
	// identity provider that haven't been added to Databricks aren't included.
	ListGroups(ctx context.Context, request ListGroupsRequest) (*ListGroupsResponse, error)

	// Lists the group visibility filters in an account. It returns the rules,
	// not the groups they match.
	ListIdentityVisibilityFilters(ctx context.Context, request ListIdentityVisibilityFiltersRequest) (*ListIdentityVisibilityFiltersResponse, error)

	// Lists the service principals in your account, sorted by Databricks ID.
	// Service principals in your identity provider that haven't been added to
	// Databricks aren't included.
	ListServicePrincipals(ctx context.Context, request ListServicePrincipalsRequest) (*ListServicePrincipalsResponse, error)

	// Lists every group that a user, service principal, or group belongs to,
	// directly or through other groups, sorted by Databricks ID. If automatic
	// identity management is on, the principal's group memberships are synced
	// from your identity provider first.
	ListTransitiveParentGroups(ctx context.Context, request ListTransitiveParentGroupsRequest) (*ListTransitiveParentGroupsResponse, error)

	// Lists the users in your account, sorted by Databricks ID. Users in your
	// identity provider who haven't been added to Databricks aren't included.
	ListUsers(ctx context.Context, request ListUsersRequest) (*ListUsersResponse, error)

	// Lists workspace assignment details for a workspace. The response omits
	// the per-principal entitlement fields (`entitlements` and
	// `effective_entitlements`). To read the entitlements for a single
	// principal, get that principal's assignment detail.
	ListWorkspaceAssignmentDetails(ctx context.Context, request ListWorkspaceAssignmentDetailsRequest) (*ListWorkspaceAssignmentDetailsResponse, error)

	// Lists the principals assigned directly to a workspace. The response
	// leaves `entitlements` and `effective_entitlements` empty. To read a
	// principal's entitlements, get its assignment.
	ListWorkspaceAssignments(ctx context.Context, request ListWorkspaceAssignmentsRequest) (*ListWorkspaceAssignmentsResponse, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name
	// and parent groups from your IdP. If the group isn't in your account yet,
	// it's added. Requires automatic identity management. If your account has
	// group visibility filters, the group must match them.
	ResolveGroup(ctx context.Context, request ResolveGroupRequest) (*ResolveGroupResponse, error)

	// Gets a service principal by its ID in your identity provider (IdP) and
	// syncs its details and group memberships from your IdP. If the service
	// principal isn't in your account yet, it's added. Requires automatic
	// identity management with Microsoft Entra ID as your IdP.
	ResolveServicePrincipal(ctx context.Context, request ResolveServicePrincipalRequest) (*ResolveServicePrincipalResponse, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in your
	// account yet, they're added. Requires automatic identity management.
	ResolveUser(ctx context.Context, request ResolveUserRequest) (*ResolveUserResponse, error)

	// Updates a group. Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the group has an
	// `external_id`, you can only update `external_id`. The group's other
	// fields come from your identity provider. If your account also has group
	// visibility filters, a new `external_id` must match them. You can always
	// clear `external_id`.
	UpdateGroup(ctx context.Context, request UpdateGroupRequest) (*Group, error)

	// Updates a service principal. Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the service principal has an
	// `external_id`, you can only update `external_id`. Its other fields come
	// from your identity provider. A service principal can't deactivate itself,
	// and you can't update service principals that Databricks manages.
	UpdateServicePrincipal(ctx context.Context, request UpdateServicePrincipalRequest) (*ServicePrincipal, error)

	// Updates a user. Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the user has an `external_id`,
	// you can only update `external_id`. The user's other fields come from your
	// identity provider. You can't deactivate yourself or change the status of
	// the account owner.
	UpdateUser(ctx context.Context, request UpdateUserRequest) (*User, error)

	// Replaces the entitlements of a principal's direct assignment to a
	// workspace. The new list can't be empty.
	//
	// Entitlements are changed one at a time. If the request fails partway
	// through, only some of the changes take effect. Get the assignment
	// afterwards to check the result.
	UpdateWorkspaceAssignment(ctx context.Context, request UpdateWorkspaceAssignmentRequest) (*WorkspaceAssignment, error)

	// Updates the entitlements of a directly assigned principal in a workspace.
	// Changes are applied one at a time rather than atomically. If the request
	// fails partway through, only some of the requested changes take effect.
	// Get the assignment detail afterwards to confirm the final state.
	UpdateWorkspaceAssignmentDetail(ctx context.Context, request UpdateWorkspaceAssignmentDetailRequest) (*WorkspaceAssignmentDetail, error)
}

These APIs are used to manage identities and the workspace access of these identities in Databricks.

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

type CreateDirectGroupMemberProxyRequest added in v0.172.0

type CreateDirectGroupMemberProxyRequest struct {
	// The member to add. Set its `principal_id`.
	DirectGroupMember DirectGroupMember `json:"direct_group_member"`
	// The resource name of the group to add the member to, in the format
	// `groups/{group_id}`.
	Parent string `json:"-" url:"-"`
}

func (*CreateDirectGroupMemberProxyRequest) UnmarshalJSON added in v0.174.0

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

type CreateDirectGroupMemberRequest added in v0.172.0

type CreateDirectGroupMemberRequest struct {
	// The member to add. Set its `principal_id`.
	DirectGroupMember DirectGroupMember `json:"direct_group_member"`
	// The resource name of the group to add the member to, in the format
	// `accounts/{account_id}/groups/{group_id}`.
	Parent string `json:"-" url:"-"`
}

func (*CreateDirectGroupMemberRequest) UnmarshalJSON added in v0.174.0

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

type CreateGroupProxyRequest added in v0.172.0

type CreateGroupProxyRequest struct {
	// The group to create.
	Group Group `json:"group"`
	// The resource name of the account to create the group in, in the format
	// `accounts/{account_id}`. Defaults to the account that contains this
	// workspace. Any other account is rejected.
	Parent string `json:"-" url:"parent,omitempty"`

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

func (CreateGroupProxyRequest) MarshalJSON

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

func (*CreateGroupProxyRequest) UnmarshalJSON added in v0.174.0

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

type CreateGroupRequest added in v0.172.0

type CreateGroupRequest struct {
	// The group to create.
	Group Group `json:"group"`
	// The resource name of the account to create the group in, in the format
	// `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`
}

func (*CreateGroupRequest) UnmarshalJSON added in v0.174.0

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

type CreateIdentityVisibilityFilterRequest

type CreateIdentityVisibilityFilterRequest struct {
	// The filter to create. Set `principal_type` to `GROUP` and exactly one of
	// `exact`, `prefix`, or `regex`. Databricks sets `name`, so any value you
	// set is ignored.
	IdentityVisibilityFilter IdentityVisibilityFilter `json:"identity_visibility_filter"`
	// The ID to give the filter, which becomes the last part of its resource
	// name. If you leave it empty, Databricks generates one. It can't contain
	// `/`.
	IdentityVisibilityFilterId string `json:"-" url:"identity_visibility_filter_id,omitempty"`
	// The resource name of the account, in the format `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`

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

func (CreateIdentityVisibilityFilterRequest) MarshalJSON

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

func (*CreateIdentityVisibilityFilterRequest) UnmarshalJSON

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

type CreateServicePrincipalProxyRequest added in v0.172.0

type CreateServicePrincipalProxyRequest struct {
	// The resource name of the account to create the service principal in, in
	// the format `accounts/{account_id}`. Defaults to the account that contains
	// this workspace. Any other account is rejected.
	Parent string `json:"-" url:"parent,omitempty"`
	// The service principal to create.
	ServicePrincipal ServicePrincipal `json:"service_principal"`

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

func (CreateServicePrincipalProxyRequest) MarshalJSON

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

func (*CreateServicePrincipalProxyRequest) UnmarshalJSON added in v0.174.0

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

type CreateServicePrincipalRequest added in v0.172.0

type CreateServicePrincipalRequest struct {
	// The resource name of the account to create the service principal in, in
	// the format `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`
	// The service principal to create.
	ServicePrincipal ServicePrincipal `json:"service_principal"`
}

func (*CreateServicePrincipalRequest) UnmarshalJSON added in v0.174.0

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

type CreateUserProxyRequest added in v0.172.0

type CreateUserProxyRequest struct {
	// The resource name of the account to create the user in, in the format
	// `accounts/{account_id}`. Defaults to the account that contains this
	// workspace. Any other account is rejected.
	Parent string `json:"-" url:"parent,omitempty"`
	// The user to create.
	User User `json:"user"`

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

func (CreateUserProxyRequest) MarshalJSON

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

func (*CreateUserProxyRequest) UnmarshalJSON added in v0.174.0

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

type CreateUserRequest added in v0.172.0

type CreateUserRequest struct {
	// The resource name of the account to create the user in, in the format
	// `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`
	// The user to create.
	User User `json:"user"`
}

func (*CreateUserRequest) UnmarshalJSON added in v0.174.0

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

type CreateWorkspaceAssignmentDetailProxyRequest added in v0.133.0

type CreateWorkspaceAssignmentDetailProxyRequest struct {
	// Required. Workspace assignment detail to be created in Databricks.
	WorkspaceAssignmentDetail WorkspaceAssignmentDetail `json:"workspace_assignment_detail"`
}

func (*CreateWorkspaceAssignmentDetailProxyRequest) UnmarshalJSON added in v0.174.0

type CreateWorkspaceAssignmentDetailRequest added in v0.133.0

type CreateWorkspaceAssignmentDetailRequest struct {
	// Required. Workspace assignment detail to be created in Databricks.
	WorkspaceAssignmentDetail WorkspaceAssignmentDetail `json:"workspace_assignment_detail"`
	// Required. The workspace ID for which the workspace assignment detail is
	// being created.
	WorkspaceId int64 `json:"-" url:"-"`
}

func (*CreateWorkspaceAssignmentDetailRequest) UnmarshalJSON added in v0.174.0

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

type CreateWorkspaceAssignmentProxyRequest added in v0.172.0

type CreateWorkspaceAssignmentProxyRequest struct {
	// The resource name of the workspace, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}`. Defaults to this
	// workspace. Any other workspace is rejected.
	Parent string `json:"-" url:"parent,omitempty"`
	// The assignment to create. Set its `principal_id` and `entitlements`.
	WorkspaceAssignment WorkspaceAssignment `json:"workspace_assignment"`

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

func (CreateWorkspaceAssignmentProxyRequest) MarshalJSON

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

func (*CreateWorkspaceAssignmentProxyRequest) UnmarshalJSON added in v0.174.0

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

type CreateWorkspaceAssignmentRequest added in v0.172.0

type CreateWorkspaceAssignmentRequest struct {
	// The resource name of the workspace, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}`.
	Parent string `json:"-" url:"-"`
	// The assignment to create. Set its `principal_id` and `entitlements`.
	WorkspaceAssignment WorkspaceAssignment `json:"workspace_assignment"`
}

func (*CreateWorkspaceAssignmentRequest) UnmarshalJSON added in v0.174.0

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

type DeleteDirectGroupMemberProxyRequest added in v0.172.0

type DeleteDirectGroupMemberProxyRequest struct {
	// The resource name of the membership, in the format
	// `groups/{group_id}/direct-members/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteDirectGroupMemberProxyRequest) UnmarshalJSON added in v0.174.0

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

type DeleteDirectGroupMemberRequest added in v0.172.0

type DeleteDirectGroupMemberRequest struct {
	// The resource name of the membership, in the format
	// `accounts/{account_id}/groups/{group_id}/direct-members/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteDirectGroupMemberRequest) UnmarshalJSON added in v0.174.0

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

type DeleteGroupProxyRequest added in v0.172.0

type DeleteGroupProxyRequest struct {
	// The resource name of the group, in the format `groups/{group_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteGroupProxyRequest) UnmarshalJSON added in v0.174.0

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

type DeleteGroupRequest added in v0.172.0

type DeleteGroupRequest struct {
	// The resource name of the group, in the format
	// `accounts/{account_id}/groups/{group_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteGroupRequest) UnmarshalJSON added in v0.174.0

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

type DeleteIdentityVisibilityFilterRequest

type DeleteIdentityVisibilityFilterRequest struct {
	// The resource name of the filter, in the format
	// `accounts/{account_id}/identity-visibility-filters/{identity_visibility_filter_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteIdentityVisibilityFilterRequest) UnmarshalJSON

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

type DeleteServicePrincipalProxyRequest added in v0.172.0

type DeleteServicePrincipalProxyRequest struct {
	// The resource name of the service principal, in the format
	// `service-principals/{service_principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteServicePrincipalProxyRequest) UnmarshalJSON added in v0.174.0

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

type DeleteServicePrincipalRequest added in v0.172.0

type DeleteServicePrincipalRequest struct {
	// The resource name of the service principal, in the format
	// `accounts/{account_id}/service-principals/{service_principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteServicePrincipalRequest) UnmarshalJSON added in v0.174.0

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

type DeleteUserProxyRequest added in v0.172.0

type DeleteUserProxyRequest struct {
	// The resource name of the user, in the format `users/{user_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteUserProxyRequest) UnmarshalJSON added in v0.174.0

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

type DeleteUserRequest added in v0.172.0

type DeleteUserRequest struct {
	// The resource name of the user, in the format
	// `accounts/{account_id}/users/{user_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteUserRequest) UnmarshalJSON added in v0.174.0

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

type DeleteWorkspaceAssignmentDetailProxyRequest added in v0.133.0

type DeleteWorkspaceAssignmentDetailProxyRequest struct {
	// Required. ID of the principal in Databricks to delete workspace
	// assignment for.
	PrincipalId int64 `json:"-" url:"-"`
}

func (*DeleteWorkspaceAssignmentDetailProxyRequest) UnmarshalJSON added in v0.174.0

type DeleteWorkspaceAssignmentDetailRequest added in v0.133.0

type DeleteWorkspaceAssignmentDetailRequest struct {
	// Required. ID of the principal in Databricks to delete workspace
	// assignment for.
	PrincipalId int64 `json:"-" url:"-"`
	// The workspace ID where the principal has access.
	WorkspaceId int64 `json:"-" url:"-"`
}

func (*DeleteWorkspaceAssignmentDetailRequest) UnmarshalJSON added in v0.174.0

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

type DeleteWorkspaceAssignmentProxyRequest added in v0.172.0

type DeleteWorkspaceAssignmentProxyRequest struct {
	// The resource name of the assignment, in the format
	// `workspace-assignments/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteWorkspaceAssignmentProxyRequest) UnmarshalJSON added in v0.174.0

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

type DeleteWorkspaceAssignmentRequest added in v0.172.0

type DeleteWorkspaceAssignmentRequest struct {
	// The resource name of the assignment, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*DeleteWorkspaceAssignmentRequest) UnmarshalJSON added in v0.174.0

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

type DirectGroupMember added in v0.172.0

type DirectGroupMember struct {
	// The member's display name.
	DisplayName string `json:"display_name,omitempty"`
	// The ID of the member in your identity provider (IdP).
	ExternalId string `json:"external_id,omitempty"`
	// The Databricks ID of the group.
	GroupId int64 `json:"group_id,omitempty"`
	// Where the membership comes from.
	MembershipSource GroupMembershipSource `json:"membership_source,omitempty"`
	// The resource name of the membership, in one of these formats: - Account
	// APIs:
	// `accounts/{account_id}/groups/{group_id}/direct-members/{principal_id}` -
	// Workspace APIs: `groups/{group_id}/direct-members/{principal_id}`
	Name string `json:"name,omitempty"`
	// The resource name of the group, in one of these formats: - Account APIs:
	// `accounts/{account_id}/groups/{group_id}` - Workspace APIs:
	// `groups/{group_id}`
	Parent string `json:"parent,omitempty"`
	// The Databricks ID of the member.
	PrincipalId int64 `json:"principal_id"`
	// Whether the member is a user, service principal, or group.
	PrincipalType PrincipalType `json:"principal_type,omitempty"`

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

A user, service principal, or group that's a direct member of a group.

func (DirectGroupMember) MarshalJSON added in v0.172.0

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

func (*DirectGroupMember) UnmarshalJSON added in v0.172.0

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

type Entitlement added in v0.133.0

type Entitlement string

A permission to use part of a Databricks workspace.

const EntitlementAllowClusterCreate Entitlement = `ALLOW_CLUSTER_CREATE`
const EntitlementAllowInstancePoolCreate Entitlement = `ALLOW_INSTANCE_POOL_CREATE`
const EntitlementDatabricksSqlAccess Entitlement = `DATABRICKS_SQL_ACCESS`
const EntitlementWorkspaceAccess Entitlement = `WORKSPACE_ACCESS`
const EntitlementWorkspaceAdmin Entitlement = `WORKSPACE_ADMIN`
const EntitlementWorkspaceConsume Entitlement = `WORKSPACE_CONSUME`

func (*Entitlement) Set added in v0.133.0

func (f *Entitlement) Set(v string) error

Set raw string value and validate it against allowed values

func (*Entitlement) String added in v0.133.0

func (f *Entitlement) String() string

String representation for fmt.Print

func (*Entitlement) Type added in v0.133.0

func (f *Entitlement) Type() string

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

func (*Entitlement) Values added in v0.133.0

func (f *Entitlement) Values() []Entitlement

Values returns all possible values for Entitlement.

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

type ExactMatchRule

type ExactMatchRule struct {
	// The ID of the group in your IdP, not its Databricks ID. It's matched
	// exactly, including case.
	ExternalId string `json:"external_id"`
}

A rule that matches a group by its ID in your identity provider (IdP).

func (*ExactMatchRule) UnmarshalJSON

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

type ExternalGroup added in v0.177.0

type ExternalGroup struct {
	// The ID of the account that contains the group.
	AccountId string `json:"account_id,omitempty"`
	// The name of the group, from your IdP. It's the same as the group's
	// `group_name`.
	DisplayName string `json:"display_name,omitempty"`
	// The ID of the group in your IdP.
	ExternalGroupId string `json:"external_group_id,omitempty"`
	// The Databricks ID of the group. Use it as the `group_id` in the group
	// APIs.
	InternalId string `json:"internal_id,omitempty"`
	// The resource name of the external group, in one of these formats: -
	// Account APIs: `accounts/{account_id}/external-groups/{external_group_id}`
	// - Workspace APIs: `external-groups/{external_group_id}`
	Name string `json:"name,omitempty"`

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

A group from your identity provider (IdP), identified by its ID in your IdP. This resource is read-only. Getting an external group syncs its name and parent groups from your IdP, and adds it to your account if it isn't already there. If your account has group visibility filters, the group must match them.

func (ExternalGroup) MarshalJSON added in v0.177.0

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

func (*ExternalGroup) UnmarshalJSON added in v0.177.0

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

type ExternalServicePrincipal added in v0.177.0

type ExternalServicePrincipal struct {
	// The ID of the account that contains the service principal.
	AccountId string `json:"account_id,omitempty"`
	// Whether the service principal is active in the account.
	AccountSpStatus State `json:"account_sp_status,omitempty"`
	// The service principal's application ID, from your IdP.
	ApplicationId string `json:"application_id,omitempty"`
	// The service principal's display name, from your IdP.
	DisplayName string `json:"display_name,omitempty"`
	// The ID of the service principal in your IdP.
	ExternalServicePrincipalId string `json:"external_service_principal_id,omitempty"`
	// The Databricks ID of the service principal. Use it as the
	// `service_principal_id` in the service principal APIs.
	InternalId string `json:"internal_id,omitempty"`
	// The resource name of the external service principal, in one of these
	// formats: - Account APIs:
	// `accounts/{account_id}/external-service-principals/{external_service_principal_id}`
	// - Workspace APIs:
	// `external-service-principals/{external_service_principal_id}`
	Name string `json:"name,omitempty"`

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

A service principal from your identity provider (IdP), identified by its ID in your IdP. This resource is read-only and requires Microsoft Entra ID as your IdP. Getting an external service principal syncs its details and group memberships from your IdP, and adds it to your account if it isn't already there.

func (ExternalServicePrincipal) MarshalJSON added in v0.177.0

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

func (*ExternalServicePrincipal) UnmarshalJSON added in v0.177.0

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

type ExternalUser added in v0.177.0

type ExternalUser struct {
	// The ID of the account that contains the user.
	AccountId string `json:"account_id,omitempty"`
	// Whether the user is active in the account.
	AccountUserStatus State `json:"account_user_status,omitempty"`
	// The user's given and family names from your IdP, separated by a space.
	DisplayName string `json:"display_name,omitempty"`
	// The ID of the user in your IdP.
	ExternalUserId string `json:"external_user_id,omitempty"`
	// The user's name, from your IdP.
	FullName *FullName `json:"full_name,omitempty"`
	// The Databricks ID of the user. Use it as the `user_id` in the user APIs.
	InternalId string `json:"internal_id,omitempty"`
	// The resource name of the external user, in one of these formats: -
	// Account APIs: `accounts/{account_id}/external-users/{external_user_id}` -
	// Workspace APIs: `external-users/{external_user_id}`
	Name string `json:"name,omitempty"`
	// The user's username, which is their email address.
	Username string `json:"username,omitempty"`

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

A user from your identity provider (IdP), identified by their ID in your IdP. This resource is read-only. Getting an external user syncs the user's details and group memberships from your IdP, and adds the user to your account if they aren't already there.

func (ExternalUser) MarshalJSON added in v0.177.0

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

func (*ExternalUser) UnmarshalJSON added in v0.177.0

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

type FullName added in v0.177.0

type FullName struct {
	// The user's family (last) name.
	FamilyName string `json:"family_name,omitempty"`
	// The user's given (first) name.
	GivenName string `json:"given_name,omitempty"`

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

A user's name, from your identity provider (IdP).

func (FullName) MarshalJSON added in v0.177.0

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

func (*FullName) UnmarshalJSON added in v0.177.0

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

type GetDirectGroupMemberProxyRequest added in v0.172.0

type GetDirectGroupMemberProxyRequest struct {
	// The resource name of the membership, in the format
	// `groups/{group_id}/direct-members/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetDirectGroupMemberProxyRequest) UnmarshalJSON added in v0.174.0

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

type GetDirectGroupMemberRequest added in v0.172.0

type GetDirectGroupMemberRequest struct {
	// The resource name of the membership, in the format
	// `accounts/{account_id}/groups/{group_id}/direct-members/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetDirectGroupMemberRequest) UnmarshalJSON added in v0.174.0

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

type GetExternalGroupProxyRequest added in v0.177.0

type GetExternalGroupProxyRequest struct {
	// The resource name of the external group, in the format
	// `external-groups/{external_group_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetExternalGroupProxyRequest) UnmarshalJSON added in v0.177.0

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

type GetExternalGroupRequest added in v0.177.0

type GetExternalGroupRequest struct {
	// The resource name of the external group, in the format
	// `accounts/{account_id}/external-groups/{external_group_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetExternalGroupRequest) UnmarshalJSON added in v0.177.0

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

type GetExternalServicePrincipalProxyRequest added in v0.177.0

type GetExternalServicePrincipalProxyRequest struct {
	// The resource name of the external service principal, in the format
	// `external-service-principals/{external_service_principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetExternalServicePrincipalProxyRequest) UnmarshalJSON added in v0.177.0

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

type GetExternalServicePrincipalRequest added in v0.177.0

type GetExternalServicePrincipalRequest struct {
	// The resource name of the external service principal, in the format
	// `accounts/{account_id}/external-service-principals/{external_service_principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetExternalServicePrincipalRequest) UnmarshalJSON added in v0.177.0

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

type GetExternalUserProxyRequest added in v0.177.0

type GetExternalUserProxyRequest struct {
	// The resource name of the external user, in the format
	// `external-users/{external_user_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetExternalUserProxyRequest) UnmarshalJSON added in v0.177.0

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

type GetExternalUserRequest added in v0.177.0

type GetExternalUserRequest struct {
	// The resource name of the external user, in the format
	// `accounts/{account_id}/external-users/{external_user_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetExternalUserRequest) UnmarshalJSON added in v0.177.0

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

type GetGroupProxyRequest added in v0.172.0

type GetGroupProxyRequest struct {
	// The resource name of the group, in the format `groups/{group_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetGroupProxyRequest) UnmarshalJSON added in v0.174.0

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

type GetGroupRequest added in v0.172.0

type GetGroupRequest struct {
	// The resource name of the group, in the format
	// `accounts/{account_id}/groups/{group_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetGroupRequest) UnmarshalJSON added in v0.174.0

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

type GetIdentityVisibilityFilterRequest

type GetIdentityVisibilityFilterRequest struct {
	// The resource name of the filter, in the format
	// `accounts/{account_id}/identity-visibility-filters/{identity_visibility_filter_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetIdentityVisibilityFilterRequest) UnmarshalJSON

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

type GetServicePrincipalProxyRequest added in v0.172.0

type GetServicePrincipalProxyRequest struct {
	// The resource name of the service principal, in the format
	// `service-principals/{service_principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetServicePrincipalProxyRequest) UnmarshalJSON added in v0.174.0

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

type GetServicePrincipalRequest added in v0.172.0

type GetServicePrincipalRequest struct {
	// The resource name of the service principal, in the format
	// `accounts/{account_id}/service-principals/{service_principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetServicePrincipalRequest) UnmarshalJSON added in v0.174.0

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

type GetUserProxyRequest added in v0.172.0

type GetUserProxyRequest struct {
	// The resource name of the user, in the format `users/{user_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetUserProxyRequest) UnmarshalJSON added in v0.174.0

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

type GetUserRequest added in v0.172.0

type GetUserRequest struct {
	// The resource name of the user, in the format
	// `accounts/{account_id}/users/{user_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetUserRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceAccessDetailLocalRequest

type GetWorkspaceAccessDetailLocalRequest struct {
	// The resource name of the workspace access detail. Format:
	// workspace-access-details/{principal_id}
	Name string `json:"-" url:"-"`
	// Controls what fields are returned.
	View WorkspaceAccessDetailView `json:"-" url:"view,omitempty"`
}

func (*GetWorkspaceAccessDetailLocalRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceAccessDetailRequest

type GetWorkspaceAccessDetailRequest struct {
	// The resource name of the workspace access detail. Format:
	// accounts/{account_id}/workspaces/{workspace_id}/workspace-access-details/{principal_id}
	Name string `json:"-" url:"-"`
	// Controls what fields are returned.
	View WorkspaceAccessDetailView `json:"-" url:"view,omitempty"`
}

func (*GetWorkspaceAccessDetailRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceAssignmentDetailProxyRequest added in v0.133.0

type GetWorkspaceAssignmentDetailProxyRequest struct {
	// Required. The internal ID of the principal (user/sp/group) for which the
	// assignment details are being requested.
	PrincipalId int64 `json:"-" url:"-"`
}

func (*GetWorkspaceAssignmentDetailProxyRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceAssignmentDetailRequest added in v0.133.0

type GetWorkspaceAssignmentDetailRequest struct {
	// Required. The internal ID of the principal (user/sp/group) for which the
	// assignment details are being requested.
	PrincipalId int64 `json:"-" url:"-"`
	// Required. The workspace ID for which the assignment details are being
	// requested.
	WorkspaceId int64 `json:"-" url:"-"`
}

func (*GetWorkspaceAssignmentDetailRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceAssignmentProxyRequest added in v0.172.0

type GetWorkspaceAssignmentProxyRequest struct {
	// The resource name of the assignment, in the format
	// `workspace-assignments/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetWorkspaceAssignmentProxyRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceAssignmentRequest added in v0.172.0

type GetWorkspaceAssignmentRequest struct {
	// The resource name of the assignment, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}`.
	Name string `json:"-" url:"-"`
}

func (*GetWorkspaceAssignmentRequest) UnmarshalJSON added in v0.174.0

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

type GetWorkspaceIdentityDetailRequest added in v0.172.0

type GetWorkspaceIdentityDetailRequest struct {
	// The resource name of the workspace identity detail, in the format
	// `principals/{principal_id}/workspace-identity-detail`.
	Name string `json:"-" url:"-"`
}

func (*GetWorkspaceIdentityDetailRequest) UnmarshalJSON added in v0.174.0

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

type Group

type Group struct {
	// The ID of the account that contains the group.
	AccountId string `json:"account_id,omitempty"`
	// The ID of the group in your identity provider (IdP).
	ExternalId string `json:"external_id,omitempty"`
	// The Databricks ID of the group.
	GroupId string `json:"group_id,omitempty"`
	// The name of the group.
	GroupName string `json:"group_name,omitempty"`
	// The resource name of the group, in one of these formats: - Account APIs:
	// `accounts/{account_id}/groups/{group_id}` - Workspace APIs:
	// `groups/{group_id}`
	Name string `json:"name,omitempty"`
	// The resource name of the account that contains the group, in the format
	// `accounts/{account_id}`. Workspace APIs return the same format.
	Parent string `json:"parent,omitempty"`

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

A group in your Databricks account.

func (Group) MarshalJSON

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

func (*Group) UnmarshalJSON

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

type GroupMembershipSource added in v0.172.0

type GroupMembershipSource string

Where a group membership comes from.

const GroupMembershipSourceIdentityProvider GroupMembershipSource = `IDENTITY_PROVIDER`
const GroupMembershipSourceInternal GroupMembershipSource = `INTERNAL`

func (*GroupMembershipSource) Set added in v0.172.0

Set raw string value and validate it against allowed values

func (*GroupMembershipSource) String added in v0.172.0

func (f *GroupMembershipSource) String() string

String representation for fmt.Print

func (*GroupMembershipSource) Type added in v0.172.0

func (f *GroupMembershipSource) Type() string

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

func (*GroupMembershipSource) Values added in v0.172.0

Values returns all possible values for GroupMembershipSource.

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

type IdentityVisibilityFilter

type IdentityVisibilityFilter struct {
	// Matches a group by its ID in your IdP.
	Exact *ExactMatchRule `json:"exact,omitempty"`
	// The resource name of the filter, in the format
	// `accounts/{account_id}/identity-visibility-filters/{identity_visibility_filter_id}`.
	Name string `json:"name,omitempty"`
	// Matches groups whose display name starts with a prefix.
	Prefix *PrefixMatchRule `json:"prefix,omitempty"`
	// The type of principal the filter applies to. Set it to `GROUP`. Other
	// types aren't supported.
	PrincipalType PrincipalType `json:"principal_type"`
	// Matches groups whose display name matches a regular expression.
	Regex *RegexMatchRule `json:"regex,omitempty"`

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

An account-level rule that controls which groups from your identity provider (IdP) can be found in directory search and group pickers when automatic identity management is on. Filters apply to every workspace in the account.

If you have no group filters, all groups are visible. Otherwise, a group is visible if it or any of its parent groups matches at least one filter. A group is also visible if it or any of its parent groups is already in your account. Local Databricks groups are always visible.

You can only create group filters. Filters don't affect provisioning or sign-in for users and service principals. You can't change a filter: to change a rule, delete it and create a new one.

func (IdentityVisibilityFilter) MarshalJSON

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

func (*IdentityVisibilityFilter) UnmarshalJSON

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

type ListDirectGroupMembersProxyRequest added in v0.172.0

type ListDirectGroupMembersProxyRequest struct {
	// The maximum number of members to return, up to 1000. The default is 1000.
	// A page can contain fewer members.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the group, in the format `groups/{group_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListDirectGroupMembersProxyRequest) MarshalJSON added in v0.172.0

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

func (*ListDirectGroupMembersProxyRequest) UnmarshalJSON added in v0.172.0

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

type ListDirectGroupMembersRequest added in v0.172.0

type ListDirectGroupMembersRequest struct {
	// The maximum number of members to return, up to 1000. The default is 1000.
	// A page can contain fewer members.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the group, in the format
	// `accounts/{account_id}/groups/{group_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListDirectGroupMembersRequest) MarshalJSON added in v0.172.0

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

func (*ListDirectGroupMembersRequest) UnmarshalJSON added in v0.172.0

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

type ListDirectGroupMembersResponse added in v0.172.0

type ListDirectGroupMembersResponse struct {
	// The members on this page.
	DirectGroupMembers []DirectGroupMember `json:"direct_group_members,omitempty"`
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`

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

A page of direct members of a group.

func (ListDirectGroupMembersResponse) MarshalJSON added in v0.172.0

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

func (*ListDirectGroupMembersResponse) UnmarshalJSON added in v0.172.0

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

type ListGroupsProxyRequest added in v0.172.0

type ListGroupsProxyRequest struct {
	// Filters groups by `group_name` or `external_id`, for example `group_name
	// eq "Data engineers"`. Put the value in quotes.
	Filter string `json:"-" url:"filter,omitempty"`
	// The maximum number of groups to return, up to 1000. The default is 1000.
	// A page can contain fewer groups.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account to list groups in, in the format
	// `accounts/{account_id}`. Defaults to the account that contains this
	// workspace. Any other account is rejected.
	Parent string `json:"-" url:"parent,omitempty"`

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

func (ListGroupsProxyRequest) MarshalJSON added in v0.172.0

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

func (*ListGroupsProxyRequest) UnmarshalJSON added in v0.172.0

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

type ListGroupsRequest added in v0.172.0

type ListGroupsRequest struct {
	// Filters groups by `group_name` or `external_id`, for example `group_name
	// eq "Data engineers"`. Put the value in quotes.
	Filter string `json:"-" url:"filter,omitempty"`
	// The maximum number of groups to return, up to 1000. The default is 1000.
	// A page can contain fewer groups.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account to list groups in, in the format
	// `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListGroupsRequest) MarshalJSON added in v0.172.0

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

func (*ListGroupsRequest) UnmarshalJSON added in v0.172.0

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

type ListGroupsResponse added in v0.172.0

type ListGroupsResponse struct {
	// The groups on this page.
	Groups []Group `json:"groups,omitempty"`
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`

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

A page of groups.

func (ListGroupsResponse) MarshalJSON added in v0.172.0

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

func (*ListGroupsResponse) UnmarshalJSON added in v0.172.0

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

type ListIdentityVisibilityFiltersRequest

type ListIdentityVisibilityFiltersRequest struct {
	// The maximum number of filters to return, up to 1000. The default is 100.
	// A page can contain fewer filters.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account, in the format `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListIdentityVisibilityFiltersRequest) MarshalJSON

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

func (*ListIdentityVisibilityFiltersRequest) UnmarshalJSON

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

type ListIdentityVisibilityFiltersResponse

type ListIdentityVisibilityFiltersResponse struct {
	// The filters on this page. These are the rules, not the groups they match.
	IdentityVisibilityFilters []IdentityVisibilityFilter `json:"identity_visibility_filters,omitempty"`
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`

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

A page of group visibility filters.

func (ListIdentityVisibilityFiltersResponse) MarshalJSON

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

func (*ListIdentityVisibilityFiltersResponse) UnmarshalJSON

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

type ListServicePrincipalsProxyRequest added in v0.172.0

type ListServicePrincipalsProxyRequest struct {
	// Filters service principals by `application_id` or `external_id`, for
	// example `application_id eq "<application-id>"`. Put the value in quotes.
	Filter string `json:"-" url:"filter,omitempty"`
	// The maximum number of service principals to return, up to 1000. The
	// default is 1000. A page can contain fewer service principals.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account to list service principals in, in the
	// format `accounts/{account_id}`. Defaults to the account that contains
	// this workspace. Any other account is rejected.
	Parent string `json:"-" url:"parent,omitempty"`

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

func (ListServicePrincipalsProxyRequest) MarshalJSON added in v0.172.0

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

func (*ListServicePrincipalsProxyRequest) UnmarshalJSON added in v0.172.0

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

type ListServicePrincipalsRequest added in v0.172.0

type ListServicePrincipalsRequest struct {
	// Filters service principals by `application_id` or `external_id`, for
	// example `application_id eq "<application-id>"`. Put the value in quotes.
	Filter string `json:"-" url:"filter,omitempty"`
	// The maximum number of service principals to return, up to 1000. The
	// default is 1000. A page can contain fewer service principals.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account to list service principals in, in the
	// format `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListServicePrincipalsRequest) MarshalJSON added in v0.172.0

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

func (*ListServicePrincipalsRequest) UnmarshalJSON added in v0.172.0

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

type ListServicePrincipalsResponse added in v0.172.0

type ListServicePrincipalsResponse struct {
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`
	// The service principals on this page.
	ServicePrincipals []ServicePrincipal `json:"service_principals,omitempty"`

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

A page of service principals.

func (ListServicePrincipalsResponse) MarshalJSON added in v0.172.0

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

func (*ListServicePrincipalsResponse) UnmarshalJSON added in v0.172.0

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

type ListTransitiveParentGroupsProxyRequest added in v0.172.0

type ListTransitiveParentGroupsProxyRequest struct {
	// The maximum number of groups to return, up to 1000. The default is 1000.
	// A page can contain fewer groups.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The user, service principal, or group whose parent groups to list, in the
	// format `principals/{principal_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListTransitiveParentGroupsProxyRequest) MarshalJSON added in v0.172.0

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

func (*ListTransitiveParentGroupsProxyRequest) UnmarshalJSON added in v0.172.0

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

type ListTransitiveParentGroupsRequest added in v0.172.0

type ListTransitiveParentGroupsRequest struct {
	// The maximum number of groups to return, up to 1000. The default is 1000.
	// A page can contain fewer groups.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The user, service principal, or group whose parent groups to list, in the
	// format `accounts/{account_id}/principals/{principal_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListTransitiveParentGroupsRequest) MarshalJSON added in v0.172.0

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

func (*ListTransitiveParentGroupsRequest) UnmarshalJSON added in v0.172.0

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

type ListTransitiveParentGroupsResponse added in v0.172.0

type ListTransitiveParentGroupsResponse struct {
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`
	// The groups on this page.
	TransitiveParentGroups []TransitiveParentGroup `json:"transitive_parent_groups,omitempty"`

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

A page of the groups a principal belongs to.

func (ListTransitiveParentGroupsResponse) MarshalJSON added in v0.172.0

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

func (*ListTransitiveParentGroupsResponse) UnmarshalJSON added in v0.172.0

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

type ListUsersProxyRequest added in v0.172.0

type ListUsersProxyRequest struct {
	// Filters users by `username` or `external_id`, for example `username eq
	// "someone@example.com"`. Put the value in quotes.
	Filter string `json:"-" url:"filter,omitempty"`
	// The maximum number of users to return, up to 1000. The default is 1000. A
	// page can contain fewer users.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account to list users in, in the format
	// `accounts/{account_id}`. Defaults to the account that contains this
	// workspace. Any other account is rejected.
	Parent string `json:"-" url:"parent,omitempty"`

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

func (ListUsersProxyRequest) MarshalJSON added in v0.172.0

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

func (*ListUsersProxyRequest) UnmarshalJSON added in v0.172.0

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

type ListUsersRequest added in v0.172.0

type ListUsersRequest struct {
	// Filters users by `username` or `external_id`, for example `username eq
	// "someone@example.com"`. Put the value in quotes.
	Filter string `json:"-" url:"filter,omitempty"`
	// The maximum number of users to return, up to 1000. The default is 1000. A
	// page can contain fewer users.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the account to list users in, in the format
	// `accounts/{account_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListUsersRequest) MarshalJSON added in v0.172.0

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

func (*ListUsersRequest) UnmarshalJSON added in v0.172.0

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

type ListUsersResponse added in v0.172.0

type ListUsersResponse struct {
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`
	// The users on this page.
	Users []User `json:"users,omitempty"`

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

A page of users.

func (ListUsersResponse) MarshalJSON added in v0.172.0

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

func (*ListUsersResponse) UnmarshalJSON added in v0.172.0

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

type ListWorkspaceAssignmentDetailsProxyRequest added in v0.133.0

type ListWorkspaceAssignmentDetailsProxyRequest struct {
	// The maximum number of workspace assignment details to return. The service
	// may return fewer than this value. If not provided, defaults to 1000,
	// which is also the maximum allowed. Requests for more than the maximum are
	// clamped to 1000.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// A page token from a previous list call. Provide this to retrieve the
	// subsequent page.
	PageToken string `json:"-" url:"page_token,omitempty"`

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

func (ListWorkspaceAssignmentDetailsProxyRequest) MarshalJSON added in v0.133.0

func (*ListWorkspaceAssignmentDetailsProxyRequest) UnmarshalJSON added in v0.133.0

type ListWorkspaceAssignmentDetailsRequest added in v0.133.0

type ListWorkspaceAssignmentDetailsRequest struct {
	// The maximum number of workspace assignment details to return. The service
	// may return fewer than this value. If not provided, defaults to 1000,
	// which is also the maximum allowed. Requests for more than the maximum are
	// clamped to 1000.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// A page token, received from a previous ListWorkspaceAssignmentDetails
	// call. Provide this to retrieve the subsequent page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// Required. The workspace ID for which the workspace assignment details are
	// being fetched.
	WorkspaceId int64 `json:"-" url:"-"`

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

func (ListWorkspaceAssignmentDetailsRequest) MarshalJSON added in v0.133.0

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

func (*ListWorkspaceAssignmentDetailsRequest) UnmarshalJSON added in v0.133.0

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

type ListWorkspaceAssignmentDetailsResponse added in v0.133.0

type ListWorkspaceAssignmentDetailsResponse struct {
	// A token, which can be sent as page_token to retrieve the next page. If
	// this field is omitted, there are no subsequent pages.
	NextPageToken string `json:"next_page_token,omitempty"`

	WorkspaceAssignmentDetails []WorkspaceAssignmentDetail `json:"workspace_assignment_details,omitempty"`

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

Response message for listing workspace assignment details.

func (ListWorkspaceAssignmentDetailsResponse) MarshalJSON added in v0.133.0

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

func (*ListWorkspaceAssignmentDetailsResponse) UnmarshalJSON added in v0.133.0

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

type ListWorkspaceAssignmentsProxyRequest added in v0.172.0

type ListWorkspaceAssignmentsProxyRequest struct {
	// The maximum number of assignments to return, up to 1000. The default is
	// 1000. A page can contain fewer assignments.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the workspace, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}`. Defaults to this
	// workspace. Any other workspace is rejected.
	Parent string `json:"-" url:"parent,omitempty"`

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

func (ListWorkspaceAssignmentsProxyRequest) MarshalJSON added in v0.172.0

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

func (*ListWorkspaceAssignmentsProxyRequest) UnmarshalJSON added in v0.172.0

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

type ListWorkspaceAssignmentsRequest added in v0.172.0

type ListWorkspaceAssignmentsRequest struct {
	// The maximum number of assignments to return, up to 1000. The default is
	// 1000. A page can contain fewer assignments.
	PageSize int `json:"-" url:"page_size,omitempty"`
	// The `next_page_token` from a previous response, to get the next page.
	PageToken string `json:"-" url:"page_token,omitempty"`
	// The resource name of the workspace, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}`.
	Parent string `json:"-" url:"-"`

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

func (ListWorkspaceAssignmentsRequest) MarshalJSON added in v0.172.0

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

func (*ListWorkspaceAssignmentsRequest) UnmarshalJSON added in v0.172.0

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

type ListWorkspaceAssignmentsResponse added in v0.172.0

type ListWorkspaceAssignmentsResponse struct {
	// The token for the next page. Not set on the last page.
	NextPageToken string `json:"next_page_token,omitempty"`
	// The assignments on this page.
	WorkspaceAssignments []WorkspaceAssignment `json:"workspace_assignments,omitempty"`

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

A page of workspace assignments.

func (ListWorkspaceAssignmentsResponse) MarshalJSON added in v0.172.0

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

func (*ListWorkspaceAssignmentsResponse) UnmarshalJSON added in v0.172.0

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

type PrefixMatchRule

type PrefixMatchRule struct {
	// The prefix to match. It must contain at least one non-whitespace
	// character. Leading and trailing spaces are kept.
	DisplayNamePrefix string `json:"display_name_prefix"`
}

A rule that matches groups whose display name starts with a prefix. Matching is case-sensitive. For example, the prefix `data-` matches `data-platform`.

func (*PrefixMatchRule) UnmarshalJSON

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

type PrincipalType

type PrincipalType string

The type of a principal.

const PrincipalTypeGroup PrincipalType = `GROUP`
const PrincipalTypeServicePrincipal PrincipalType = `SERVICE_PRINCIPAL`
const PrincipalTypeUser PrincipalType = `USER`

func (*PrincipalType) Set

func (f *PrincipalType) Set(v string) error

Set raw string value and validate it against allowed values

func (*PrincipalType) String

func (f *PrincipalType) String() string

String representation for fmt.Print

func (*PrincipalType) Type

func (f *PrincipalType) Type() string

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

func (*PrincipalType) Values

func (f *PrincipalType) Values() []PrincipalType

Values returns all possible values for PrincipalType.

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

type RegexMatchRule

type RegexMatchRule struct {
	// The RE2 regular expression to match against the whole display name. At
	// most 255 characters.
	DisplayNameRegex string `json:"display_name_regex"`
}

A rule that matches groups whose whole display name matches an RE2 regular expression. Matching is case-sensitive. To match part of a name, add `.*`, for example `.*-admins`.

func (*RegexMatchRule) UnmarshalJSON

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

type ResolveGroupProxyRequest

type ResolveGroupProxyRequest struct {
	// The ID of the group in your IdP.
	ExternalId string `json:"external_id"`
}

Request to resolve a group by its ID in your identity provider (IdP).

func (*ResolveGroupProxyRequest) UnmarshalJSON added in v0.174.0

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

type ResolveGroupRequest

type ResolveGroupRequest struct {
	// The ID of the group in your IdP.
	ExternalId string `json:"external_id"`
}

Request to resolve a group by its ID in your identity provider (IdP).

func (*ResolveGroupRequest) UnmarshalJSON added in v0.174.0

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

type ResolveGroupResponse

type ResolveGroupResponse struct {
	// The resolved group.
	Group *Group `json:"group,omitempty"`
}

The response to resolving a group.

func (*ResolveGroupResponse) UnmarshalJSON added in v0.174.0

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

type ResolveServicePrincipalProxyRequest

type ResolveServicePrincipalProxyRequest struct {
	// The ID of the service principal in your IdP.
	ExternalId string `json:"external_id"`
}

Request to resolve a service principal by its ID in your identity provider (IdP).

func (*ResolveServicePrincipalProxyRequest) UnmarshalJSON added in v0.174.0

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

type ResolveServicePrincipalRequest

type ResolveServicePrincipalRequest struct {
	// The ID of the service principal in your IdP.
	ExternalId string `json:"external_id"`
}

Request to resolve a service principal by its ID in your identity provider (IdP).

func (*ResolveServicePrincipalRequest) UnmarshalJSON added in v0.174.0

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

type ResolveServicePrincipalResponse

type ResolveServicePrincipalResponse struct {
	// The resolved service principal.
	ServicePrincipal *ServicePrincipal `json:"service_principal,omitempty"`
}

The response to resolving a service principal.

func (*ResolveServicePrincipalResponse) UnmarshalJSON added in v0.174.0

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

type ResolveUserProxyRequest

type ResolveUserProxyRequest struct {
	// The ID of the user in your IdP.
	ExternalId string `json:"external_id"`
}

Request to resolve a user by their ID in your identity provider (IdP).

func (*ResolveUserProxyRequest) UnmarshalJSON added in v0.174.0

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

type ResolveUserRequest

type ResolveUserRequest struct {
	// The ID of the user in your IdP.
	ExternalId string `json:"external_id"`
}

Request to resolve a user by their ID in your identity provider (IdP).

func (*ResolveUserRequest) UnmarshalJSON added in v0.174.0

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

type ResolveUserResponse

type ResolveUserResponse struct {
	// The resolved user.
	User *User `json:"user,omitempty"`
}

The response to resolving a user.

func (*ResolveUserResponse) UnmarshalJSON added in v0.174.0

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

type ServicePrincipal

type ServicePrincipal struct {
	// The ID of the account that contains the service principal.
	AccountId string `json:"account_id,omitempty"`
	// Whether the service principal is active in the account.
	AccountSpStatus State `json:"account_sp_status"`
	// The service principal's application ID, a UUID. If you don't set it when
	// you create the service principal, Databricks generates one. It must be
	// unique in the account and can't be changed.
	ApplicationId string `json:"application_id,omitempty"`
	// The service principal's display name.
	DisplayName string `json:"display_name"`
	// The ID of the service principal in your identity provider (IdP).
	ExternalId string `json:"external_id,omitempty"`
	// The resource name of the service principal, in one of these formats: -
	// Account APIs:
	// `accounts/{account_id}/service-principals/{service_principal_id}` -
	// Workspace APIs: `service-principals/{service_principal_id}`
	Name string `json:"name,omitempty"`
	// The resource name of the account that contains the service principal, in
	// the format `accounts/{account_id}`. Workspace APIs return the same
	// format.
	Parent string `json:"parent,omitempty"`
	// The Databricks ID of the service principal.
	ServicePrincipalId string `json:"service_principal_id,omitempty"`

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

A service principal in your Databricks account.

func (ServicePrincipal) MarshalJSON

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

func (*ServicePrincipal) UnmarshalJSON

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

type State

type State string

Whether a user or service principal is active in an account or workspace.

const StateActive State = `ACTIVE`
const StateInactive State = `INACTIVE`

func (*State) Set

func (f *State) Set(v string) error

Set raw string value and validate it against allowed values

func (*State) String

func (f *State) String() string

String representation for fmt.Print

func (*State) Type

func (f *State) Type() string

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

func (*State) Values

func (f *State) Values() []State

Values returns all possible values for State.

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

type TransitiveParentGroup added in v0.172.0

type TransitiveParentGroup struct {
	// The ID of the account that contains the group.
	AccountId string `json:"account_id,omitempty"`
	// The ID of the group in your identity provider (IdP).
	ExternalId string `json:"external_id,omitempty"`
	// The Databricks ID of the group.
	GroupId string `json:"group_id,omitempty"`
	// The resource name of the parent group, in one of these formats: - Account
	// APIs:
	// `accounts/{account_id}/principals/{principal_id}/transitive-parent-groups/{group_id}`
	// - Workspace APIs:
	// `principals/{principal_id}/transitive-parent-groups/{group_id}`
	Name string `json:"name,omitempty"`

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

A group that a principal belongs to, either directly or through another group.

func (TransitiveParentGroup) MarshalJSON added in v0.172.0

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

func (*TransitiveParentGroup) UnmarshalJSON added in v0.172.0

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

type UpdateGroupProxyRequest added in v0.172.0

type UpdateGroupProxyRequest struct {
	// The group to update. Its `name` identifies the group.
	Group Group `json:"group"`
	// The resource name of the group, in one of these formats: - Account APIs:
	// `accounts/{account_id}/groups/{group_id}` - Workspace APIs:
	// `groups/{group_id}`
	Name string `json:"-" url:"-"`
	// The fields to update, separated by commas. You can update `group_name`
	// and `external_id`.
	UpdateMask string `json:"-" url:"update_mask"`
}

func (*UpdateGroupProxyRequest) UnmarshalJSON added in v0.174.0

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

type UpdateGroupRequest added in v0.172.0

type UpdateGroupRequest struct {
	// The group to update. Its `name` identifies the group.
	Group Group `json:"group"`
	// The resource name of the group, in one of these formats: - Account APIs:
	// `accounts/{account_id}/groups/{group_id}` - Workspace APIs:
	// `groups/{group_id}`
	Name string `json:"-" url:"-"`
	// The fields to update, separated by commas. You can update `group_name`
	// and `external_id`.
	UpdateMask string `json:"-" url:"update_mask"`
}

func (*UpdateGroupRequest) UnmarshalJSON added in v0.174.0

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

type UpdateServicePrincipalProxyRequest added in v0.172.0

type UpdateServicePrincipalProxyRequest struct {
	// The resource name of the service principal, in one of these formats: -
	// Account APIs:
	// `accounts/{account_id}/service-principals/{service_principal_id}` -
	// Workspace APIs: `service-principals/{service_principal_id}`
	Name string `json:"-" url:"-"`
	// The service principal to update. Its `name` identifies the service
	// principal.
	ServicePrincipal ServicePrincipal `json:"service_principal"`
	// The fields to update, separated by commas. You can update `display_name`,
	// `account_sp_status`, and `external_id`.
	UpdateMask string `json:"-" url:"update_mask"`
}

func (*UpdateServicePrincipalProxyRequest) UnmarshalJSON added in v0.174.0

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

type UpdateServicePrincipalRequest added in v0.172.0

type UpdateServicePrincipalRequest struct {
	// The resource name of the service principal, in one of these formats: -
	// Account APIs:
	// `accounts/{account_id}/service-principals/{service_principal_id}` -
	// Workspace APIs: `service-principals/{service_principal_id}`
	Name string `json:"-" url:"-"`
	// The service principal to update. Its `name` identifies the service
	// principal.
	ServicePrincipal ServicePrincipal `json:"service_principal"`
	// The fields to update, separated by commas. You can update `display_name`,
	// `account_sp_status`, and `external_id`.
	UpdateMask string `json:"-" url:"update_mask"`
}

func (*UpdateServicePrincipalRequest) UnmarshalJSON added in v0.174.0

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

type UpdateUserProxyRequest added in v0.172.0

type UpdateUserProxyRequest struct {
	// The resource name of the user, in one of these formats: - Account APIs:
	// `accounts/{account_id}/users/{user_id}` - Workspace APIs:
	// `users/{user_id}`
	Name string `json:"-" url:"-"`
	// The fields to update, separated by commas. You can update
	// `full_name.given_name`, `full_name.family_name`, `account_user_status`,
	// and `external_id`.
	UpdateMask string `json:"-" url:"update_mask"`
	// The user to update. Its `name` identifies the user.
	User User `json:"user"`
}

func (*UpdateUserProxyRequest) UnmarshalJSON added in v0.174.0

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

type UpdateUserRequest added in v0.172.0

type UpdateUserRequest struct {
	// The resource name of the user, in one of these formats: - Account APIs:
	// `accounts/{account_id}/users/{user_id}` - Workspace APIs:
	// `users/{user_id}`
	Name string `json:"-" url:"-"`
	// The fields to update, separated by commas. You can update
	// `full_name.given_name`, `full_name.family_name`, `account_user_status`,
	// and `external_id`.
	UpdateMask string `json:"-" url:"update_mask"`
	// The user to update. Its `name` identifies the user.
	User User `json:"user"`
}

func (*UpdateUserRequest) UnmarshalJSON added in v0.174.0

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

type UpdateWorkspaceAssignmentDetailProxyRequest added in v0.133.0

type UpdateWorkspaceAssignmentDetailProxyRequest struct {
	// Required. ID of the principal in Databricks.
	PrincipalId int64 `json:"-" url:"-"`
	// Required. The list of fields to update.
	UpdateMask fieldmask.FieldMask `json:"-" url:"update_mask"`
	// Required. Workspace assignment detail to be updated in Databricks.
	WorkspaceAssignmentDetail WorkspaceAssignmentDetail `json:"workspace_assignment_detail"`
}

func (*UpdateWorkspaceAssignmentDetailProxyRequest) UnmarshalJSON added in v0.174.0

type UpdateWorkspaceAssignmentDetailRequest added in v0.133.0

type UpdateWorkspaceAssignmentDetailRequest struct {
	// Required. ID of the principal in Databricks.
	PrincipalId int64 `json:"-" url:"-"`
	// Required. The list of fields to update.
	UpdateMask fieldmask.FieldMask `json:"-" url:"update_mask"`
	// Required. Workspace assignment detail to be updated in Databricks.
	WorkspaceAssignmentDetail WorkspaceAssignmentDetail `json:"workspace_assignment_detail"`
	// Required. The workspace ID for which the workspace assignment detail is
	// being updated.
	WorkspaceId int64 `json:"-" url:"-"`
}

func (*UpdateWorkspaceAssignmentDetailRequest) UnmarshalJSON added in v0.174.0

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

type UpdateWorkspaceAssignmentProxyRequest added in v0.172.0

type UpdateWorkspaceAssignmentProxyRequest struct {
	// The resource name of the assignment, in one of these formats: - Account
	// APIs:
	// `accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}`
	// - Workspace APIs: `workspace-assignments/{principal_id}`
	Name string `json:"-" url:"-"`
	// The fields to update. The only supported field is `entitlements`.
	UpdateMask fieldmask.FieldMask `json:"-" url:"update_mask"`
	// The assignment to update. Its `name` identifies the assignment.
	WorkspaceAssignment WorkspaceAssignment `json:"workspace_assignment"`
}

func (*UpdateWorkspaceAssignmentProxyRequest) UnmarshalJSON added in v0.174.0

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

type UpdateWorkspaceAssignmentRequest added in v0.172.0

type UpdateWorkspaceAssignmentRequest struct {
	// The resource name of the assignment, in one of these formats: - Account
	// APIs:
	// `accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}`
	// - Workspace APIs: `workspace-assignments/{principal_id}`
	Name string `json:"-" url:"-"`
	// The fields to update. The only supported field is `entitlements`.
	UpdateMask fieldmask.FieldMask `json:"-" url:"update_mask"`
	// The assignment to update. Its `name` identifies the assignment.
	WorkspaceAssignment WorkspaceAssignment `json:"workspace_assignment"`
}

func (*UpdateWorkspaceAssignmentRequest) UnmarshalJSON added in v0.174.0

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

type UpdateWorkspaceIdentityDetailRequest added in v0.172.0

type UpdateWorkspaceIdentityDetailRequest struct {
	// The resource name of the workspace identity detail, in the format
	// `principals/{principal_id}/workspace-identity-detail`.
	Name string `json:"-" url:"-"`
	// The fields to update. The only supported field is
	// `workspace_identity_status`.
	UpdateMask fieldmask.FieldMask `json:"-" url:"update_mask"`
	// The workspace identity detail to update. Its `name` identifies the
	// principal.
	WorkspaceIdentityDetail WorkspaceIdentityDetail `json:"workspace_identity_detail"`
}

func (*UpdateWorkspaceIdentityDetailRequest) UnmarshalJSON added in v0.174.0

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

type User

type User struct {
	// The ID of the account that contains the user.
	AccountId string `json:"account_id,omitempty"`
	// Whether the user is active in the account. New users are active unless
	// you set this to `INACTIVE`.
	AccountUserStatus State `json:"account_user_status"`
	// The ID of the user in your identity provider (IdP).
	ExternalId string `json:"external_id,omitempty"`
	// The user's name.
	FullName UserFullName `json:"full_name"`
	// The resource name of the user, in one of these formats: - Account APIs:
	// `accounts/{account_id}/users/{user_id}` - Workspace APIs:
	// `users/{user_id}`
	Name string `json:"name,omitempty"`
	// The resource name of the account that contains the user, in the format
	// `accounts/{account_id}`. Workspace APIs return the same format.
	Parent string `json:"parent,omitempty"`
	// The Databricks ID of the user.
	UserId string `json:"user_id,omitempty"`
	// The user's username, which is their email address. It can't be changed
	// after the user is created.
	Username string `json:"username"`

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

A user in your Databricks account.

func (User) MarshalJSON

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

func (*User) UnmarshalJSON

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

type UserFullName added in v0.153.0

type UserFullName struct {
	// The user's family (last) name.
	FamilyName string `json:"family_name,omitempty"`
	// The user's given (first) name.
	GivenName string `json:"given_name,omitempty"`

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

A user's name.

func (UserFullName) MarshalJSON added in v0.153.0

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

func (*UserFullName) UnmarshalJSON added in v0.153.0

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

type WorkspaceAccessDetail

type WorkspaceAccessDetail struct {
	AccessType WorkspaceAccessDetailAccessType `json:"access_type,omitempty"`
	// The account ID parent of the workspace where the principal has access.
	AccountId string `json:"account_id,omitempty"`
	// The resource name of the workspace access detail. The format depends on
	// the API that returned it: - Account-scoped:
	// accounts/{account_id}/workspaces/{workspace_id}/workspace-access-details/{principal_id}
	// - Workspace-scoped: workspace-access-details/{principal_id}
	Name string `json:"name,omitempty"`
	// The permissions granted to the principal in the workspace.
	Permissions []WorkspacePermission `json:"permissions,omitempty"`
	// The internal ID of the principal (user/sp/group) in Databricks.
	PrincipalId int64 `json:"principal_id,omitempty"`

	PrincipalType PrincipalType `json:"principal_type,omitempty"`
	// The activity status of the principal in the workspace. Not applicable for
	// groups at the moment.
	Status State `json:"status,omitempty"`
	// The workspace ID where the principal has access.
	WorkspaceId int64 `json:"workspace_id,omitempty"`

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

The details of a principal's access to a workspace.

func (WorkspaceAccessDetail) MarshalJSON

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

func (*WorkspaceAccessDetail) UnmarshalJSON

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

type WorkspaceAccessDetailAccessType

type WorkspaceAccessDetailAccessType string

The type of access the principal has to the workspace.

const WorkspaceAccessDetailAccessTypeDirect WorkspaceAccessDetailAccessType = `DIRECT`
const WorkspaceAccessDetailAccessTypeIndirect WorkspaceAccessDetailAccessType = `INDIRECT`

func (*WorkspaceAccessDetailAccessType) Set

Set raw string value and validate it against allowed values

func (*WorkspaceAccessDetailAccessType) String

String representation for fmt.Print

func (*WorkspaceAccessDetailAccessType) Type

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

func (*WorkspaceAccessDetailAccessType) Values

Values returns all possible values for WorkspaceAccessDetailAccessType.

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

type WorkspaceAccessDetailView

type WorkspaceAccessDetailView string

Controls what fields are returned in the GetWorkspaceAccessDetail response.

const WorkspaceAccessDetailViewBasic WorkspaceAccessDetailView = `BASIC`
const WorkspaceAccessDetailViewFull WorkspaceAccessDetailView = `FULL`

func (*WorkspaceAccessDetailView) Set

Set raw string value and validate it against allowed values

func (*WorkspaceAccessDetailView) String

func (f *WorkspaceAccessDetailView) String() string

String representation for fmt.Print

func (*WorkspaceAccessDetailView) Type

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

func (*WorkspaceAccessDetailView) Values

Values returns all possible values for WorkspaceAccessDetailView.

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

type WorkspaceAssignment added in v0.172.0

type WorkspaceAssignment struct {
	// The ID of the account that contains the workspace.
	AccountId string `json:"account_id,omitempty"`
	// Every entitlement the principal has in the workspace, granted directly or
	// through a group. List responses leave it empty.
	EffectiveEntitlements []Entitlement `json:"effective_entitlements,omitempty"`
	// The entitlements granted directly by this assignment. Create and update
	// set exactly this list, even if the principal also gets some of these
	// entitlements through a group. List responses leave it empty.
	Entitlements []Entitlement `json:"entitlements,omitempty"`
	// The resource name of the assignment, in one of these formats: - Account
	// APIs:
	// `accounts/{account_id}/workspaces/{workspace_id}/workspace-assignments/{principal_id}`
	// - Workspace APIs: `workspace-assignments/{principal_id}`
	Name string `json:"name,omitempty"`
	// The resource name of the workspace, in the format
	// `accounts/{account_id}/workspaces/{workspace_id}`. Workspace APIs return
	// the same format.
	Parent string `json:"parent,omitempty"`
	// The Databricks ID of the assigned user, service principal, or group. It
	// can't be changed after the assignment is created.
	PrincipalId int64 `json:"principal_id"`
	// Whether the assigned principal is a user, service principal, or group.
	PrincipalType PrincipalType `json:"principal_type,omitempty"`
	// The ID of the workspace.
	WorkspaceId int64 `json:"workspace_id,omitempty"`

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

A principal's direct assignment to a workspace, and the entitlements it grants there.

Only principals assigned directly to the workspace have an assignment. A principal that gets access only through a group doesn't. Creating an assignment gives the principal access to the workspace, and deleting it removes that direct access. These APIs replace managing workspace assignments through SCIM and the permission assignment APIs. They require a workspace with identity federation enabled. You can't assign, change, or unassign principals that Databricks manages.

`entitlements` is the only field you set. `effective_entitlements` also includes the entitlements the principal gets through its groups. An assignment must grant at least one entitlement. To remove a principal's direct access, delete the assignment.

func (WorkspaceAssignment) MarshalJSON added in v0.172.0

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

func (*WorkspaceAssignment) UnmarshalJSON added in v0.172.0

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

type WorkspaceAssignmentDetail added in v0.133.0

type WorkspaceAssignmentDetail struct {
	// The account ID parent of the workspace where the principal is assigned
	AccountId string `json:"account_id,omitempty"`
	// Every entitlement the principal holds in this workspace, whether granted
	// directly or through group membership. Get responses populate this field.
	// List responses leave it empty.
	EffectiveEntitlements []Entitlement `json:"effective_entitlements,omitempty"`
	// Entitlements granted directly to the principal on this workspace. This is
	// the only client-settable field. Create and update manage exactly this
	// set, including entitlements the principal also holds through a group.
	// List responses leave this field empty. Get a single principal to read its
	// entitlements.
	Entitlements []Entitlement `json:"entitlements,omitempty"`
	// The internal ID of the principal (user/sp/group) in Databricks.
	PrincipalId int64 `json:"principal_id"`

	PrincipalType PrincipalType `json:"principal_type,omitempty"`
	// The workspace ID where the principal is assigned.
	WorkspaceId int64 `json:"workspace_id,omitempty"`

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

The direct assignment of a provisioned account-level principal (user, service principal, or group) to a workspace, together with the entitlements that assignment grants in the workspace.

This resource covers only principals assigned directly to the workspace. Principals that inherit workspace access through a group are not represented here. See WorkspaceAccessDetail and WorkspaceIdentityDetail for the effective, direct-or-indirect view. Creating the resource assigns the principal to the workspace, and deleting it removes the assignment.

`entitlements` is the only client-settable field. It holds the entitlements granted directly on this assignment, including any the principal also holds through a group. `effective_entitlements` is the read-only union of those and any granted through group membership.

A direct assignment always carries at least one directly-assigned entitlement, because the assignment is what grants it. Create and update both reject an empty `entitlements` set. To remove a principal's assignment entirely, delete the resource.

This resource replaces workspace assignment previously managed through the workspace SCIM and permission-assignment APIs, and is intended for account and workspace admins.

func (WorkspaceAssignmentDetail) MarshalJSON added in v0.133.0

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

func (*WorkspaceAssignmentDetail) UnmarshalJSON added in v0.133.0

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

type WorkspaceIamV2API

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

These APIs are used to manage identities and the workspace access of these identities in Databricks.

func NewWorkspaceIamV2

func NewWorkspaceIamV2(client *client.DatabricksClient) *WorkspaceIamV2API

func (*WorkspaceIamV2API) CreateDirectGroupMemberProxy added in v0.172.0

func (a *WorkspaceIamV2API) CreateDirectGroupMemberProxy(ctx context.Context, request CreateDirectGroupMemberProxyRequest) (*DirectGroupMember, error)

func (*WorkspaceIamV2API) CreateGroupProxy added in v0.172.0

func (a *WorkspaceIamV2API) CreateGroupProxy(ctx context.Context, request CreateGroupProxyRequest) (*Group, error)

func (*WorkspaceIamV2API) CreateServicePrincipalProxy added in v0.172.0

func (a *WorkspaceIamV2API) CreateServicePrincipalProxy(ctx context.Context, request CreateServicePrincipalProxyRequest) (*ServicePrincipal, error)

func (*WorkspaceIamV2API) CreateUserProxy added in v0.172.0

func (a *WorkspaceIamV2API) CreateUserProxy(ctx context.Context, request CreateUserProxyRequest) (*User, error)

func (*WorkspaceIamV2API) CreateWorkspaceAssignmentDetailProxy added in v0.133.0

func (a *WorkspaceIamV2API) CreateWorkspaceAssignmentDetailProxy(ctx context.Context, request CreateWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

func (*WorkspaceIamV2API) CreateWorkspaceAssignmentProxy added in v0.172.0

func (a *WorkspaceIamV2API) CreateWorkspaceAssignmentProxy(ctx context.Context, request CreateWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

func (*WorkspaceIamV2API) DeleteDirectGroupMemberProxy added in v0.172.0

func (a *WorkspaceIamV2API) DeleteDirectGroupMemberProxy(ctx context.Context, request DeleteDirectGroupMemberProxyRequest) error

func (*WorkspaceIamV2API) DeleteGroupProxy added in v0.172.0

func (a *WorkspaceIamV2API) DeleteGroupProxy(ctx context.Context, request DeleteGroupProxyRequest) error

func (*WorkspaceIamV2API) DeleteServicePrincipalProxy added in v0.172.0

func (a *WorkspaceIamV2API) DeleteServicePrincipalProxy(ctx context.Context, request DeleteServicePrincipalProxyRequest) error

func (*WorkspaceIamV2API) DeleteUserProxy added in v0.172.0

func (a *WorkspaceIamV2API) DeleteUserProxy(ctx context.Context, request DeleteUserProxyRequest) error

func (*WorkspaceIamV2API) DeleteWorkspaceAssignmentDetailProxy added in v0.133.0

func (a *WorkspaceIamV2API) DeleteWorkspaceAssignmentDetailProxy(ctx context.Context, request DeleteWorkspaceAssignmentDetailProxyRequest) error

func (*WorkspaceIamV2API) DeleteWorkspaceAssignmentProxy added in v0.172.0

func (a *WorkspaceIamV2API) DeleteWorkspaceAssignmentProxy(ctx context.Context, request DeleteWorkspaceAssignmentProxyRequest) error

func (*WorkspaceIamV2API) GetDirectGroupMemberProxy added in v0.172.0

func (a *WorkspaceIamV2API) GetDirectGroupMemberProxy(ctx context.Context, request GetDirectGroupMemberProxyRequest) (*DirectGroupMember, error)

func (*WorkspaceIamV2API) GetExternalGroupProxy added in v0.177.0

func (a *WorkspaceIamV2API) GetExternalGroupProxy(ctx context.Context, request GetExternalGroupProxyRequest) (*ExternalGroup, error)

func (*WorkspaceIamV2API) GetExternalServicePrincipalProxy added in v0.177.0

func (a *WorkspaceIamV2API) GetExternalServicePrincipalProxy(ctx context.Context, request GetExternalServicePrincipalProxyRequest) (*ExternalServicePrincipal, error)

func (*WorkspaceIamV2API) GetExternalUserProxy added in v0.177.0

func (a *WorkspaceIamV2API) GetExternalUserProxy(ctx context.Context, request GetExternalUserProxyRequest) (*ExternalUser, error)

func (*WorkspaceIamV2API) GetGroupProxy added in v0.172.0

func (a *WorkspaceIamV2API) GetGroupProxy(ctx context.Context, request GetGroupProxyRequest) (*Group, error)

func (*WorkspaceIamV2API) GetServicePrincipalProxy added in v0.172.0

func (a *WorkspaceIamV2API) GetServicePrincipalProxy(ctx context.Context, request GetServicePrincipalProxyRequest) (*ServicePrincipal, error)

func (*WorkspaceIamV2API) GetUserProxy added in v0.172.0

func (a *WorkspaceIamV2API) GetUserProxy(ctx context.Context, request GetUserProxyRequest) (*User, error)

func (*WorkspaceIamV2API) GetWorkspaceAccessDetailLocal

func (a *WorkspaceIamV2API) GetWorkspaceAccessDetailLocal(ctx context.Context, request GetWorkspaceAccessDetailLocalRequest) (*WorkspaceAccessDetail, error)

func (*WorkspaceIamV2API) GetWorkspaceAssignmentDetailProxy added in v0.133.0

func (a *WorkspaceIamV2API) GetWorkspaceAssignmentDetailProxy(ctx context.Context, request GetWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

func (*WorkspaceIamV2API) GetWorkspaceAssignmentProxy added in v0.172.0

func (a *WorkspaceIamV2API) GetWorkspaceAssignmentProxy(ctx context.Context, request GetWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

func (*WorkspaceIamV2API) GetWorkspaceIdentityDetail added in v0.172.0

func (a *WorkspaceIamV2API) GetWorkspaceIdentityDetail(ctx context.Context, request GetWorkspaceIdentityDetailRequest) (*WorkspaceIdentityDetail, error)

func (*WorkspaceIamV2API) ListDirectGroupMembersProxy added in v0.172.0

func (a *WorkspaceIamV2API) ListDirectGroupMembersProxy(ctx context.Context, request ListDirectGroupMembersProxyRequest) listing.Iterator[DirectGroupMember]

Lists the direct members of a group in the account that contains this workspace, sorted by display name, with where each membership comes from. Members in your identity provider who haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListDirectGroupMembersProxyAll added in v0.173.0

func (a *WorkspaceIamV2API) ListDirectGroupMembersProxyAll(ctx context.Context, request ListDirectGroupMembersProxyRequest) ([]DirectGroupMember, error)

Lists the direct members of a group in the account that contains this workspace, sorted by display name, with where each membership comes from. Members in your identity provider who haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListGroupsProxy added in v0.172.0

func (a *WorkspaceIamV2API) ListGroupsProxy(ctx context.Context, request ListGroupsProxyRequest) listing.Iterator[Group]

Lists the groups in the account that contains this workspace, sorted by Databricks ID. Groups in your identity provider that haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListGroupsProxyAll added in v0.172.0

func (a *WorkspaceIamV2API) ListGroupsProxyAll(ctx context.Context, request ListGroupsProxyRequest) ([]Group, error)

Lists the groups in the account that contains this workspace, sorted by Databricks ID. Groups in your identity provider that haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListServicePrincipalsProxy added in v0.172.0

func (a *WorkspaceIamV2API) ListServicePrincipalsProxy(ctx context.Context, request ListServicePrincipalsProxyRequest) listing.Iterator[ServicePrincipal]

Lists the service principals in the account that contains this workspace, sorted by Databricks ID. Service principals in your identity provider that haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListServicePrincipalsProxyAll added in v0.172.0

func (a *WorkspaceIamV2API) ListServicePrincipalsProxyAll(ctx context.Context, request ListServicePrincipalsProxyRequest) ([]ServicePrincipal, error)

Lists the service principals in the account that contains this workspace, sorted by Databricks ID. Service principals in your identity provider that haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListTransitiveParentGroupsProxy added in v0.172.0

func (a *WorkspaceIamV2API) ListTransitiveParentGroupsProxy(ctx context.Context, request ListTransitiveParentGroupsProxyRequest) (*ListTransitiveParentGroupsResponse, error)

func (*WorkspaceIamV2API) ListUsersProxy added in v0.172.0

func (a *WorkspaceIamV2API) ListUsersProxy(ctx context.Context, request ListUsersProxyRequest) listing.Iterator[User]

Lists the users in the account that contains this workspace, sorted by Databricks ID. Users in your identity provider who haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListUsersProxyAll added in v0.172.0

func (a *WorkspaceIamV2API) ListUsersProxyAll(ctx context.Context, request ListUsersProxyRequest) ([]User, error)

Lists the users in the account that contains this workspace, sorted by Databricks ID. Users in your identity provider who haven't been added to Databricks aren't included.

func (*WorkspaceIamV2API) ListWorkspaceAssignmentDetailsProxy added in v0.133.0

func (a *WorkspaceIamV2API) ListWorkspaceAssignmentDetailsProxy(ctx context.Context, request ListWorkspaceAssignmentDetailsProxyRequest) listing.Iterator[WorkspaceAssignmentDetail]

Lists workspace assignment details for the calling workspace. The response omits the per-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for a single principal, get that principal's assignment detail.

func (*WorkspaceIamV2API) ListWorkspaceAssignmentDetailsProxyAll added in v0.173.0

func (a *WorkspaceIamV2API) ListWorkspaceAssignmentDetailsProxyAll(ctx context.Context, request ListWorkspaceAssignmentDetailsProxyRequest) ([]WorkspaceAssignmentDetail, error)

Lists workspace assignment details for the calling workspace. The response omits the per-principal entitlement fields (`entitlements` and `effective_entitlements`). To read the entitlements for a single principal, get that principal's assignment detail.

func (*WorkspaceIamV2API) ListWorkspaceAssignmentsProxy added in v0.172.0

func (a *WorkspaceIamV2API) ListWorkspaceAssignmentsProxy(ctx context.Context, request ListWorkspaceAssignmentsProxyRequest) listing.Iterator[WorkspaceAssignment]

Lists the principals assigned directly to this workspace. The response leaves `entitlements` and `effective_entitlements` empty. To read a principal's entitlements, get its assignment.

func (*WorkspaceIamV2API) ListWorkspaceAssignmentsProxyAll added in v0.173.0

func (a *WorkspaceIamV2API) ListWorkspaceAssignmentsProxyAll(ctx context.Context, request ListWorkspaceAssignmentsProxyRequest) ([]WorkspaceAssignment, error)

Lists the principals assigned directly to this workspace. The response leaves `entitlements` and `effective_entitlements` empty. To read a principal's entitlements, get its assignment.

func (*WorkspaceIamV2API) ResolveGroupProxy

func (a *WorkspaceIamV2API) ResolveGroupProxy(ctx context.Context, request ResolveGroupProxyRequest) (*ResolveGroupResponse, error)

func (*WorkspaceIamV2API) ResolveServicePrincipalProxy

func (a *WorkspaceIamV2API) ResolveServicePrincipalProxy(ctx context.Context, request ResolveServicePrincipalProxyRequest) (*ResolveServicePrincipalResponse, error)

func (*WorkspaceIamV2API) ResolveUserProxy

func (a *WorkspaceIamV2API) ResolveUserProxy(ctx context.Context, request ResolveUserProxyRequest) (*ResolveUserResponse, error)

func (*WorkspaceIamV2API) UpdateGroupProxy added in v0.172.0

func (a *WorkspaceIamV2API) UpdateGroupProxy(ctx context.Context, request UpdateGroupProxyRequest) (*Group, error)

func (*WorkspaceIamV2API) UpdateServicePrincipalProxy added in v0.172.0

func (a *WorkspaceIamV2API) UpdateServicePrincipalProxy(ctx context.Context, request UpdateServicePrincipalProxyRequest) (*ServicePrincipal, error)

func (*WorkspaceIamV2API) UpdateUserProxy added in v0.172.0

func (a *WorkspaceIamV2API) UpdateUserProxy(ctx context.Context, request UpdateUserProxyRequest) (*User, error)

func (*WorkspaceIamV2API) UpdateWorkspaceAssignmentDetailProxy added in v0.133.0

func (a *WorkspaceIamV2API) UpdateWorkspaceAssignmentDetailProxy(ctx context.Context, request UpdateWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

func (*WorkspaceIamV2API) UpdateWorkspaceAssignmentProxy added in v0.172.0

func (a *WorkspaceIamV2API) UpdateWorkspaceAssignmentProxy(ctx context.Context, request UpdateWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

func (*WorkspaceIamV2API) UpdateWorkspaceIdentityDetail added in v0.172.0

func (a *WorkspaceIamV2API) UpdateWorkspaceIdentityDetail(ctx context.Context, request UpdateWorkspaceIdentityDetailRequest) (*WorkspaceIdentityDetail, error)

type WorkspaceIamV2Interface

type WorkspaceIamV2Interface interface {

	// Adds a user, service principal, or group as a direct member of a group in the
	// account that contains this workspace.
	//
	// If automatic identity management is on and the group has an `external_id`,
	// its members come from your identity provider and can't be changed in
	// Databricks.
	CreateDirectGroupMemberProxy(ctx context.Context, request CreateDirectGroupMemberProxyRequest) (*DirectGroupMember, error)

	// Creates a local group in the account that contains this workspace. A local
	// group is a group that isn't synced from your identity provider (IdP). You
	// become a manager of the new group.
	//
	// If automatic identity management is on, you can't set `external_id`. To add a
	// group from your IdP, get it as an external group instead.
	CreateGroupProxy(ctx context.Context, request CreateGroupProxyRequest) (*Group, error)

	// Creates a local service principal in the account that contains this
	// workspace. A local service principal is one that isn't synced from your
	// identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To add a
	// service principal from your IdP, get it as an external service principal
	// instead.
	CreateServicePrincipalProxy(ctx context.Context, request CreateServicePrincipalProxyRequest) (*ServicePrincipal, error)

	// Creates a local user in the account that contains this workspace. A local
	// user is a user that isn't synced from your identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To add a
	// user from your IdP, get them as an external user instead.
	CreateUserProxy(ctx context.Context, request CreateUserProxyRequest) (*User, error)

	// Creates a workspace assignment detail for a principal in the calling
	// workspace.
	CreateWorkspaceAssignmentDetailProxy(ctx context.Context, request CreateWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

	// Assigns a user, service principal, or group directly to this workspace with
	// the given entitlements. Returns an error if the principal is already assigned
	// directly.
	//
	// Entitlements are granted one at a time. If the request fails partway through,
	// the principal stays assigned with only some of the entitlements. Get the
	// assignment afterwards to check which were granted.
	CreateWorkspaceAssignmentProxy(ctx context.Context, request CreateWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

	// Removes a direct member from a group in the account that contains this
	// workspace.
	//
	// If automatic identity management is on and the group has an `external_id`,
	// its members come from your identity provider and can't be changed in
	// Databricks.
	DeleteDirectGroupMemberProxy(ctx context.Context, request DeleteDirectGroupMemberProxyRequest) error

	// Deletes a group from the account that contains this workspace and removes it
	// from the workspaces it's assigned to.
	DeleteGroupProxy(ctx context.Context, request DeleteGroupProxyRequest) error

	// Deletes a service principal from the account that contains this workspace and
	// removes it from the workspaces it's assigned to. You can't delete service
	// principals that Databricks manages.
	DeleteServicePrincipalProxy(ctx context.Context, request DeleteServicePrincipalProxyRequest) error

	// Deletes a user from the account that contains this workspace and removes them
	// from the workspaces they're assigned to.
	DeleteUserProxy(ctx context.Context, request DeleteUserProxyRequest) error

	// Deletes a workspace assignment detail for a principal in the calling
	// workspace, revoking all of its entitlements. Entitlements are revoked one at
	// a time rather than atomically. If the request fails partway through, the
	// principal stays assigned with some of its original entitlements. Retrying is
	// safe.
	DeleteWorkspaceAssignmentDetailProxy(ctx context.Context, request DeleteWorkspaceAssignmentDetailProxyRequest) error

	// Removes a principal's direct assignment to this workspace and revokes the
	// entitlements it granted. The principal keeps any access it gets through
	// groups.
	//
	// Entitlements are revoked one at a time. If the request fails partway through,
	// the principal stays assigned with some of its entitlements. You can retry the
	// request.
	DeleteWorkspaceAssignmentProxy(ctx context.Context, request DeleteWorkspaceAssignmentProxyRequest) error

	// Gets a direct member of a group in the account that contains this workspace,
	// including where the membership comes from. Returns an error if the principal
	// isn't a direct member.
	GetDirectGroupMemberProxy(ctx context.Context, request GetDirectGroupMemberProxyRequest) (*DirectGroupMember, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name and
	// parent groups from your IdP. If the group isn't in the account that contains
	// this workspace yet, it's added. Requires automatic identity management. If
	// your account has group visibility filters, the group must match them.
	GetExternalGroupProxy(ctx context.Context, request GetExternalGroupProxyRequest) (*ExternalGroup, error)

	// Gets a service principal by its ID in your identity provider (IdP) and syncs
	// its details and group memberships from your IdP. If the service principal
	// isn't in the account that contains this workspace yet, it's added. Requires
	// automatic identity management with Microsoft Entra ID as your IdP.
	GetExternalServicePrincipalProxy(ctx context.Context, request GetExternalServicePrincipalProxyRequest) (*ExternalServicePrincipal, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in the account
	// that contains this workspace yet, they're added. Requires automatic identity
	// management.
	GetExternalUserProxy(ctx context.Context, request GetExternalUserProxyRequest) (*ExternalUser, error)

	// Gets a group in the account that contains this workspace by its Databricks
	// ID.
	GetGroupProxy(ctx context.Context, request GetGroupProxyRequest) (*Group, error)

	// Gets a service principal in the account that contains this workspace by its
	// Databricks ID.
	GetServicePrincipalProxy(ctx context.Context, request GetServicePrincipalProxyRequest) (*ServicePrincipal, error)

	// Gets a user in the account that contains this workspace by their Databricks
	// ID.
	GetUserProxy(ctx context.Context, request GetUserProxyRequest) (*User, error)

	// Returns the access details for a principal in the current workspace. Allows
	// for checking access details for any provisioned principal (user, service
	// principal, or group) in the current workspace. * Provisioned principal here
	// refers to one that has been synced into Databricks from the customer's IdP or
	// added explicitly to Databricks via SCIM/UI. Allows for passing in a "view"
	// parameter to control what fields are returned (BASIC by default or FULL).
	GetWorkspaceAccessDetailLocal(ctx context.Context, request GetWorkspaceAccessDetailLocalRequest) (*WorkspaceAccessDetail, error)

	// Returns the assignment details for a principal in the calling workspace.
	GetWorkspaceAssignmentDetailProxy(ctx context.Context, request GetWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

	// Gets a principal's direct assignment to this workspace, including its
	// effective entitlements. Returns an error if the principal isn't assigned
	// directly.
	GetWorkspaceAssignmentProxy(ctx context.Context, request GetWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

	// Gets a principal's status in this workspace and whether it has access
	// directly or through a group. Returns an error if the principal doesn't have
	// access to the workspace.
	GetWorkspaceIdentityDetail(ctx context.Context, request GetWorkspaceIdentityDetailRequest) (*WorkspaceIdentityDetail, error)

	// Lists the direct members of a group in the account that contains this
	// workspace, sorted by display name, with where each membership comes from.
	// Members in your identity provider who haven't been added to Databricks aren't
	// included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListDirectGroupMembersProxy(ctx context.Context, request ListDirectGroupMembersProxyRequest) listing.Iterator[DirectGroupMember]

	// Lists the direct members of a group in the account that contains this
	// workspace, sorted by display name, with where each membership comes from.
	// Members in your identity provider who haven't been added to Databricks aren't
	// included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListDirectGroupMembersProxyAll(ctx context.Context, request ListDirectGroupMembersProxyRequest) ([]DirectGroupMember, error)

	// Lists the groups in the account that contains this workspace, sorted by
	// Databricks ID. Groups in your identity provider that haven't been added to
	// Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListGroupsProxy(ctx context.Context, request ListGroupsProxyRequest) listing.Iterator[Group]

	// Lists the groups in the account that contains this workspace, sorted by
	// Databricks ID. Groups in your identity provider that haven't been added to
	// Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListGroupsProxyAll(ctx context.Context, request ListGroupsProxyRequest) ([]Group, error)

	// Lists the service principals in the account that contains this workspace,
	// sorted by Databricks ID. Service principals in your identity provider that
	// haven't been added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListServicePrincipalsProxy(ctx context.Context, request ListServicePrincipalsProxyRequest) listing.Iterator[ServicePrincipal]

	// Lists the service principals in the account that contains this workspace,
	// sorted by Databricks ID. Service principals in your identity provider that
	// haven't been added to Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListServicePrincipalsProxyAll(ctx context.Context, request ListServicePrincipalsProxyRequest) ([]ServicePrincipal, error)

	// Lists every group that a user, service principal, or group belongs to,
	// directly or through other groups, in the account that contains this
	// workspace. Results are sorted by Databricks ID. If automatic identity
	// management is on, the principal's group memberships are synced from your
	// identity provider first.
	ListTransitiveParentGroupsProxy(ctx context.Context, request ListTransitiveParentGroupsProxyRequest) (*ListTransitiveParentGroupsResponse, error)

	// Lists the users in the account that contains this workspace, sorted by
	// Databricks ID. Users in your identity provider who haven't been added to
	// Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListUsersProxy(ctx context.Context, request ListUsersProxyRequest) listing.Iterator[User]

	// Lists the users in the account that contains this workspace, sorted by
	// Databricks ID. Users in your identity provider who haven't been added to
	// Databricks aren't included.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListUsersProxyAll(ctx context.Context, request ListUsersProxyRequest) ([]User, error)

	// Lists workspace assignment details for the calling workspace. The response
	// omits the per-principal entitlement fields (`entitlements` and
	// `effective_entitlements`). To read the entitlements for a single principal,
	// get that principal's assignment detail.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentDetailsProxy(ctx context.Context, request ListWorkspaceAssignmentDetailsProxyRequest) listing.Iterator[WorkspaceAssignmentDetail]

	// Lists workspace assignment details for the calling workspace. The response
	// omits the per-principal entitlement fields (`entitlements` and
	// `effective_entitlements`). To read the entitlements for a single principal,
	// get that principal's assignment detail.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentDetailsProxyAll(ctx context.Context, request ListWorkspaceAssignmentDetailsProxyRequest) ([]WorkspaceAssignmentDetail, error)

	// Lists the principals assigned directly to this workspace. The response leaves
	// `entitlements` and `effective_entitlements` empty. To read a principal's
	// entitlements, get its assignment.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentsProxy(ctx context.Context, request ListWorkspaceAssignmentsProxyRequest) listing.Iterator[WorkspaceAssignment]

	// Lists the principals assigned directly to this workspace. The response leaves
	// `entitlements` and `effective_entitlements` empty. To read a principal's
	// entitlements, get its assignment.
	//
	// This method is generated by Databricks SDK Code Generator.
	ListWorkspaceAssignmentsProxyAll(ctx context.Context, request ListWorkspaceAssignmentsProxyRequest) ([]WorkspaceAssignment, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name and
	// parent groups from your IdP. If the group isn't in the account that contains
	// this workspace yet, it's added. Requires automatic identity management. If
	// your account has group visibility filters, the group must match them.
	ResolveGroupProxy(ctx context.Context, request ResolveGroupProxyRequest) (*ResolveGroupResponse, error)

	// Gets a service principal by its ID in your identity provider (IdP) and syncs
	// its details and group memberships from your IdP. If the service principal
	// isn't in the account that contains this workspace yet, it's added. Requires
	// automatic identity management with Microsoft Entra ID as your IdP.
	ResolveServicePrincipalProxy(ctx context.Context, request ResolveServicePrincipalProxyRequest) (*ResolveServicePrincipalResponse, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in the account
	// that contains this workspace yet, they're added. Requires automatic identity
	// management.
	ResolveUserProxy(ctx context.Context, request ResolveUserProxyRequest) (*ResolveUserResponse, error)

	// Updates a group in the account that contains this workspace. Only the fields
	// in `update_mask` change.
	//
	// If automatic identity management is on and the group has an `external_id`,
	// you can only update `external_id`. The group's other fields come from your
	// identity provider. If your account also has group visibility filters, a new
	// `external_id` must match them. You can always clear `external_id`.
	UpdateGroupProxy(ctx context.Context, request UpdateGroupProxyRequest) (*Group, error)

	// Updates a service principal in the account that contains this workspace. Only
	// the fields in `update_mask` change.
	//
	// If automatic identity management is on and the service principal has an
	// `external_id`, you can only update `external_id`. Its other fields come from
	// your identity provider. A service principal can't deactivate itself, and you
	// can't update service principals that Databricks manages.
	UpdateServicePrincipalProxy(ctx context.Context, request UpdateServicePrincipalProxyRequest) (*ServicePrincipal, error)

	// Updates a user in the account that contains this workspace. Only the fields
	// in `update_mask` change.
	//
	// If automatic identity management is on and the user has an `external_id`, you
	// can only update `external_id`. The user's other fields come from your
	// identity provider. You can't deactivate yourself or change the status of the
	// account owner.
	UpdateUserProxy(ctx context.Context, request UpdateUserProxyRequest) (*User, error)

	// Updates the entitlements of a directly assigned principal in the calling
	// workspace. Changes are applied one at a time rather than atomically. If the
	// request fails partway through, only some of the requested changes take
	// effect. Get the assignment detail afterwards to confirm the final state.
	UpdateWorkspaceAssignmentDetailProxy(ctx context.Context, request UpdateWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

	// Replaces the entitlements of a principal's direct assignment to this
	// workspace. The new list can't be empty.
	//
	// Entitlements are changed one at a time. If the request fails partway through,
	// only some of the changes take effect. Get the assignment afterwards to check
	// the result.
	UpdateWorkspaceAssignmentProxy(ctx context.Context, request UpdateWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

	// Activates or deactivates a user or service principal in this workspace. You
	// can only update `workspace_identity_status`. You can't change your own status
	// or the status of a group.
	UpdateWorkspaceIdentityDetail(ctx context.Context, request UpdateWorkspaceIdentityDetailRequest) (*WorkspaceIdentityDetail, error)
}

type WorkspaceIamV2Service deprecated

type WorkspaceIamV2Service interface {

	// Adds a user, service principal, or group as a direct member of a group in
	// the account that contains this workspace.
	//
	// If automatic identity management is on and the group has an
	// `external_id`, its members come from your identity provider and can't be
	// changed in Databricks.
	CreateDirectGroupMemberProxy(ctx context.Context, request CreateDirectGroupMemberProxyRequest) (*DirectGroupMember, error)

	// Creates a local group in the account that contains this workspace. A
	// local group is a group that isn't synced from your identity provider
	// (IdP). You become a manager of the new group.
	//
	// If automatic identity management is on, you can't set `external_id`. To
	// add a group from your IdP, get it as an external group instead.
	CreateGroupProxy(ctx context.Context, request CreateGroupProxyRequest) (*Group, error)

	// Creates a local service principal in the account that contains this
	// workspace. A local service principal is one that isn't synced from your
	// identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To
	// add a service principal from your IdP, get it as an external service
	// principal instead.
	CreateServicePrincipalProxy(ctx context.Context, request CreateServicePrincipalProxyRequest) (*ServicePrincipal, error)

	// Creates a local user in the account that contains this workspace. A local
	// user is a user that isn't synced from your identity provider (IdP).
	//
	// If automatic identity management is on, you can't set `external_id`. To
	// add a user from your IdP, get them as an external user instead.
	CreateUserProxy(ctx context.Context, request CreateUserProxyRequest) (*User, error)

	// Creates a workspace assignment detail for a principal in the calling
	// workspace.
	CreateWorkspaceAssignmentDetailProxy(ctx context.Context, request CreateWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

	// Assigns a user, service principal, or group directly to this workspace
	// with the given entitlements. Returns an error if the principal is already
	// assigned directly.
	//
	// Entitlements are granted one at a time. If the request fails partway
	// through, the principal stays assigned with only some of the entitlements.
	// Get the assignment afterwards to check which were granted.
	CreateWorkspaceAssignmentProxy(ctx context.Context, request CreateWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

	// Removes a direct member from a group in the account that contains this
	// workspace.
	//
	// If automatic identity management is on and the group has an
	// `external_id`, its members come from your identity provider and can't be
	// changed in Databricks.
	DeleteDirectGroupMemberProxy(ctx context.Context, request DeleteDirectGroupMemberProxyRequest) error

	// Deletes a group from the account that contains this workspace and removes
	// it from the workspaces it's assigned to.
	DeleteGroupProxy(ctx context.Context, request DeleteGroupProxyRequest) error

	// Deletes a service principal from the account that contains this workspace
	// and removes it from the workspaces it's assigned to. You can't delete
	// service principals that Databricks manages.
	DeleteServicePrincipalProxy(ctx context.Context, request DeleteServicePrincipalProxyRequest) error

	// Deletes a user from the account that contains this workspace and removes
	// them from the workspaces they're assigned to.
	DeleteUserProxy(ctx context.Context, request DeleteUserProxyRequest) error

	// Deletes a workspace assignment detail for a principal in the calling
	// workspace, revoking all of its entitlements. Entitlements are revoked one
	// at a time rather than atomically. If the request fails partway through,
	// the principal stays assigned with some of its original entitlements.
	// Retrying is safe.
	DeleteWorkspaceAssignmentDetailProxy(ctx context.Context, request DeleteWorkspaceAssignmentDetailProxyRequest) error

	// Removes a principal's direct assignment to this workspace and revokes the
	// entitlements it granted. The principal keeps any access it gets through
	// groups.
	//
	// Entitlements are revoked one at a time. If the request fails partway
	// through, the principal stays assigned with some of its entitlements. You
	// can retry the request.
	DeleteWorkspaceAssignmentProxy(ctx context.Context, request DeleteWorkspaceAssignmentProxyRequest) error

	// Gets a direct member of a group in the account that contains this
	// workspace, including where the membership comes from. Returns an error if
	// the principal isn't a direct member.
	GetDirectGroupMemberProxy(ctx context.Context, request GetDirectGroupMemberProxyRequest) (*DirectGroupMember, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name
	// and parent groups from your IdP. If the group isn't in the account that
	// contains this workspace yet, it's added. Requires automatic identity
	// management. If your account has group visibility filters, the group must
	// match them.
	GetExternalGroupProxy(ctx context.Context, request GetExternalGroupProxyRequest) (*ExternalGroup, error)

	// Gets a service principal by its ID in your identity provider (IdP) and
	// syncs its details and group memberships from your IdP. If the service
	// principal isn't in the account that contains this workspace yet, it's
	// added. Requires automatic identity management with Microsoft Entra ID as
	// your IdP.
	GetExternalServicePrincipalProxy(ctx context.Context, request GetExternalServicePrincipalProxyRequest) (*ExternalServicePrincipal, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in the
	// account that contains this workspace yet, they're added. Requires
	// automatic identity management.
	GetExternalUserProxy(ctx context.Context, request GetExternalUserProxyRequest) (*ExternalUser, error)

	// Gets a group in the account that contains this workspace by its
	// Databricks ID.
	GetGroupProxy(ctx context.Context, request GetGroupProxyRequest) (*Group, error)

	// Gets a service principal in the account that contains this workspace by
	// its Databricks ID.
	GetServicePrincipalProxy(ctx context.Context, request GetServicePrincipalProxyRequest) (*ServicePrincipal, error)

	// Gets a user in the account that contains this workspace by their
	// Databricks ID.
	GetUserProxy(ctx context.Context, request GetUserProxyRequest) (*User, error)

	// Returns the access details for a principal in the current workspace.
	// Allows for checking access details for any provisioned principal (user,
	// service principal, or group) in the current workspace. * Provisioned
	// principal here refers to one that has been synced into Databricks from
	// the customer's IdP or added explicitly to Databricks via SCIM/UI. Allows
	// for passing in a "view" parameter to control what fields are returned
	// (BASIC by default or FULL).
	GetWorkspaceAccessDetailLocal(ctx context.Context, request GetWorkspaceAccessDetailLocalRequest) (*WorkspaceAccessDetail, error)

	// Returns the assignment details for a principal in the calling workspace.
	GetWorkspaceAssignmentDetailProxy(ctx context.Context, request GetWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

	// Gets a principal's direct assignment to this workspace, including its
	// effective entitlements. Returns an error if the principal isn't assigned
	// directly.
	GetWorkspaceAssignmentProxy(ctx context.Context, request GetWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

	// Gets a principal's status in this workspace and whether it has access
	// directly or through a group. Returns an error if the principal doesn't
	// have access to the workspace.
	GetWorkspaceIdentityDetail(ctx context.Context, request GetWorkspaceIdentityDetailRequest) (*WorkspaceIdentityDetail, error)

	// Lists the direct members of a group in the account that contains this
	// workspace, sorted by display name, with where each membership comes from.
	// Members in your identity provider who haven't been added to Databricks
	// aren't included.
	ListDirectGroupMembersProxy(ctx context.Context, request ListDirectGroupMembersProxyRequest) (*ListDirectGroupMembersResponse, error)

	// Lists the groups in the account that contains this workspace, sorted by
	// Databricks ID. Groups in your identity provider that haven't been added
	// to Databricks aren't included.
	ListGroupsProxy(ctx context.Context, request ListGroupsProxyRequest) (*ListGroupsResponse, error)

	// Lists the service principals in the account that contains this workspace,
	// sorted by Databricks ID. Service principals in your identity provider
	// that haven't been added to Databricks aren't included.
	ListServicePrincipalsProxy(ctx context.Context, request ListServicePrincipalsProxyRequest) (*ListServicePrincipalsResponse, error)

	// Lists every group that a user, service principal, or group belongs to,
	// directly or through other groups, in the account that contains this
	// workspace. Results are sorted by Databricks ID. If automatic identity
	// management is on, the principal's group memberships are synced from your
	// identity provider first.
	ListTransitiveParentGroupsProxy(ctx context.Context, request ListTransitiveParentGroupsProxyRequest) (*ListTransitiveParentGroupsResponse, error)

	// Lists the users in the account that contains this workspace, sorted by
	// Databricks ID. Users in your identity provider who haven't been added to
	// Databricks aren't included.
	ListUsersProxy(ctx context.Context, request ListUsersProxyRequest) (*ListUsersResponse, error)

	// Lists workspace assignment details for the calling workspace. The
	// response omits the per-principal entitlement fields (`entitlements` and
	// `effective_entitlements`). To read the entitlements for a single
	// principal, get that principal's assignment detail.
	ListWorkspaceAssignmentDetailsProxy(ctx context.Context, request ListWorkspaceAssignmentDetailsProxyRequest) (*ListWorkspaceAssignmentDetailsResponse, error)

	// Lists the principals assigned directly to this workspace. The response
	// leaves `entitlements` and `effective_entitlements` empty. To read a
	// principal's entitlements, get its assignment.
	ListWorkspaceAssignmentsProxy(ctx context.Context, request ListWorkspaceAssignmentsProxyRequest) (*ListWorkspaceAssignmentsResponse, error)

	// Gets a group by its ID in your identity provider (IdP) and syncs its name
	// and parent groups from your IdP. If the group isn't in the account that
	// contains this workspace yet, it's added. Requires automatic identity
	// management. If your account has group visibility filters, the group must
	// match them.
	ResolveGroupProxy(ctx context.Context, request ResolveGroupProxyRequest) (*ResolveGroupResponse, error)

	// Gets a service principal by its ID in your identity provider (IdP) and
	// syncs its details and group memberships from your IdP. If the service
	// principal isn't in the account that contains this workspace yet, it's
	// added. Requires automatic identity management with Microsoft Entra ID as
	// your IdP.
	ResolveServicePrincipalProxy(ctx context.Context, request ResolveServicePrincipalProxyRequest) (*ResolveServicePrincipalResponse, error)

	// Gets a user by their ID in your identity provider (IdP) and syncs their
	// details and group memberships from your IdP. If the user isn't in the
	// account that contains this workspace yet, they're added. Requires
	// automatic identity management.
	ResolveUserProxy(ctx context.Context, request ResolveUserProxyRequest) (*ResolveUserResponse, error)

	// Updates a group in the account that contains this workspace. Only the
	// fields in `update_mask` change.
	//
	// If automatic identity management is on and the group has an
	// `external_id`, you can only update `external_id`. The group's other
	// fields come from your identity provider. If your account also has group
	// visibility filters, a new `external_id` must match them. You can always
	// clear `external_id`.
	UpdateGroupProxy(ctx context.Context, request UpdateGroupProxyRequest) (*Group, error)

	// Updates a service principal in the account that contains this workspace.
	// Only the fields in `update_mask` change.
	//
	// If automatic identity management is on and the service principal has an
	// `external_id`, you can only update `external_id`. Its other fields come
	// from your identity provider. A service principal can't deactivate itself,
	// and you can't update service principals that Databricks manages.
	UpdateServicePrincipalProxy(ctx context.Context, request UpdateServicePrincipalProxyRequest) (*ServicePrincipal, error)

	// Updates a user in the account that contains this workspace. Only the
	// fields in `update_mask` change.
	//
	// If automatic identity management is on and the user has an `external_id`,
	// you can only update `external_id`. The user's other fields come from your
	// identity provider. You can't deactivate yourself or change the status of
	// the account owner.
	UpdateUserProxy(ctx context.Context, request UpdateUserProxyRequest) (*User, error)

	// Updates the entitlements of a directly assigned principal in the calling
	// workspace. Changes are applied one at a time rather than atomically. If
	// the request fails partway through, only some of the requested changes
	// take effect. Get the assignment detail afterwards to confirm the final
	// state.
	UpdateWorkspaceAssignmentDetailProxy(ctx context.Context, request UpdateWorkspaceAssignmentDetailProxyRequest) (*WorkspaceAssignmentDetail, error)

	// Replaces the entitlements of a principal's direct assignment to this
	// workspace. The new list can't be empty.
	//
	// Entitlements are changed one at a time. If the request fails partway
	// through, only some of the changes take effect. Get the assignment
	// afterwards to check the result.
	UpdateWorkspaceAssignmentProxy(ctx context.Context, request UpdateWorkspaceAssignmentProxyRequest) (*WorkspaceAssignment, error)

	// Activates or deactivates a user or service principal in this workspace.
	// You can only update `workspace_identity_status`. You can't change your
	// own status or the status of a group.
	UpdateWorkspaceIdentityDetail(ctx context.Context, request UpdateWorkspaceIdentityDetailRequest) (*WorkspaceIdentityDetail, error)
}

These APIs are used to manage identities and the workspace access of these identities in Databricks.

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

type WorkspaceIdentityDetail added in v0.172.0

type WorkspaceIdentityDetail struct {
	// Whether the principal is assigned to the workspace directly or has access
	// through a group.
	AssignmentType WorkspaceIdentityDetailAssignmentType `json:"assignment_type,omitempty"`
	// The resource name of the workspace identity detail, in the format
	// `principals/{principal_id}/workspace-identity-detail`.
	Name string `json:"name,omitempty"`
	// The Databricks ID of the user, service principal, or group.
	PrincipalId int64 `json:"principal_id,omitempty"`
	// Whether the principal is a user, service principal, or group.
	PrincipalType PrincipalType `json:"principal_type,omitempty"`
	// Whether the principal is active in the workspace. Groups are always
	// `ACTIVE`.
	WorkspaceIdentityStatus State `json:"workspace_identity_status,omitempty"`

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

A user, service principal, or group's status in a workspace, and whether it has access to the workspace directly or through a group. Update it to activate or deactivate a user or service principal in the workspace.

func (WorkspaceIdentityDetail) MarshalJSON added in v0.172.0

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

func (*WorkspaceIdentityDetail) UnmarshalJSON added in v0.172.0

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

type WorkspaceIdentityDetailAssignmentType added in v0.172.0

type WorkspaceIdentityDetailAssignmentType string

How a principal has access to a workspace.

const WorkspaceIdentityDetailAssignmentTypeDirect WorkspaceIdentityDetailAssignmentType = `DIRECT`
const WorkspaceIdentityDetailAssignmentTypeIndirect WorkspaceIdentityDetailAssignmentType = `INDIRECT`

func (*WorkspaceIdentityDetailAssignmentType) Set added in v0.172.0

Set raw string value and validate it against allowed values

func (*WorkspaceIdentityDetailAssignmentType) String added in v0.172.0

String representation for fmt.Print

func (*WorkspaceIdentityDetailAssignmentType) Type added in v0.172.0

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

func (*WorkspaceIdentityDetailAssignmentType) Values added in v0.172.0

Values returns all possible values for WorkspaceIdentityDetailAssignmentType.

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

type WorkspacePermission

type WorkspacePermission string

The type of permission a principal has to a workspace (admin/user).

const WorkspacePermissionAdminPermission WorkspacePermission = `ADMIN_PERMISSION`
const WorkspacePermissionUserPermission WorkspacePermission = `USER_PERMISSION`

func (*WorkspacePermission) Set

func (f *WorkspacePermission) Set(v string) error

Set raw string value and validate it against allowed values

func (*WorkspacePermission) String

func (f *WorkspacePermission) String() string

String representation for fmt.Print

func (*WorkspacePermission) Type

func (f *WorkspacePermission) Type() string

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

func (*WorkspacePermission) Values

Values returns all possible values for WorkspacePermission.

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

Jump to

Keyboard shortcuts

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