scimv1

package
v0.0.0-...-ba35baa Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

View Source
const (
	SCIMService_ListSCIMResources_FullMethodName  = "/teleport.scim.v1.SCIMService/ListSCIMResources"
	SCIMService_GetSCIMResource_FullMethodName    = "/teleport.scim.v1.SCIMService/GetSCIMResource"
	SCIMService_CreateSCIMResource_FullMethodName = "/teleport.scim.v1.SCIMService/CreateSCIMResource"
	SCIMService_UpdateSCIMResource_FullMethodName = "/teleport.scim.v1.SCIMService/UpdateSCIMResource"
	SCIMService_DeleteSCIMResource_FullMethodName = "/teleport.scim.v1.SCIMService/DeleteSCIMResource"
)

Variables

View Source
var File_teleport_scim_v1_scim_service_proto protoreflect.FileDescriptor
View Source
var SCIMService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "teleport.scim.v1.SCIMService",
	HandlerType: (*SCIMServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListSCIMResources",
			Handler:    _SCIMService_ListSCIMResources_Handler,
		},
		{
			MethodName: "GetSCIMResource",
			Handler:    _SCIMService_GetSCIMResource_Handler,
		},
		{
			MethodName: "CreateSCIMResource",
			Handler:    _SCIMService_CreateSCIMResource_Handler,
		},
		{
			MethodName: "UpdateSCIMResource",
			Handler:    _SCIMService_UpdateSCIMResource_Handler,
		},
		{
			MethodName: "DeleteSCIMResource",
			Handler:    _SCIMService_DeleteSCIMResource_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "teleport/scim/v1/scim_service.proto",
}

SCIMService_ServiceDesc is the grpc.ServiceDesc for SCIMService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterSCIMServiceServer

func RegisterSCIMServiceServer(s grpc.ServiceRegistrar, srv SCIMServiceServer)

Types

type CreateSCIMResourceRequest

type CreateSCIMResourceRequest struct {

	// Target is the owner & type of the resource targeted by the request.
	Target *RequestTarget `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Resource describes the resource to be created
	Resource *Resource `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
	// contains filtered or unexported fields
}

CreateSCIMResourceRequest contains a request for the SCIM server to create a new resource

func (*CreateSCIMResourceRequest) Descriptor deprecated

func (*CreateSCIMResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateSCIMResourceRequest.ProtoReflect.Descriptor instead.

func (*CreateSCIMResourceRequest) GetResource

func (x *CreateSCIMResourceRequest) GetResource() *Resource

func (*CreateSCIMResourceRequest) GetTarget

func (x *CreateSCIMResourceRequest) GetTarget() *RequestTarget

func (*CreateSCIMResourceRequest) ProtoMessage

func (*CreateSCIMResourceRequest) ProtoMessage()

func (*CreateSCIMResourceRequest) ProtoReflect

func (*CreateSCIMResourceRequest) Reset

func (x *CreateSCIMResourceRequest) Reset()

func (*CreateSCIMResourceRequest) String

func (x *CreateSCIMResourceRequest) String() string

type DeleteSCIMResourceRequest

type DeleteSCIMResourceRequest struct {

	// Target is the owner, type and ID if the resource targeted by the request.
	Target *RequestTarget `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// contains filtered or unexported fields
}

DeleteSCIMResourceRequest describes a request to delete a SCIM-mamanged resource

func (*DeleteSCIMResourceRequest) Descriptor deprecated

func (*DeleteSCIMResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteSCIMResourceRequest.ProtoReflect.Descriptor instead.

func (*DeleteSCIMResourceRequest) GetTarget

func (x *DeleteSCIMResourceRequest) GetTarget() *RequestTarget

func (*DeleteSCIMResourceRequest) ProtoMessage

func (*DeleteSCIMResourceRequest) ProtoMessage()

func (*DeleteSCIMResourceRequest) ProtoReflect

func (*DeleteSCIMResourceRequest) Reset

func (x *DeleteSCIMResourceRequest) Reset()

func (*DeleteSCIMResourceRequest) String

func (x *DeleteSCIMResourceRequest) String() string

type GetSCIMResourceRequest

type GetSCIMResourceRequest struct {

	// Target is the owner, type and ID if the resource targeted by the request.
	Target *RequestTarget `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// contains filtered or unexported fields
}

GetSCIMResourceRequest describes a request to fetch a specific resource

func (*GetSCIMResourceRequest) Descriptor deprecated

func (*GetSCIMResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetSCIMResourceRequest.ProtoReflect.Descriptor instead.

func (*GetSCIMResourceRequest) GetTarget

func (x *GetSCIMResourceRequest) GetTarget() *RequestTarget

func (*GetSCIMResourceRequest) ProtoMessage

func (*GetSCIMResourceRequest) ProtoMessage()

func (*GetSCIMResourceRequest) ProtoReflect

func (x *GetSCIMResourceRequest) ProtoReflect() protoreflect.Message

func (*GetSCIMResourceRequest) Reset

func (x *GetSCIMResourceRequest) Reset()

func (*GetSCIMResourceRequest) String

func (x *GetSCIMResourceRequest) String() string

type ListSCIMResourcesRequest

type ListSCIMResourcesRequest struct {

	// Target describes the set of requested by the client, vy integration and
	// resource type.
	Target *RequestTarget `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Page is an optional request to retrieve a page of results. Returns all
	// appropriate results if not set.
	Page *Page `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	// Filter is an optional filter to apply to any retrieved results.
	Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
	// contains filtered or unexported fields
}

ListSCIMResourcesRequest represents a request to fetch multiple resources

func (*ListSCIMResourcesRequest) Descriptor deprecated

func (*ListSCIMResourcesRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListSCIMResourcesRequest.ProtoReflect.Descriptor instead.

func (*ListSCIMResourcesRequest) GetFilter

func (x *ListSCIMResourcesRequest) GetFilter() string

func (*ListSCIMResourcesRequest) GetPage

func (x *ListSCIMResourcesRequest) GetPage() *Page

func (*ListSCIMResourcesRequest) GetTarget

func (x *ListSCIMResourcesRequest) GetTarget() *RequestTarget

func (*ListSCIMResourcesRequest) ProtoMessage

func (*ListSCIMResourcesRequest) ProtoMessage()

func (*ListSCIMResourcesRequest) ProtoReflect

func (x *ListSCIMResourcesRequest) ProtoReflect() protoreflect.Message

func (*ListSCIMResourcesRequest) Reset

func (x *ListSCIMResourcesRequest) Reset()

func (*ListSCIMResourcesRequest) String

func (x *ListSCIMResourcesRequest) String() string

type Meta

type Meta struct {
	ResourceType string                 `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	Created      *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created,proto3" json:"created,omitempty"`
	Modified     *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=modified,proto3" json:"modified,omitempty"`
	Location     string                 `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
	Version      string                 `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

Meta holds resource metadata as per RFC7643 Section 3.1.

See https://datatracker.ietf.org/doc/html/rfc7643#section-3.1

func (*Meta) Descriptor deprecated

func (*Meta) Descriptor() ([]byte, []int)

Deprecated: Use Meta.ProtoReflect.Descriptor instead.

func (*Meta) GetCreated

func (x *Meta) GetCreated() *timestamppb.Timestamp

func (*Meta) GetLocation

func (x *Meta) GetLocation() string

func (*Meta) GetModified

func (x *Meta) GetModified() *timestamppb.Timestamp

func (*Meta) GetResourceType

func (x *Meta) GetResourceType() string

func (*Meta) GetVersion

func (x *Meta) GetVersion() string

func (*Meta) ProtoMessage

func (*Meta) ProtoMessage()

func (*Meta) ProtoReflect

func (x *Meta) ProtoReflect() protoreflect.Message

func (*Meta) Reset

func (x *Meta) Reset()

func (*Meta) String

func (x *Meta) String() string

type Page

type Page struct {
	StartIndex uint64 `protobuf:"varint,1,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"`
	Count      uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	// contains filtered or unexported fields
}

Page represents an optional range to set in GET request

func (*Page) Descriptor deprecated

func (*Page) Descriptor() ([]byte, []int)

Deprecated: Use Page.ProtoReflect.Descriptor instead.

func (*Page) GetCount

func (x *Page) GetCount() uint64

func (*Page) GetStartIndex

func (x *Page) GetStartIndex() uint64

func (*Page) ProtoMessage

func (*Page) ProtoMessage()

func (*Page) ProtoReflect

func (x *Page) ProtoReflect() protoreflect.Message

func (*Page) Reset

func (x *Page) Reset()

func (*Page) String

func (x *Page) String() string

type RequestTarget

type RequestTarget struct {

	// Authorization is the contents of the HTTP Authorization header supplied by
	// the SCIM client, used to authenticate the request against the targeted
	// interation.
	Authorization string `protobuf:"bytes,1,opt,name=authorization,proto3" json:"authorization,omitempty"`
	// PluginID is the name of the integration to interact with
	PluginId string `protobuf:"bytes,2,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"`
	// ResourceType is the name of the type of resource to interact with.
	// Expecting either "User" or "Group"
	ResourceType string `protobuf:"bytes,3,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// ResourceID is the name of a specific resource to interact with. If blank,
	// treat the request as a bulk query
	ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	// contains filtered or unexported fields
}

RequestTarget describes the target resource set of a given request. Common to all request types.

func (*RequestTarget) Descriptor deprecated

func (*RequestTarget) Descriptor() ([]byte, []int)

Deprecated: Use RequestTarget.ProtoReflect.Descriptor instead.

func (*RequestTarget) GetAuthorization

func (x *RequestTarget) GetAuthorization() string

func (*RequestTarget) GetPluginId

func (x *RequestTarget) GetPluginId() string

func (*RequestTarget) GetResourceId

func (x *RequestTarget) GetResourceId() string

func (*RequestTarget) GetResourceType

func (x *RequestTarget) GetResourceType() string

func (*RequestTarget) ProtoMessage

func (*RequestTarget) ProtoMessage()

func (*RequestTarget) ProtoReflect

func (x *RequestTarget) ProtoReflect() protoreflect.Message

func (*RequestTarget) Reset

func (x *RequestTarget) Reset()

func (*RequestTarget) String

func (x *RequestTarget) String() string

type Resource

type Resource struct {
	Schemas    []string         `protobuf:"bytes,1,rep,name=schemas,proto3" json:"schemas,omitempty"`
	Id         string           `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	ExternalId string           `protobuf:"bytes,3,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
	Meta       *Meta            `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	Attributes *structpb.Struct `protobuf:"bytes,5,opt,name=attributes,proto3" json:"attributes,omitempty"`
	// contains filtered or unexported fields
}

Resource represents an arbitrary SCIM resource, as per RFC7643 Section 3.1.

See https://datatracker.ietf.org/doc/html/rfc7643#section-3.1

func (*Resource) Descriptor deprecated

func (*Resource) Descriptor() ([]byte, []int)

Deprecated: Use Resource.ProtoReflect.Descriptor instead.

func (*Resource) GetAttributes

func (x *Resource) GetAttributes() *structpb.Struct

func (*Resource) GetExternalId

func (x *Resource) GetExternalId() string

func (*Resource) GetId

func (x *Resource) GetId() string

func (*Resource) GetMeta

func (x *Resource) GetMeta() *Meta

func (*Resource) GetSchemas

func (x *Resource) GetSchemas() []string

func (*Resource) ProtoMessage

func (*Resource) ProtoMessage()

func (*Resource) ProtoReflect

func (x *Resource) ProtoReflect() protoreflect.Message

func (*Resource) Reset

func (x *Resource) Reset()

func (*Resource) String

func (x *Resource) String() string

type ResourceList

type ResourceList struct {
	TotalResults int32       `protobuf:"varint,1,opt,name=total_results,json=totalResults,proto3" json:"total_results,omitempty"`
	StartIndex   int32       `protobuf:"varint,2,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"`
	ItemsPerPage int32       `protobuf:"varint,3,opt,name=items_per_page,json=itemsPerPage,proto3" json:"items_per_page,omitempty"`
	Resources    []*Resource `protobuf:"bytes,4,rep,name=resources,proto3" json:"resources,omitempty"`
	// contains filtered or unexported fields
}

ResourceList encapsulates a list of resources as per RFC7644 Section 3.4.2

See https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2

func (*ResourceList) Descriptor deprecated

func (*ResourceList) Descriptor() ([]byte, []int)

Deprecated: Use ResourceList.ProtoReflect.Descriptor instead.

func (*ResourceList) GetItemsPerPage

func (x *ResourceList) GetItemsPerPage() int32

func (*ResourceList) GetResources

func (x *ResourceList) GetResources() []*Resource

func (*ResourceList) GetStartIndex

func (x *ResourceList) GetStartIndex() int32

func (*ResourceList) GetTotalResults

func (x *ResourceList) GetTotalResults() int32

func (*ResourceList) ProtoMessage

func (*ResourceList) ProtoMessage()

func (*ResourceList) ProtoReflect

func (x *ResourceList) ProtoReflect() protoreflect.Message

func (*ResourceList) Reset

func (x *ResourceList) Reset()

func (*ResourceList) String

func (x *ResourceList) String() string

type SCIMServiceClient

type SCIMServiceClient interface {
	// List fetches all (or a subset of all) resources resources of a given type
	ListSCIMResources(ctx context.Context, in *ListSCIMResourcesRequest, opts ...grpc.CallOption) (*ResourceList, error)
	// GetSCIMResource fetches a single SCIM resource from the server by name
	GetSCIMResource(ctx context.Context, in *GetSCIMResourceRequest, opts ...grpc.CallOption) (*Resource, error)
	// CreateSCIResource creates a new SCIM resource based on a supplied
	// resource description
	CreateSCIMResource(ctx context.Context, in *CreateSCIMResourceRequest, opts ...grpc.CallOption) (*Resource, error)
	// UpdateResource handles a request to update a resource, returning a
	// representation of the updated resource
	UpdateSCIMResource(ctx context.Context, in *UpdateSCIMResourceRequest, opts ...grpc.CallOption) (*Resource, error)
	// DeleteSCIMResource deletes a SCIM-managed resource
	DeleteSCIMResource(ctx context.Context, in *DeleteSCIMResourceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

SCIMServiceClient is the client API for SCIMService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

SCIMService implements a SCIM gateway for external IDPs for user provisioning

type SCIMServiceServer

type SCIMServiceServer interface {
	// List fetches all (or a subset of all) resources resources of a given type
	ListSCIMResources(context.Context, *ListSCIMResourcesRequest) (*ResourceList, error)
	// GetSCIMResource fetches a single SCIM resource from the server by name
	GetSCIMResource(context.Context, *GetSCIMResourceRequest) (*Resource, error)
	// CreateSCIResource creates a new SCIM resource based on a supplied
	// resource description
	CreateSCIMResource(context.Context, *CreateSCIMResourceRequest) (*Resource, error)
	// UpdateResource handles a request to update a resource, returning a
	// representation of the updated resource
	UpdateSCIMResource(context.Context, *UpdateSCIMResourceRequest) (*Resource, error)
	// DeleteSCIMResource deletes a SCIM-managed resource
	DeleteSCIMResource(context.Context, *DeleteSCIMResourceRequest) (*emptypb.Empty, error)
	// contains filtered or unexported methods
}

SCIMServiceServer is the server API for SCIMService service. All implementations must embed UnimplementedSCIMServiceServer for forward compatibility.

SCIMService implements a SCIM gateway for external IDPs for user provisioning

type UnimplementedSCIMServiceServer

type UnimplementedSCIMServiceServer struct{}

UnimplementedSCIMServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedSCIMServiceServer) CreateSCIMResource

func (UnimplementedSCIMServiceServer) DeleteSCIMResource

func (UnimplementedSCIMServiceServer) GetSCIMResource

func (UnimplementedSCIMServiceServer) ListSCIMResources

func (UnimplementedSCIMServiceServer) UpdateSCIMResource

type UnsafeSCIMServiceServer

type UnsafeSCIMServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeSCIMServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to SCIMServiceServer will result in compilation errors.

type UpdateSCIMResourceRequest

type UpdateSCIMResourceRequest struct {

	// Target is the owner, type and ID if the resource targeted by the request.
	Target *RequestTarget `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// Resource is a representation of the updated resource that the server needs
	// to conform with
	Resource *Resource `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
	// contains filtered or unexported fields
}

UpdateSCIMResourceRequest describes an update to a given resource

func (*UpdateSCIMResourceRequest) Descriptor deprecated

func (*UpdateSCIMResourceRequest) Descriptor() ([]byte, []int)

Deprecated: Use UpdateSCIMResourceRequest.ProtoReflect.Descriptor instead.

func (*UpdateSCIMResourceRequest) GetResource

func (x *UpdateSCIMResourceRequest) GetResource() *Resource

func (*UpdateSCIMResourceRequest) GetTarget

func (x *UpdateSCIMResourceRequest) GetTarget() *RequestTarget

func (*UpdateSCIMResourceRequest) ProtoMessage

func (*UpdateSCIMResourceRequest) ProtoMessage()

func (*UpdateSCIMResourceRequest) ProtoReflect

func (*UpdateSCIMResourceRequest) Reset

func (x *UpdateSCIMResourceRequest) Reset()

func (*UpdateSCIMResourceRequest) String

func (x *UpdateSCIMResourceRequest) String() string

Jump to

Keyboard shortcuts

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