groupscim

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package groupscim implements GitLab SCIM identity operations for groups including list, get, update, and delete.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

func Delete(ctx context.Context, client *gitlabclient.Client, in DeleteInput) error

Delete removes a SCIM identity.

func FormatListMarkdown

func FormatListMarkdown(out ListOutput) string

FormatListMarkdown renders a list of SCIM identities as Markdown.

func FormatOutputMarkdown

func FormatOutputMarkdown(o Output) string

FormatOutputMarkdown renders a single SCIM identity as Markdown.

func RegisterTools

func RegisterTools(server *mcp.Server, client *gitlabclient.Client)

RegisterTools registers MCP tools for GitLab group SCIM identity operations.

func Update

func Update(ctx context.Context, client *gitlabclient.Client, in UpdateInput) error

Update modifies a SCIM identity.

Types

type DeleteInput

type DeleteInput struct {
	GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
	UID     string               `json:"uid"      jsonschema:"SCIM external UID of the user,required"`
}

DeleteInput holds parameters for deleting a SCIM identity.

type GetInput

type GetInput struct {
	GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
	UID     string               `json:"uid"      jsonschema:"SCIM external UID of the user,required"`
}

GetInput holds parameters for getting a single SCIM identity.

type ListInput

type ListInput struct {
	GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
}

ListInput holds parameters for listing SCIM identities for a group.

type ListOutput

type ListOutput struct {
	toolutil.HintableOutput
	Identities []Output `json:"identities"`
}

ListOutput holds the list response.

func List

func List(ctx context.Context, client *gitlabclient.Client, in ListInput) (ListOutput, error)

List returns all SCIM identities for a group.

type Output

type Output struct {
	toolutil.HintableOutput
	ExternalUID string `json:"external_uid"`
	UserID      int64  `json:"user_id"`
	Active      bool   `json:"active"`
}

Output represents a SCIM identity.

func Get

func Get(ctx context.Context, client *gitlabclient.Client, in GetInput) (Output, error)

Get returns a single SCIM identity.

type UpdateInput

type UpdateInput struct {
	GroupID   toolutil.StringOrInt `json:"group_id"   jsonschema:"Group ID or URL-encoded path,required"`
	UID       string               `json:"uid"         jsonschema:"SCIM external UID of the user,required"`
	ExternUID string               `json:"extern_uid"  jsonschema:"New external UID value,required"`
}

UpdateInput holds parameters for updating a SCIM identity.

type UpdateOutput

type UpdateOutput struct {
	toolutil.HintableOutput
	Updated bool   `json:"updated"`
	Message string `json:"message"`
}

UpdateOutput holds the update confirmation.

Jump to

Keyboard shortcuts

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