// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: MPL-2.0

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: controller/api/services/v1/user_service.proto

package services

import (
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
	aliases "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/aliases"
	users "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/users"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GetUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserRequest) Reset() {
	*x = GetUserRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserRequest) ProtoMessage() {}

func (x *GetUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead.
func (*GetUserRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{0}
}

func (x *GetUserRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type GetUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *users.User            `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserResponse) Reset() {
	*x = GetUserResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetUserResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserResponse) ProtoMessage() {}

func (x *GetUserResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetUserResponse.ProtoReflect.Descriptor instead.
func (*GetUserResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{1}
}

func (x *GetUserResponse) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type ListUsersRequest struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	ScopeId   string                 `protobuf:"bytes,1,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	Recursive bool                   `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"`          // @gotags: `class:"public" eventstream:"observation"`
	Filter    string                 `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"sensitive"`                 // @gotags: `class:"sensitive"`
	// An opaque token that Boundary uses to continue an existing iteration or
	// request updated items. If you do not specify a token, pagination
	// starts from the beginning. To learn more about list pagination
	// in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).
	ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"`
	// The maximum size of a page in this iteration.
	// If unset, the default page size configured will be used.
	// If the page_size is greater than the default page configured,
	// the page size will be truncated to this number..
	PageSize      uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUsersRequest) Reset() {
	*x = ListUsersRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListUsersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListUsersRequest) ProtoMessage() {}

func (x *ListUsersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListUsersRequest.ProtoReflect.Descriptor instead.
func (*ListUsersRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{2}
}

func (x *ListUsersRequest) GetScopeId() string {
	if x != nil {
		return x.ScopeId
	}
	return ""
}

func (x *ListUsersRequest) GetRecursive() bool {
	if x != nil {
		return x.Recursive
	}
	return false
}

func (x *ListUsersRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

func (x *ListUsersRequest) GetListToken() string {
	if x != nil {
		return x.ListToken
	}
	return ""
}

func (x *ListUsersRequest) GetPageSize() uint32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListUsersResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Items []*users.User          `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// The type of response, either "delta" or "complete".
	// Delta signifies that this is part of a paginated result
	// or an update to a previously completed pagination.
	// Complete signifies that it is the last page.
	ResponseType string `protobuf:"bytes,2,opt,name=response_type,proto3" json:"response_type,omitempty" class:"public"` // @gotags: `class:"public"`
	// An opaque token used to continue an existing pagination or
	// request updated items. Use this token in the next list request
	// to request the next page.
	ListToken string `protobuf:"bytes,3,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"`
	// The name of the field which the items are sorted by.
	SortBy string `protobuf:"bytes,4,opt,name=sort_by,proto3" json:"sort_by,omitempty" class:"public"` // @gotags: `class:"public"`
	// The direction of the sort, either "asc" or "desc".
	SortDir string `protobuf:"bytes,5,opt,name=sort_dir,proto3" json:"sort_dir,omitempty" class:"public"` // @gotags: `class:"public"`
	// A list of item IDs that have been removed since they were returned
	// as part of a pagination. They should be dropped from any client cache.
	// This may contain items that are not known to the cache, if they were
	// created and deleted between listings.
	RemovedIds []string `protobuf:"bytes,6,rep,name=removed_ids,proto3" json:"removed_ids,omitempty" class:"public"` // @gotags: `class:"public"`
	// An estimate at the total items available. This may change during pagination.
	EstItemCount  uint32 `protobuf:"varint,7,opt,name=est_item_count,proto3" json:"est_item_count,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUsersResponse) Reset() {
	*x = ListUsersResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListUsersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListUsersResponse) ProtoMessage() {}

func (x *ListUsersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListUsersResponse.ProtoReflect.Descriptor instead.
func (*ListUsersResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{3}
}

func (x *ListUsersResponse) GetItems() []*users.User {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListUsersResponse) GetResponseType() string {
	if x != nil {
		return x.ResponseType
	}
	return ""
}

func (x *ListUsersResponse) GetListToken() string {
	if x != nil {
		return x.ListToken
	}
	return ""
}

func (x *ListUsersResponse) GetSortBy() string {
	if x != nil {
		return x.SortBy
	}
	return ""
}

func (x *ListUsersResponse) GetSortDir() string {
	if x != nil {
		return x.SortDir
	}
	return ""
}

func (x *ListUsersResponse) GetRemovedIds() []string {
	if x != nil {
		return x.RemovedIds
	}
	return nil
}

func (x *ListUsersResponse) GetEstItemCount() uint32 {
	if x != nil {
		return x.EstItemCount
	}
	return 0
}

type CreateUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *users.User            `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateUserRequest) Reset() {
	*x = CreateUserRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateUserRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateUserRequest) ProtoMessage() {}

func (x *CreateUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead.
func (*CreateUserRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{4}
}

func (x *CreateUserRequest) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type CreateUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Uri           string                 `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	Item          *users.User            `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateUserResponse) Reset() {
	*x = CreateUserResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateUserResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateUserResponse) ProtoMessage() {}

func (x *CreateUserResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateUserResponse.ProtoReflect.Descriptor instead.
func (*CreateUserResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{5}
}

func (x *CreateUserResponse) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *CreateUserResponse) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type UpdateUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	Item          *users.User            `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"`
	UpdateMask    *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,proto3" json:"update_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserRequest) Reset() {
	*x = UpdateUserRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUserRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUserRequest) ProtoMessage() {}

func (x *UpdateUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUserRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{6}
}

func (x *UpdateUserRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *UpdateUserRequest) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *UpdateUserRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

type UpdateUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *users.User            `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserResponse) Reset() {
	*x = UpdateUserResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdateUserResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateUserResponse) ProtoMessage() {}

func (x *UpdateUserResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateUserResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{7}
}

func (x *UpdateUserResponse) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type DeleteUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteUserRequest) Reset() {
	*x = DeleteUserRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteUserRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteUserRequest) ProtoMessage() {}

func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteUserRequest.ProtoReflect.Descriptor instead.
func (*DeleteUserRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{8}
}

func (x *DeleteUserRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type DeleteUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteUserResponse) Reset() {
	*x = DeleteUserResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteUserResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteUserResponse) ProtoMessage() {}

func (x *DeleteUserResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteUserResponse.ProtoReflect.Descriptor instead.
func (*DeleteUserResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{9}
}

type AddUserAccountsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// The version ensures the User hasn't changed since it was last retrieved and if it has the request will fail.
	Version       uint32   `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"`        // @gotags: `class:"public"`
	AccountIds    []string `protobuf:"bytes,3,rep,name=account_ids,proto3" json:"account_ids,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddUserAccountsRequest) Reset() {
	*x = AddUserAccountsRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUserAccountsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUserAccountsRequest) ProtoMessage() {}

func (x *AddUserAccountsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUserAccountsRequest.ProtoReflect.Descriptor instead.
func (*AddUserAccountsRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{10}
}

func (x *AddUserAccountsRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *AddUserAccountsRequest) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *AddUserAccountsRequest) GetAccountIds() []string {
	if x != nil {
		return x.AccountIds
	}
	return nil
}

type AddUserAccountsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *users.User            `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddUserAccountsResponse) Reset() {
	*x = AddUserAccountsResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddUserAccountsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddUserAccountsResponse) ProtoMessage() {}

func (x *AddUserAccountsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddUserAccountsResponse.ProtoReflect.Descriptor instead.
func (*AddUserAccountsResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{11}
}

func (x *AddUserAccountsResponse) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type SetUserAccountsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// The version ensures the User hasn't changed since it was last retrieved and if it has the request will fail.
	Version       uint32   `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"`        // @gotags: `class:"public"`
	AccountIds    []string `protobuf:"bytes,3,rep,name=account_ids,proto3" json:"account_ids,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetUserAccountsRequest) Reset() {
	*x = SetUserAccountsRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetUserAccountsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetUserAccountsRequest) ProtoMessage() {}

func (x *SetUserAccountsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetUserAccountsRequest.ProtoReflect.Descriptor instead.
func (*SetUserAccountsRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{12}
}

func (x *SetUserAccountsRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SetUserAccountsRequest) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *SetUserAccountsRequest) GetAccountIds() []string {
	if x != nil {
		return x.AccountIds
	}
	return nil
}

type SetUserAccountsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *users.User            `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetUserAccountsResponse) Reset() {
	*x = SetUserAccountsResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetUserAccountsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetUserAccountsResponse) ProtoMessage() {}

func (x *SetUserAccountsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetUserAccountsResponse.ProtoReflect.Descriptor instead.
func (*SetUserAccountsResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{13}
}

func (x *SetUserAccountsResponse) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type RemoveUserAccountsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// The version ensures the User hasn't changed since it was last retrieved and if it has the request will fail.
	Version       uint32   `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"`        // @gotags: `class:"public"`
	AccountIds    []string `protobuf:"bytes,3,rep,name=account_ids,proto3" json:"account_ids,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveUserAccountsRequest) Reset() {
	*x = RemoveUserAccountsRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoveUserAccountsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveUserAccountsRequest) ProtoMessage() {}

func (x *RemoveUserAccountsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveUserAccountsRequest.ProtoReflect.Descriptor instead.
func (*RemoveUserAccountsRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{14}
}

func (x *RemoveUserAccountsRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *RemoveUserAccountsRequest) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *RemoveUserAccountsRequest) GetAccountIds() []string {
	if x != nil {
		return x.AccountIds
	}
	return nil
}

type RemoveUserAccountsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *users.User            `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveUserAccountsResponse) Reset() {
	*x = RemoveUserAccountsResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoveUserAccountsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoveUserAccountsResponse) ProtoMessage() {}

func (x *RemoveUserAccountsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveUserAccountsResponse.ProtoReflect.Descriptor instead.
func (*RemoveUserAccountsResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{15}
}

func (x *RemoveUserAccountsResponse) GetItem() *users.User {
	if x != nil {
		return x.Item
	}
	return nil
}

type ListResolvableAliasesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// An opaque token used to continue an existing iteration or
	// request updated items. If not specified, pagination
	// will start from the beginning.
	ListToken string `protobuf:"bytes,2,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"`
	// The maximum size of a page in this iteration.
	// If unset, the default page size configured will be used.
	// If the page_size is greater than the default page configured,
	// an error will be returned.
	PageSize      uint32 `protobuf:"varint,3,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListResolvableAliasesRequest) Reset() {
	*x = ListResolvableAliasesRequest{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListResolvableAliasesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListResolvableAliasesRequest) ProtoMessage() {}

func (x *ListResolvableAliasesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListResolvableAliasesRequest.ProtoReflect.Descriptor instead.
func (*ListResolvableAliasesRequest) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{16}
}

func (x *ListResolvableAliasesRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ListResolvableAliasesRequest) GetListToken() string {
	if x != nil {
		return x.ListToken
	}
	return ""
}

func (x *ListResolvableAliasesRequest) GetPageSize() uint32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListResolvableAliasesResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Items []*aliases.Alias       `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	// The type of response, either "delta" or "complete".
	// Delta signifies that this is part of a paginated result
	// or an update to a previously completed pagination.
	// Complete signifies that it is the last page.
	ResponseType string `protobuf:"bytes,2,opt,name=response_type,proto3" json:"response_type,omitempty" class:"public"` // @gotags: `class:"public"`
	// An opaque token used to continue an existing pagination or
	// request updated items. Use this token in the next list request
	// to request the next page.
	ListToken string `protobuf:"bytes,3,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"`
	// The name of the field which the items are sorted by.
	SortBy string `protobuf:"bytes,4,opt,name=sort_by,proto3" json:"sort_by,omitempty" class:"public"` // @gotags: `class:"public"`
	// The direction of the sort, either "asc" or "desc".
	SortDir string `protobuf:"bytes,5,opt,name=sort_dir,proto3" json:"sort_dir,omitempty" class:"public"` // @gotags: `class:"public"`
	// A list of item IDs that have been removed since they were returned
	// as part of a pagination. This includes aliases which have their
	// destination_id removed or set to a resource for which the requester doesn't
	// have permissions.
	RemovedIds []string `protobuf:"bytes,6,rep,name=removed_ids,proto3" json:"removed_ids,omitempty" class:"public"` // @gotags: `class:"public"`
	// An estimate at the total items available. This may change during pagination.
	EstItemCount  uint32 `protobuf:"varint,7,opt,name=est_item_count,proto3" json:"est_item_count,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListResolvableAliasesResponse) Reset() {
	*x = ListResolvableAliasesResponse{}
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListResolvableAliasesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListResolvableAliasesResponse) ProtoMessage() {}

func (x *ListResolvableAliasesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_services_v1_user_service_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListResolvableAliasesResponse.ProtoReflect.Descriptor instead.
func (*ListResolvableAliasesResponse) Descriptor() ([]byte, []int) {
	return file_controller_api_services_v1_user_service_proto_rawDescGZIP(), []int{17}
}

func (x *ListResolvableAliasesResponse) GetItems() []*aliases.Alias {
	if x != nil {
		return x.Items
	}
	return nil
}

func (x *ListResolvableAliasesResponse) GetResponseType() string {
	if x != nil {
		return x.ResponseType
	}
	return ""
}

func (x *ListResolvableAliasesResponse) GetListToken() string {
	if x != nil {
		return x.ListToken
	}
	return ""
}

func (x *ListResolvableAliasesResponse) GetSortBy() string {
	if x != nil {
		return x.SortBy
	}
	return ""
}

func (x *ListResolvableAliasesResponse) GetSortDir() string {
	if x != nil {
		return x.SortDir
	}
	return ""
}

func (x *ListResolvableAliasesResponse) GetRemovedIds() []string {
	if x != nil {
		return x.RemovedIds
	}
	return nil
}

func (x *ListResolvableAliasesResponse) GetEstItemCount() uint32 {
	if x != nil {
		return x.EstItemCount
	}
	return 0
}

var File_controller_api_services_v1_user_service_proto protoreflect.FileDescriptor

const file_controller_api_services_v1_user_service_proto_rawDesc = "" +
	"\n" +
	"-controller/api/services/v1/user_service.proto\x12\x1acontroller.api.services.v1\x1a/controller/api/resources/aliases/v1/alias.proto\x1a,controller/api/resources/users/v1/user.proto\x1a\x1cgoogle/api/annotations.proto\x1a google/protobuf/field_mask.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\" \n" +
	"\x0eGetUserRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"N\n" +
	"\x0fGetUserResponse\x12;\n" +
	"\x04item\x18\x01 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"\xa1\x01\n" +
	"\x10ListUsersRequest\x12\x19\n" +
	"\bscope_id\x18\x01 \x01(\tR\ascopeId\x12\x1c\n" +
	"\trecursive\x18\x14 \x01(\bR\trecursive\x12\x16\n" +
	"\x06filter\x18\x1e \x01(\tR\x06filter\x12\x1e\n" +
	"\n" +
	"list_token\x18( \x01(\tR\n" +
	"list_token\x12\x1c\n" +
	"\tpage_size\x182 \x01(\rR\tpage_size\"\x98\x02\n" +
	"\x11ListUsersResponse\x12=\n" +
	"\x05items\x18\x01 \x03(\v2'.controller.api.resources.users.v1.UserR\x05items\x12$\n" +
	"\rresponse_type\x18\x02 \x01(\tR\rresponse_type\x12\x1e\n" +
	"\n" +
	"list_token\x18\x03 \x01(\tR\n" +
	"list_token\x12\x18\n" +
	"\asort_by\x18\x04 \x01(\tR\asort_by\x12\x1a\n" +
	"\bsort_dir\x18\x05 \x01(\tR\bsort_dir\x12 \n" +
	"\vremoved_ids\x18\x06 \x03(\tR\vremoved_ids\x12&\n" +
	"\x0eest_item_count\x18\a \x01(\rR\x0eest_item_count\"P\n" +
	"\x11CreateUserRequest\x12;\n" +
	"\x04item\x18\x01 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"c\n" +
	"\x12CreateUserResponse\x12\x10\n" +
	"\x03uri\x18\x01 \x01(\tR\x03uri\x12;\n" +
	"\x04item\x18\x02 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"\x9e\x01\n" +
	"\x11UpdateUserRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12;\n" +
	"\x04item\x18\x02 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\x12<\n" +
	"\vupdate_mask\x18\x03 \x01(\v2\x1a.google.protobuf.FieldMaskR\vupdate_mask\"Q\n" +
	"\x12UpdateUserResponse\x12;\n" +
	"\x04item\x18\x01 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"#\n" +
	"\x11DeleteUserRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\x14\n" +
	"\x12DeleteUserResponse\"d\n" +
	"\x16AddUserAccountsRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\aversion\x18\x02 \x01(\rR\aversion\x12 \n" +
	"\vaccount_ids\x18\x03 \x03(\tR\vaccount_ids\"V\n" +
	"\x17AddUserAccountsResponse\x12;\n" +
	"\x04item\x18\x01 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"d\n" +
	"\x16SetUserAccountsRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\aversion\x18\x02 \x01(\rR\aversion\x12 \n" +
	"\vaccount_ids\x18\x03 \x03(\tR\vaccount_ids\"V\n" +
	"\x17SetUserAccountsResponse\x12;\n" +
	"\x04item\x18\x01 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"g\n" +
	"\x19RemoveUserAccountsRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\aversion\x18\x02 \x01(\rR\aversion\x12 \n" +
	"\vaccount_ids\x18\x03 \x03(\tR\vaccount_ids\"Y\n" +
	"\x1aRemoveUserAccountsResponse\x12;\n" +
	"\x04item\x18\x01 \x01(\v2'.controller.api.resources.users.v1.UserR\x04item\"l\n" +
	"\x1cListResolvableAliasesRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1e\n" +
	"\n" +
	"list_token\x18\x02 \x01(\tR\n" +
	"list_token\x12\x1c\n" +
	"\tpage_size\x18\x03 \x01(\rR\tpage_size\"\xa7\x02\n" +
	"\x1dListResolvableAliasesResponse\x12@\n" +
	"\x05items\x18\x01 \x03(\v2*.controller.api.resources.aliases.v1.AliasR\x05items\x12$\n" +
	"\rresponse_type\x18\x02 \x01(\tR\rresponse_type\x12\x1e\n" +
	"\n" +
	"list_token\x18\x03 \x01(\tR\n" +
	"list_token\x12\x18\n" +
	"\asort_by\x18\x04 \x01(\tR\asort_by\x12\x1a\n" +
	"\bsort_dir\x18\x05 \x01(\tR\bsort_dir\x12 \n" +
	"\vremoved_ids\x18\x06 \x03(\tR\vremoved_ids\x12&\n" +
	"\x0eest_item_count\x18\a \x01(\rR\x0eest_item_count2\xfe\x10\n" +
	"\vUserService\x12\x98\x01\n" +
	"\aGetUser\x12*.controller.api.services.v1.GetUserRequest\x1a+.controller.api.services.v1.GetUserResponse\"4\x92A\x15\x12\x13Gets a single User.\x82\xd3\xe4\x93\x02\x16b\x04item\x12\x0e/v1/users/{id}\x12\x90\x01\n" +
	"\tListUsers\x12,.controller.api.services.v1.ListUsersRequest\x1a-.controller.api.services.v1.ListUsersResponse\"&\x92A\x12\x12\x10Lists all Users.\x82\xd3\xe4\x93\x02\v\x12\t/v1/users\x12\xa5\x01\n" +
	"\n" +
	"CreateUser\x12-.controller.api.services.v1.CreateUserRequest\x1a..controller.api.services.v1.CreateUserResponse\"8\x92A\x18\x12\x16Creates a single User.\x82\xd3\xe4\x93\x02\x17:\x04itemb\x04item\"\t/v1/users\x12\xa3\x01\n" +
	"\n" +
	"UpdateUser\x12-.controller.api.services.v1.UpdateUserRequest\x1a..controller.api.services.v1.UpdateUserResponse\"6\x92A\x11\x12\x0fUpdates a User.\x82\xd3\xe4\x93\x02\x1c:\x04itemb\x04item2\x0e/v1/users/{id}\x12\x97\x01\n" +
	"\n" +
	"DeleteUser\x12-.controller.api.services.v1.DeleteUserRequest\x1a..controller.api.services.v1.DeleteUserResponse\"*\x92A\x11\x12\x0fDeletes a User.\x82\xd3\xe4\x93\x02\x10*\x0e/v1/users/{id}\x12\xcd\x01\n" +
	"\x0fAddUserAccounts\x122.controller.api.services.v1.AddUserAccountsRequest\x1a3.controller.api.services.v1.AddUserAccountsResponse\"Q\x92A\"\x12 Associates an Account to a User.\x82\xd3\xe4\x93\x02&:\x01*b\x04item\"\x1b/v1/users/{id}:add-accounts\x12\xb5\x02\n" +
	"\x0fSetUserAccounts\x122.controller.api.services.v1.SetUserAccountsRequest\x1a3.controller.api.services.v1.SetUserAccountsResponse\"\xb8\x01\x92A\x88\x01\x12\x85\x01Set the Accounts associated to the User to exactly the list of provided in the request, removing any Accounts that are not specified.\x82\xd3\xe4\x93\x02&:\x01*b\x04item\"\x1b/v1/users/{id}:set-accounts\x12\x86\x02\n" +
	"\x12RemoveUserAccounts\x125.controller.api.services.v1.RemoveUserAccountsRequest\x1a6.controller.api.services.v1.RemoveUserAccountsResponse\"\x80\x01\x92AN\x12LRemoves the specified Accounts from being associated with the provided User.\x82\xd3\xe4\x93\x02):\x01*b\x04item\"\x1e/v1/users/{id}:remove-accounts\x12\x9a\x02\n" +
	"\x15ListResolvableAliases\x128.controller.api.services.v1.ListResolvableAliasesRequest\x1a9.controller.api.services.v1.ListResolvableAliasesResponse\"\x8b\x01\x92AZ\x12XLists all Aliases which point to a resource for which the requester has some permission.\x82\xd3\xe4\x93\x02(\x12&/v1/users/{id}:list-resolvable-aliases\x1a\xaa\x02\x92A\xa6\x02\n" +
	"\fUser service\x12\x99\x01A user can be a human individual or a service account that accesses resources. The user service provides endpoints that let you manage users in Boundary.\x1az\n" +
	"-Read about users in the Boundary domain model\x12Ihttps://developer.hashicorp.com/boundary/docs/concepts/domain-model/usersBMZKgithub.com/hashicorp/boundary/internal/gen/controller/api/services;servicesb\x06proto3"

var (
	file_controller_api_services_v1_user_service_proto_rawDescOnce sync.Once
	file_controller_api_services_v1_user_service_proto_rawDescData []byte
)

func file_controller_api_services_v1_user_service_proto_rawDescGZIP() []byte {
	file_controller_api_services_v1_user_service_proto_rawDescOnce.Do(func() {
		file_controller_api_services_v1_user_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_controller_api_services_v1_user_service_proto_rawDesc), len(file_controller_api_services_v1_user_service_proto_rawDesc)))
	})
	return file_controller_api_services_v1_user_service_proto_rawDescData
}

var file_controller_api_services_v1_user_service_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_controller_api_services_v1_user_service_proto_goTypes = []any{
	(*GetUserRequest)(nil),                // 0: controller.api.services.v1.GetUserRequest
	(*GetUserResponse)(nil),               // 1: controller.api.services.v1.GetUserResponse
	(*ListUsersRequest)(nil),              // 2: controller.api.services.v1.ListUsersRequest
	(*ListUsersResponse)(nil),             // 3: controller.api.services.v1.ListUsersResponse
	(*CreateUserRequest)(nil),             // 4: controller.api.services.v1.CreateUserRequest
	(*CreateUserResponse)(nil),            // 5: controller.api.services.v1.CreateUserResponse
	(*UpdateUserRequest)(nil),             // 6: controller.api.services.v1.UpdateUserRequest
	(*UpdateUserResponse)(nil),            // 7: controller.api.services.v1.UpdateUserResponse
	(*DeleteUserRequest)(nil),             // 8: controller.api.services.v1.DeleteUserRequest
	(*DeleteUserResponse)(nil),            // 9: controller.api.services.v1.DeleteUserResponse
	(*AddUserAccountsRequest)(nil),        // 10: controller.api.services.v1.AddUserAccountsRequest
	(*AddUserAccountsResponse)(nil),       // 11: controller.api.services.v1.AddUserAccountsResponse
	(*SetUserAccountsRequest)(nil),        // 12: controller.api.services.v1.SetUserAccountsRequest
	(*SetUserAccountsResponse)(nil),       // 13: controller.api.services.v1.SetUserAccountsResponse
	(*RemoveUserAccountsRequest)(nil),     // 14: controller.api.services.v1.RemoveUserAccountsRequest
	(*RemoveUserAccountsResponse)(nil),    // 15: controller.api.services.v1.RemoveUserAccountsResponse
	(*ListResolvableAliasesRequest)(nil),  // 16: controller.api.services.v1.ListResolvableAliasesRequest
	(*ListResolvableAliasesResponse)(nil), // 17: controller.api.services.v1.ListResolvableAliasesResponse
	(*users.User)(nil),                    // 18: controller.api.resources.users.v1.User
	(*fieldmaskpb.FieldMask)(nil),         // 19: google.protobuf.FieldMask
	(*aliases.Alias)(nil),                 // 20: controller.api.resources.aliases.v1.Alias
}
var file_controller_api_services_v1_user_service_proto_depIdxs = []int32{
	18, // 0: controller.api.services.v1.GetUserResponse.item:type_name -> controller.api.resources.users.v1.User
	18, // 1: controller.api.services.v1.ListUsersResponse.items:type_name -> controller.api.resources.users.v1.User
	18, // 2: controller.api.services.v1.CreateUserRequest.item:type_name -> controller.api.resources.users.v1.User
	18, // 3: controller.api.services.v1.CreateUserResponse.item:type_name -> controller.api.resources.users.v1.User
	18, // 4: controller.api.services.v1.UpdateUserRequest.item:type_name -> controller.api.resources.users.v1.User
	19, // 5: controller.api.services.v1.UpdateUserRequest.update_mask:type_name -> google.protobuf.FieldMask
	18, // 6: controller.api.services.v1.UpdateUserResponse.item:type_name -> controller.api.resources.users.v1.User
	18, // 7: controller.api.services.v1.AddUserAccountsResponse.item:type_name -> controller.api.resources.users.v1.User
	18, // 8: controller.api.services.v1.SetUserAccountsResponse.item:type_name -> controller.api.resources.users.v1.User
	18, // 9: controller.api.services.v1.RemoveUserAccountsResponse.item:type_name -> controller.api.resources.users.v1.User
	20, // 10: controller.api.services.v1.ListResolvableAliasesResponse.items:type_name -> controller.api.resources.aliases.v1.Alias
	0,  // 11: controller.api.services.v1.UserService.GetUser:input_type -> controller.api.services.v1.GetUserRequest
	2,  // 12: controller.api.services.v1.UserService.ListUsers:input_type -> controller.api.services.v1.ListUsersRequest
	4,  // 13: controller.api.services.v1.UserService.CreateUser:input_type -> controller.api.services.v1.CreateUserRequest
	6,  // 14: controller.api.services.v1.UserService.UpdateUser:input_type -> controller.api.services.v1.UpdateUserRequest
	8,  // 15: controller.api.services.v1.UserService.DeleteUser:input_type -> controller.api.services.v1.DeleteUserRequest
	10, // 16: controller.api.services.v1.UserService.AddUserAccounts:input_type -> controller.api.services.v1.AddUserAccountsRequest
	12, // 17: controller.api.services.v1.UserService.SetUserAccounts:input_type -> controller.api.services.v1.SetUserAccountsRequest
	14, // 18: controller.api.services.v1.UserService.RemoveUserAccounts:input_type -> controller.api.services.v1.RemoveUserAccountsRequest
	16, // 19: controller.api.services.v1.UserService.ListResolvableAliases:input_type -> controller.api.services.v1.ListResolvableAliasesRequest
	1,  // 20: controller.api.services.v1.UserService.GetUser:output_type -> controller.api.services.v1.GetUserResponse
	3,  // 21: controller.api.services.v1.UserService.ListUsers:output_type -> controller.api.services.v1.ListUsersResponse
	5,  // 22: controller.api.services.v1.UserService.CreateUser:output_type -> controller.api.services.v1.CreateUserResponse
	7,  // 23: controller.api.services.v1.UserService.UpdateUser:output_type -> controller.api.services.v1.UpdateUserResponse
	9,  // 24: controller.api.services.v1.UserService.DeleteUser:output_type -> controller.api.services.v1.DeleteUserResponse
	11, // 25: controller.api.services.v1.UserService.AddUserAccounts:output_type -> controller.api.services.v1.AddUserAccountsResponse
	13, // 26: controller.api.services.v1.UserService.SetUserAccounts:output_type -> controller.api.services.v1.SetUserAccountsResponse
	15, // 27: controller.api.services.v1.UserService.RemoveUserAccounts:output_type -> controller.api.services.v1.RemoveUserAccountsResponse
	17, // 28: controller.api.services.v1.UserService.ListResolvableAliases:output_type -> controller.api.services.v1.ListResolvableAliasesResponse
	20, // [20:29] is the sub-list for method output_type
	11, // [11:20] is the sub-list for method input_type
	11, // [11:11] is the sub-list for extension type_name
	11, // [11:11] is the sub-list for extension extendee
	0,  // [0:11] is the sub-list for field type_name
}

func init() { file_controller_api_services_v1_user_service_proto_init() }
func file_controller_api_services_v1_user_service_proto_init() {
	if File_controller_api_services_v1_user_service_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_controller_api_services_v1_user_service_proto_rawDesc), len(file_controller_api_services_v1_user_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   18,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_controller_api_services_v1_user_service_proto_goTypes,
		DependencyIndexes: file_controller_api_services_v1_user_service_proto_depIdxs,
		MessageInfos:      file_controller_api_services_v1_user_service_proto_msgTypes,
	}.Build()
	File_controller_api_services_v1_user_service_proto = out.File
	file_controller_api_services_v1_user_service_proto_goTypes = nil
	file_controller_api_services_v1_user_service_proto_depIdxs = nil
}
