memberentitlementmanagement

package
v7.2.4 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2024 License: MIT Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GroupTypeValues = groupTypeValuesType{
	ProjectStakeholder:   "projectStakeholder",
	ProjectReader:        "projectReader",
	ProjectContributor:   "projectContributor",
	ProjectAdministrator: "projectAdministrator",
	Custom:               "custom",
}
View Source
var ProjectPermissionInheritedValues = projectPermissionInheritedValuesType{
	NotSet:       "notSet",
	NotInherited: "notInherited",
	Inherited:    "inherited",
}
View Source
var ResourceAreaId, _ = uuid.Parse("68ddce18-2501-45f1-a17b-7931a9922690")
View Source
var SummaryPropertyNameValues = summaryPropertyNameValuesType{
	AccessLevels:       "accessLevels",
	Licenses:           "licenses",
	Extensions:         "extensions",
	Projects:           "projects",
	Groups:             "groups",
	DefaultAccessLevel: "defaultAccessLevel",
	All:                "all",
}
View Source
var UserEntitlementPropertyValues = userEntitlementPropertyValuesType{
	License:    "license",
	Extensions: "extensions",
	Projects:   "projects",
	GroupRules: "groupRules",
	All:        "all",
}

Functions

This section is empty.

Types

type AddGroupEntitlementArgs

type AddGroupEntitlementArgs struct {
	// (required) GroupEntitlement object specifying License Rule, Extensions Rule for the group. Based on the rules the members of the group will be given licenses and extensions. The Group Entitlement can be used to add the group to another project level groups
	GroupEntitlement *GroupEntitlement
	// (optional) RuleOption [ApplyGroupRule/TestApplyGroupRule] - specifies if the rules defined in group entitlement should be created and applied to it’s members (default option) or just be tested
	RuleOption *licensingrule.RuleOption
}

Arguments for the AddGroupEntitlement function

type AddMemberToGroupArgs

type AddMemberToGroupArgs struct {
	// (required) Id of the Group.
	GroupId *uuid.UUID
	// (required) Id of the member to add.
	MemberId *uuid.UUID
}

Arguments for the AddMemberToGroup function

type AddServicePrincipalEntitlementArgs

type AddServicePrincipalEntitlementArgs struct {
	// (required) ServicePrincipalEntitlement object specifying License, Extensions and Project/Team groups the service principal should be added to.
	ServicePrincipalEntitlement *ServicePrincipalEntitlement
}

Arguments for the AddServicePrincipalEntitlement function

type AddUserEntitlementArgs

type AddUserEntitlementArgs struct {
	// (required) UserEntitlement object specifying License, Extensions and Project/Team groups the user should be added to.
	UserEntitlement *UserEntitlement
}

Arguments for the AddUserEntitlement function

type BaseOperationResult

type BaseOperationResult struct {
	// List of error codes paired with their corresponding error messages
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation
	IsSuccess *bool `json:"isSuccess,omitempty"`
}

type Client

type Client interface {
	// [Preview API] Create a group entitlement with license rule, extension rule.
	AddGroupEntitlement(context.Context, AddGroupEntitlementArgs) (*GroupEntitlementOperationReference, error)
	// [Preview API] Add a member to a Group.
	AddMemberToGroup(context.Context, AddMemberToGroupArgs) error
	// [Preview API] Add a service principal, assign license and extensions and make them a member of a project group in an account.
	AddServicePrincipalEntitlement(context.Context, AddServicePrincipalEntitlementArgs) (*ServicePrincipalEntitlementsPostResponse, error)
	// [Preview API] Add a user, assign license and extensions and make them a member of a project group in an account.
	AddUserEntitlement(context.Context, AddUserEntitlementArgs) (*UserEntitlementsPostResponse, error)
	// [Preview API] Delete a group entitlement.
	DeleteGroupEntitlement(context.Context, DeleteGroupEntitlementArgs) (*GroupEntitlementOperationReference, error)
	// [Preview API] Delete a service principal from the account.
	DeleteServicePrincipalEntitlement(context.Context, DeleteServicePrincipalEntitlementArgs) error
	// [Preview API] Delete a user from the account.
	DeleteUserEntitlement(context.Context, DeleteUserEntitlementArgs) error
	// [Preview API] Get a group entitlement.
	GetGroupEntitlement(context.Context, GetGroupEntitlementArgs) (*GroupEntitlement, error)
	// [Preview API] Get the group entitlements for an account.
	GetGroupEntitlements(context.Context, GetGroupEntitlementsArgs) (*[]GroupEntitlement, error)
	// [Preview API] Get direct members of a Group.
	GetGroupMembers(context.Context, GetGroupMembersArgs) (*PagedGraphMemberList, error)
	// [Preview API] Get Service principal Entitlement for a service principal.
	GetServicePrincipalEntitlement(context.Context, GetServicePrincipalEntitlementArgs) (*ServicePrincipalEntitlement, error)
	// [Preview API] Get User Entitlement for a user.
	GetUserEntitlement(context.Context, GetUserEntitlementArgs) (*UserEntitlement, error)
	// [Preview API] Get summary of Licenses, Extension, Projects, Groups and their assignments in the collection.
	GetUsersSummary(context.Context, GetUsersSummaryArgs) (*UsersSummary, error)
	// [Preview API] Remove a member from a Group.
	RemoveMemberFromGroup(context.Context, RemoveMemberFromGroupArgs) error
	// [Preview API]
	SearchMemberEntitlements(context.Context, SearchMemberEntitlementsArgs) (*[]MemberEntitlement2, error)
	// [Preview API] Get a paged set of user entitlements matching the filter and sort criteria built with properties that match the select input.
	SearchUserEntitlements(context.Context, SearchUserEntitlementsArgs) (*PagedGraphMemberList, error)
	// [Preview API] Update entitlements (License Rule, Extensions Rule, Project memberships etc.) for a group.
	UpdateGroupEntitlement(context.Context, UpdateGroupEntitlementArgs) (*GroupEntitlementOperationReference, error)
	// [Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for a service principal.
	UpdateServicePrincipalEntitlement(context.Context, UpdateServicePrincipalEntitlementArgs) (*ServicePrincipalEntitlementsPatchResponse, error)
	// [Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for one or more service principals.
	UpdateServicePrincipalEntitlements(context.Context, UpdateServicePrincipalEntitlementsArgs) (*ServicePrincipalEntitlementOperationReference, error)
	// [Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for a user.
	UpdateUserEntitlement(context.Context, UpdateUserEntitlementArgs) (*UserEntitlementsPatchResponse, error)
	// [Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for one or more users.
	UpdateUserEntitlements(context.Context, UpdateUserEntitlementsArgs) (*UserEntitlementOperationReference, error)
}

func NewClient

func NewClient(ctx context.Context, connection *azuredevops.Connection) (Client, error)

type ClientImpl

type ClientImpl struct {
	Client azuredevops.Client
}

func (*ClientImpl) AddGroupEntitlement

[Preview API] Create a group entitlement with license rule, extension rule.

func (*ClientImpl) AddMemberToGroup

func (client *ClientImpl) AddMemberToGroup(ctx context.Context, args AddMemberToGroupArgs) error

[Preview API] Add a member to a Group.

func (*ClientImpl) AddServicePrincipalEntitlement

[Preview API] Add a service principal, assign license and extensions and make them a member of a project group in an account.

func (*ClientImpl) AddUserEntitlement

func (client *ClientImpl) AddUserEntitlement(ctx context.Context, args AddUserEntitlementArgs) (*UserEntitlementsPostResponse, error)

[Preview API] Add a user, assign license and extensions and make them a member of a project group in an account.

func (*ClientImpl) DeleteGroupEntitlement

func (client *ClientImpl) DeleteGroupEntitlement(ctx context.Context, args DeleteGroupEntitlementArgs) (*GroupEntitlementOperationReference, error)

[Preview API] Delete a group entitlement.

func (*ClientImpl) DeleteServicePrincipalEntitlement

func (client *ClientImpl) DeleteServicePrincipalEntitlement(ctx context.Context, args DeleteServicePrincipalEntitlementArgs) error

[Preview API] Delete a service principal from the account.

func (*ClientImpl) DeleteUserEntitlement

func (client *ClientImpl) DeleteUserEntitlement(ctx context.Context, args DeleteUserEntitlementArgs) error

[Preview API] Delete a user from the account.

func (*ClientImpl) GetGroupEntitlement

func (client *ClientImpl) GetGroupEntitlement(ctx context.Context, args GetGroupEntitlementArgs) (*GroupEntitlement, error)

[Preview API] Get a group entitlement.

func (*ClientImpl) GetGroupEntitlements

func (client *ClientImpl) GetGroupEntitlements(ctx context.Context, args GetGroupEntitlementsArgs) (*[]GroupEntitlement, error)

[Preview API] Get the group entitlements for an account.

func (*ClientImpl) GetGroupMembers

func (client *ClientImpl) GetGroupMembers(ctx context.Context, args GetGroupMembersArgs) (*PagedGraphMemberList, error)

[Preview API] Get direct members of a Group.

func (*ClientImpl) GetServicePrincipalEntitlement

func (client *ClientImpl) GetServicePrincipalEntitlement(ctx context.Context, args GetServicePrincipalEntitlementArgs) (*ServicePrincipalEntitlement, error)

[Preview API] Get Service principal Entitlement for a service principal.

func (*ClientImpl) GetUserEntitlement

func (client *ClientImpl) GetUserEntitlement(ctx context.Context, args GetUserEntitlementArgs) (*UserEntitlement, error)

[Preview API] Get User Entitlement for a user.

func (*ClientImpl) GetUsersSummary

func (client *ClientImpl) GetUsersSummary(ctx context.Context, args GetUsersSummaryArgs) (*UsersSummary, error)

[Preview API] Get summary of Licenses, Extension, Projects, Groups and their assignments in the collection.

func (*ClientImpl) RemoveMemberFromGroup

func (client *ClientImpl) RemoveMemberFromGroup(ctx context.Context, args RemoveMemberFromGroupArgs) error

[Preview API] Remove a member from a Group.

func (*ClientImpl) SearchMemberEntitlements

func (client *ClientImpl) SearchMemberEntitlements(ctx context.Context, args SearchMemberEntitlementsArgs) (*[]MemberEntitlement2, error)

[Preview API]

func (*ClientImpl) SearchUserEntitlements

func (client *ClientImpl) SearchUserEntitlements(ctx context.Context, args SearchUserEntitlementsArgs) (*PagedGraphMemberList, error)

[Preview API] Get a paged set of user entitlements matching the filter and sort criteria built with properties that match the select input.

func (*ClientImpl) UpdateGroupEntitlement

func (client *ClientImpl) UpdateGroupEntitlement(ctx context.Context, args UpdateGroupEntitlementArgs) (*GroupEntitlementOperationReference, error)

[Preview API] Update entitlements (License Rule, Extensions Rule, Project memberships etc.) for a group.

func (*ClientImpl) UpdateServicePrincipalEntitlement

[Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for a service principal.

func (*ClientImpl) UpdateServicePrincipalEntitlements

[Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for one or more service principals.

func (*ClientImpl) UpdateUserEntitlement

func (client *ClientImpl) UpdateUserEntitlement(ctx context.Context, args UpdateUserEntitlementArgs) (*UserEntitlementsPatchResponse, error)

[Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for a user.

func (*ClientImpl) UpdateUserEntitlements

func (client *ClientImpl) UpdateUserEntitlements(ctx context.Context, args UpdateUserEntitlementsArgs) (*UserEntitlementOperationReference, error)

[Preview API] Edit the entitlements (License, Extensions, Projects, Teams etc) for one or more users.

type DeleteGroupEntitlementArgs

type DeleteGroupEntitlementArgs struct {
	// (required) ID of the group to delete.
	GroupId *uuid.UUID
	// (optional) RuleOption [ApplyGroupRule/TestApplyGroupRule] - specifies if the rules defined in group entitlement should be deleted and the changes are applied to it’s members (default option) or just be tested
	RuleOption *licensingrule.RuleOption
	// (optional) Optional parameter that specifies whether the group with the given ID should be removed from all other groups
	RemoveGroupMembership *bool
}

Arguments for the DeleteGroupEntitlement function

type DeleteServicePrincipalEntitlementArgs

type DeleteServicePrincipalEntitlementArgs struct {
	// (required) ID of the service principal.
	ServicePrincipalId *uuid.UUID
}

Arguments for the DeleteServicePrincipalEntitlement function

type DeleteUserEntitlementArgs

type DeleteUserEntitlementArgs struct {
	// (required) ID of the user.
	UserId *uuid.UUID
}

Arguments for the DeleteUserEntitlement function

type EntitlementBase

type EntitlementBase struct {
	// Member's access level denoted by a license.
	AccessLevel *licensing.AccessLevel `json:"accessLevel,omitempty"`
	// [Readonly] Date the member was added to the collection.
	DateCreated *azuredevops.Time `json:"dateCreated,omitempty"`
	// [Readonly] GroupEntitlements that this member belongs to.
	GroupAssignments *[]GroupEntitlement `json:"groupAssignments,omitempty"`
	// The unique identifier which matches the Id of the Identity associated with the GraphMember.
	Id *uuid.UUID `json:"id,omitempty"`
	// [Readonly] Date the member last accessed the collection.
	LastAccessedDate *azuredevops.Time `json:"lastAccessedDate,omitempty"`
	// Relation between a project and the member's effective permissions in that project.
	ProjectEntitlements *[]ProjectEntitlement `json:"projectEntitlements,omitempty"`
}

type EntitlementOperationResultBase

type EntitlementOperationResultBase struct {
	// List of error codes paired with their corresponding error messages.
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Resulting entitlement property.  For specific implementations, see also: <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" />
	Result interface{} `json:"result,omitempty"`
}

type Extension

type Extension struct {
	// Assignment source for this extension. I.e. explicitly assigned or from a group rule.
	AssignmentSource *licensing.AssignmentSource `json:"assignmentSource,omitempty"`
	// Gallery Id of the Extension.
	Id *string `json:"id,omitempty"`
	// Friendly name of this extension.
	Name *string `json:"name,omitempty"`
	// Source of this extension assignment. Ex: msdn, account, none, etc.
	Source *licensing.LicensingSource `json:"source,omitempty"`
}

An extension assigned to a user

type ExtensionSummaryData

type ExtensionSummaryData struct {
	// Count of Licenses already assigned.
	Assigned *int `json:"assigned,omitempty"`
	// Available Count.
	Available *int `json:"available,omitempty"`
	// Quantity
	IncludedQuantity *int `json:"includedQuantity,omitempty"`
	// Total Count.
	Total *int `json:"total,omitempty"`
	// Count of Extension Licenses assigned to users through msdn.
	AssignedThroughSubscription *int `json:"assignedThroughSubscription,omitempty"`
	// Gallery Id of the Extension
	ExtensionId *string `json:"extensionId,omitempty"`
	// Friendly name of this extension
	ExtensionName *string `json:"extensionName,omitempty"`
	// Whether its a Trial Version.
	IsTrialVersion *bool `json:"isTrialVersion,omitempty"`
	// Minimum License Required for the Extension.
	MinimumLicenseRequired *commerce.MinimumRequiredServiceLevel `json:"minimumLicenseRequired,omitempty"`
	// Days remaining for the Trial to expire.
	RemainingTrialDays *int `json:"remainingTrialDays,omitempty"`
	// Date on which the Trial expires.
	TrialExpiryDate *azuredevops.Time `json:"trialExpiryDate,omitempty"`
}

Summary of Extensions in the organization.

type GetGroupEntitlementArgs

type GetGroupEntitlementArgs struct {
	// (required) ID of the group.
	GroupId *uuid.UUID
}

Arguments for the GetGroupEntitlement function

type GetGroupEntitlementsArgs

type GetGroupEntitlementsArgs struct {
}

Arguments for the GetGroupEntitlements function

type GetGroupMembersArgs

type GetGroupMembersArgs struct {
	// (required) Id of the Group.
	GroupId *uuid.UUID
	// (optional) Maximum number of results to retrieve.
	MaxResults *int
	// (optional) Paging Token from the previous page fetched. If the 'pagingToken' is null, the results would be fetched from the beginning of the Members List.
	PagingToken *string
}

Arguments for the GetGroupMembers function

type GetServicePrincipalEntitlementArgs

type GetServicePrincipalEntitlementArgs struct {
	// (required) ID of the service principal.
	ServicePrincipalId *uuid.UUID
}

Arguments for the GetServicePrincipalEntitlement function

type GetUserEntitlementArgs

type GetUserEntitlementArgs struct {
	// (required) ID of the user.
	UserId *uuid.UUID
}

Arguments for the GetUserEntitlement function

type GetUsersSummaryArgs

type GetUsersSummaryArgs struct {
	// (optional) Comma (",") separated list of properties to select. Supported property names are {AccessLevels, Licenses, Projects, Groups}.
	Select *string
}

Arguments for the GetUsersSummary function

type Group

type Group struct {
	// Display Name of the Group
	DisplayName *string `json:"displayName,omitempty"`
	// Group Type
	GroupType *GroupType `json:"groupType,omitempty"`
}

Project Group (e.g. Contributor, Reader etc.)

type GroupEntitlement

type GroupEntitlement struct {
	// Deprecated:
	ExtensionRules *[]Extension `json:"extensionRules,omitempty"`
	// Member reference.
	Group *graph.GraphGroup `json:"group,omitempty"`
	// The unique identifier which matches the Id of the GraphMember.
	Id *uuid.UUID `json:"id,omitempty"`
	// [Readonly] The last time the group licensing rule was executed (regardless of whether any changes were made).
	LastExecuted *azuredevops.Time `json:"lastExecuted,omitempty"`
	// License Rule.
	LicenseRule *licensing.AccessLevel `json:"licenseRule,omitempty"`
	// Group members. Only used when creating a new group.
	Members *[]UserEntitlement `json:"members,omitempty"`
	// Relation between a project and the member's effective permissions in that project.
	ProjectEntitlements *[]ProjectEntitlement `json:"projectEntitlements,omitempty"`
	// The status of the group rule.
	Status *licensingrule.GroupLicensingRuleStatus `json:"status,omitempty"`
}

A group entity with additional properties including its license, extensions, and project membership

type GroupEntitlementOperationReference

type GroupEntitlementOperationReference struct {
	// Unique identifier for the operation.
	Id *uuid.UUID `json:"id,omitempty"`
	// Unique identifier for the plugin.
	PluginId *uuid.UUID `json:"pluginId,omitempty"`
	// The current status of the operation.
	Status *operations.OperationStatus `json:"status,omitempty"`
	// URL to get the full operation object.
	Url *string `json:"url,omitempty"`
	// Operation completed with success or failure.
	Completed *bool `json:"completed,omitempty"`
	// True if all operations were successful.
	HaveResultsSucceeded *bool `json:"haveResultsSucceeded,omitempty"`
	// List of results for each operation.
	Results *[]GroupOperationResult `json:"results,omitempty"`
}

type GroupOperationResult

type GroupOperationResult struct {
	// List of error codes paired with their corresponding error messages
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Identifier of the Group being acted upon
	GroupId *uuid.UUID `json:"groupId,omitempty"`
	// Result of the Groupentitlement after the operation
	Result *GroupEntitlement `json:"result,omitempty"`
}

type GroupOption

type GroupOption struct {
	// Access Level
	AccessLevel *licensing.AccessLevel `json:"accessLevel,omitempty"`
	// Group
	Group *Group `json:"group,omitempty"`
}

Group option to add a user to

type GroupType

type GroupType string

Used when adding users to a project. Each GroupType maps to a well-known group. The lowest GroupType should always be ProjectStakeholder

type LicenseSummaryData

type LicenseSummaryData struct {
	// Count of Licenses already assigned.
	Assigned *int `json:"assigned,omitempty"`
	// Available Count.
	Available *int `json:"available,omitempty"`
	// Quantity
	IncludedQuantity *int `json:"includedQuantity,omitempty"`
	// Total Count.
	Total *int `json:"total,omitempty"`
	// Type of Account License.
	AccountLicenseType *licensing.AccountLicenseType `json:"accountLicenseType,omitempty"`
	// Count of Disabled Licenses.
	Disabled *int `json:"disabled,omitempty"`
	// Designates if this license quantity can be changed through purchase
	IsPurchasable *bool `json:"isPurchasable,omitempty"`
	// Name of the License.
	LicenseName *string `json:"licenseName,omitempty"`
	// Type of MSDN License.
	MsdnLicenseType *licensing.MsdnLicenseType `json:"msdnLicenseType,omitempty"`
	// Specifies the date when billing will charge for paid licenses
	NextBillingDate *azuredevops.Time `json:"nextBillingDate,omitempty"`
	// Source of the License.
	Source *licensing.LicensingSource `json:"source,omitempty"`
	// Total license count after next billing cycle
	TotalAfterNextBillingDate *int `json:"totalAfterNextBillingDate,omitempty"`
}

Summary of Licenses in the organization.

type MemberEntitlement deprecated

type MemberEntitlement struct {
	// Member's access level denoted by a license.
	AccessLevel *licensing.AccessLevel `json:"accessLevel,omitempty"`
	// [Readonly] Date the member was added to the collection.
	DateCreated *azuredevops.Time `json:"dateCreated,omitempty"`
	// [Readonly] GroupEntitlements that this member belongs to.
	GroupAssignments *[]GroupEntitlement `json:"groupAssignments,omitempty"`
	// The unique identifier which matches the Id of the Identity associated with the GraphMember.
	Id *uuid.UUID `json:"id,omitempty"`
	// [Readonly] Date the member last accessed the collection.
	LastAccessedDate *azuredevops.Time `json:"lastAccessedDate,omitempty"`
	// Relation between a project and the member's effective permissions in that project.
	ProjectEntitlements *[]ProjectEntitlement `json:"projectEntitlements,omitempty"`
	// User's extensions.
	Extensions *[]Extension `json:"extensions,omitempty"`
	// User reference.
	User *graph.GraphUser `json:"user,omitempty"`
	// Member reference
	Member *graph.GraphMember `json:"member,omitempty"`
}

Deprecated: Use UserEntitlement instead

type MemberEntitlement2

type MemberEntitlement2 struct {
	// Member's access level denoted by a license.
	AccessLevel *licensing.AccessLevel `json:"accessLevel,omitempty"`
	// [Readonly] Date the member was added to the collection.
	DateCreated *azuredevops.Time `json:"dateCreated,omitempty"`
	// [Readonly] GroupEntitlements that this member belongs to.
	GroupAssignments *[]GroupEntitlement `json:"groupAssignments,omitempty"`
	// The unique identifier which matches the Id of the Identity associated with the GraphMember.
	Id *uuid.UUID `json:"id,omitempty"`
	// [Readonly] Date the member last accessed the collection.
	LastAccessedDate *azuredevops.Time `json:"lastAccessedDate,omitempty"`
	// Relation between a project and the member's effective permissions in that project.
	ProjectEntitlements *[]ProjectEntitlement `json:"projectEntitlements,omitempty"`
	Member              *graph.AadGraphMember `json:"member,omitempty"`
}

An AAD member entity

type MemberEntitlement2OperationReference

type MemberEntitlement2OperationReference struct {
	// Unique identifier for the operation.
	Id *uuid.UUID `json:"id,omitempty"`
	// Unique identifier for the plugin.
	PluginId *uuid.UUID `json:"pluginId,omitempty"`
	// The current status of the operation.
	Status *operations.OperationStatus `json:"status,omitempty"`
	// URL to get the full operation object.
	Url *string `json:"url,omitempty"`
	// Operation completed with success or failure.
	Completed *bool `json:"completed,omitempty"`
	// True if all operations were successful.
	HaveResultsSucceeded *bool `json:"haveResultsSucceeded,omitempty"`
	// List of results for each operation.
	Results *[]MemberEntitlement2OperationResult `json:"results,omitempty"`
}

type MemberEntitlement2OperationResult

type MemberEntitlement2OperationResult struct {
	// List of error codes paired with their corresponding error messages.
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Resulting entitlement property.  For specific implementations, see also: <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" />
	Result interface{} `json:"result,omitempty"`
	// Identifier of the Member being acted upon.
	MemberId *uuid.UUID `json:"memberId,omitempty"`
}

type MemberEntitlement2PatchResponse

type MemberEntitlement2PatchResponse struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the member entitlement after the operations. have been applied
	MemberEntitlement *MemberEntitlement2 `json:"memberEntitlement,omitempty"`
	// List of results for each operation
	OperationResults *[]MemberEntitlement2OperationResult `json:"operationResults,omitempty"`
}

type MemberEntitlement2PostResponse

type MemberEntitlement2PostResponse struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the member entitlement after the operations. have been applied
	MemberEntitlement *MemberEntitlement2 `json:"memberEntitlement,omitempty"`
	// Operation result
	OperationResult *MemberEntitlement2OperationResult `json:"operationResult,omitempty"`
}

type MemberEntitlement2ResponseBase

type MemberEntitlement2ResponseBase struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the member entitlement after the operations. have been applied
	MemberEntitlement *MemberEntitlement2 `json:"memberEntitlement,omitempty"`
}

type MemberEntitlementOperationReference

type MemberEntitlementOperationReference struct {
	// Unique identifier for the operation.
	Id *uuid.UUID `json:"id,omitempty"`
	// Unique identifier for the plugin.
	PluginId *uuid.UUID `json:"pluginId,omitempty"`
	// The current status of the operation.
	Status *operations.OperationStatus `json:"status,omitempty"`
	// URL to get the full operation object.
	Url *string `json:"url,omitempty"`
	// Operation completed with success or failure
	Completed *bool `json:"completed,omitempty"`
	// True if all operations were successful
	HaveResultsSucceeded *bool `json:"haveResultsSucceeded,omitempty"`
	// List of results for each operation
	Results *[]OperationResult `json:"results,omitempty"`
}

type MemberEntitlementsPatchResponse

type MemberEntitlementsPatchResponse struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the member entitlement after the operations. have been applied
	MemberEntitlement *MemberEntitlement `json:"memberEntitlement,omitempty"`
	// List of results for each operation
	OperationResults *[]OperationResult `json:"operationResults,omitempty"`
}

type MemberEntitlementsPostResponse

type MemberEntitlementsPostResponse struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the member entitlement after the operations. have been applied
	MemberEntitlement *MemberEntitlement `json:"memberEntitlement,omitempty"`
	// Operation result
	OperationResult *OperationResult `json:"operationResult,omitempty"`
}

type MemberEntitlementsResponseBase

type MemberEntitlementsResponseBase struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the member entitlement after the operations. have been applied
	MemberEntitlement *MemberEntitlement `json:"memberEntitlement,omitempty"`
}

type OperationResult

type OperationResult struct {
	// List of error codes paired with their corresponding error messages.
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Identifier of the Member being acted upon.
	MemberId *uuid.UUID `json:"memberId,omitempty"`
	// Result of the MemberEntitlement after the operation.
	Result *MemberEntitlement `json:"result,omitempty"`
}

type PagedGraphMemberList

type PagedGraphMemberList struct {
	Members *[]UserEntitlement `json:"members,omitempty"`
}

A page of users

type ProjectEntitlement

type ProjectEntitlement struct {
	// Assignment Source (e.g. Group or Unknown).
	AssignmentSource *licensing.AssignmentSource `json:"assignmentSource,omitempty"`
	// Project Group (e.g. Contributor, Reader etc.)
	Group *Group `json:"group,omitempty"`
	// Deprecated: This property is deprecated. Please use ProjectPermissionInherited.
	IsProjectPermissionInherited *bool `json:"isProjectPermissionInherited,omitempty"`
	// Whether the user is inheriting permissions to a project through a Azure DevOps or AAD group membership.
	ProjectPermissionInherited *ProjectPermissionInherited `json:"projectPermissionInherited,omitempty"`
	// Project Ref
	ProjectRef *ProjectRef `json:"projectRef,omitempty"`
	// Team Ref.
	TeamRefs *[]TeamRef `json:"teamRefs,omitempty"`
}

Relation between a project and the user's effective permissions in that project.

type ProjectPermissionInherited

type ProjectPermissionInherited string

type ProjectRef

type ProjectRef struct {
	// Project ID.
	Id *uuid.UUID `json:"id,omitempty"`
	// Project Name.
	Name *string `json:"name,omitempty"`
}

A reference to a project

type RemoveMemberFromGroupArgs

type RemoveMemberFromGroupArgs struct {
	// (required) Id of the group.
	GroupId *uuid.UUID
	// (required) Id of the member to remove.
	MemberId *uuid.UUID
}

Arguments for the RemoveMemberFromGroup function

type SearchMemberEntitlementsArgs

type SearchMemberEntitlementsArgs struct {
	// (optional)
	ContinuationToken *string
	// (optional)
	Select *UserEntitlementProperty
	// (optional)
	Filter *string
	// (optional)
	OrderBy *string
}

Arguments for the SearchMemberEntitlements function

type SearchUserEntitlementsArgs

type SearchUserEntitlementsArgs struct {
	// (optional) Continuation token for getting the next page of data set. If null is passed, gets the first page.
	ContinuationToken *string
	// (optional) Comma (",") separated list of properties to select in the result entitlements. names of the properties are - 'Projects, 'Extensions' and 'Grouprules'.
	Select *UserEntitlementProperty
	// (optional) Equality operators relating to searching user entitlements seperated by and clauses. Valid filters include: licenseId, licenseStatus, userType, and name. licenseId: filters based on license assignment using license names. i.e. licenseId eq 'Account-Stakeholder' or licenseId eq 'Account-Express'. licenseStatus: filters based on license status. currently only supports disabled. i.e. licenseStatus eq 'Disabled'. To get disabled basic licenses, you would pass (licenseId eq 'Account-Express' and licenseStatus eq 'Disabled') userType: filters off identity type. Suppored types are member or guest i.e. userType eq 'member'. name: filters on if the user's display name or email contians given input. i.e. get all users with "test" in email or displayname is "name eq 'test'". A valid query could be: (licenseId eq 'Account-Stakeholder' or (licenseId eq 'Account-Express' and licenseStatus eq 'Disabled')) and name eq 'test' and userType eq 'guest'.
	Filter *string
	// (optional) PropertyName and Order (separated by a space ( )) to sort on (e.g. lastAccessed desc). Order defaults to ascending. valid properties to order by are dateCreated, lastAccessed, and name
	OrderBy *string
}

Arguments for the SearchUserEntitlements function

type ServicePrincipalEntitlement

type ServicePrincipalEntitlement struct {
	// Member's access level denoted by a license.
	AccessLevel *licensing.AccessLevel `json:"accessLevel,omitempty"`
	// [Readonly] Date the member was added to the collection.
	DateCreated *azuredevops.Time `json:"dateCreated,omitempty"`
	// [Readonly] GroupEntitlements that this member belongs to.
	GroupAssignments *[]GroupEntitlement `json:"groupAssignments,omitempty"`
	// The unique identifier which matches the Id of the Identity associated with the GraphMember.
	Id *uuid.UUID `json:"id,omitempty"`
	// [Readonly] Date the member last accessed the collection.
	LastAccessedDate *azuredevops.Time `json:"lastAccessedDate,omitempty"`
	// Relation between a project and the member's effective permissions in that project.
	ProjectEntitlements *[]ProjectEntitlement `json:"projectEntitlements,omitempty"`
	// ServicePrincipal reference.
	ServicePrincipal *graph.GraphServicePrincipal `json:"servicePrincipal,omitempty"`
}

type ServicePrincipalEntitlementOperationReference

type ServicePrincipalEntitlementOperationReference struct {
	// Unique identifier for the operation.
	Id *uuid.UUID `json:"id,omitempty"`
	// Unique identifier for the plugin.
	PluginId *uuid.UUID `json:"pluginId,omitempty"`
	// The current status of the operation.
	Status *operations.OperationStatus `json:"status,omitempty"`
	// URL to get the full operation object.
	Url *string `json:"url,omitempty"`
	// Operation completed with success or failure.
	Completed *bool `json:"completed,omitempty"`
	// True if all operations were successful.
	HaveResultsSucceeded *bool `json:"haveResultsSucceeded,omitempty"`
	// List of results for each operation.
	Results *[]ServicePrincipalEntitlementOperationResult `json:"results,omitempty"`
}

type ServicePrincipalEntitlementOperationResult

type ServicePrincipalEntitlementOperationResult struct {
	// List of error codes paired with their corresponding error messages.
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Resulting entitlement property.  For specific implementations, see also: <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" />
	Result interface{} `json:"result,omitempty"`
	// Identifier of the ServicePrincipal being acted upon.
	ServicePrincipalId *uuid.UUID `json:"servicePrincipalId,omitempty"`
}

type ServicePrincipalEntitlementsPatchResponse

type ServicePrincipalEntitlementsPatchResponse struct {
	IsSuccess                   *bool                                         `json:"isSuccess,omitempty"`
	ServicePrincipalEntitlement *ServicePrincipalEntitlement                  `json:"servicePrincipalEntitlement,omitempty"`
	OperationResults            *[]ServicePrincipalEntitlementOperationResult `json:"operationResults,omitempty"`
}

type ServicePrincipalEntitlementsPostResponse

type ServicePrincipalEntitlementsPostResponse struct {
	IsSuccess                   *bool                                       `json:"isSuccess,omitempty"`
	ServicePrincipalEntitlement *ServicePrincipalEntitlement                `json:"servicePrincipalEntitlement,omitempty"`
	OperationResult             *ServicePrincipalEntitlementOperationResult `json:"operationResult,omitempty"`
}

type ServicePrincipalEntitlementsResponseBase

type ServicePrincipalEntitlementsResponseBase struct {
	IsSuccess                   *bool                        `json:"isSuccess,omitempty"`
	ServicePrincipalEntitlement *ServicePrincipalEntitlement `json:"servicePrincipalEntitlement,omitempty"`
}

type SummaryData

type SummaryData struct {
	// Count of Licenses already assigned.
	Assigned *int `json:"assigned,omitempty"`
	// Available Count.
	Available *int `json:"available,omitempty"`
	// Quantity
	IncludedQuantity *int `json:"includedQuantity,omitempty"`
	// Total Count.
	Total *int `json:"total,omitempty"`
}

type SummaryPropertyName

type SummaryPropertyName string

[Flags]

type TeamRef

type TeamRef struct {
	// Team ID
	Id *uuid.UUID `json:"id,omitempty"`
	// Team Name
	Name *string `json:"name,omitempty"`
}

A reference to a team

type UpdateGroupEntitlementArgs

type UpdateGroupEntitlementArgs struct {
	// (required) JsonPatchDocument containing the operations to perform on the group.
	Document *[]webapi.JsonPatchOperation
	// (required) ID of the group.
	GroupId *uuid.UUID
	// (optional) RuleOption [ApplyGroupRule/TestApplyGroupRule] - specifies if the rules defined in group entitlement should be updated and the changes are applied to it’s members (default option) or just be tested
	RuleOption *licensingrule.RuleOption
}

Arguments for the UpdateGroupEntitlement function

type UpdateServicePrincipalEntitlementArgs

type UpdateServicePrincipalEntitlementArgs struct {
	// (required) JsonPatchDocument containing the operations to perform on the service principal.
	Document *[]webapi.JsonPatchOperation
	// (required) ID of the service principal.
	ServicePrincipalId *uuid.UUID
}

Arguments for the UpdateServicePrincipalEntitlement function

type UpdateServicePrincipalEntitlementsArgs

type UpdateServicePrincipalEntitlementsArgs struct {
	// (required) JsonPatchDocument containing the operations to perform.
	Document *[]webapi.JsonPatchOperation
}

Arguments for the UpdateServicePrincipalEntitlements function

type UpdateUserEntitlementArgs

type UpdateUserEntitlementArgs struct {
	// (required) JsonPatchDocument containing the operations to perform on the user.
	Document *[]webapi.JsonPatchOperation
	// (required) ID of the user.
	UserId *uuid.UUID
}

Arguments for the UpdateUserEntitlement function

type UpdateUserEntitlementsArgs

type UpdateUserEntitlementsArgs struct {
	// (required) JsonPatchDocument containing the operations to perform.
	Document *[]webapi.JsonPatchOperation
	// (optional) Whether to send email invites to new users or not
	DoNotSendInviteForNewUsers *bool
}

Arguments for the UpdateUserEntitlements function

type UserEntitlement

type UserEntitlement struct {
	// Member's access level denoted by a license.
	AccessLevel *licensing.AccessLevel `json:"accessLevel,omitempty"`
	// [Readonly] Date the member was added to the collection.
	DateCreated *azuredevops.Time `json:"dateCreated,omitempty"`
	// [Readonly] GroupEntitlements that this member belongs to.
	GroupAssignments *[]GroupEntitlement `json:"groupAssignments,omitempty"`
	// The unique identifier which matches the Id of the Identity associated with the GraphMember.
	Id *uuid.UUID `json:"id,omitempty"`
	// [Readonly] Date the member last accessed the collection.
	LastAccessedDate *azuredevops.Time `json:"lastAccessedDate,omitempty"`
	// Relation between a project and the member's effective permissions in that project.
	ProjectEntitlements *[]ProjectEntitlement `json:"projectEntitlements,omitempty"`
	// Deprecated:
	Extensions *[]Extension `json:"extensions,omitempty"`
	// User reference.
	User *graph.GraphUser `json:"user,omitempty"`
}

A user entity with additional properties including their license, extensions, and project membership

type UserEntitlementOperationReference

type UserEntitlementOperationReference struct {
	// Unique identifier for the operation.
	Id *uuid.UUID `json:"id,omitempty"`
	// Unique identifier for the plugin.
	PluginId *uuid.UUID `json:"pluginId,omitempty"`
	// The current status of the operation.
	Status *operations.OperationStatus `json:"status,omitempty"`
	// URL to get the full operation object.
	Url *string `json:"url,omitempty"`
	// Operation completed with success or failure.
	Completed *bool `json:"completed,omitempty"`
	// True if all operations were successful.
	HaveResultsSucceeded *bool `json:"haveResultsSucceeded,omitempty"`
	// List of results for each operation.
	Results *[]UserEntitlementOperationResult `json:"results,omitempty"`
}

type UserEntitlementOperationResult

type UserEntitlementOperationResult struct {
	// List of error codes paired with their corresponding error messages.
	Errors *[]azuredevops.KeyValuePair `json:"errors,omitempty"`
	// Success status of the operation.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Resulting entitlement property.  For specific implementations, see also: <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" />
	Result interface{} `json:"result,omitempty"`
	// Identifier of the Member being acted upon.
	UserId *uuid.UUID `json:"userId,omitempty"`
}

type UserEntitlementProperty

type UserEntitlementProperty string

[Flags]

type UserEntitlementsPatchResponse

type UserEntitlementsPatchResponse struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the user entitlement after the operations have been applied.
	UserEntitlement *UserEntitlement `json:"userEntitlement,omitempty"`
	// List of results for each operation.
	OperationResults *[]UserEntitlementOperationResult `json:"operationResults,omitempty"`
}

type UserEntitlementsPostResponse

type UserEntitlementsPostResponse struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the user entitlement after the operations have been applied.
	UserEntitlement *UserEntitlement `json:"userEntitlement,omitempty"`
	// Operation result.
	OperationResult *UserEntitlementOperationResult `json:"operationResult,omitempty"`
}

type UserEntitlementsResponseBase

type UserEntitlementsResponseBase struct {
	// True if all operations were successful.
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// Result of the user entitlement after the operations have been applied.
	UserEntitlement *UserEntitlement `json:"userEntitlement,omitempty"`
}

type UsersSummary

type UsersSummary struct {
	// Available Access Levels
	AvailableAccessLevels *[]licensing.AccessLevel `json:"availableAccessLevels,omitempty"`
	// Default Access Level
	DefaultAccessLevel *licensing.AccessLevel `json:"defaultAccessLevel,omitempty"`
	// Deprecated:
	Extensions *[]ExtensionSummaryData `json:"extensions,omitempty"`
	// Group Options
	GroupOptions *[]GroupOption `json:"groupOptions,omitempty"`
	// Summary of Licenses in the organization
	Licenses *[]LicenseSummaryData `json:"licenses,omitempty"`
	// Summary of Projects in the organization
	ProjectRefs *[]ProjectRef `json:"projectRefs,omitempty"`
}

Summary of licenses and extensions assigned to users in the organization

Jump to

Keyboard shortcuts

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