// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.19.0
// source: interservice/authz/policy.proto

package authz

import (
	context "context"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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 Flag int32

const (
	Flag_VERSION_2_0 Flag = 0
	Flag_VERSION_2_1 Flag = 1
)

// Enum value maps for Flag.
var (
	Flag_name = map[int32]string{
		0: "VERSION_2_0",
		1: "VERSION_2_1",
	}
	Flag_value = map[string]int32{
		"VERSION_2_0": 0,
		"VERSION_2_1": 1,
	}
)

func (x Flag) Enum() *Flag {
	p := new(Flag)
	*p = x
	return p
}

func (x Flag) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Flag) Descriptor() protoreflect.EnumDescriptor {
	return file_interservice_authz_policy_proto_enumTypes[0].Descriptor()
}

func (Flag) Type() protoreflect.EnumType {
	return &file_interservice_authz_policy_proto_enumTypes[0]
}

func (x Flag) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Flag.Descriptor instead.
func (Flag) EnumDescriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{0}
}

type Statement_Effect int32

const (
	Statement_ALLOW Statement_Effect = 0
	Statement_DENY  Statement_Effect = 1
)

// Enum value maps for Statement_Effect.
var (
	Statement_Effect_name = map[int32]string{
		0: "ALLOW",
		1: "DENY",
	}
	Statement_Effect_value = map[string]int32{
		"ALLOW": 0,
		"DENY":  1,
	}
)

func (x Statement_Effect) Enum() *Statement_Effect {
	p := new(Statement_Effect)
	*p = x
	return p
}

func (x Statement_Effect) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Statement_Effect) Descriptor() protoreflect.EnumDescriptor {
	return file_interservice_authz_policy_proto_enumTypes[1].Descriptor()
}

func (Statement_Effect) Type() protoreflect.EnumType {
	return &file_interservice_authz_policy_proto_enumTypes[1]
}

func (x Statement_Effect) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Statement_Effect.Descriptor instead.
func (Statement_Effect) EnumDescriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{5, 0}
}

type Version_VersionNumber int32

const (
	Version_V0 Version_VersionNumber = 0
	Version_V1 Version_VersionNumber = 1
	Version_V2 Version_VersionNumber = 2
)

// Enum value maps for Version_VersionNumber.
var (
	Version_VersionNumber_name = map[int32]string{
		0: "V0",
		1: "V1",
		2: "V2",
	}
	Version_VersionNumber_value = map[string]int32{
		"V0": 0,
		"V1": 1,
		"V2": 2,
	}
)

func (x Version_VersionNumber) Enum() *Version_VersionNumber {
	p := new(Version_VersionNumber)
	*p = x
	return p
}

func (x Version_VersionNumber) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Version_VersionNumber) Descriptor() protoreflect.EnumDescriptor {
	return file_interservice_authz_policy_proto_enumTypes[2].Descriptor()
}

func (Version_VersionNumber) Type() protoreflect.EnumType {
	return &file_interservice_authz_policy_proto_enumTypes[2]
}

func (x Version_VersionNumber) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Version_VersionNumber.Descriptor instead.
func (Version_VersionNumber) EnumDescriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{14, 0}
}

type Policy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" toml:"name,omitempty" mapstructure:"name,omitempty"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Type          Type                   `protobuf:"varint,3,opt,name=type,proto3,enum=chef.automate.domain.authz.Type" json:"type,omitempty" toml:"type,omitempty" mapstructure:"type,omitempty"`
	Members       []string               `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	Statements    []*Statement           `protobuf:"bytes,5,rep,name=statements,proto3" json:"statements,omitempty" toml:"statements,omitempty" mapstructure:"statements,omitempty"`
	Projects      []string               `protobuf:"bytes,6,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Policy) Reset() {
	*x = Policy{}
	mi := &file_interservice_authz_policy_proto_msgTypes[0]
	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_interservice_authz_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 Policy.ProtoReflect.Descriptor instead.
func (*Policy) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{0}
}

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

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

func (x *Policy) GetType() Type {
	if x != nil {
		return x.Type
	}
	return Type_CHEF_MANAGED
}

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

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

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

type Role struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" toml:"name,omitempty" mapstructure:"name,omitempty"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Type          Type                   `protobuf:"varint,3,opt,name=type,proto3,enum=chef.automate.domain.authz.Type" json:"type,omitempty" toml:"type,omitempty" mapstructure:"type,omitempty"`
	Actions       []string               `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty" toml:"actions,omitempty" mapstructure:"actions,omitempty"`
	Projects      []string               `protobuf:"bytes,5,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Role) ProtoMessage() {}

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

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

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

func (x *Role) GetType() Type {
	if x != nil {
		return x.Type
	}
	return Type_CHEF_MANAGED
}

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

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

type CreatePolicyReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" toml:"name,omitempty" mapstructure:"name,omitempty"`
	Members       []string               `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	Statements    []*Statement           `protobuf:"bytes,4,rep,name=statements,proto3" json:"statements,omitempty" toml:"statements,omitempty" mapstructure:"statements,omitempty"`
	Projects      []string               `protobuf:"bytes,5,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreatePolicyReq) Reset() {
	*x = CreatePolicyReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[2]
	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_interservice_authz_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 CreatePolicyReq.ProtoReflect.Descriptor instead.
func (*CreatePolicyReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{2}
}

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() []*Statement {
	if x != nil {
		return x.Statements
	}
	return nil
}

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

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

func (x *DeletePolicyReq) Reset() {
	*x = DeletePolicyReq{}
	mi := &file_interservice_authz_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_interservice_authz_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_interservice_authz_policy_proto_rawDescGZIP(), []int{3}
}

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

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

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

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

func (*DeletePolicyResp) ProtoMessage() {}

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

type Statement struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Effect Statement_Effect       `protobuf:"varint,1,opt,name=effect,proto3,enum=chef.automate.domain.authz.Statement_Effect" json:"effect,omitempty" toml:"effect,omitempty" mapstructure:"effect,omitempty"`
	// inline definitions
	Resources []string `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty" toml:"resources,omitempty" mapstructure:"resources,omitempty"`
	// this RE means:  * OR *:verb OR svc:type:verb OR svc:* OR svc:*:verb OR svc:type:*
	Actions []string `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty" toml:"actions,omitempty" mapstructure:"actions,omitempty"`
	// references
	Role          string   `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty" toml:"role,omitempty" mapstructure:"role,omitempty"`
	Projects      []string `protobuf:"bytes,5,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Statement) ProtoMessage() {}

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

func (x *Statement) GetEffect() Statement_Effect {
	if x != nil {
		return x.Effect
	}
	return Statement_ALLOW
}

func (x *Statement) GetResources() []string {
	if x != nil {
		return x.Resources
	}
	return nil
}

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

func (x *Statement) GetRole() string {
	if x != nil {
		return x.Role
	}
	return ""
}

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

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

func (x *ListPoliciesReq) Reset() {
	*x = ListPoliciesReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[6]
	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_interservice_authz_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 ListPoliciesReq.ProtoReflect.Descriptor instead.
func (*ListPoliciesReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{6}
}

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

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

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

func (*ListPoliciesResp) ProtoMessage() {}

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

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

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

func (x *GetPolicyReq) Reset() {
	*x = GetPolicyReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[8]
	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_interservice_authz_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 GetPolicyReq.ProtoReflect.Descriptor instead.
func (*GetPolicyReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{8}
}

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

// Note that update does not accept a type since
// users can only create custom type policies.
type UpdatePolicyReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	Statements    []*Statement           `protobuf:"bytes,3,rep,name=statements,proto3" json:"statements,omitempty" toml:"statements,omitempty" mapstructure:"statements,omitempty"`
	Name          string                 `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty" toml:"name,omitempty" mapstructure:"name,omitempty"`
	Projects      []string               `protobuf:"bytes,9,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdatePolicyReq) Reset() {
	*x = UpdatePolicyReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[9]
	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_interservice_authz_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 UpdatePolicyReq.ProtoReflect.Descriptor instead.
func (*UpdatePolicyReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{9}
}

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() []*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 ReplacePolicyMembersReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReplacePolicyMembersReq) Reset() {
	*x = ReplacePolicyMembersReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[10]
	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_interservice_authz_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 ReplacePolicyMembersReq.ProtoReflect.Descriptor instead.
func (*ReplacePolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{10}
}

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 ReplacePolicyMembersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Members       []string               `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReplacePolicyMembersResp) ProtoMessage() {}

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

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

type AddPolicyMembersReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPolicyMembersReq) Reset() {
	*x = AddPolicyMembersReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[12]
	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_interservice_authz_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 AddPolicyMembersReq.ProtoReflect.Descriptor instead.
func (*AddPolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{12}
}

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
}

type AddPolicyMembersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AddPolicyMembersResp) ProtoMessage() {}

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

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

// the only values that may be returned by GetPolicyVersion
type Version struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Major         Version_VersionNumber  `protobuf:"varint,1,opt,name=major,proto3,enum=chef.automate.domain.authz.Version_VersionNumber" json:"major,omitempty" toml:"major,omitempty" mapstructure:"major,omitempty"`
	Minor         Version_VersionNumber  `protobuf:"varint,2,opt,name=minor,proto3,enum=chef.automate.domain.authz.Version_VersionNumber" json:"minor,omitempty" toml:"minor,omitempty" mapstructure:"minor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Version) ProtoMessage() {}

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

func (x *Version) GetMajor() Version_VersionNumber {
	if x != nil {
		return x.Major
	}
	return Version_V0
}

func (x *Version) GetMinor() Version_VersionNumber {
	if x != nil {
		return x.Minor
	}
	return Version_V0
}

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

func (x *GetPolicyVersionReq) Reset() {
	*x = GetPolicyVersionReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[15]
	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_interservice_authz_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 GetPolicyVersionReq.ProtoReflect.Descriptor instead.
func (*GetPolicyVersionReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{15}
}

type GetPolicyVersionResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Version       *Version               `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty" toml:"version,omitempty" mapstructure:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetPolicyVersionResp) ProtoMessage() {}

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

func (x *GetPolicyVersionResp) GetVersion() *Version {
	if x != nil {
		return x.Version
	}
	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_interservice_authz_policy_proto_msgTypes[17]
	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_interservice_authz_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 ListRolesReq.ProtoReflect.Descriptor instead.
func (*ListRolesReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{17}
}

type ListRolesResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Roles         []*Role                `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty" toml:"roles,omitempty" mapstructure:"roles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListRolesResp) ProtoMessage() {}

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

func (x *ListRolesResp) GetRoles() []*Role {
	if x != nil {
		return x.Roles
	}
	return nil
}

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

func (x *DeleteRoleReq) Reset() {
	*x = DeleteRoleReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[19]
	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_interservice_authz_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 DeleteRoleReq.ProtoReflect.Descriptor instead.
func (*DeleteRoleReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{19}
}

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

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

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

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

func (*DeleteRoleResp) ProtoMessage() {}

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

type UpdateRoleReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" toml:"name,omitempty" mapstructure:"name,omitempty"`
	Actions       []string               `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty" toml:"actions,omitempty" mapstructure:"actions,omitempty"`
	Projects      []string               `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateRoleReq) Reset() {
	*x = UpdateRoleReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[21]
	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_interservice_authz_policy_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 UpdateRoleReq.ProtoReflect.Descriptor instead.
func (*UpdateRoleReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{21}
}

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 ListPolicyMembersReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPolicyMembersReq) Reset() {
	*x = ListPolicyMembersReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[22]
	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_interservice_authz_policy_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 ListPolicyMembersReq.ProtoReflect.Descriptor instead.
func (*ListPolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{22}
}

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

type ListPolicyMembersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Members       []string               `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListPolicyMembersResp) ProtoMessage() {}

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

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

type RemovePolicyMembersReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemovePolicyMembersReq) Reset() {
	*x = RemovePolicyMembersReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[24]
	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_interservice_authz_policy_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 RemovePolicyMembersReq.ProtoReflect.Descriptor instead.
func (*RemovePolicyMembersReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{24}
}

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 RemovePolicyMembersResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Members       []string               `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" toml:"members,omitempty" mapstructure:"members,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RemovePolicyMembersResp) ProtoMessage() {}

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

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

type MigrateToV2Req struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Flag           Flag                   `protobuf:"varint,1,opt,name=flag,proto3,enum=chef.automate.domain.authz.Flag" json:"flag,omitempty" toml:"flag,omitempty" mapstructure:"flag,omitempty"`
	SkipV1Policies bool                   `protobuf:"varint,2,opt,name=skip_v1_policies,json=skipV1Policies,proto3" json:"skip_v1_policies,omitempty" toml:"skip_v1_policies,omitempty" mapstructure:"skip_v1_policies,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*MigrateToV2Req) ProtoMessage() {}

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

func (x *MigrateToV2Req) GetFlag() Flag {
	if x != nil {
		return x.Flag
	}
	return Flag_VERSION_2_0
}

func (x *MigrateToV2Req) GetSkipV1Policies() bool {
	if x != nil {
		return x.SkipV1Policies
	}
	return false
}

type MigrateToV2Resp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Reports       []string               `protobuf:"bytes,1,rep,name=reports,proto3" json:"reports,omitempty" toml:"reports,omitempty" mapstructure:"reports,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MigrateToV2Resp) ProtoMessage() {}

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

func (x *MigrateToV2Resp) GetReports() []string {
	if x != nil {
		return x.Reports
	}
	return nil
}

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

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

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

func (*ResetToV1Req) ProtoMessage() {}

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

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

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

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

func (*ResetToV1Resp) ProtoMessage() {}

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

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

func (x *GetRoleReq) Reset() {
	*x = GetRoleReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[30]
	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_interservice_authz_policy_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 GetRoleReq.ProtoReflect.Descriptor instead.
func (*GetRoleReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{30}
}

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

type CreateRoleReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" toml:"id,omitempty" mapstructure:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty" toml:"name,omitempty" mapstructure:"name,omitempty"`
	Actions       []string               `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty" toml:"actions,omitempty" mapstructure:"actions,omitempty"`
	Projects      []string               `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty" toml:"projects,omitempty" mapstructure:"projects,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateRoleReq) Reset() {
	*x = CreateRoleReq{}
	mi := &file_interservice_authz_policy_proto_msgTypes[31]
	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_interservice_authz_policy_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 CreateRoleReq.ProtoReflect.Descriptor instead.
func (*CreateRoleReq) Descriptor() ([]byte, []int) {
	return file_interservice_authz_policy_proto_rawDescGZIP(), []int{31}
}

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 PurgeSubjectFromPoliciesReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Q: Right now, this allows purging subject wildcards (like "user:*").
	// -- Do we want to restrict this to only complete subjects?
	Subject       string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty" toml:"subject,omitempty" mapstructure:"subject,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PurgeSubjectFromPoliciesReq) ProtoMessage() {}

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

func (x *PurgeSubjectFromPoliciesReq) GetSubject() string {
	if x != nil {
		return x.Subject
	}
	return ""
}

type PurgeSubjectFromPoliciesResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ids           []string               `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty" toml:"ids,omitempty" mapstructure:"ids,omitempty"` // ids is IDs of modified policies
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PurgeSubjectFromPoliciesResp) ProtoMessage() {}

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

func (x *PurgeSubjectFromPoliciesResp) GetIds() []string {
	if x != nil {
		return x.Ids
	}
	return nil
}

var File_interservice_authz_policy_proto protoreflect.FileDescriptor

const file_interservice_authz_policy_proto_rawDesc = "" +
	"\n" +
	"\x1finterservice/authz/policy.proto\x12\x1achef.automate.domain.authz\x1a\x17validate/validate.proto\x1a\x1dinterservice/authz/type.proto\"\xdf\x01\n" +
	"\x06Policy\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x124\n" +
	"\x04type\x18\x03 \x01(\x0e2 .chef.automate.domain.authz.TypeR\x04type\x12\x18\n" +
	"\amembers\x18\x04 \x03(\tR\amembers\x12E\n" +
	"\n" +
	"statements\x18\x05 \x03(\v2%.chef.automate.domain.authz.StatementR\n" +
	"statements\x12\x1a\n" +
	"\bprojects\x18\x06 \x03(\tR\bprojects\"\x96\x01\n" +
	"\x04Role\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x124\n" +
	"\x04type\x18\x03 \x01(\x0e2 .chef.automate.domain.authz.TypeR\x04type\x12\x18\n" +
	"\aactions\x18\x04 \x03(\tR\aactions\x12\x1a\n" +
	"\bprojects\x18\x05 \x03(\tR\bprojects\"\x85\x03\n" +
	"\x0fCreatePolicyReq\x12)\n" +
	"\x02id\x18\x01 \x01(\tB\x19\xfaB\x16r\x142\x12^[a-z0-9-_]{1,64}$R\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\xbb\x01\n" +
	"\amembers\x18\x03 \x03(\tB\xa0\x01\xfaB\x9c\x01\x92\x01\x98\x01\x18\x01\"\x93\x01r\x90\x012\x8d\x01^(?:team|user):(?:local|ldap|saml):(?:[^:*]+|[*])$|^(?:(?:team|user|token|tls):)?[*]$|^token:[^:*]+$|^tls:service:(?:[^:*]+:)?(?:[^:*]+|[*])$R\amembers\x12O\n" +
	"\n" +
	"statements\x18\x04 \x03(\v2%.chef.automate.domain.authz.StatementB\b\xfaB\x05\x92\x01\x02\b\x01R\n" +
	"statements\x12$\n" +
	"\bprojects\x18\x05 \x03(\tB\b\xfaB\x05\x92\x01\x02\x18\x01R\bprojects\"!\n" +
	"\x0fDeletePolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\x12\n" +
	"\x10DeletePolicyResp\"\xf6\x03\n" +
	"\tStatement\x12D\n" +
	"\x06effect\x18\x01 \x01(\x0e2,.chef.automate.domain.authz.Statement.EffectR\x06effect\x12T\n" +
	"\tresources\x18\x02 \x03(\tB6\xfaB3\x92\x010\x18\x01\",r*2(^[a-z][^:*]*(?::[^:*]+)*(?::[*])?$|^[*]$R\tresources\x12\xd5\x01\n" +
	"\aactions\x18\x03 \x03(\tB\xba\x01\xfaB\xb6\x01\x92\x01\xb2\x01\x18\x01\"\xad\x01r\xaa\x012\xa7\x01^[*]$|^[*]:[a-z][-a-zA-Z]*$|^[a-z][a-zA-Z]*:[a-z][a-zA-Z]*:[a-z][a-zA-Z]*$|^[a-z][a-zA-Z]*:[*]$|^[a-z][a-zA-Z]*:[*]:[a-z][a-zA-Z]*$|^[a-z][a-zA-Z]*:[a-z][a-zA-Z]*:[*]$R\aactions\x120\n" +
	"\x04role\x18\x04 \x01(\tB\x1c\xfaB\x19r\x172\x15^$|^[a-z0-9-_]{1,64}$R\x04role\x12$\n" +
	"\bprojects\x18\x05 \x03(\tB\b\xfaB\x05\x92\x01\x02\x18\x01R\bprojects\"\x1d\n" +
	"\x06Effect\x12\t\n" +
	"\x05ALLOW\x10\x00\x12\b\n" +
	"\x04DENY\x10\x01\"\x11\n" +
	"\x0fListPoliciesReq\"R\n" +
	"\x10ListPoliciesResp\x12>\n" +
	"\bpolicies\x18\x01 \x03(\v2\".chef.automate.domain.authz.PolicyR\bpolicies\"\x1e\n" +
	"\fGetPolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\xea\x02\n" +
	"\x0fUpdatePolicyReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\xbb\x01\n" +
	"\amembers\x18\x02 \x03(\tB\xa0\x01\xfaB\x9c\x01\x92\x01\x98\x01\x18\x01\"\x93\x01r\x90\x012\x8d\x01^(?:team|user):(?:local|ldap|saml):(?:[^:*]+|[*])$|^(?:(?:team|user|token|tls):)?[*]$|^token:[^:*]+$|^tls:service:(?:[^:*]+:)?(?:[^:*]+|[*])$R\amembers\x12O\n" +
	"\n" +
	"statements\x18\x03 \x03(\v2%.chef.automate.domain.authz.StatementB\b\xfaB\x05\x92\x01\x02\b\x01R\n" +
	"statements\x12\x12\n" +
	"\x04name\x18\b \x01(\tR\x04name\x12$\n" +
	"\bprojects\x18\t \x03(\tB\b\xfaB\x05\x92\x01\x02\x18\x01R\bprojects\"\xe7\x01\n" +
	"\x17ReplacePolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\xbb\x01\n" +
	"\amembers\x18\x02 \x03(\tB\xa0\x01\xfaB\x9c\x01\x92\x01\x98\x01\x18\x01\"\x93\x01r\x90\x012\x8d\x01^(?:team|user):(?:local|ldap|saml):(?:[^:*]+|[*])$|^(?:(?:team|user|token|tls):)?[*]$|^token:[^:*]+$|^tls:service:(?:[^:*]+:)?(?:[^:*]+|[*])$R\amembers\"4\n" +
	"\x18ReplacePolicyMembersResp\x12\x18\n" +
	"\amembers\x18\x01 \x03(\tR\amembers\"\xe5\x01\n" +
	"\x13AddPolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\xbd\x01\n" +
	"\amembers\x18\x02 \x03(\tB\xa2\x01\xfaB\x9e\x01\x92\x01\x9a\x01\b\x01\x18\x01\"\x93\x01r\x90\x012\x8d\x01^(?:team|user):(?:local|ldap|saml):(?:[^:*]+|[*])$|^(?:(?:team|user|token|tls):)?[*]$|^token:[^:*]+$|^tls:service:(?:[^:*]+:)?(?:[^:*]+|[*])$R\amembers\"0\n" +
	"\x14AddPolicyMembersResp\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers\"\xc4\x01\n" +
	"\aVersion\x12G\n" +
	"\x05major\x18\x01 \x01(\x0e21.chef.automate.domain.authz.Version.VersionNumberR\x05major\x12G\n" +
	"\x05minor\x18\x02 \x01(\x0e21.chef.automate.domain.authz.Version.VersionNumberR\x05minor\"'\n" +
	"\rVersionNumber\x12\x06\n" +
	"\x02V0\x10\x00\x12\x06\n" +
	"\x02V1\x10\x01\x12\x06\n" +
	"\x02V2\x10\x02\"\x15\n" +
	"\x13GetPolicyVersionReq\"U\n" +
	"\x14GetPolicyVersionResp\x12=\n" +
	"\aversion\x18\x01 \x01(\v2#.chef.automate.domain.authz.VersionR\aversion\"\x0e\n" +
	"\fListRolesReq\"G\n" +
	"\rListRolesResp\x126\n" +
	"\x05roles\x18\x01 \x03(\v2 .chef.automate.domain.authz.RoleR\x05roles\"\x1f\n" +
	"\rDeleteRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\x10\n" +
	"\x0eDeleteRoleResp\"\xb3\x02\n" +
	"\rUpdateRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\xd7\x01\n" +
	"\aactions\x18\x03 \x03(\tB\xbc\x01\xfaB\xb8\x01\x92\x01\xb4\x01\b\x01\x18\x01\"\xad\x01r\xaa\x012\xa7\x01^[*]$|^[*]:[a-z][-a-zA-Z]*$|^[a-z][a-zA-Z]*:[a-z][a-zA-Z]*:[a-z][a-zA-Z]*$|^[a-z][a-zA-Z]*:[*]$|^[a-z][a-zA-Z]*:[*]:[a-z][a-zA-Z]*$|^[a-z][a-zA-Z]*:[a-z][a-zA-Z]*:[*]$R\aactions\x12$\n" +
	"\bprojects\x18\x04 \x03(\tB\b\xfaB\x05\x92\x01\x02\x18\x01R\bprojects\"&\n" +
	"\x14ListPolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"1\n" +
	"\x15ListPolicyMembersResp\x12\x18\n" +
	"\amembers\x18\x01 \x03(\tR\amembers\"\xe8\x01\n" +
	"\x16RemovePolicyMembersReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\xbd\x01\n" +
	"\amembers\x18\x02 \x03(\tB\xa2\x01\xfaB\x9e\x01\x92\x01\x9a\x01\b\x01\x18\x01\"\x93\x01r\x90\x012\x8d\x01^(?:team|user):(?:local|ldap|saml):(?:[^:*]+|[*])$|^(?:(?:team|user|token|tls):)?[*]$|^token:[^:*]+$|^tls:service:(?:[^:*]+:)?(?:[^:*]+|[*])$R\amembers\"3\n" +
	"\x17RemovePolicyMembersResp\x12\x18\n" +
	"\amembers\x18\x02 \x03(\tR\amembers\"p\n" +
	"\x0eMigrateToV2Req\x124\n" +
	"\x04flag\x18\x01 \x01(\x0e2 .chef.automate.domain.authz.FlagR\x04flag\x12(\n" +
	"\x10skip_v1_policies\x18\x02 \x01(\bR\x0eskipV1Policies\"+\n" +
	"\x0fMigrateToV2Resp\x12\x18\n" +
	"\areports\x18\x01 \x03(\tR\areports\"\x0e\n" +
	"\fResetToV1Req\"\x0f\n" +
	"\rResetToV1Resp\"\x1c\n" +
	"\n" +
	"GetRoleReq\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\xce\x02\n" +
	"\rCreateRoleReq\x12)\n" +
	"\x02id\x18\x01 \x01(\tB\x19\xfaB\x16r\x142\x12^[a-z0-9-_]{1,64}$R\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\xd7\x01\n" +
	"\aactions\x18\x03 \x03(\tB\xbc\x01\xfaB\xb8\x01\x92\x01\xb4\x01\b\x01\x18\x01\"\xad\x01r\xaa\x012\xa7\x01^[*]$|^[*]:[a-z][-a-zA-Z]*$|^[a-z][a-zA-Z]*:[a-z][a-zA-Z]*:[a-z][a-zA-Z]*$|^[a-z][a-zA-Z]*:[*]$|^[a-z][a-zA-Z]*:[*]:[a-z][a-zA-Z]*$|^[a-z][a-zA-Z]*:[a-z][a-zA-Z]*:[*]$R\aactions\x12$\n" +
	"\bprojects\x18\x04 \x03(\tB\b\xfaB\x05\x92\x01\x02\x18\x01R\bprojects\"\xd6\x01\n" +
	"\x1bPurgeSubjectFromPoliciesReq\x12\xb6\x01\n" +
	"\asubject\x18\x01 \x01(\tB\x9b\x01\xfaB\x97\x01r\x94\x012\x91\x01^(?:team|user):(?:local|ldap|saml):(?:[^:*]+|[*])$|^(?:(?:team|user|token|service):)?[*]$|^token:[^:*]+$|^tls:service:(?:[^:*]+:)?(?:[^:*]+|[*])$R\asubject\"0\n" +
	"\x1cPurgeSubjectFromPoliciesResp\x12\x10\n" +
	"\x03ids\x18\x01 \x03(\tR\x03ids*(\n" +
	"\x04Flag\x12\x0f\n" +
	"\vVERSION_2_0\x10\x00\x12\x0f\n" +
	"\vVERSION_2_1\x10\x012\xf3\r\n" +
	"\x0fPoliciesService\x12\x83\x01\n" +
	"\x14ReplacePolicyMembers\x123.chef.automate.domain.authz.ReplacePolicyMembersReq\x1a4.chef.automate.domain.authz.ReplacePolicyMembersResp\"\x00\x12a\n" +
	"\fCreatePolicy\x12+.chef.automate.domain.authz.CreatePolicyReq\x1a\".chef.automate.domain.authz.Policy\"\x00\x12k\n" +
	"\fDeletePolicy\x12+.chef.automate.domain.authz.DeletePolicyReq\x1a,.chef.automate.domain.authz.DeletePolicyResp\"\x00\x12k\n" +
	"\fListPolicies\x12+.chef.automate.domain.authz.ListPoliciesReq\x1a,.chef.automate.domain.authz.ListPoliciesResp\"\x00\x12[\n" +
	"\tGetPolicy\x12(.chef.automate.domain.authz.GetPolicyReq\x1a\".chef.automate.domain.authz.Policy\"\x00\x12a\n" +
	"\fUpdatePolicy\x12+.chef.automate.domain.authz.UpdatePolicyReq\x1a\".chef.automate.domain.authz.Policy\"\x00\x12w\n" +
	"\x10GetPolicyVersion\x12/.chef.automate.domain.authz.GetPolicyVersionReq\x1a0.chef.automate.domain.authz.GetPolicyVersionResp\"\x00\x12[\n" +
	"\n" +
	"CreateRole\x12).chef.automate.domain.authz.CreateRoleReq\x1a .chef.automate.domain.authz.Role\"\x00\x12b\n" +
	"\tListRoles\x12(.chef.automate.domain.authz.ListRolesReq\x1a).chef.automate.domain.authz.ListRolesResp\"\x00\x12U\n" +
	"\aGetRole\x12&.chef.automate.domain.authz.GetRoleReq\x1a .chef.automate.domain.authz.Role\"\x00\x12e\n" +
	"\n" +
	"DeleteRole\x12).chef.automate.domain.authz.DeleteRoleReq\x1a*.chef.automate.domain.authz.DeleteRoleResp\"\x00\x12[\n" +
	"\n" +
	"UpdateRole\x12).chef.automate.domain.authz.UpdateRoleReq\x1a .chef.automate.domain.authz.Role\"\x00\x12z\n" +
	"\x11ListPolicyMembers\x120.chef.automate.domain.authz.ListPolicyMembersReq\x1a1.chef.automate.domain.authz.ListPolicyMembersResp\"\x00\x12\x80\x01\n" +
	"\x13RemovePolicyMembers\x122.chef.automate.domain.authz.RemovePolicyMembersReq\x1a3.chef.automate.domain.authz.RemovePolicyMembersResp\"\x00\x12w\n" +
	"\x10AddPolicyMembers\x12/.chef.automate.domain.authz.AddPolicyMembersReq\x1a0.chef.automate.domain.authz.AddPolicyMembersResp\"\x00\x12\x8f\x01\n" +
	"\x18PurgeSubjectFromPolicies\x127.chef.automate.domain.authz.PurgeSubjectFromPoliciesReq\x1a8.chef.automate.domain.authz.PurgeSubjectFromPoliciesResp\"\x00B1Z/github.com/chef/automate/api/interservice/authzb\x06proto3"

var (
	file_interservice_authz_policy_proto_rawDescOnce sync.Once
	file_interservice_authz_policy_proto_rawDescData []byte
)

func file_interservice_authz_policy_proto_rawDescGZIP() []byte {
	file_interservice_authz_policy_proto_rawDescOnce.Do(func() {
		file_interservice_authz_policy_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_interservice_authz_policy_proto_rawDesc), len(file_interservice_authz_policy_proto_rawDesc)))
	})
	return file_interservice_authz_policy_proto_rawDescData
}

var file_interservice_authz_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_interservice_authz_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_interservice_authz_policy_proto_goTypes = []any{
	(Flag)(0),                            // 0: chef.automate.domain.authz.Flag
	(Statement_Effect)(0),                // 1: chef.automate.domain.authz.Statement.Effect
	(Version_VersionNumber)(0),           // 2: chef.automate.domain.authz.Version.VersionNumber
	(*Policy)(nil),                       // 3: chef.automate.domain.authz.Policy
	(*Role)(nil),                         // 4: chef.automate.domain.authz.Role
	(*CreatePolicyReq)(nil),              // 5: chef.automate.domain.authz.CreatePolicyReq
	(*DeletePolicyReq)(nil),              // 6: chef.automate.domain.authz.DeletePolicyReq
	(*DeletePolicyResp)(nil),             // 7: chef.automate.domain.authz.DeletePolicyResp
	(*Statement)(nil),                    // 8: chef.automate.domain.authz.Statement
	(*ListPoliciesReq)(nil),              // 9: chef.automate.domain.authz.ListPoliciesReq
	(*ListPoliciesResp)(nil),             // 10: chef.automate.domain.authz.ListPoliciesResp
	(*GetPolicyReq)(nil),                 // 11: chef.automate.domain.authz.GetPolicyReq
	(*UpdatePolicyReq)(nil),              // 12: chef.automate.domain.authz.UpdatePolicyReq
	(*ReplacePolicyMembersReq)(nil),      // 13: chef.automate.domain.authz.ReplacePolicyMembersReq
	(*ReplacePolicyMembersResp)(nil),     // 14: chef.automate.domain.authz.ReplacePolicyMembersResp
	(*AddPolicyMembersReq)(nil),          // 15: chef.automate.domain.authz.AddPolicyMembersReq
	(*AddPolicyMembersResp)(nil),         // 16: chef.automate.domain.authz.AddPolicyMembersResp
	(*Version)(nil),                      // 17: chef.automate.domain.authz.Version
	(*GetPolicyVersionReq)(nil),          // 18: chef.automate.domain.authz.GetPolicyVersionReq
	(*GetPolicyVersionResp)(nil),         // 19: chef.automate.domain.authz.GetPolicyVersionResp
	(*ListRolesReq)(nil),                 // 20: chef.automate.domain.authz.ListRolesReq
	(*ListRolesResp)(nil),                // 21: chef.automate.domain.authz.ListRolesResp
	(*DeleteRoleReq)(nil),                // 22: chef.automate.domain.authz.DeleteRoleReq
	(*DeleteRoleResp)(nil),               // 23: chef.automate.domain.authz.DeleteRoleResp
	(*UpdateRoleReq)(nil),                // 24: chef.automate.domain.authz.UpdateRoleReq
	(*ListPolicyMembersReq)(nil),         // 25: chef.automate.domain.authz.ListPolicyMembersReq
	(*ListPolicyMembersResp)(nil),        // 26: chef.automate.domain.authz.ListPolicyMembersResp
	(*RemovePolicyMembersReq)(nil),       // 27: chef.automate.domain.authz.RemovePolicyMembersReq
	(*RemovePolicyMembersResp)(nil),      // 28: chef.automate.domain.authz.RemovePolicyMembersResp
	(*MigrateToV2Req)(nil),               // 29: chef.automate.domain.authz.MigrateToV2Req
	(*MigrateToV2Resp)(nil),              // 30: chef.automate.domain.authz.MigrateToV2Resp
	(*ResetToV1Req)(nil),                 // 31: chef.automate.domain.authz.ResetToV1Req
	(*ResetToV1Resp)(nil),                // 32: chef.automate.domain.authz.ResetToV1Resp
	(*GetRoleReq)(nil),                   // 33: chef.automate.domain.authz.GetRoleReq
	(*CreateRoleReq)(nil),                // 34: chef.automate.domain.authz.CreateRoleReq
	(*PurgeSubjectFromPoliciesReq)(nil),  // 35: chef.automate.domain.authz.PurgeSubjectFromPoliciesReq
	(*PurgeSubjectFromPoliciesResp)(nil), // 36: chef.automate.domain.authz.PurgeSubjectFromPoliciesResp
	(Type)(0),                            // 37: chef.automate.domain.authz.Type
}
var file_interservice_authz_policy_proto_depIdxs = []int32{
	37, // 0: chef.automate.domain.authz.Policy.type:type_name -> chef.automate.domain.authz.Type
	8,  // 1: chef.automate.domain.authz.Policy.statements:type_name -> chef.automate.domain.authz.Statement
	37, // 2: chef.automate.domain.authz.Role.type:type_name -> chef.automate.domain.authz.Type
	8,  // 3: chef.automate.domain.authz.CreatePolicyReq.statements:type_name -> chef.automate.domain.authz.Statement
	1,  // 4: chef.automate.domain.authz.Statement.effect:type_name -> chef.automate.domain.authz.Statement.Effect
	3,  // 5: chef.automate.domain.authz.ListPoliciesResp.policies:type_name -> chef.automate.domain.authz.Policy
	8,  // 6: chef.automate.domain.authz.UpdatePolicyReq.statements:type_name -> chef.automate.domain.authz.Statement
	2,  // 7: chef.automate.domain.authz.Version.major:type_name -> chef.automate.domain.authz.Version.VersionNumber
	2,  // 8: chef.automate.domain.authz.Version.minor:type_name -> chef.automate.domain.authz.Version.VersionNumber
	17, // 9: chef.automate.domain.authz.GetPolicyVersionResp.version:type_name -> chef.automate.domain.authz.Version
	4,  // 10: chef.automate.domain.authz.ListRolesResp.roles:type_name -> chef.automate.domain.authz.Role
	0,  // 11: chef.automate.domain.authz.MigrateToV2Req.flag:type_name -> chef.automate.domain.authz.Flag
	13, // 12: chef.automate.domain.authz.PoliciesService.ReplacePolicyMembers:input_type -> chef.automate.domain.authz.ReplacePolicyMembersReq
	5,  // 13: chef.automate.domain.authz.PoliciesService.CreatePolicy:input_type -> chef.automate.domain.authz.CreatePolicyReq
	6,  // 14: chef.automate.domain.authz.PoliciesService.DeletePolicy:input_type -> chef.automate.domain.authz.DeletePolicyReq
	9,  // 15: chef.automate.domain.authz.PoliciesService.ListPolicies:input_type -> chef.automate.domain.authz.ListPoliciesReq
	11, // 16: chef.automate.domain.authz.PoliciesService.GetPolicy:input_type -> chef.automate.domain.authz.GetPolicyReq
	12, // 17: chef.automate.domain.authz.PoliciesService.UpdatePolicy:input_type -> chef.automate.domain.authz.UpdatePolicyReq
	18, // 18: chef.automate.domain.authz.PoliciesService.GetPolicyVersion:input_type -> chef.automate.domain.authz.GetPolicyVersionReq
	34, // 19: chef.automate.domain.authz.PoliciesService.CreateRole:input_type -> chef.automate.domain.authz.CreateRoleReq
	20, // 20: chef.automate.domain.authz.PoliciesService.ListRoles:input_type -> chef.automate.domain.authz.ListRolesReq
	33, // 21: chef.automate.domain.authz.PoliciesService.GetRole:input_type -> chef.automate.domain.authz.GetRoleReq
	22, // 22: chef.automate.domain.authz.PoliciesService.DeleteRole:input_type -> chef.automate.domain.authz.DeleteRoleReq
	24, // 23: chef.automate.domain.authz.PoliciesService.UpdateRole:input_type -> chef.automate.domain.authz.UpdateRoleReq
	25, // 24: chef.automate.domain.authz.PoliciesService.ListPolicyMembers:input_type -> chef.automate.domain.authz.ListPolicyMembersReq
	27, // 25: chef.automate.domain.authz.PoliciesService.RemovePolicyMembers:input_type -> chef.automate.domain.authz.RemovePolicyMembersReq
	15, // 26: chef.automate.domain.authz.PoliciesService.AddPolicyMembers:input_type -> chef.automate.domain.authz.AddPolicyMembersReq
	35, // 27: chef.automate.domain.authz.PoliciesService.PurgeSubjectFromPolicies:input_type -> chef.automate.domain.authz.PurgeSubjectFromPoliciesReq
	14, // 28: chef.automate.domain.authz.PoliciesService.ReplacePolicyMembers:output_type -> chef.automate.domain.authz.ReplacePolicyMembersResp
	3,  // 29: chef.automate.domain.authz.PoliciesService.CreatePolicy:output_type -> chef.automate.domain.authz.Policy
	7,  // 30: chef.automate.domain.authz.PoliciesService.DeletePolicy:output_type -> chef.automate.domain.authz.DeletePolicyResp
	10, // 31: chef.automate.domain.authz.PoliciesService.ListPolicies:output_type -> chef.automate.domain.authz.ListPoliciesResp
	3,  // 32: chef.automate.domain.authz.PoliciesService.GetPolicy:output_type -> chef.automate.domain.authz.Policy
	3,  // 33: chef.automate.domain.authz.PoliciesService.UpdatePolicy:output_type -> chef.automate.domain.authz.Policy
	19, // 34: chef.automate.domain.authz.PoliciesService.GetPolicyVersion:output_type -> chef.automate.domain.authz.GetPolicyVersionResp
	4,  // 35: chef.automate.domain.authz.PoliciesService.CreateRole:output_type -> chef.automate.domain.authz.Role
	21, // 36: chef.automate.domain.authz.PoliciesService.ListRoles:output_type -> chef.automate.domain.authz.ListRolesResp
	4,  // 37: chef.automate.domain.authz.PoliciesService.GetRole:output_type -> chef.automate.domain.authz.Role
	23, // 38: chef.automate.domain.authz.PoliciesService.DeleteRole:output_type -> chef.automate.domain.authz.DeleteRoleResp
	4,  // 39: chef.automate.domain.authz.PoliciesService.UpdateRole:output_type -> chef.automate.domain.authz.Role
	26, // 40: chef.automate.domain.authz.PoliciesService.ListPolicyMembers:output_type -> chef.automate.domain.authz.ListPolicyMembersResp
	28, // 41: chef.automate.domain.authz.PoliciesService.RemovePolicyMembers:output_type -> chef.automate.domain.authz.RemovePolicyMembersResp
	16, // 42: chef.automate.domain.authz.PoliciesService.AddPolicyMembers:output_type -> chef.automate.domain.authz.AddPolicyMembersResp
	36, // 43: chef.automate.domain.authz.PoliciesService.PurgeSubjectFromPolicies:output_type -> chef.automate.domain.authz.PurgeSubjectFromPoliciesResp
	28, // [28:44] is the sub-list for method output_type
	12, // [12:28] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_interservice_authz_policy_proto_init() }
func file_interservice_authz_policy_proto_init() {
	if File_interservice_authz_policy_proto != nil {
		return
	}
	file_interservice_authz_type_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_interservice_authz_policy_proto_rawDesc), len(file_interservice_authz_policy_proto_rawDesc)),
			NumEnums:      3,
			NumMessages:   34,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_interservice_authz_policy_proto_goTypes,
		DependencyIndexes: file_interservice_authz_policy_proto_depIdxs,
		EnumInfos:         file_interservice_authz_policy_proto_enumTypes,
		MessageInfos:      file_interservice_authz_policy_proto_msgTypes,
	}.Build()
	File_interservice_authz_policy_proto = out.File
	file_interservice_authz_policy_proto_goTypes = nil
	file_interservice_authz_policy_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// PoliciesServiceClient is the client API for PoliciesService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type PoliciesServiceClient interface {
	ReplacePolicyMembers(ctx context.Context, in *ReplacePolicyMembersReq, opts ...grpc.CallOption) (*ReplacePolicyMembersResp, error)
	CreatePolicy(ctx context.Context, in *CreatePolicyReq, opts ...grpc.CallOption) (*Policy, error)
	DeletePolicy(ctx context.Context, in *DeletePolicyReq, opts ...grpc.CallOption) (*DeletePolicyResp, error)
	ListPolicies(ctx context.Context, in *ListPoliciesReq, opts ...grpc.CallOption) (*ListPoliciesResp, error)
	GetPolicy(ctx context.Context, in *GetPolicyReq, opts ...grpc.CallOption) (*Policy, error)
	UpdatePolicy(ctx context.Context, in *UpdatePolicyReq, opts ...grpc.CallOption) (*Policy, error)
	GetPolicyVersion(ctx context.Context, in *GetPolicyVersionReq, opts ...grpc.CallOption) (*GetPolicyVersionResp, error)
	CreateRole(ctx context.Context, in *CreateRoleReq, opts ...grpc.CallOption) (*Role, error)
	ListRoles(ctx context.Context, in *ListRolesReq, opts ...grpc.CallOption) (*ListRolesResp, error)
	GetRole(ctx context.Context, in *GetRoleReq, opts ...grpc.CallOption) (*Role, error)
	DeleteRole(ctx context.Context, in *DeleteRoleReq, opts ...grpc.CallOption) (*DeleteRoleResp, error)
	UpdateRole(ctx context.Context, in *UpdateRoleReq, opts ...grpc.CallOption) (*Role, error)
	ListPolicyMembers(ctx context.Context, in *ListPolicyMembersReq, opts ...grpc.CallOption) (*ListPolicyMembersResp, error)
	RemovePolicyMembers(ctx context.Context, in *RemovePolicyMembersReq, opts ...grpc.CallOption) (*RemovePolicyMembersResp, error)
	AddPolicyMembers(ctx context.Context, in *AddPolicyMembersReq, opts ...grpc.CallOption) (*AddPolicyMembersResp, error)
	PurgeSubjectFromPolicies(ctx context.Context, in *PurgeSubjectFromPoliciesReq, opts ...grpc.CallOption) (*PurgeSubjectFromPoliciesResp, error)
}

type policiesServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewPoliciesServiceClient(cc grpc.ClientConnInterface) PoliciesServiceClient {
	return &policiesServiceClient{cc}
}

func (c *policiesServiceClient) ReplacePolicyMembers(ctx context.Context, in *ReplacePolicyMembersReq, opts ...grpc.CallOption) (*ReplacePolicyMembersResp, error) {
	out := new(ReplacePolicyMembersResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/ReplacePolicyMembers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) CreatePolicy(ctx context.Context, in *CreatePolicyReq, opts ...grpc.CallOption) (*Policy, error) {
	out := new(Policy)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/CreatePolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) DeletePolicy(ctx context.Context, in *DeletePolicyReq, opts ...grpc.CallOption) (*DeletePolicyResp, error) {
	out := new(DeletePolicyResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/DeletePolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) ListPolicies(ctx context.Context, in *ListPoliciesReq, opts ...grpc.CallOption) (*ListPoliciesResp, error) {
	out := new(ListPoliciesResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/ListPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) GetPolicy(ctx context.Context, in *GetPolicyReq, opts ...grpc.CallOption) (*Policy, error) {
	out := new(Policy)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/GetPolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) UpdatePolicy(ctx context.Context, in *UpdatePolicyReq, opts ...grpc.CallOption) (*Policy, error) {
	out := new(Policy)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/UpdatePolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) GetPolicyVersion(ctx context.Context, in *GetPolicyVersionReq, opts ...grpc.CallOption) (*GetPolicyVersionResp, error) {
	out := new(GetPolicyVersionResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/GetPolicyVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) CreateRole(ctx context.Context, in *CreateRoleReq, opts ...grpc.CallOption) (*Role, error) {
	out := new(Role)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/CreateRole", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) ListRoles(ctx context.Context, in *ListRolesReq, opts ...grpc.CallOption) (*ListRolesResp, error) {
	out := new(ListRolesResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/ListRoles", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) GetRole(ctx context.Context, in *GetRoleReq, opts ...grpc.CallOption) (*Role, error) {
	out := new(Role)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/GetRole", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) DeleteRole(ctx context.Context, in *DeleteRoleReq, opts ...grpc.CallOption) (*DeleteRoleResp, error) {
	out := new(DeleteRoleResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/DeleteRole", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) UpdateRole(ctx context.Context, in *UpdateRoleReq, opts ...grpc.CallOption) (*Role, error) {
	out := new(Role)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/UpdateRole", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) ListPolicyMembers(ctx context.Context, in *ListPolicyMembersReq, opts ...grpc.CallOption) (*ListPolicyMembersResp, error) {
	out := new(ListPolicyMembersResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/ListPolicyMembers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) RemovePolicyMembers(ctx context.Context, in *RemovePolicyMembersReq, opts ...grpc.CallOption) (*RemovePolicyMembersResp, error) {
	out := new(RemovePolicyMembersResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/RemovePolicyMembers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) AddPolicyMembers(ctx context.Context, in *AddPolicyMembersReq, opts ...grpc.CallOption) (*AddPolicyMembersResp, error) {
	out := new(AddPolicyMembersResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/AddPolicyMembers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *policiesServiceClient) PurgeSubjectFromPolicies(ctx context.Context, in *PurgeSubjectFromPoliciesReq, opts ...grpc.CallOption) (*PurgeSubjectFromPoliciesResp, error) {
	out := new(PurgeSubjectFromPoliciesResp)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.authz.PoliciesService/PurgeSubjectFromPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// PoliciesServiceServer is the server API for PoliciesService service.
type PoliciesServiceServer interface {
	ReplacePolicyMembers(context.Context, *ReplacePolicyMembersReq) (*ReplacePolicyMembersResp, error)
	CreatePolicy(context.Context, *CreatePolicyReq) (*Policy, error)
	DeletePolicy(context.Context, *DeletePolicyReq) (*DeletePolicyResp, error)
	ListPolicies(context.Context, *ListPoliciesReq) (*ListPoliciesResp, error)
	GetPolicy(context.Context, *GetPolicyReq) (*Policy, error)
	UpdatePolicy(context.Context, *UpdatePolicyReq) (*Policy, error)
	GetPolicyVersion(context.Context, *GetPolicyVersionReq) (*GetPolicyVersionResp, error)
	CreateRole(context.Context, *CreateRoleReq) (*Role, error)
	ListRoles(context.Context, *ListRolesReq) (*ListRolesResp, error)
	GetRole(context.Context, *GetRoleReq) (*Role, error)
	DeleteRole(context.Context, *DeleteRoleReq) (*DeleteRoleResp, error)
	UpdateRole(context.Context, *UpdateRoleReq) (*Role, error)
	ListPolicyMembers(context.Context, *ListPolicyMembersReq) (*ListPolicyMembersResp, error)
	RemovePolicyMembers(context.Context, *RemovePolicyMembersReq) (*RemovePolicyMembersResp, error)
	AddPolicyMembers(context.Context, *AddPolicyMembersReq) (*AddPolicyMembersResp, error)
	PurgeSubjectFromPolicies(context.Context, *PurgeSubjectFromPoliciesReq) (*PurgeSubjectFromPoliciesResp, error)
}

// UnimplementedPoliciesServiceServer can be embedded to have forward compatible implementations.
type UnimplementedPoliciesServiceServer struct {
}

func (*UnimplementedPoliciesServiceServer) ReplacePolicyMembers(context.Context, *ReplacePolicyMembersReq) (*ReplacePolicyMembersResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReplacePolicyMembers not implemented")
}
func (*UnimplementedPoliciesServiceServer) CreatePolicy(context.Context, *CreatePolicyReq) (*Policy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePolicy not implemented")
}
func (*UnimplementedPoliciesServiceServer) DeletePolicy(context.Context, *DeletePolicyReq) (*DeletePolicyResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePolicy not implemented")
}
func (*UnimplementedPoliciesServiceServer) ListPolicies(context.Context, *ListPoliciesReq) (*ListPoliciesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPolicies not implemented")
}
func (*UnimplementedPoliciesServiceServer) GetPolicy(context.Context, *GetPolicyReq) (*Policy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPolicy not implemented")
}
func (*UnimplementedPoliciesServiceServer) UpdatePolicy(context.Context, *UpdatePolicyReq) (*Policy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePolicy not implemented")
}
func (*UnimplementedPoliciesServiceServer) GetPolicyVersion(context.Context, *GetPolicyVersionReq) (*GetPolicyVersionResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPolicyVersion not implemented")
}
func (*UnimplementedPoliciesServiceServer) CreateRole(context.Context, *CreateRoleReq) (*Role, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateRole not implemented")
}
func (*UnimplementedPoliciesServiceServer) ListRoles(context.Context, *ListRolesReq) (*ListRolesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListRoles not implemented")
}
func (*UnimplementedPoliciesServiceServer) GetRole(context.Context, *GetRoleReq) (*Role, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRole not implemented")
}
func (*UnimplementedPoliciesServiceServer) DeleteRole(context.Context, *DeleteRoleReq) (*DeleteRoleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteRole not implemented")
}
func (*UnimplementedPoliciesServiceServer) UpdateRole(context.Context, *UpdateRoleReq) (*Role, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateRole not implemented")
}
func (*UnimplementedPoliciesServiceServer) ListPolicyMembers(context.Context, *ListPolicyMembersReq) (*ListPolicyMembersResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPolicyMembers not implemented")
}
func (*UnimplementedPoliciesServiceServer) RemovePolicyMembers(context.Context, *RemovePolicyMembersReq) (*RemovePolicyMembersResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemovePolicyMembers not implemented")
}
func (*UnimplementedPoliciesServiceServer) AddPolicyMembers(context.Context, *AddPolicyMembersReq) (*AddPolicyMembersResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddPolicyMembers not implemented")
}
func (*UnimplementedPoliciesServiceServer) PurgeSubjectFromPolicies(context.Context, *PurgeSubjectFromPoliciesReq) (*PurgeSubjectFromPoliciesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PurgeSubjectFromPolicies not implemented")
}

func RegisterPoliciesServiceServer(s *grpc.Server, srv PoliciesServiceServer) {
	s.RegisterService(&_PoliciesService_serviceDesc, srv)
}

func _PoliciesService_ReplacePolicyMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplacePolicyMembersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).ReplacePolicyMembers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/ReplacePolicyMembers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).ReplacePolicyMembers(ctx, req.(*ReplacePolicyMembersReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_CreatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreatePolicyReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).CreatePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/CreatePolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).CreatePolicy(ctx, req.(*CreatePolicyReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePolicyReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).DeletePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/DeletePolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).DeletePolicy(ctx, req.(*DeletePolicyReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPoliciesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).ListPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/ListPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).ListPolicies(ctx, req.(*ListPoliciesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPolicyReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).GetPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/GetPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).GetPolicy(ctx, req.(*GetPolicyReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_UpdatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdatePolicyReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).UpdatePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/UpdatePolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).UpdatePolicy(ctx, req.(*UpdatePolicyReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_GetPolicyVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPolicyVersionReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).GetPolicyVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/GetPolicyVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).GetPolicyVersion(ctx, req.(*GetPolicyVersionReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_CreateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRoleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).CreateRole(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/CreateRole",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).CreateRole(ctx, req.(*CreateRoleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_ListRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRolesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).ListRoles(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/ListRoles",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).ListRoles(ctx, req.(*ListRolesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_GetRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRoleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).GetRole(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/GetRole",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).GetRole(ctx, req.(*GetRoleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_DeleteRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRoleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).DeleteRole(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/DeleteRole",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).DeleteRole(ctx, req.(*DeleteRoleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_UpdateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRoleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).UpdateRole(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/UpdateRole",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).UpdateRole(ctx, req.(*UpdateRoleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_ListPolicyMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPolicyMembersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).ListPolicyMembers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/ListPolicyMembers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).ListPolicyMembers(ctx, req.(*ListPolicyMembersReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_RemovePolicyMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemovePolicyMembersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).RemovePolicyMembers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/RemovePolicyMembers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).RemovePolicyMembers(ctx, req.(*RemovePolicyMembersReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_AddPolicyMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddPolicyMembersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).AddPolicyMembers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/AddPolicyMembers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).AddPolicyMembers(ctx, req.(*AddPolicyMembersReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _PoliciesService_PurgeSubjectFromPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PurgeSubjectFromPoliciesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PoliciesServiceServer).PurgeSubjectFromPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.authz.PoliciesService/PurgeSubjectFromPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PoliciesServiceServer).PurgeSubjectFromPolicies(ctx, req.(*PurgeSubjectFromPoliciesReq))
	}
	return interceptor(ctx, in, info, handler)
}

var _PoliciesService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.domain.authz.PoliciesService",
	HandlerType: (*PoliciesServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ReplacePolicyMembers",
			Handler:    _PoliciesService_ReplacePolicyMembers_Handler,
		},
		{
			MethodName: "CreatePolicy",
			Handler:    _PoliciesService_CreatePolicy_Handler,
		},
		{
			MethodName: "DeletePolicy",
			Handler:    _PoliciesService_DeletePolicy_Handler,
		},
		{
			MethodName: "ListPolicies",
			Handler:    _PoliciesService_ListPolicies_Handler,
		},
		{
			MethodName: "GetPolicy",
			Handler:    _PoliciesService_GetPolicy_Handler,
		},
		{
			MethodName: "UpdatePolicy",
			Handler:    _PoliciesService_UpdatePolicy_Handler,
		},
		{
			MethodName: "GetPolicyVersion",
			Handler:    _PoliciesService_GetPolicyVersion_Handler,
		},
		{
			MethodName: "CreateRole",
			Handler:    _PoliciesService_CreateRole_Handler,
		},
		{
			MethodName: "ListRoles",
			Handler:    _PoliciesService_ListRoles_Handler,
		},
		{
			MethodName: "GetRole",
			Handler:    _PoliciesService_GetRole_Handler,
		},
		{
			MethodName: "DeleteRole",
			Handler:    _PoliciesService_DeleteRole_Handler,
		},
		{
			MethodName: "UpdateRole",
			Handler:    _PoliciesService_UpdateRole_Handler,
		},
		{
			MethodName: "ListPolicyMembers",
			Handler:    _PoliciesService_ListPolicyMembers_Handler,
		},
		{
			MethodName: "RemovePolicyMembers",
			Handler:    _PoliciesService_RemovePolicyMembers_Handler,
		},
		{
			MethodName: "AddPolicyMembers",
			Handler:    _PoliciesService_AddPolicyMembers_Handler,
		},
		{
			MethodName: "PurgeSubjectFromPolicies",
			Handler:    _PoliciesService_PurgeSubjectFromPolicies_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "interservice/authz/policy.proto",
}
