// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v6.33.4
// source: iam.proto

package iam_pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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 GetConfigurationRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetConfigurationRequest) ProtoMessage() {}

func (x *GetConfigurationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 GetConfigurationRequest.ProtoReflect.Descriptor instead.
func (*GetConfigurationRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{0}
}

type GetConfigurationResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Configuration *S3ApiConfiguration    `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetConfigurationResponse) ProtoMessage() {}

func (x *GetConfigurationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 GetConfigurationResponse.ProtoReflect.Descriptor instead.
func (*GetConfigurationResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{1}
}

func (x *GetConfigurationResponse) GetConfiguration() *S3ApiConfiguration {
	if x != nil {
		return x.Configuration
	}
	return nil
}

type PutConfigurationRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Configuration *S3ApiConfiguration    `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PutConfigurationRequest) ProtoMessage() {}

func (x *PutConfigurationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 PutConfigurationRequest.ProtoReflect.Descriptor instead.
func (*PutConfigurationRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{2}
}

func (x *PutConfigurationRequest) GetConfiguration() *S3ApiConfiguration {
	if x != nil {
		return x.Configuration
	}
	return nil
}

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

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

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

func (*PutConfigurationResponse) ProtoMessage() {}

func (x *PutConfigurationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 PutConfigurationResponse.ProtoReflect.Descriptor instead.
func (*PutConfigurationResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{3}
}

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

func (x *CreateUserRequest) Reset() {
	*x = CreateUserRequest{}
	mi := &file_iam_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_iam_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_iam_proto_rawDescGZIP(), []int{4}
}

func (x *CreateUserRequest) GetIdentity() *Identity {
	if x != nil {
		return x.Identity
	}
	return nil
}

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

func (x *CreateUserResponse) Reset() {
	*x = CreateUserResponse{}
	mi := &file_iam_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_iam_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_iam_proto_rawDescGZIP(), []int{5}
}

type GetUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserRequest) Reset() {
	*x = GetUserRequest{}
	mi := &file_iam_proto_msgTypes[6]
	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_iam_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 GetUserRequest.ProtoReflect.Descriptor instead.
func (*GetUserRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{6}
}

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

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

func (x *GetUserResponse) Reset() {
	*x = GetUserResponse{}
	mi := &file_iam_proto_msgTypes[7]
	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_iam_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 GetUserResponse.ProtoReflect.Descriptor instead.
func (*GetUserResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{7}
}

func (x *GetUserResponse) GetIdentity() *Identity {
	if x != nil {
		return x.Identity
	}
	return nil
}

type UpdateUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Identity      *Identity              `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserRequest) Reset() {
	*x = UpdateUserRequest{}
	mi := &file_iam_proto_msgTypes[8]
	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_iam_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 UpdateUserRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{8}
}

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

func (x *UpdateUserRequest) GetIdentity() *Identity {
	if x != nil {
		return x.Identity
	}
	return nil
}

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

func (x *UpdateUserResponse) Reset() {
	*x = UpdateUserResponse{}
	mi := &file_iam_proto_msgTypes[9]
	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_iam_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 UpdateUserResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{9}
}

type DeleteUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteUserRequest) Reset() {
	*x = DeleteUserRequest{}
	mi := &file_iam_proto_msgTypes[10]
	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_iam_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 DeleteUserRequest.ProtoReflect.Descriptor instead.
func (*DeleteUserRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{10}
}

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

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

func (x *DeleteUserResponse) Reset() {
	*x = DeleteUserResponse{}
	mi := &file_iam_proto_msgTypes[11]
	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_iam_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 DeleteUserResponse.ProtoReflect.Descriptor instead.
func (*DeleteUserResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{11}
}

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

func (x *ListUsersRequest) Reset() {
	*x = ListUsersRequest{}
	mi := &file_iam_proto_msgTypes[12]
	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_iam_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 ListUsersRequest.ProtoReflect.Descriptor instead.
func (*ListUsersRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{12}
}

type ListUsersResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Usernames     []string               `protobuf:"bytes,1,rep,name=usernames,proto3" json:"usernames,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUsersResponse) Reset() {
	*x = ListUsersResponse{}
	mi := &file_iam_proto_msgTypes[13]
	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_iam_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 ListUsersResponse.ProtoReflect.Descriptor instead.
func (*ListUsersResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{13}
}

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

type CreateAccessKeyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Credential    *Credential            `protobuf:"bytes,2,opt,name=credential,proto3" json:"credential,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateAccessKeyRequest) ProtoMessage() {}

func (x *CreateAccessKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 CreateAccessKeyRequest.ProtoReflect.Descriptor instead.
func (*CreateAccessKeyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{14}
}

func (x *CreateAccessKeyRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *CreateAccessKeyRequest) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

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

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

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

func (*CreateAccessKeyResponse) ProtoMessage() {}

func (x *CreateAccessKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 CreateAccessKeyResponse.ProtoReflect.Descriptor instead.
func (*CreateAccessKeyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{15}
}

type DeleteAccessKeyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	AccessKey     string                 `protobuf:"bytes,2,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteAccessKeyRequest) ProtoMessage() {}

func (x *DeleteAccessKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 DeleteAccessKeyRequest.ProtoReflect.Descriptor instead.
func (*DeleteAccessKeyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{16}
}

func (x *DeleteAccessKeyRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *DeleteAccessKeyRequest) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

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

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

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

func (*DeleteAccessKeyResponse) ProtoMessage() {}

func (x *DeleteAccessKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_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 DeleteAccessKeyResponse.ProtoReflect.Descriptor instead.
func (*DeleteAccessKeyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{17}
}

type GetUserByAccessKeyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AccessKey     string                 `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserByAccessKeyRequest) Reset() {
	*x = GetUserByAccessKeyRequest{}
	mi := &file_iam_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserByAccessKeyRequest) ProtoMessage() {}

func (x *GetUserByAccessKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[18]
	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 GetUserByAccessKeyRequest.ProtoReflect.Descriptor instead.
func (*GetUserByAccessKeyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{18}
}

func (x *GetUserByAccessKeyRequest) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

type GetUserByAccessKeyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *Identity              `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserByAccessKeyResponse) Reset() {
	*x = GetUserByAccessKeyResponse{}
	mi := &file_iam_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserByAccessKeyResponse) ProtoMessage() {}

func (x *GetUserByAccessKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[19]
	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 GetUserByAccessKeyResponse.ProtoReflect.Descriptor instead.
func (*GetUserByAccessKeyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{19}
}

func (x *GetUserByAccessKeyResponse) GetIdentity() *Identity {
	if x != nil {
		return x.Identity
	}
	return nil
}

type ListAccessKeysRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAccessKeysRequest) Reset() {
	*x = ListAccessKeysRequest{}
	mi := &file_iam_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListAccessKeysRequest) ProtoMessage() {}

func (x *ListAccessKeysRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[20]
	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 ListAccessKeysRequest.ProtoReflect.Descriptor instead.
func (*ListAccessKeysRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{20}
}

func (x *ListAccessKeysRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

type ListAccessKeysResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AccessKeys    []*Credential          `protobuf:"bytes,1,rep,name=access_keys,json=accessKeys,proto3" json:"access_keys,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAccessKeysResponse) Reset() {
	*x = ListAccessKeysResponse{}
	mi := &file_iam_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListAccessKeysResponse) ProtoMessage() {}

func (x *ListAccessKeysResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[21]
	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 ListAccessKeysResponse.ProtoReflect.Descriptor instead.
func (*ListAccessKeysResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{21}
}

func (x *ListAccessKeysResponse) GetAccessKeys() []*Credential {
	if x != nil {
		return x.AccessKeys
	}
	return nil
}

// User Policy Management Messages
type PutUserPolicyRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Username       string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	PolicyName     string                 `protobuf:"bytes,2,opt,name=policy_name,json=policyName,proto3" json:"policy_name,omitempty"`
	PolicyDocument string                 `protobuf:"bytes,3,opt,name=policy_document,json=policyDocument,proto3" json:"policy_document,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *PutUserPolicyRequest) Reset() {
	*x = PutUserPolicyRequest{}
	mi := &file_iam_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutUserPolicyRequest) ProtoMessage() {}

func (x *PutUserPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[22]
	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 PutUserPolicyRequest.ProtoReflect.Descriptor instead.
func (*PutUserPolicyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{22}
}

func (x *PutUserPolicyRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *PutUserPolicyRequest) GetPolicyName() string {
	if x != nil {
		return x.PolicyName
	}
	return ""
}

func (x *PutUserPolicyRequest) GetPolicyDocument() string {
	if x != nil {
		return x.PolicyDocument
	}
	return ""
}

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

func (x *PutUserPolicyResponse) Reset() {
	*x = PutUserPolicyResponse{}
	mi := &file_iam_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutUserPolicyResponse) ProtoMessage() {}

func (x *PutUserPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[23]
	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 PutUserPolicyResponse.ProtoReflect.Descriptor instead.
func (*PutUserPolicyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{23}
}

type GetUserPolicyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	PolicyName    string                 `protobuf:"bytes,2,opt,name=policy_name,json=policyName,proto3" json:"policy_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserPolicyRequest) Reset() {
	*x = GetUserPolicyRequest{}
	mi := &file_iam_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserPolicyRequest) ProtoMessage() {}

func (x *GetUserPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[24]
	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 GetUserPolicyRequest.ProtoReflect.Descriptor instead.
func (*GetUserPolicyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{24}
}

func (x *GetUserPolicyRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *GetUserPolicyRequest) GetPolicyName() string {
	if x != nil {
		return x.PolicyName
	}
	return ""
}

type GetUserPolicyResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Username       string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	PolicyName     string                 `protobuf:"bytes,2,opt,name=policy_name,json=policyName,proto3" json:"policy_name,omitempty"`
	PolicyDocument string                 `protobuf:"bytes,3,opt,name=policy_document,json=policyDocument,proto3" json:"policy_document,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetUserPolicyResponse) Reset() {
	*x = GetUserPolicyResponse{}
	mi := &file_iam_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserPolicyResponse) ProtoMessage() {}

func (x *GetUserPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[25]
	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 GetUserPolicyResponse.ProtoReflect.Descriptor instead.
func (*GetUserPolicyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{25}
}

func (x *GetUserPolicyResponse) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *GetUserPolicyResponse) GetPolicyName() string {
	if x != nil {
		return x.PolicyName
	}
	return ""
}

func (x *GetUserPolicyResponse) GetPolicyDocument() string {
	if x != nil {
		return x.PolicyDocument
	}
	return ""
}

type DeleteUserPolicyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	PolicyName    string                 `protobuf:"bytes,2,opt,name=policy_name,json=policyName,proto3" json:"policy_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteUserPolicyRequest) Reset() {
	*x = DeleteUserPolicyRequest{}
	mi := &file_iam_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteUserPolicyRequest) ProtoMessage() {}

func (x *DeleteUserPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[26]
	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 DeleteUserPolicyRequest.ProtoReflect.Descriptor instead.
func (*DeleteUserPolicyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{26}
}

func (x *DeleteUserPolicyRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *DeleteUserPolicyRequest) GetPolicyName() string {
	if x != nil {
		return x.PolicyName
	}
	return ""
}

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

func (x *DeleteUserPolicyResponse) Reset() {
	*x = DeleteUserPolicyResponse{}
	mi := &file_iam_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteUserPolicyResponse) ProtoMessage() {}

func (x *DeleteUserPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[27]
	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 DeleteUserPolicyResponse.ProtoReflect.Descriptor instead.
func (*DeleteUserPolicyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{27}
}

type S3ApiConfiguration struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Identities      []*Identity            `protobuf:"bytes,1,rep,name=identities,proto3" json:"identities,omitempty"`
	Accounts        []*Account             `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty"`
	ServiceAccounts []*ServiceAccount      `protobuf:"bytes,3,rep,name=service_accounts,json=serviceAccounts,proto3" json:"service_accounts,omitempty"`
	Policies        []*Policy              `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty"`
	Groups          []*Group               `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *S3ApiConfiguration) Reset() {
	*x = S3ApiConfiguration{}
	mi := &file_iam_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*S3ApiConfiguration) ProtoMessage() {}

func (x *S3ApiConfiguration) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[28]
	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 S3ApiConfiguration.ProtoReflect.Descriptor instead.
func (*S3ApiConfiguration) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{28}
}

func (x *S3ApiConfiguration) GetIdentities() []*Identity {
	if x != nil {
		return x.Identities
	}
	return nil
}

func (x *S3ApiConfiguration) GetAccounts() []*Account {
	if x != nil {
		return x.Accounts
	}
	return nil
}

func (x *S3ApiConfiguration) GetServiceAccounts() []*ServiceAccount {
	if x != nil {
		return x.ServiceAccounts
	}
	return nil
}

func (x *S3ApiConfiguration) GetPolicies() []*Policy {
	if x != nil {
		return x.Policies
	}
	return nil
}

func (x *S3ApiConfiguration) GetGroups() []*Group {
	if x != nil {
		return x.Groups
	}
	return nil
}

type Group struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`                            // usernames
	PolicyNames   []string               `protobuf:"bytes,3,rep,name=policy_names,json=policyNames,proto3" json:"policy_names,omitempty"` // attached managed policy names
	Disabled      bool                   `protobuf:"varint,4,opt,name=disabled,proto3" json:"disabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Group) Reset() {
	*x = Group{}
	mi := &file_iam_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Group) ProtoMessage() {}

func (x *Group) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[29]
	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 Group.ProtoReflect.Descriptor instead.
func (*Group) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{29}
}

func (x *Group) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Group) GetMembers() []string {
	if x != nil {
		return x.Members
	}
	return nil
}

func (x *Group) GetPolicyNames() []string {
	if x != nil {
		return x.PolicyNames
	}
	return nil
}

func (x *Group) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

type Identity struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Name              string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Credentials       []*Credential          `protobuf:"bytes,2,rep,name=credentials,proto3" json:"credentials,omitempty"`
	Actions           []string               `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
	Account           *Account               `protobuf:"bytes,4,opt,name=account,proto3" json:"account,omitempty"`
	Disabled          bool                   `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"`                                             // User status: false = enabled (default), true = disabled
	ServiceAccountIds []string               `protobuf:"bytes,6,rep,name=service_account_ids,json=serviceAccountIds,proto3" json:"service_account_ids,omitempty"` // IDs of service accounts owned by this user
	PolicyNames       []string               `protobuf:"bytes,7,rep,name=policy_names,json=policyNames,proto3" json:"policy_names,omitempty"`
	IsStatic          bool                   `protobuf:"varint,8,opt,name=is_static,json=isStatic,proto3" json:"is_static,omitempty"` // Loaded from static config file (read-only, not editable via API)
	Tags              []*UserTag             `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *Identity) Reset() {
	*x = Identity{}
	mi := &file_iam_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Identity) ProtoMessage() {}

func (x *Identity) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[30]
	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 Identity.ProtoReflect.Descriptor instead.
func (*Identity) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{30}
}

func (x *Identity) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Identity) GetCredentials() []*Credential {
	if x != nil {
		return x.Credentials
	}
	return nil
}

func (x *Identity) GetActions() []string {
	if x != nil {
		return x.Actions
	}
	return nil
}

func (x *Identity) GetAccount() *Account {
	if x != nil {
		return x.Account
	}
	return nil
}

func (x *Identity) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

func (x *Identity) GetServiceAccountIds() []string {
	if x != nil {
		return x.ServiceAccountIds
	}
	return nil
}

func (x *Identity) GetPolicyNames() []string {
	if x != nil {
		return x.PolicyNames
	}
	return nil
}

func (x *Identity) GetIsStatic() bool {
	if x != nil {
		return x.IsStatic
	}
	return false
}

func (x *Identity) GetTags() []*UserTag {
	if x != nil {
		return x.Tags
	}
	return nil
}

type UserTag struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Key           string                 `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value         string                 `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UserTag) Reset() {
	*x = UserTag{}
	mi := &file_iam_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserTag) ProtoMessage() {}

func (x *UserTag) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[31]
	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 UserTag.ProtoReflect.Descriptor instead.
func (*UserTag) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{31}
}

func (x *UserTag) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *UserTag) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type Credential struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AccessKey     string                 `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	SecretKey     string                 `protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	Status        string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` // Access key status: "Active" or "Inactive"
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Credential) Reset() {
	*x = Credential{}
	mi := &file_iam_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Credential) ProtoMessage() {}

func (x *Credential) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[32]
	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 Credential.ProtoReflect.Descriptor instead.
func (*Credential) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{32}
}

func (x *Credential) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

func (x *Credential) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *Credential) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

type Account struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	DisplayName   string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	EmailAddress  string                 `protobuf:"bytes,3,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Account) Reset() {
	*x = Account{}
	mi := &file_iam_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Account) ProtoMessage() {}

func (x *Account) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[33]
	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 Account.ProtoReflect.Descriptor instead.
func (*Account) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{33}
}

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

func (x *Account) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Account) GetEmailAddress() string {
	if x != nil {
		return x.EmailAddress
	}
	return ""
}

// ServiceAccount represents a service account - special credentials for applications.
// Service accounts are linked to a parent user and can have restricted permissions.
type ServiceAccount struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`                                   // Unique identifier (e.g., "sa-xxxxx")
	ParentUser    string                 `protobuf:"bytes,2,opt,name=parent_user,json=parentUser,proto3" json:"parent_user,omitempty"` // Parent identity name
	Description   string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`                 // Optional description
	Credential    *Credential            `protobuf:"bytes,4,opt,name=credential,proto3" json:"credential,omitempty"`                   // Access key/secret for this service account
	Actions       []string               `protobuf:"bytes,5,rep,name=actions,proto3" json:"actions,omitempty"`                         // Allowed actions (subset of parent)
	Expiration    int64                  `protobuf:"varint,6,opt,name=expiration,proto3" json:"expiration,omitempty"`                  // Unix timestamp, 0 = no expiration
	Disabled      bool                   `protobuf:"varint,7,opt,name=disabled,proto3" json:"disabled,omitempty"`                      // Status: false = enabled (default)
	CreatedAt     int64                  `protobuf:"varint,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`   // Creation timestamp
	CreatedBy     string                 `protobuf:"bytes,9,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`    // Who created this service account
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ServiceAccount) Reset() {
	*x = ServiceAccount{}
	mi := &file_iam_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ServiceAccount) ProtoMessage() {}

func (x *ServiceAccount) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[34]
	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 ServiceAccount.ProtoReflect.Descriptor instead.
func (*ServiceAccount) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{34}
}

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

func (x *ServiceAccount) GetParentUser() string {
	if x != nil {
		return x.ParentUser
	}
	return ""
}

func (x *ServiceAccount) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *ServiceAccount) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

func (x *ServiceAccount) GetActions() []string {
	if x != nil {
		return x.Actions
	}
	return nil
}

func (x *ServiceAccount) GetExpiration() int64 {
	if x != nil {
		return x.Expiration
	}
	return 0
}

func (x *ServiceAccount) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

func (x *ServiceAccount) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *ServiceAccount) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

type PutPolicyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PutPolicyRequest) Reset() {
	*x = PutPolicyRequest{}
	mi := &file_iam_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutPolicyRequest) ProtoMessage() {}

func (x *PutPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[35]
	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 PutPolicyRequest.ProtoReflect.Descriptor instead.
func (*PutPolicyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{35}
}

func (x *PutPolicyRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PutPolicyRequest) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

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

func (x *PutPolicyResponse) Reset() {
	*x = PutPolicyResponse{}
	mi := &file_iam_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutPolicyResponse) ProtoMessage() {}

func (x *PutPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[36]
	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 PutPolicyResponse.ProtoReflect.Descriptor instead.
func (*PutPolicyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{36}
}

type GetPolicyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetPolicyRequest) Reset() {
	*x = GetPolicyRequest{}
	mi := &file_iam_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetPolicyRequest) ProtoMessage() {}

func (x *GetPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[37]
	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 GetPolicyRequest.ProtoReflect.Descriptor instead.
func (*GetPolicyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{37}
}

func (x *GetPolicyRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type GetPolicyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetPolicyResponse) Reset() {
	*x = GetPolicyResponse{}
	mi := &file_iam_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetPolicyResponse) ProtoMessage() {}

func (x *GetPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[38]
	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 GetPolicyResponse.ProtoReflect.Descriptor instead.
func (*GetPolicyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{38}
}

func (x *GetPolicyResponse) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GetPolicyResponse) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

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

func (x *ListPoliciesRequest) Reset() {
	*x = ListPoliciesRequest{}
	mi := &file_iam_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPoliciesRequest) ProtoMessage() {}

func (x *ListPoliciesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[39]
	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 ListPoliciesRequest.ProtoReflect.Descriptor instead.
func (*ListPoliciesRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{39}
}

type ListPoliciesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Policies      []*Policy              `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPoliciesResponse) Reset() {
	*x = ListPoliciesResponse{}
	mi := &file_iam_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPoliciesResponse) ProtoMessage() {}

func (x *ListPoliciesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[40]
	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 ListPoliciesResponse.ProtoReflect.Descriptor instead.
func (*ListPoliciesResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{40}
}

func (x *ListPoliciesResponse) GetPolicies() []*Policy {
	if x != nil {
		return x.Policies
	}
	return nil
}

type DeletePolicyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePolicyRequest) Reset() {
	*x = DeletePolicyRequest{}
	mi := &file_iam_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeletePolicyRequest) ProtoMessage() {}

func (x *DeletePolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[41]
	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 DeletePolicyRequest.ProtoReflect.Descriptor instead.
func (*DeletePolicyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{41}
}

func (x *DeletePolicyRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

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

func (x *DeletePolicyResponse) Reset() {
	*x = DeletePolicyResponse{}
	mi := &file_iam_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeletePolicyResponse) ProtoMessage() {}

func (x *DeletePolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[42]
	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 DeletePolicyResponse.ProtoReflect.Descriptor instead.
func (*DeletePolicyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{42}
}

type Policy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Content       string                 `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` // JSON content of the policy
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Policy) Reset() {
	*x = Policy{}
	mi := &file_iam_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Policy) ProtoMessage() {}

func (x *Policy) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[43]
	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 Policy.ProtoReflect.Descriptor instead.
func (*Policy) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{43}
}

func (x *Policy) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Policy) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

type CreateServiceAccountRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccount *ServiceAccount        `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CreateServiceAccountRequest) Reset() {
	*x = CreateServiceAccountRequest{}
	mi := &file_iam_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateServiceAccountRequest) ProtoMessage() {}

func (x *CreateServiceAccountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[44]
	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 CreateServiceAccountRequest.ProtoReflect.Descriptor instead.
func (*CreateServiceAccountRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{44}
}

func (x *CreateServiceAccountRequest) GetServiceAccount() *ServiceAccount {
	if x != nil {
		return x.ServiceAccount
	}
	return nil
}

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

func (x *CreateServiceAccountResponse) Reset() {
	*x = CreateServiceAccountResponse{}
	mi := &file_iam_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateServiceAccountResponse) ProtoMessage() {}

func (x *CreateServiceAccountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[45]
	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 CreateServiceAccountResponse.ProtoReflect.Descriptor instead.
func (*CreateServiceAccountResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{45}
}

type UpdateServiceAccountRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Id             string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	ServiceAccount *ServiceAccount        `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *UpdateServiceAccountRequest) Reset() {
	*x = UpdateServiceAccountRequest{}
	mi := &file_iam_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateServiceAccountRequest) ProtoMessage() {}

func (x *UpdateServiceAccountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[46]
	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 UpdateServiceAccountRequest.ProtoReflect.Descriptor instead.
func (*UpdateServiceAccountRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{46}
}

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

func (x *UpdateServiceAccountRequest) GetServiceAccount() *ServiceAccount {
	if x != nil {
		return x.ServiceAccount
	}
	return nil
}

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

func (x *UpdateServiceAccountResponse) Reset() {
	*x = UpdateServiceAccountResponse{}
	mi := &file_iam_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateServiceAccountResponse) ProtoMessage() {}

func (x *UpdateServiceAccountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[47]
	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 UpdateServiceAccountResponse.ProtoReflect.Descriptor instead.
func (*UpdateServiceAccountResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{47}
}

type DeleteServiceAccountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteServiceAccountRequest) Reset() {
	*x = DeleteServiceAccountRequest{}
	mi := &file_iam_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteServiceAccountRequest) ProtoMessage() {}

func (x *DeleteServiceAccountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[48]
	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 DeleteServiceAccountRequest.ProtoReflect.Descriptor instead.
func (*DeleteServiceAccountRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{48}
}

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

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

func (x *DeleteServiceAccountResponse) Reset() {
	*x = DeleteServiceAccountResponse{}
	mi := &file_iam_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteServiceAccountResponse) ProtoMessage() {}

func (x *DeleteServiceAccountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[49]
	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 DeleteServiceAccountResponse.ProtoReflect.Descriptor instead.
func (*DeleteServiceAccountResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{49}
}

type GetServiceAccountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetServiceAccountRequest) Reset() {
	*x = GetServiceAccountRequest{}
	mi := &file_iam_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetServiceAccountRequest) ProtoMessage() {}

func (x *GetServiceAccountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[50]
	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 GetServiceAccountRequest.ProtoReflect.Descriptor instead.
func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{50}
}

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

type GetServiceAccountResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccount *ServiceAccount        `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetServiceAccountResponse) Reset() {
	*x = GetServiceAccountResponse{}
	mi := &file_iam_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetServiceAccountResponse) ProtoMessage() {}

func (x *GetServiceAccountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[51]
	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 GetServiceAccountResponse.ProtoReflect.Descriptor instead.
func (*GetServiceAccountResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{51}
}

func (x *GetServiceAccountResponse) GetServiceAccount() *ServiceAccount {
	if x != nil {
		return x.ServiceAccount
	}
	return nil
}

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

func (x *ListServiceAccountsRequest) Reset() {
	*x = ListServiceAccountsRequest{}
	mi := &file_iam_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListServiceAccountsRequest) ProtoMessage() {}

func (x *ListServiceAccountsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[52]
	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 ListServiceAccountsRequest.ProtoReflect.Descriptor instead.
func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{52}
}

type ListServiceAccountsResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccounts []*ServiceAccount      `protobuf:"bytes,1,rep,name=service_accounts,json=serviceAccounts,proto3" json:"service_accounts,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListServiceAccountsResponse) Reset() {
	*x = ListServiceAccountsResponse{}
	mi := &file_iam_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListServiceAccountsResponse) ProtoMessage() {}

func (x *ListServiceAccountsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[53]
	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 ListServiceAccountsResponse.ProtoReflect.Descriptor instead.
func (*ListServiceAccountsResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{53}
}

func (x *ListServiceAccountsResponse) GetServiceAccounts() []*ServiceAccount {
	if x != nil {
		return x.ServiceAccounts
	}
	return nil
}

type GetServiceAccountByAccessKeyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AccessKey     string                 `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetServiceAccountByAccessKeyRequest) Reset() {
	*x = GetServiceAccountByAccessKeyRequest{}
	mi := &file_iam_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetServiceAccountByAccessKeyRequest) ProtoMessage() {}

func (x *GetServiceAccountByAccessKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[54]
	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 GetServiceAccountByAccessKeyRequest.ProtoReflect.Descriptor instead.
func (*GetServiceAccountByAccessKeyRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{54}
}

func (x *GetServiceAccountByAccessKeyRequest) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

type GetServiceAccountByAccessKeyResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccount *ServiceAccount        `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetServiceAccountByAccessKeyResponse) Reset() {
	*x = GetServiceAccountByAccessKeyResponse{}
	mi := &file_iam_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetServiceAccountByAccessKeyResponse) ProtoMessage() {}

func (x *GetServiceAccountByAccessKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[55]
	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 GetServiceAccountByAccessKeyResponse.ProtoReflect.Descriptor instead.
func (*GetServiceAccountByAccessKeyResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{55}
}

func (x *GetServiceAccountByAccessKeyResponse) GetServiceAccount() *ServiceAccount {
	if x != nil {
		return x.ServiceAccount
	}
	return nil
}

type PutIdentityRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *Identity              `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PutIdentityRequest) Reset() {
	*x = PutIdentityRequest{}
	mi := &file_iam_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutIdentityRequest) ProtoMessage() {}

func (x *PutIdentityRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[56]
	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 PutIdentityRequest.ProtoReflect.Descriptor instead.
func (*PutIdentityRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{56}
}

func (x *PutIdentityRequest) GetIdentity() *Identity {
	if x != nil {
		return x.Identity
	}
	return nil
}

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

func (x *PutIdentityResponse) Reset() {
	*x = PutIdentityResponse{}
	mi := &file_iam_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutIdentityResponse) ProtoMessage() {}

func (x *PutIdentityResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[57]
	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 PutIdentityResponse.ProtoReflect.Descriptor instead.
func (*PutIdentityResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{57}
}

type RemoveIdentityRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveIdentityRequest) Reset() {
	*x = RemoveIdentityRequest{}
	mi := &file_iam_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoveIdentityRequest) ProtoMessage() {}

func (x *RemoveIdentityRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[58]
	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 RemoveIdentityRequest.ProtoReflect.Descriptor instead.
func (*RemoveIdentityRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{58}
}

func (x *RemoveIdentityRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

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

func (x *RemoveIdentityResponse) Reset() {
	*x = RemoveIdentityResponse{}
	mi := &file_iam_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoveIdentityResponse) ProtoMessage() {}

func (x *RemoveIdentityResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[59]
	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 RemoveIdentityResponse.ProtoReflect.Descriptor instead.
func (*RemoveIdentityResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{59}
}

type PutGroupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Group         *Group                 `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PutGroupRequest) Reset() {
	*x = PutGroupRequest{}
	mi := &file_iam_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutGroupRequest) ProtoMessage() {}

func (x *PutGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[60]
	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 PutGroupRequest.ProtoReflect.Descriptor instead.
func (*PutGroupRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{60}
}

func (x *PutGroupRequest) GetGroup() *Group {
	if x != nil {
		return x.Group
	}
	return nil
}

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

func (x *PutGroupResponse) Reset() {
	*x = PutGroupResponse{}
	mi := &file_iam_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PutGroupResponse) ProtoMessage() {}

func (x *PutGroupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[61]
	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 PutGroupResponse.ProtoReflect.Descriptor instead.
func (*PutGroupResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{61}
}

type RemoveGroupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GroupName     string                 `protobuf:"bytes,1,opt,name=group_name,json=groupName,proto3" json:"group_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoveGroupRequest) Reset() {
	*x = RemoveGroupRequest{}
	mi := &file_iam_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoveGroupRequest) ProtoMessage() {}

func (x *RemoveGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[62]
	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 RemoveGroupRequest.ProtoReflect.Descriptor instead.
func (*RemoveGroupRequest) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{62}
}

func (x *RemoveGroupRequest) GetGroupName() string {
	if x != nil {
		return x.GroupName
	}
	return ""
}

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

func (x *RemoveGroupResponse) Reset() {
	*x = RemoveGroupResponse{}
	mi := &file_iam_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RemoveGroupResponse) ProtoMessage() {}

func (x *RemoveGroupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_iam_proto_msgTypes[63]
	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 RemoveGroupResponse.ProtoReflect.Descriptor instead.
func (*RemoveGroupResponse) Descriptor() ([]byte, []int) {
	return file_iam_proto_rawDescGZIP(), []int{63}
}

var File_iam_proto protoreflect.FileDescriptor

const file_iam_proto_rawDesc = "" +
	"\n" +
	"\tiam.proto\x12\x06iam_pb\"\x19\n" +
	"\x17GetConfigurationRequest\"\\\n" +
	"\x18GetConfigurationResponse\x12@\n" +
	"\rconfiguration\x18\x01 \x01(\v2\x1a.iam_pb.S3ApiConfigurationR\rconfiguration\"[\n" +
	"\x17PutConfigurationRequest\x12@\n" +
	"\rconfiguration\x18\x01 \x01(\v2\x1a.iam_pb.S3ApiConfigurationR\rconfiguration\"\x1a\n" +
	"\x18PutConfigurationResponse\"A\n" +
	"\x11CreateUserRequest\x12,\n" +
	"\bidentity\x18\x01 \x01(\v2\x10.iam_pb.IdentityR\bidentity\"\x14\n" +
	"\x12CreateUserResponse\",\n" +
	"\x0eGetUserRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\"?\n" +
	"\x0fGetUserResponse\x12,\n" +
	"\bidentity\x18\x01 \x01(\v2\x10.iam_pb.IdentityR\bidentity\"]\n" +
	"\x11UpdateUserRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12,\n" +
	"\bidentity\x18\x02 \x01(\v2\x10.iam_pb.IdentityR\bidentity\"\x14\n" +
	"\x12UpdateUserResponse\"/\n" +
	"\x11DeleteUserRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\"\x14\n" +
	"\x12DeleteUserResponse\"\x12\n" +
	"\x10ListUsersRequest\"1\n" +
	"\x11ListUsersResponse\x12\x1c\n" +
	"\tusernames\x18\x01 \x03(\tR\tusernames\"h\n" +
	"\x16CreateAccessKeyRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x122\n" +
	"\n" +
	"credential\x18\x02 \x01(\v2\x12.iam_pb.CredentialR\n" +
	"credential\"\x19\n" +
	"\x17CreateAccessKeyResponse\"S\n" +
	"\x16DeleteAccessKeyRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1d\n" +
	"\n" +
	"access_key\x18\x02 \x01(\tR\taccessKey\"\x19\n" +
	"\x17DeleteAccessKeyResponse\":\n" +
	"\x19GetUserByAccessKeyRequest\x12\x1d\n" +
	"\n" +
	"access_key\x18\x01 \x01(\tR\taccessKey\"J\n" +
	"\x1aGetUserByAccessKeyResponse\x12,\n" +
	"\bidentity\x18\x01 \x01(\v2\x10.iam_pb.IdentityR\bidentity\"3\n" +
	"\x15ListAccessKeysRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\"M\n" +
	"\x16ListAccessKeysResponse\x123\n" +
	"\vaccess_keys\x18\x01 \x03(\v2\x12.iam_pb.CredentialR\n" +
	"accessKeys\"|\n" +
	"\x14PutUserPolicyRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1f\n" +
	"\vpolicy_name\x18\x02 \x01(\tR\n" +
	"policyName\x12'\n" +
	"\x0fpolicy_document\x18\x03 \x01(\tR\x0epolicyDocument\"\x17\n" +
	"\x15PutUserPolicyResponse\"S\n" +
	"\x14GetUserPolicyRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1f\n" +
	"\vpolicy_name\x18\x02 \x01(\tR\n" +
	"policyName\"}\n" +
	"\x15GetUserPolicyResponse\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1f\n" +
	"\vpolicy_name\x18\x02 \x01(\tR\n" +
	"policyName\x12'\n" +
	"\x0fpolicy_document\x18\x03 \x01(\tR\x0epolicyDocument\"V\n" +
	"\x17DeleteUserPolicyRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1f\n" +
	"\vpolicy_name\x18\x02 \x01(\tR\n" +
	"policyName\"\x1a\n" +
	"\x18DeleteUserPolicyResponse\"\x89\x02\n" +
	"\x12S3ApiConfiguration\x120\n" +
	"\n" +
	"identities\x18\x01 \x03(\v2\x10.iam_pb.IdentityR\n" +
	"identities\x12+\n" +
	"\baccounts\x18\x02 \x03(\v2\x0f.iam_pb.AccountR\baccounts\x12A\n" +
	"\x10service_accounts\x18\x03 \x03(\v2\x16.iam_pb.ServiceAccountR\x0fserviceAccounts\x12*\n" +
	"\bpolicies\x18\x04 \x03(\v2\x0e.iam_pb.PolicyR\bpolicies\x12%\n" +
	"\x06groups\x18\x05 \x03(\v2\r.iam_pb.GroupR\x06groups\"t\n" +
	"\x05Group\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers\x12!\n" +
	"\fpolicy_names\x18\x03 \x03(\tR\vpolicyNames\x12\x1a\n" +
	"\bdisabled\x18\x04 \x01(\bR\bdisabled\"\xca\x02\n" +
	"\bIdentity\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x124\n" +
	"\vcredentials\x18\x02 \x03(\v2\x12.iam_pb.CredentialR\vcredentials\x12\x18\n" +
	"\aactions\x18\x03 \x03(\tR\aactions\x12)\n" +
	"\aaccount\x18\x04 \x01(\v2\x0f.iam_pb.AccountR\aaccount\x12\x1a\n" +
	"\bdisabled\x18\x05 \x01(\bR\bdisabled\x12.\n" +
	"\x13service_account_ids\x18\x06 \x03(\tR\x11serviceAccountIds\x12!\n" +
	"\fpolicy_names\x18\a \x03(\tR\vpolicyNames\x12\x1b\n" +
	"\tis_static\x18\b \x01(\bR\bisStatic\x12#\n" +
	"\x04tags\x18\t \x03(\v2\x0f.iam_pb.UserTagR\x04tags\"1\n" +
	"\aUserTag\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value\"b\n" +
	"\n" +
	"Credential\x12\x1d\n" +
	"\n" +
	"access_key\x18\x01 \x01(\tR\taccessKey\x12\x1d\n" +
	"\n" +
	"secret_key\x18\x02 \x01(\tR\tsecretKey\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\"a\n" +
	"\aAccount\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12#\n" +
	"\remail_address\x18\x03 \x01(\tR\femailAddress\"\xab\x02\n" +
	"\x0eServiceAccount\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
	"\vparent_user\x18\x02 \x01(\tR\n" +
	"parentUser\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x122\n" +
	"\n" +
	"credential\x18\x04 \x01(\v2\x12.iam_pb.CredentialR\n" +
	"credential\x12\x18\n" +
	"\aactions\x18\x05 \x03(\tR\aactions\x12\x1e\n" +
	"\n" +
	"expiration\x18\x06 \x01(\x03R\n" +
	"expiration\x12\x1a\n" +
	"\bdisabled\x18\a \x01(\bR\bdisabled\x12\x1d\n" +
	"\n" +
	"created_at\x18\b \x01(\x03R\tcreatedAt\x12\x1d\n" +
	"\n" +
	"created_by\x18\t \x01(\tR\tcreatedBy\"@\n" +
	"\x10PutPolicyRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\acontent\x18\x02 \x01(\tR\acontent\"\x13\n" +
	"\x11PutPolicyResponse\"&\n" +
	"\x10GetPolicyRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"A\n" +
	"\x11GetPolicyResponse\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\acontent\x18\x02 \x01(\tR\acontent\"\x15\n" +
	"\x13ListPoliciesRequest\"B\n" +
	"\x14ListPoliciesResponse\x12*\n" +
	"\bpolicies\x18\x01 \x03(\v2\x0e.iam_pb.PolicyR\bpolicies\")\n" +
	"\x13DeletePolicyRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"\x16\n" +
	"\x14DeletePolicyResponse\"6\n" +
	"\x06Policy\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\acontent\x18\x02 \x01(\tR\acontent\"^\n" +
	"\x1bCreateServiceAccountRequest\x12?\n" +
	"\x0fservice_account\x18\x01 \x01(\v2\x16.iam_pb.ServiceAccountR\x0eserviceAccount\"\x1e\n" +
	"\x1cCreateServiceAccountResponse\"n\n" +
	"\x1bUpdateServiceAccountRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12?\n" +
	"\x0fservice_account\x18\x02 \x01(\v2\x16.iam_pb.ServiceAccountR\x0eserviceAccount\"\x1e\n" +
	"\x1cUpdateServiceAccountResponse\"-\n" +
	"\x1bDeleteServiceAccountRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\x1e\n" +
	"\x1cDeleteServiceAccountResponse\"*\n" +
	"\x18GetServiceAccountRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\\\n" +
	"\x19GetServiceAccountResponse\x12?\n" +
	"\x0fservice_account\x18\x01 \x01(\v2\x16.iam_pb.ServiceAccountR\x0eserviceAccount\"\x1c\n" +
	"\x1aListServiceAccountsRequest\"`\n" +
	"\x1bListServiceAccountsResponse\x12A\n" +
	"\x10service_accounts\x18\x01 \x03(\v2\x16.iam_pb.ServiceAccountR\x0fserviceAccounts\"D\n" +
	"#GetServiceAccountByAccessKeyRequest\x12\x1d\n" +
	"\n" +
	"access_key\x18\x01 \x01(\tR\taccessKey\"g\n" +
	"$GetServiceAccountByAccessKeyResponse\x12?\n" +
	"\x0fservice_account\x18\x01 \x01(\v2\x16.iam_pb.ServiceAccountR\x0eserviceAccount\"B\n" +
	"\x12PutIdentityRequest\x12,\n" +
	"\bidentity\x18\x01 \x01(\v2\x10.iam_pb.IdentityR\bidentity\"\x15\n" +
	"\x13PutIdentityResponse\"3\n" +
	"\x15RemoveIdentityRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\"\x18\n" +
	"\x16RemoveIdentityResponse\"6\n" +
	"\x0fPutGroupRequest\x12#\n" +
	"\x05group\x18\x01 \x01(\v2\r.iam_pb.GroupR\x05group\"\x12\n" +
	"\x10PutGroupResponse\"3\n" +
	"\x12RemoveGroupRequest\x12\x1d\n" +
	"\n" +
	"group_name\x18\x01 \x01(\tR\tgroupName\"\x15\n" +
	"\x13RemoveGroupResponse2\x99\r\n" +
	"\x1fSeaweedIdentityAccessManagement\x12U\n" +
	"\x10GetConfiguration\x12\x1f.iam_pb.GetConfigurationRequest\x1a .iam_pb.GetConfigurationResponse\x12U\n" +
	"\x10PutConfiguration\x12\x1f.iam_pb.PutConfigurationRequest\x1a .iam_pb.PutConfigurationResponse\x12C\n" +
	"\n" +
	"CreateUser\x12\x19.iam_pb.CreateUserRequest\x1a\x1a.iam_pb.CreateUserResponse\x12:\n" +
	"\aGetUser\x12\x16.iam_pb.GetUserRequest\x1a\x17.iam_pb.GetUserResponse\x12C\n" +
	"\n" +
	"UpdateUser\x12\x19.iam_pb.UpdateUserRequest\x1a\x1a.iam_pb.UpdateUserResponse\x12C\n" +
	"\n" +
	"DeleteUser\x12\x19.iam_pb.DeleteUserRequest\x1a\x1a.iam_pb.DeleteUserResponse\x12@\n" +
	"\tListUsers\x12\x18.iam_pb.ListUsersRequest\x1a\x19.iam_pb.ListUsersResponse\x12R\n" +
	"\x0fCreateAccessKey\x12\x1e.iam_pb.CreateAccessKeyRequest\x1a\x1f.iam_pb.CreateAccessKeyResponse\x12R\n" +
	"\x0fDeleteAccessKey\x12\x1e.iam_pb.DeleteAccessKeyRequest\x1a\x1f.iam_pb.DeleteAccessKeyResponse\x12[\n" +
	"\x12GetUserByAccessKey\x12!.iam_pb.GetUserByAccessKeyRequest\x1a\".iam_pb.GetUserByAccessKeyResponse\x12@\n" +
	"\tPutPolicy\x12\x18.iam_pb.PutPolicyRequest\x1a\x19.iam_pb.PutPolicyResponse\x12@\n" +
	"\tGetPolicy\x12\x18.iam_pb.GetPolicyRequest\x1a\x19.iam_pb.GetPolicyResponse\x12I\n" +
	"\fListPolicies\x12\x1b.iam_pb.ListPoliciesRequest\x1a\x1c.iam_pb.ListPoliciesResponse\x12I\n" +
	"\fDeletePolicy\x12\x1b.iam_pb.DeletePolicyRequest\x1a\x1c.iam_pb.DeletePolicyResponse\x12a\n" +
	"\x14CreateServiceAccount\x12#.iam_pb.CreateServiceAccountRequest\x1a$.iam_pb.CreateServiceAccountResponse\x12a\n" +
	"\x14UpdateServiceAccount\x12#.iam_pb.UpdateServiceAccountRequest\x1a$.iam_pb.UpdateServiceAccountResponse\x12a\n" +
	"\x14DeleteServiceAccount\x12#.iam_pb.DeleteServiceAccountRequest\x1a$.iam_pb.DeleteServiceAccountResponse\x12X\n" +
	"\x11GetServiceAccount\x12 .iam_pb.GetServiceAccountRequest\x1a!.iam_pb.GetServiceAccountResponse\x12^\n" +
	"\x13ListServiceAccounts\x12\".iam_pb.ListServiceAccountsRequest\x1a#.iam_pb.ListServiceAccountsResponse\x12y\n" +
	"\x1cGetServiceAccountByAccessKey\x12+.iam_pb.GetServiceAccountByAccessKeyRequest\x1a,.iam_pb.GetServiceAccountByAccessKeyResponseBK\n" +
	"\x10seaweedfs.clientB\bIamProtoZ-github.com/seaweedfs/seaweedfs/weed/pb/iam_pbb\x06proto3"

var (
	file_iam_proto_rawDescOnce sync.Once
	file_iam_proto_rawDescData []byte
)

func file_iam_proto_rawDescGZIP() []byte {
	file_iam_proto_rawDescOnce.Do(func() {
		file_iam_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_iam_proto_rawDesc), len(file_iam_proto_rawDesc)))
	})
	return file_iam_proto_rawDescData
}

var file_iam_proto_msgTypes = make([]protoimpl.MessageInfo, 64)
var file_iam_proto_goTypes = []any{
	(*GetConfigurationRequest)(nil),              // 0: iam_pb.GetConfigurationRequest
	(*GetConfigurationResponse)(nil),             // 1: iam_pb.GetConfigurationResponse
	(*PutConfigurationRequest)(nil),              // 2: iam_pb.PutConfigurationRequest
	(*PutConfigurationResponse)(nil),             // 3: iam_pb.PutConfigurationResponse
	(*CreateUserRequest)(nil),                    // 4: iam_pb.CreateUserRequest
	(*CreateUserResponse)(nil),                   // 5: iam_pb.CreateUserResponse
	(*GetUserRequest)(nil),                       // 6: iam_pb.GetUserRequest
	(*GetUserResponse)(nil),                      // 7: iam_pb.GetUserResponse
	(*UpdateUserRequest)(nil),                    // 8: iam_pb.UpdateUserRequest
	(*UpdateUserResponse)(nil),                   // 9: iam_pb.UpdateUserResponse
	(*DeleteUserRequest)(nil),                    // 10: iam_pb.DeleteUserRequest
	(*DeleteUserResponse)(nil),                   // 11: iam_pb.DeleteUserResponse
	(*ListUsersRequest)(nil),                     // 12: iam_pb.ListUsersRequest
	(*ListUsersResponse)(nil),                    // 13: iam_pb.ListUsersResponse
	(*CreateAccessKeyRequest)(nil),               // 14: iam_pb.CreateAccessKeyRequest
	(*CreateAccessKeyResponse)(nil),              // 15: iam_pb.CreateAccessKeyResponse
	(*DeleteAccessKeyRequest)(nil),               // 16: iam_pb.DeleteAccessKeyRequest
	(*DeleteAccessKeyResponse)(nil),              // 17: iam_pb.DeleteAccessKeyResponse
	(*GetUserByAccessKeyRequest)(nil),            // 18: iam_pb.GetUserByAccessKeyRequest
	(*GetUserByAccessKeyResponse)(nil),           // 19: iam_pb.GetUserByAccessKeyResponse
	(*ListAccessKeysRequest)(nil),                // 20: iam_pb.ListAccessKeysRequest
	(*ListAccessKeysResponse)(nil),               // 21: iam_pb.ListAccessKeysResponse
	(*PutUserPolicyRequest)(nil),                 // 22: iam_pb.PutUserPolicyRequest
	(*PutUserPolicyResponse)(nil),                // 23: iam_pb.PutUserPolicyResponse
	(*GetUserPolicyRequest)(nil),                 // 24: iam_pb.GetUserPolicyRequest
	(*GetUserPolicyResponse)(nil),                // 25: iam_pb.GetUserPolicyResponse
	(*DeleteUserPolicyRequest)(nil),              // 26: iam_pb.DeleteUserPolicyRequest
	(*DeleteUserPolicyResponse)(nil),             // 27: iam_pb.DeleteUserPolicyResponse
	(*S3ApiConfiguration)(nil),                   // 28: iam_pb.S3ApiConfiguration
	(*Group)(nil),                                // 29: iam_pb.Group
	(*Identity)(nil),                             // 30: iam_pb.Identity
	(*UserTag)(nil),                              // 31: iam_pb.UserTag
	(*Credential)(nil),                           // 32: iam_pb.Credential
	(*Account)(nil),                              // 33: iam_pb.Account
	(*ServiceAccount)(nil),                       // 34: iam_pb.ServiceAccount
	(*PutPolicyRequest)(nil),                     // 35: iam_pb.PutPolicyRequest
	(*PutPolicyResponse)(nil),                    // 36: iam_pb.PutPolicyResponse
	(*GetPolicyRequest)(nil),                     // 37: iam_pb.GetPolicyRequest
	(*GetPolicyResponse)(nil),                    // 38: iam_pb.GetPolicyResponse
	(*ListPoliciesRequest)(nil),                  // 39: iam_pb.ListPoliciesRequest
	(*ListPoliciesResponse)(nil),                 // 40: iam_pb.ListPoliciesResponse
	(*DeletePolicyRequest)(nil),                  // 41: iam_pb.DeletePolicyRequest
	(*DeletePolicyResponse)(nil),                 // 42: iam_pb.DeletePolicyResponse
	(*Policy)(nil),                               // 43: iam_pb.Policy
	(*CreateServiceAccountRequest)(nil),          // 44: iam_pb.CreateServiceAccountRequest
	(*CreateServiceAccountResponse)(nil),         // 45: iam_pb.CreateServiceAccountResponse
	(*UpdateServiceAccountRequest)(nil),          // 46: iam_pb.UpdateServiceAccountRequest
	(*UpdateServiceAccountResponse)(nil),         // 47: iam_pb.UpdateServiceAccountResponse
	(*DeleteServiceAccountRequest)(nil),          // 48: iam_pb.DeleteServiceAccountRequest
	(*DeleteServiceAccountResponse)(nil),         // 49: iam_pb.DeleteServiceAccountResponse
	(*GetServiceAccountRequest)(nil),             // 50: iam_pb.GetServiceAccountRequest
	(*GetServiceAccountResponse)(nil),            // 51: iam_pb.GetServiceAccountResponse
	(*ListServiceAccountsRequest)(nil),           // 52: iam_pb.ListServiceAccountsRequest
	(*ListServiceAccountsResponse)(nil),          // 53: iam_pb.ListServiceAccountsResponse
	(*GetServiceAccountByAccessKeyRequest)(nil),  // 54: iam_pb.GetServiceAccountByAccessKeyRequest
	(*GetServiceAccountByAccessKeyResponse)(nil), // 55: iam_pb.GetServiceAccountByAccessKeyResponse
	(*PutIdentityRequest)(nil),                   // 56: iam_pb.PutIdentityRequest
	(*PutIdentityResponse)(nil),                  // 57: iam_pb.PutIdentityResponse
	(*RemoveIdentityRequest)(nil),                // 58: iam_pb.RemoveIdentityRequest
	(*RemoveIdentityResponse)(nil),               // 59: iam_pb.RemoveIdentityResponse
	(*PutGroupRequest)(nil),                      // 60: iam_pb.PutGroupRequest
	(*PutGroupResponse)(nil),                     // 61: iam_pb.PutGroupResponse
	(*RemoveGroupRequest)(nil),                   // 62: iam_pb.RemoveGroupRequest
	(*RemoveGroupResponse)(nil),                  // 63: iam_pb.RemoveGroupResponse
}
var file_iam_proto_depIdxs = []int32{
	28, // 0: iam_pb.GetConfigurationResponse.configuration:type_name -> iam_pb.S3ApiConfiguration
	28, // 1: iam_pb.PutConfigurationRequest.configuration:type_name -> iam_pb.S3ApiConfiguration
	30, // 2: iam_pb.CreateUserRequest.identity:type_name -> iam_pb.Identity
	30, // 3: iam_pb.GetUserResponse.identity:type_name -> iam_pb.Identity
	30, // 4: iam_pb.UpdateUserRequest.identity:type_name -> iam_pb.Identity
	32, // 5: iam_pb.CreateAccessKeyRequest.credential:type_name -> iam_pb.Credential
	30, // 6: iam_pb.GetUserByAccessKeyResponse.identity:type_name -> iam_pb.Identity
	32, // 7: iam_pb.ListAccessKeysResponse.access_keys:type_name -> iam_pb.Credential
	30, // 8: iam_pb.S3ApiConfiguration.identities:type_name -> iam_pb.Identity
	33, // 9: iam_pb.S3ApiConfiguration.accounts:type_name -> iam_pb.Account
	34, // 10: iam_pb.S3ApiConfiguration.service_accounts:type_name -> iam_pb.ServiceAccount
	43, // 11: iam_pb.S3ApiConfiguration.policies:type_name -> iam_pb.Policy
	29, // 12: iam_pb.S3ApiConfiguration.groups:type_name -> iam_pb.Group
	32, // 13: iam_pb.Identity.credentials:type_name -> iam_pb.Credential
	33, // 14: iam_pb.Identity.account:type_name -> iam_pb.Account
	31, // 15: iam_pb.Identity.tags:type_name -> iam_pb.UserTag
	32, // 16: iam_pb.ServiceAccount.credential:type_name -> iam_pb.Credential
	43, // 17: iam_pb.ListPoliciesResponse.policies:type_name -> iam_pb.Policy
	34, // 18: iam_pb.CreateServiceAccountRequest.service_account:type_name -> iam_pb.ServiceAccount
	34, // 19: iam_pb.UpdateServiceAccountRequest.service_account:type_name -> iam_pb.ServiceAccount
	34, // 20: iam_pb.GetServiceAccountResponse.service_account:type_name -> iam_pb.ServiceAccount
	34, // 21: iam_pb.ListServiceAccountsResponse.service_accounts:type_name -> iam_pb.ServiceAccount
	34, // 22: iam_pb.GetServiceAccountByAccessKeyResponse.service_account:type_name -> iam_pb.ServiceAccount
	30, // 23: iam_pb.PutIdentityRequest.identity:type_name -> iam_pb.Identity
	29, // 24: iam_pb.PutGroupRequest.group:type_name -> iam_pb.Group
	0,  // 25: iam_pb.SeaweedIdentityAccessManagement.GetConfiguration:input_type -> iam_pb.GetConfigurationRequest
	2,  // 26: iam_pb.SeaweedIdentityAccessManagement.PutConfiguration:input_type -> iam_pb.PutConfigurationRequest
	4,  // 27: iam_pb.SeaweedIdentityAccessManagement.CreateUser:input_type -> iam_pb.CreateUserRequest
	6,  // 28: iam_pb.SeaweedIdentityAccessManagement.GetUser:input_type -> iam_pb.GetUserRequest
	8,  // 29: iam_pb.SeaweedIdentityAccessManagement.UpdateUser:input_type -> iam_pb.UpdateUserRequest
	10, // 30: iam_pb.SeaweedIdentityAccessManagement.DeleteUser:input_type -> iam_pb.DeleteUserRequest
	12, // 31: iam_pb.SeaweedIdentityAccessManagement.ListUsers:input_type -> iam_pb.ListUsersRequest
	14, // 32: iam_pb.SeaweedIdentityAccessManagement.CreateAccessKey:input_type -> iam_pb.CreateAccessKeyRequest
	16, // 33: iam_pb.SeaweedIdentityAccessManagement.DeleteAccessKey:input_type -> iam_pb.DeleteAccessKeyRequest
	18, // 34: iam_pb.SeaweedIdentityAccessManagement.GetUserByAccessKey:input_type -> iam_pb.GetUserByAccessKeyRequest
	35, // 35: iam_pb.SeaweedIdentityAccessManagement.PutPolicy:input_type -> iam_pb.PutPolicyRequest
	37, // 36: iam_pb.SeaweedIdentityAccessManagement.GetPolicy:input_type -> iam_pb.GetPolicyRequest
	39, // 37: iam_pb.SeaweedIdentityAccessManagement.ListPolicies:input_type -> iam_pb.ListPoliciesRequest
	41, // 38: iam_pb.SeaweedIdentityAccessManagement.DeletePolicy:input_type -> iam_pb.DeletePolicyRequest
	44, // 39: iam_pb.SeaweedIdentityAccessManagement.CreateServiceAccount:input_type -> iam_pb.CreateServiceAccountRequest
	46, // 40: iam_pb.SeaweedIdentityAccessManagement.UpdateServiceAccount:input_type -> iam_pb.UpdateServiceAccountRequest
	48, // 41: iam_pb.SeaweedIdentityAccessManagement.DeleteServiceAccount:input_type -> iam_pb.DeleteServiceAccountRequest
	50, // 42: iam_pb.SeaweedIdentityAccessManagement.GetServiceAccount:input_type -> iam_pb.GetServiceAccountRequest
	52, // 43: iam_pb.SeaweedIdentityAccessManagement.ListServiceAccounts:input_type -> iam_pb.ListServiceAccountsRequest
	54, // 44: iam_pb.SeaweedIdentityAccessManagement.GetServiceAccountByAccessKey:input_type -> iam_pb.GetServiceAccountByAccessKeyRequest
	1,  // 45: iam_pb.SeaweedIdentityAccessManagement.GetConfiguration:output_type -> iam_pb.GetConfigurationResponse
	3,  // 46: iam_pb.SeaweedIdentityAccessManagement.PutConfiguration:output_type -> iam_pb.PutConfigurationResponse
	5,  // 47: iam_pb.SeaweedIdentityAccessManagement.CreateUser:output_type -> iam_pb.CreateUserResponse
	7,  // 48: iam_pb.SeaweedIdentityAccessManagement.GetUser:output_type -> iam_pb.GetUserResponse
	9,  // 49: iam_pb.SeaweedIdentityAccessManagement.UpdateUser:output_type -> iam_pb.UpdateUserResponse
	11, // 50: iam_pb.SeaweedIdentityAccessManagement.DeleteUser:output_type -> iam_pb.DeleteUserResponse
	13, // 51: iam_pb.SeaweedIdentityAccessManagement.ListUsers:output_type -> iam_pb.ListUsersResponse
	15, // 52: iam_pb.SeaweedIdentityAccessManagement.CreateAccessKey:output_type -> iam_pb.CreateAccessKeyResponse
	17, // 53: iam_pb.SeaweedIdentityAccessManagement.DeleteAccessKey:output_type -> iam_pb.DeleteAccessKeyResponse
	19, // 54: iam_pb.SeaweedIdentityAccessManagement.GetUserByAccessKey:output_type -> iam_pb.GetUserByAccessKeyResponse
	36, // 55: iam_pb.SeaweedIdentityAccessManagement.PutPolicy:output_type -> iam_pb.PutPolicyResponse
	38, // 56: iam_pb.SeaweedIdentityAccessManagement.GetPolicy:output_type -> iam_pb.GetPolicyResponse
	40, // 57: iam_pb.SeaweedIdentityAccessManagement.ListPolicies:output_type -> iam_pb.ListPoliciesResponse
	42, // 58: iam_pb.SeaweedIdentityAccessManagement.DeletePolicy:output_type -> iam_pb.DeletePolicyResponse
	45, // 59: iam_pb.SeaweedIdentityAccessManagement.CreateServiceAccount:output_type -> iam_pb.CreateServiceAccountResponse
	47, // 60: iam_pb.SeaweedIdentityAccessManagement.UpdateServiceAccount:output_type -> iam_pb.UpdateServiceAccountResponse
	49, // 61: iam_pb.SeaweedIdentityAccessManagement.DeleteServiceAccount:output_type -> iam_pb.DeleteServiceAccountResponse
	51, // 62: iam_pb.SeaweedIdentityAccessManagement.GetServiceAccount:output_type -> iam_pb.GetServiceAccountResponse
	53, // 63: iam_pb.SeaweedIdentityAccessManagement.ListServiceAccounts:output_type -> iam_pb.ListServiceAccountsResponse
	55, // 64: iam_pb.SeaweedIdentityAccessManagement.GetServiceAccountByAccessKey:output_type -> iam_pb.GetServiceAccountByAccessKeyResponse
	45, // [45:65] is the sub-list for method output_type
	25, // [25:45] is the sub-list for method input_type
	25, // [25:25] is the sub-list for extension type_name
	25, // [25:25] is the sub-list for extension extendee
	0,  // [0:25] is the sub-list for field type_name
}

func init() { file_iam_proto_init() }
func file_iam_proto_init() {
	if File_iam_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_iam_proto_rawDesc), len(file_iam_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   64,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_iam_proto_goTypes,
		DependencyIndexes: file_iam_proto_depIdxs,
		MessageInfos:      file_iam_proto_msgTypes,
	}.Build()
	File_iam_proto = out.File
	file_iam_proto_goTypes = nil
	file_iam_proto_depIdxs = nil
}
