// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.19.0
// source: external/iam/v2/request/policy.proto

package request

import (
	common "github.com/chef/automate/api/external/iam/v2/common"
	_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
	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)
)

// Does not contain type as the enduser can only create 'custom' policies.
type CreatePolicyReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID. Cannot be changed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name for the policy.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Members affected by this policy.
	Members []string `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"`
	// Statements for the policy.
	Statements []*common.Statement `protobuf:"bytes,4,rep,name=statements,proto3" json:"statements,omitempty"`
	// List of projects this policy belongs to.
	Projects      []string `protobuf:"bytes,5,rep,name=projects,proto3" json:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreatePolicyReq) ProtoMessage() {}

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

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

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

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

func (x *CreatePolicyReq) GetStatements() []*common.Statement {
	if x != nil {
		return x.Statements
	}
	return nil
}

func (x *CreatePolicyReq) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

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

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

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

func (*GetPolicyReq) ProtoMessage() {}

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

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

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

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

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

func (*ListPoliciesReq) ProtoMessage() {}

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

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

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

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

func (*DeletePolicyReq) ProtoMessage() {}

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

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

// Does not contain type as the enduser can only create 'custom' policies.
type UpdatePolicyReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID. Cannot be changed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Members affected by this policy.
	Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
	// Statements for the policy.
	Statements []*common.Statement `protobuf:"bytes,3,rep,name=statements,proto3" json:"statements,omitempty"`
	// Name for this policy.
	Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
	// List of projects this policy belongs to.
	Projects      []string `protobuf:"bytes,9,rep,name=projects,proto3" json:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdatePolicyReq) ProtoMessage() {}

func (x *UpdatePolicyReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 UpdatePolicyReq.ProtoReflect.Descriptor instead.
func (*UpdatePolicyReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{4}
}

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

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

func (x *UpdatePolicyReq) GetStatements() []*common.Statement {
	if x != nil {
		return x.Statements
	}
	return nil
}

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

func (x *UpdatePolicyReq) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

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

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

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

func (*GetPolicyVersionReq) ProtoMessage() {}

func (x *GetPolicyVersionReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 GetPolicyVersionReq.ProtoReflect.Descriptor instead.
func (*GetPolicyVersionReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{5}
}

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

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

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

func (*ListPolicyMembersReq) ProtoMessage() {}

func (x *ListPolicyMembersReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 ListPolicyMembersReq.ProtoReflect.Descriptor instead.
func (*ListPolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{6}
}

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

type ReplacePolicyMembersReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the policy.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// List of members that replaces previous policy member list.
	Members       []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReplacePolicyMembersReq) ProtoMessage() {}

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

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

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

type RemovePolicyMembersReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the policy.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// List of members to remove from the policy.
	Members       []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RemovePolicyMembersReq) ProtoMessage() {}

func (x *RemovePolicyMembersReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 RemovePolicyMembersReq.ProtoReflect.Descriptor instead.
func (*RemovePolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{8}
}

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

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

type AddPolicyMembersReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ID of the policy.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// List of members to add to the policy.
	Members       []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AddPolicyMembersReq) ProtoMessage() {}

func (x *AddPolicyMembersReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 AddPolicyMembersReq.ProtoReflect.Descriptor instead.
func (*AddPolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{9}
}

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

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

// Does not contain type as the enduser can only create 'custom' roles.
type CreateRoleReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID. Cannot be changed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name for the role.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// List of actions that this role scopes to.
	Actions []string `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
	// List of projects this role belongs to.
	Projects      []string `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateRoleReq) ProtoMessage() {}

func (x *CreateRoleReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 CreateRoleReq.ProtoReflect.Descriptor instead.
func (*CreateRoleReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{10}
}

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

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

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

func (x *CreateRoleReq) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

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

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

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

func (*ListRolesReq) ProtoMessage() {}

func (x *ListRolesReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 ListRolesReq.ProtoReflect.Descriptor instead.
func (*ListRolesReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{11}
}

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

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

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

func (*GetRoleReq) ProtoMessage() {}

func (x *GetRoleReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 GetRoleReq.ProtoReflect.Descriptor instead.
func (*GetRoleReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{12}
}

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

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

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

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

func (*DeleteRoleReq) ProtoMessage() {}

func (x *DeleteRoleReq) ProtoReflect() protoreflect.Message {
	mi := &file_external_iam_v2_request_policy_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 DeleteRoleReq.ProtoReflect.Descriptor instead.
func (*DeleteRoleReq) Descriptor() ([]byte, []int) {
	return file_external_iam_v2_request_policy_proto_rawDescGZIP(), []int{13}
}

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

type UpdateRoleReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID. Cannot be changed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name for the role.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// List of actions that this role scopes to.
	Actions []string `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
	// List of projects this role belongs to.
	Projects      []string `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateRoleReq) ProtoMessage() {}

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

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

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

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

func (x *UpdateRoleReq) GetProjects() []string {
	if x != nil {
		return x.Projects
	}
	return nil
}

type CreateProjectReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID. Cannot be changed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name for the new project.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Boolean flag to skip adding policies associated with the project. Set to false by default.
	SkipPolicies  bool `protobuf:"varint,3,opt,name=skip_policies,json=skipPolicies,proto3" json:"skip_policies,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateProjectReq) ProtoMessage() {}

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

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

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

func (x *CreateProjectReq) GetSkipPolicies() bool {
	if x != nil {
		return x.SkipPolicies
	}
	return false
}

type UpdateProjectReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique ID. Cannot be changed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Name for the project.
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateProjectReq) ProtoMessage() {}

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

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

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

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

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

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

func (*GetProjectReq) ProtoMessage() {}

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

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

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

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

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

func (*ListProjectsReq) ProtoMessage() {}

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

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

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

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

func (*DeleteProjectReq) ProtoMessage() {}

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

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

var File_external_iam_v2_request_policy_proto protoreflect.FileDescriptor

const file_external_iam_v2_request_policy_proto_rawDesc = "" +
	"\n" +
	"$external/iam/v2/request/policy.proto\x12\x18chef.automate.api.iam.v2\x1a#external/iam/v2/common/policy.proto\x1a,protoc-gen-swagger/options/annotations.proto\"\xdc\x03\n" +
	"\x0fCreatePolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\amembers\x18\x03 \x03(\tR\amembers\x12C\n" +
	"\n" +
	"statements\x18\x04 \x03(\v2#.chef.automate.api.iam.v2.StatementR\n" +
	"statements\x12\x1a\n" +
	"\bprojects\x18\x05 \x03(\tR\bprojects:\xa9\x02\x92A\xa5\x02\n" +
	"\x19\xd2\x01\x02id\xd2\x01\x04name\xd2\x01\n" +
	"statements2\x87\x02\x12\x84\x02{\"name\": \"My Viewer Policy\",\"id\": \"custom-viewer-policy\",\"members\": [\"team:ldap:*\"], \"statements\": [{\"role\": \"viewer\",\"projects\": [\"project1\", \"project2\"], \"effect\": \"ALLOW\"}, {\"role\": \"qa\",\"projects\": [\"acceptanceProject\"], \"effect\": \"ALLOW\"}],\"projects\": []}\"*\n" +
	"\fGetPolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02id\"\x11\n" +
	"\x0fListPoliciesReq\"-\n" +
	"\x0fDeletePolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02id\"\xe1\x03\n" +
	"\x0fUpdatePolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers\x12C\n" +
	"\n" +
	"statements\x18\x03 \x03(\v2#.chef.automate.api.iam.v2.StatementR\n" +
	"statements\x12\x12\n" +
	"\x04name\x18\b \x01(\tR\x04name\x12\x1a\n" +
	"\bprojects\x18\t \x03(\tR\bprojects:\xae\x02\x92A\xaa\x02\n" +
	"\x19\xd2\x01\x02id\xd2\x01\x04name\xd2\x01\n" +
	"statements2\x8c\x02\x12\x89\x02{\"name\": \"My Updated Viewer Policy\", \"members\": [\"user:ldap:newuser\", \"team:ldap:newteam\"], \"statements\": [{\"role\": \"viewer\",\"projects\":[\"project1\", \"project2\"], \"effect\": \"ALLOW\"},{\"role\": \"qa\",\"projects\": [\"acceptanceProject\"], \"effect\": \"ALLOW\"}],\"projects\": []}\"\x15\n" +
	"\x13GetPolicyVersionReq\"2\n" +
	"\x14ListPolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02id\"\x89\x01\n" +
	"\x17ReplacePolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers:D\x92AA\n" +
	"\x05\xd2\x01\x02id28\x126{\"members\": [\"team:local:viewers\", \"user:local:test\"]}\"|\n" +
	"\x16RemovePolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers:8\x92A5\n" +
	"\x0f\xd2\x01\x02id\xd2\x01\amembers2\"\x12 {\"members\": [\"user:local:test\"]}\"\x8f\x01\n" +
	"\x13AddPolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers:N\x92AK\n" +
	"\x0f\xd2\x01\x02id\xd2\x01\amembers28\x126{\"members\": [\"team:local:viewers\", \"user:local:test\"]}\"\xf9\x01\n" +
	"\rCreateRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\aactions\x18\x03 \x03(\tR\aactions\x12\x1a\n" +
	"\bprojects\x18\x04 \x03(\tR\bprojects:\x8d\x01\x92A\x89\x01\n" +
	"\x16\xd2\x01\x02id\xd2\x01\x04name\xd2\x01\aactions2o\x12m{\"id\": \"custom-role\", \"name\": \"My Custom Secret Manager Role\", \"actions\": [\"secrets:*\", \"iam:projects:list\"]}\"\x0e\n" +
	"\fListRolesReq\"(\n" +
	"\n" +
	"GetRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02id\"+\n" +
	"\rDeleteRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02id\"\xea\x01\n" +
	"\rUpdateRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\aactions\x18\x03 \x03(\tR\aactions\x12\x1a\n" +
	"\bprojects\x18\x04 \x03(\tR\bprojects:\x7f\x92A|\n" +
	"\x16\xd2\x01\x02id\xd2\x01\x04name\xd2\x01\aactions2b\x12`{\"name\": \"My Updated Custom Secret Manager Role\", \"actions\": [\"secrets:*\", \"iam:projects:list\"]}\"\xbe\x01\n" +
	"\x10CreateProjectReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12#\n" +
	"\rskip_policies\x18\x03 \x01(\bR\fskipPolicies:a\x92A^\n" +
	"\f\xd2\x01\x02id\xd2\x01\x04name2N\x12L{\"name\": \"My Custom Project\", \"id\": \"custom-project\", \"skip_policies\": true}\"j\n" +
	"\x10UpdateProjectReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name:2\x92A/\n" +
	"\f\xd2\x01\x02id\xd2\x01\x04name2\x1f\x12\x1d{\"name\": \"My Custom Project\"}\"+\n" +
	"\rGetProjectReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02id\"\x11\n" +
	"\x0fListProjectsReq\".\n" +
	"\x10DeleteProjectReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:\n" +
	"\x92A\a\n" +
	"\x05\xd2\x01\x02idB6Z4github.com/chef/automate/api/external/iam/v2/requestb\x06proto3"

var (
	file_external_iam_v2_request_policy_proto_rawDescOnce sync.Once
	file_external_iam_v2_request_policy_proto_rawDescData []byte
)

func file_external_iam_v2_request_policy_proto_rawDescGZIP() []byte {
	file_external_iam_v2_request_policy_proto_rawDescOnce.Do(func() {
		file_external_iam_v2_request_policy_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_external_iam_v2_request_policy_proto_rawDesc), len(file_external_iam_v2_request_policy_proto_rawDesc)))
	})
	return file_external_iam_v2_request_policy_proto_rawDescData
}

var file_external_iam_v2_request_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_external_iam_v2_request_policy_proto_goTypes = []any{
	(*CreatePolicyReq)(nil),         // 0: chef.automate.api.iam.v2.CreatePolicyReq
	(*GetPolicyReq)(nil),            // 1: chef.automate.api.iam.v2.GetPolicyReq
	(*ListPoliciesReq)(nil),         // 2: chef.automate.api.iam.v2.ListPoliciesReq
	(*DeletePolicyReq)(nil),         // 3: chef.automate.api.iam.v2.DeletePolicyReq
	(*UpdatePolicyReq)(nil),         // 4: chef.automate.api.iam.v2.UpdatePolicyReq
	(*GetPolicyVersionReq)(nil),     // 5: chef.automate.api.iam.v2.GetPolicyVersionReq
	(*ListPolicyMembersReq)(nil),    // 6: chef.automate.api.iam.v2.ListPolicyMembersReq
	(*ReplacePolicyMembersReq)(nil), // 7: chef.automate.api.iam.v2.ReplacePolicyMembersReq
	(*RemovePolicyMembersReq)(nil),  // 8: chef.automate.api.iam.v2.RemovePolicyMembersReq
	(*AddPolicyMembersReq)(nil),     // 9: chef.automate.api.iam.v2.AddPolicyMembersReq
	(*CreateRoleReq)(nil),           // 10: chef.automate.api.iam.v2.CreateRoleReq
	(*ListRolesReq)(nil),            // 11: chef.automate.api.iam.v2.ListRolesReq
	(*GetRoleReq)(nil),              // 12: chef.automate.api.iam.v2.GetRoleReq
	(*DeleteRoleReq)(nil),           // 13: chef.automate.api.iam.v2.DeleteRoleReq
	(*UpdateRoleReq)(nil),           // 14: chef.automate.api.iam.v2.UpdateRoleReq
	(*CreateProjectReq)(nil),        // 15: chef.automate.api.iam.v2.CreateProjectReq
	(*UpdateProjectReq)(nil),        // 16: chef.automate.api.iam.v2.UpdateProjectReq
	(*GetProjectReq)(nil),           // 17: chef.automate.api.iam.v2.GetProjectReq
	(*ListProjectsReq)(nil),         // 18: chef.automate.api.iam.v2.ListProjectsReq
	(*DeleteProjectReq)(nil),        // 19: chef.automate.api.iam.v2.DeleteProjectReq
	(*common.Statement)(nil),        // 20: chef.automate.api.iam.v2.Statement
}
var file_external_iam_v2_request_policy_proto_depIdxs = []int32{
	20, // 0: chef.automate.api.iam.v2.CreatePolicyReq.statements:type_name -> chef.automate.api.iam.v2.Statement
	20, // 1: chef.automate.api.iam.v2.UpdatePolicyReq.statements:type_name -> chef.automate.api.iam.v2.Statement
	2,  // [2:2] is the sub-list for method output_type
	2,  // [2:2] is the sub-list for method input_type
	2,  // [2:2] is the sub-list for extension type_name
	2,  // [2:2] is the sub-list for extension extendee
	0,  // [0:2] is the sub-list for field type_name
}

func init() { file_external_iam_v2_request_policy_proto_init() }
func file_external_iam_v2_request_policy_proto_init() {
	if File_external_iam_v2_request_policy_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_external_iam_v2_request_policy_proto_rawDesc), len(file_external_iam_v2_request_policy_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_external_iam_v2_request_policy_proto_goTypes,
		DependencyIndexes: file_external_iam_v2_request_policy_proto_depIdxs,
		MessageInfos:      file_external_iam_v2_request_policy_proto_msgTypes,
	}.Build()
	File_external_iam_v2_request_policy_proto = out.File
	file_external_iam_v2_request_policy_proto_goTypes = nil
	file_external_iam_v2_request_policy_proto_depIdxs = nil
}
