// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.19.0
// source: external/compliance/profiles/profiles.proto

package profiles

import (
	context "context"
	_ "github.com/chef/automate/api/external/annotations/iam"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	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"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	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 Query_OrderType int32

const (
	Query_ASC  Query_OrderType = 0
	Query_DESC Query_OrderType = 1
)

// Enum value maps for Query_OrderType.
var (
	Query_OrderType_name = map[int32]string{
		0: "ASC",
		1: "DESC",
	}
	Query_OrderType_value = map[string]int32{
		"ASC":  0,
		"DESC": 1,
	}
)

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

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

func (Query_OrderType) Descriptor() protoreflect.EnumDescriptor {
	return file_external_compliance_profiles_profiles_proto_enumTypes[0].Descriptor()
}

func (Query_OrderType) Type() protoreflect.EnumType {
	return &file_external_compliance_profiles_profiles_proto_enumTypes[0]
}

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

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

type Sha256 struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An array of profile sha256 IDs.
	Sha256        []string `protobuf:"bytes,1,rep,name=sha256,proto3" json:"sha256,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Sha256) ProtoMessage() {}

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

func (x *Sha256) GetSha256() []string {
	if x != nil {
		return x.Sha256
	}
	return nil
}

type Missing struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// An array of profile sha256 IDs that are missing from the backend metadata store.
	MissingSha256 []string `protobuf:"bytes,1,rep,name=missing_sha256,json=missingSha256,proto3" json:"missing_sha256,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Missing) ProtoMessage() {}

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

func (x *Missing) GetMissingSha256() []string {
	if x != nil {
		return x.MissingSha256
	}
	return nil
}

type ProfilePostRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Associate an automate user with a profile. A profile is visible only to its associated user.
	Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
	// Intentionally blank.
	Chunk *Chunk `protobuf:"bytes,2,opt,name=chunk,proto3" json:"chunk,omitempty"`
	// Intentionally blank.
	Meta          *Metadata `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfilePostRequest) ProtoMessage() {}

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

func (x *ProfilePostRequest) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *ProfilePostRequest) GetChunk() *Chunk {
	if x != nil {
		return x.Chunk
	}
	return nil
}

func (x *ProfilePostRequest) GetMeta() *Metadata {
	if x != nil {
		return x.Meta
	}
	return nil
}

// Metadata about the profile.
type Metadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the profile (as specified in the inspec.yml)
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the profile.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// Content type of the profile (e.g. application/json, application/x-gtar, application/gzip)
	ContentType   string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Metadata) ProtoMessage() {}

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

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

func (x *Metadata) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Metadata) GetContentType() string {
	if x != nil {
		return x.ContentType
	}
	return ""
}

// Profile contents in byte form.
type Chunk struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Position      int64                  `protobuf:"varint,2,opt,name=position,proto3" json:"position,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Chunk) ProtoMessage() {}

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

func (x *Chunk) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *Chunk) GetPosition() int64 {
	if x != nil {
		return x.Position
	}
	return 0
}

type ProfileData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Automate user associated with the profile.
	Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	// Name of the profile.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the profile.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// Profile contents in byte form.
	Data          []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfileData) ProtoMessage() {}

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

func (x *ProfileData) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

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

func (x *ProfileData) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *ProfileData) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

type Profiles struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of profiles matching the query.
	Profiles []*Profile `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles,omitempty"`
	// Total count of profiles matching the query.
	Total         int32 `protobuf:"varint,20,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Profiles) ProtoMessage() {}

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

func (x *Profiles) GetProfiles() []*Profile {
	if x != nil {
		return x.Profiles
	}
	return nil
}

func (x *Profiles) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

type Profile struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The profile name, as specified in the inspec.yml
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The profile title, as specified in the inspec.yml
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The profile maintainer, as specified in the inspec.yml
	Maintainer string `protobuf:"bytes,3,opt,name=maintainer,proto3" json:"maintainer,omitempty"`
	// The profile copyright, as specified in the inspec.yml
	Copyright string `protobuf:"bytes,4,opt,name=copyright,proto3" json:"copyright,omitempty"`
	// The profile copyright email, as specified in the inspec.yml
	CopyrightEmail string `protobuf:"bytes,5,opt,name=copyright_email,json=copyrightEmail,proto3" json:"copyright_email,omitempty"`
	// The profile license, as specified in the inspec.yml
	License string `protobuf:"bytes,6,opt,name=license,proto3" json:"license,omitempty"`
	// The profile summary, as specified in the inspec.yml
	Summary string `protobuf:"bytes,7,opt,name=summary,proto3" json:"summary,omitempty"`
	// The profile version, as specified in the inspec.yml
	Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"`
	// The Automate user associated with the profile.
	Owner string `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"`
	// The list of operating systems compatible with the profile, as specified in the inspec.yml
	Supports []*Support `protobuf:"bytes,16,rep,name=supports,proto3" json:"supports,omitempty"`
	// The list of dependencies the profile has, as specified in the inspec.yml
	Depends []*Dependency `protobuf:"bytes,17,rep,name=depends,proto3" json:"depends,omitempty"`
	// The SHA256 of the profile.
	Sha256 string   `protobuf:"bytes,18,opt,name=sha256,proto3" json:"sha256,omitempty"`
	Groups []*Group `protobuf:"bytes,19,rep,name=groups,proto3" json:"groups,omitempty"`
	// The list of controls in the profile.
	Controls []*Control `protobuf:"bytes,20,rep,name=controls,proto3" json:"controls,omitempty"`
	// The list of attributes in the profile.
	Attributes []*Attribute `protobuf:"bytes,21,rep,name=attributes,proto3" json:"attributes,omitempty"`
	// The latest version of the profile.
	LatestVersion string `protobuf:"bytes,22,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Profile) ProtoMessage() {}

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

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

func (x *Profile) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Profile) GetMaintainer() string {
	if x != nil {
		return x.Maintainer
	}
	return ""
}

func (x *Profile) GetCopyright() string {
	if x != nil {
		return x.Copyright
	}
	return ""
}

func (x *Profile) GetCopyrightEmail() string {
	if x != nil {
		return x.CopyrightEmail
	}
	return ""
}

func (x *Profile) GetLicense() string {
	if x != nil {
		return x.License
	}
	return ""
}

func (x *Profile) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *Profile) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Profile) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *Profile) GetSupports() []*Support {
	if x != nil {
		return x.Supports
	}
	return nil
}

func (x *Profile) GetDepends() []*Dependency {
	if x != nil {
		return x.Depends
	}
	return nil
}

func (x *Profile) GetSha256() string {
	if x != nil {
		return x.Sha256
	}
	return ""
}

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

func (x *Profile) GetControls() []*Control {
	if x != nil {
		return x.Controls
	}
	return nil
}

func (x *Profile) GetAttributes() []*Attribute {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *Profile) GetLatestVersion() string {
	if x != nil {
		return x.LatestVersion
	}
	return ""
}

type Group struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Title         string                 `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Controls      []string               `protobuf:"bytes,3,rep,name=controls,proto3" json:"controls,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Group) ProtoMessage() {}

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

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

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

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

type Control struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The ID of the control.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The code (test) for the control.
	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
	// The description of the control.
	Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
	// The impact of the control.
	Impact float32 `protobuf:"fixed32,4,opt,name=impact,proto3" json:"impact,omitempty"`
	// The title of the control.
	Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	// Intentionally blank.
	SourceLocation *SourceLocation `protobuf:"bytes,6,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
	// The results of the control tests.
	Results []*Result `protobuf:"bytes,7,rep,name=results,proto3" json:"results,omitempty"`
	// The refs associated with the control.
	Refs []*Ref `protobuf:"bytes,8,rep,name=refs,proto3" json:"refs,omitempty"`
	// The tags associated with the control.
	Tags          map[string]string `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Control) ProtoMessage() {}

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

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

func (x *Control) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *Control) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *Control) GetImpact() float32 {
	if x != nil {
		return x.Impact
	}
	return 0
}

func (x *Control) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Control) GetSourceLocation() *SourceLocation {
	if x != nil {
		return x.SourceLocation
	}
	return nil
}

func (x *Control) GetResults() []*Result {
	if x != nil {
		return x.Results
	}
	return nil
}

func (x *Control) GetRefs() []*Ref {
	if x != nil {
		return x.Refs
	}
	return nil
}

func (x *Control) GetTags() map[string]string {
	if x != nil {
		return x.Tags
	}
	return nil
}

type Ref struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// URL of the ref.
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Ref for the control.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Ref) ProtoMessage() {}

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

func (x *Ref) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Ref) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

type Result struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Status of the test results (passed, failed, skipped).
	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// The code (test) executed.
	CodeDesc string `protobuf:"bytes,2,opt,name=code_desc,json=codeDesc,proto3" json:"code_desc,omitempty"`
	// The amount of time it took to execute the test.
	RunTime float32 `protobuf:"fixed32,3,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"`
	// The time the test started.
	StartTime string `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// The failure message.
	Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
	// Reason for skipping the test.
	SkipMessage   string `protobuf:"bytes,6,opt,name=skip_message,json=skipMessage,proto3" json:"skip_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Result) ProtoMessage() {}

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

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

func (x *Result) GetCodeDesc() string {
	if x != nil {
		return x.CodeDesc
	}
	return ""
}

func (x *Result) GetRunTime() float32 {
	if x != nil {
		return x.RunTime
	}
	return 0
}

func (x *Result) GetStartTime() string {
	if x != nil {
		return x.StartTime
	}
	return ""
}

func (x *Result) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *Result) GetSkipMessage() string {
	if x != nil {
		return x.SkipMessage
	}
	return ""
}

type SourceLocation struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ref           string                 `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
	Line          int32                  `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SourceLocation) ProtoMessage() {}

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

func (x *SourceLocation) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

func (x *SourceLocation) GetLine() int32 {
	if x != nil {
		return x.Line
	}
	return 0
}

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

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

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

func (*Attribute) ProtoMessage() {}

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

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

func (x *Attribute) GetOptions() *Option {
	if x != nil {
		return x.Options
	}
	return nil
}

type Option struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Description   string                 `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Default       string                 `protobuf:"bytes,2,opt,name=default,proto3" json:"default,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Option) ProtoMessage() {}

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

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

func (x *Option) GetDefault() string {
	if x != nil {
		return x.Default
	}
	return ""
}

type Support struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// OS name supported by the profile.
	OsName string `protobuf:"bytes,1,opt,name=os_name,json=osName,proto3" json:"os_name,omitempty"`
	// OS family supported by the profile.
	OsFamily string `protobuf:"bytes,2,opt,name=os_family,json=osFamily,proto3" json:"os_family,omitempty"`
	// OS release supported by the profile.
	Release string `protobuf:"bytes,3,opt,name=release,proto3" json:"release,omitempty"`
	// Minimum InSpec version required for the profile.
	InspecVersion string `protobuf:"bytes,4,opt,name=inspec_version,json=inspecVersion,proto3" json:"inspec_version,omitempty"`
	// Platform supported by the profile.
	Platform      string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Support) ProtoMessage() {}

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

func (x *Support) GetOsName() string {
	if x != nil {
		return x.OsName
	}
	return ""
}

func (x *Support) GetOsFamily() string {
	if x != nil {
		return x.OsFamily
	}
	return ""
}

func (x *Support) GetRelease() string {
	if x != nil {
		return x.Release
	}
	return ""
}

func (x *Support) GetInspecVersion() string {
	if x != nil {
		return x.InspecVersion
	}
	return ""
}

func (x *Support) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

type Dependency struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the profile.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// URL of the profile.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// Path of the profile.
	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	// Git location of the profile.
	Git string `protobuf:"bytes,4,opt,name=git,proto3" json:"git,omitempty"`
	// Branch of the profile.
	Branch string `protobuf:"bytes,5,opt,name=branch,proto3" json:"branch,omitempty"`
	// Tag associated with the profile.
	Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"`
	// Commit sha for the profile.
	Commit string `protobuf:"bytes,7,opt,name=commit,proto3" json:"commit,omitempty"`
	// Version of the profile.
	Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"`
	// Supermarket address of the profile.
	Supermarket string `protobuf:"bytes,9,opt,name=supermarket,proto3" json:"supermarket,omitempty"`
	// Github address of the profile.
	Github string `protobuf:"bytes,10,opt,name=github,proto3" json:"github,omitempty"`
	// Automate address of the profile.
	Compliance    string `protobuf:"bytes,11,opt,name=compliance,proto3" json:"compliance,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Dependency) ProtoMessage() {}

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

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

func (x *Dependency) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Dependency) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Dependency) GetGit() string {
	if x != nil {
		return x.Git
	}
	return ""
}

func (x *Dependency) GetBranch() string {
	if x != nil {
		return x.Branch
	}
	return ""
}

func (x *Dependency) GetTag() string {
	if x != nil {
		return x.Tag
	}
	return ""
}

func (x *Dependency) GetCommit() string {
	if x != nil {
		return x.Commit
	}
	return ""
}

func (x *Dependency) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Dependency) GetSupermarket() string {
	if x != nil {
		return x.Supermarket
	}
	return ""
}

func (x *Dependency) GetGithub() string {
	if x != nil {
		return x.Github
	}
	return ""
}

func (x *Dependency) GetCompliance() string {
	if x != nil {
		return x.Compliance
	}
	return ""
}

type ProfileDetails struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Automate user associated with the profile.
	Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
	// Name of the profile.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the profile.
	Version       string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfileDetails) ProtoMessage() {}

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

func (x *ProfileDetails) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

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

func (x *ProfileDetails) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

type CheckResult struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Intentionally blank.
	Summary *ResultSummary `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"`
	// Errors returned by the `inspec check` command.
	Errors []*CheckMessage `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
	// Warnings returned by the `inspec check` command.
	Warnings      []*CheckMessage `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CheckResult) ProtoMessage() {}

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

func (x *CheckResult) GetSummary() *ResultSummary {
	if x != nil {
		return x.Summary
	}
	return nil
}

func (x *CheckResult) GetErrors() []*CheckMessage {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *CheckResult) GetWarnings() []*CheckMessage {
	if x != nil {
		return x.Warnings
	}
	return nil
}

type ResultSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Boolean that denotes if the profile is valid or not (as reported by `inspec check`).
	Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	// Timestamp of when the `inspec check` command was executed.
	Timestamp string `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Path of the checked profile.
	Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
	// Count of controls in the profile.
	Controls      int32 `protobuf:"varint,4,opt,name=controls,proto3" json:"controls,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResultSummary) ProtoMessage() {}

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

func (x *ResultSummary) GetValid() bool {
	if x != nil {
		return x.Valid
	}
	return false
}

func (x *ResultSummary) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

func (x *ResultSummary) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *ResultSummary) GetControls() int32 {
	if x != nil {
		return x.Controls
	}
	return 0
}

type CheckMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Profile file where the error or warning exists.
	File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	// Profile line where the error or warning exists.
	Line int32 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
	// Column where the error or warning exists.
	Column int32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"`
	// Control ID associated with the error or warning.
	ControlId string `protobuf:"bytes,4,opt,name=control_id,json=controlId,proto3" json:"control_id,omitempty"`
	// Message associated with the error or warning.
	Msg           string `protobuf:"bytes,5,opt,name=msg,proto3" json:"msg,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CheckMessage) ProtoMessage() {}

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

func (x *CheckMessage) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *CheckMessage) GetLine() int32 {
	if x != nil {
		return x.Line
	}
	return 0
}

func (x *CheckMessage) GetColumn() int32 {
	if x != nil {
		return x.Column
	}
	return 0
}

func (x *CheckMessage) GetControlId() string {
	if x != nil {
		return x.ControlId
	}
	return ""
}

func (x *CheckMessage) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

type ListFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of values to filter on.
	Values []string `protobuf:"bytes,20,rep,name=values,proto3" json:"values,omitempty"`
	// The field to filter on.
	Type          string `protobuf:"bytes,21,opt,name=type,proto3" json:"type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListFilter) ProtoMessage() {}

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

func (x *ListFilter) GetValues() []string {
	if x != nil {
		return x.Values
	}
	return nil
}

func (x *ListFilter) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

type Query struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Filters to apply to the query
	Filters []*ListFilter `protobuf:"bytes,20,rep,name=filters,proto3" json:"filters,omitempty"`
	// Order in which to sort. Defaults to ASC.
	Order Query_OrderType `protobuf:"varint,21,opt,name=order,proto3,enum=chef.automate.api.compliance.profiles.v1.Query_OrderType" json:"order,omitempty"`
	// Field on which to sort.
	Sort string `protobuf:"bytes,22,opt,name=sort,proto3" json:"sort,omitempty"`
	// Page of results requested.
	Page int32 `protobuf:"varint,23,opt,name=page,proto3" json:"page,omitempty"`
	// Number of results to return per page.
	PerPage int32 `protobuf:"varint,24,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	// Automate user associated with the profile.
	Owner string `protobuf:"bytes,25,opt,name=owner,proto3" json:"owner,omitempty"`
	// Name of the profile (as defined in `inspec.yml`).
	Name string `protobuf:"bytes,26,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the profile (as defined in `inspec.yml`).
	Version       string `protobuf:"bytes,27,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Query) ProtoMessage() {}

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

func (x *Query) GetFilters() []*ListFilter {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *Query) GetOrder() Query_OrderType {
	if x != nil {
		return x.Order
	}
	return Query_ASC
}

func (x *Query) GetSort() string {
	if x != nil {
		return x.Sort
	}
	return ""
}

func (x *Query) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *Query) GetPerPage() int32 {
	if x != nil {
		return x.PerPage
	}
	return 0
}

func (x *Query) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

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

func (x *Query) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

var File_external_compliance_profiles_profiles_proto protoreflect.FileDescriptor

const file_external_compliance_profiles_profiles_proto_rawDesc = "" +
	"\n" +
	"+external/compliance/profiles/profiles.proto\x12(chef.automate.api.compliance.profiles.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a*external/annotations/iam/annotations.proto\" \n" +
	"\x06Sha256\x12\x16\n" +
	"\x06sha256\x18\x01 \x03(\tR\x06sha256\"0\n" +
	"\aMissing\x12%\n" +
	"\x0emissing_sha256\x18\x01 \x03(\tR\rmissingSha256\"\xb9\x01\n" +
	"\x12ProfilePostRequest\x12\x14\n" +
	"\x05owner\x18\x05 \x01(\tR\x05owner\x12E\n" +
	"\x05chunk\x18\x02 \x01(\v2/.chef.automate.api.compliance.profiles.v1.ChunkR\x05chunk\x12F\n" +
	"\x04meta\x18\x03 \x01(\v22.chef.automate.api.compliance.profiles.v1.MetadataR\x04meta\"[\n" +
	"\bMetadata\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x03 \x01(\tR\aversion\x12!\n" +
	"\fcontent_type\x18\x04 \x01(\tR\vcontentType\"7\n" +
	"\x05Chunk\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\x12\x1a\n" +
	"\bposition\x18\x02 \x01(\x03R\bposition\"e\n" +
	"\vProfileData\x12\x14\n" +
	"\x05owner\x18\x01 \x01(\tR\x05owner\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x03 \x01(\tR\aversion\x12\x12\n" +
	"\x04data\x18\x04 \x01(\fR\x04data\"o\n" +
	"\bProfiles\x12M\n" +
	"\bprofiles\x18\x01 \x03(\v21.chef.automate.api.compliance.profiles.v1.ProfileR\bprofiles\x12\x14\n" +
	"\x05total\x18\x14 \x01(\x05R\x05total\"\xc9\x05\n" +
	"\aProfile\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x1e\n" +
	"\n" +
	"maintainer\x18\x03 \x01(\tR\n" +
	"maintainer\x12\x1c\n" +
	"\tcopyright\x18\x04 \x01(\tR\tcopyright\x12'\n" +
	"\x0fcopyright_email\x18\x05 \x01(\tR\x0ecopyrightEmail\x12\x18\n" +
	"\alicense\x18\x06 \x01(\tR\alicense\x12\x18\n" +
	"\asummary\x18\a \x01(\tR\asummary\x12\x18\n" +
	"\aversion\x18\b \x01(\tR\aversion\x12\x14\n" +
	"\x05owner\x18\t \x01(\tR\x05owner\x12M\n" +
	"\bsupports\x18\x10 \x03(\v21.chef.automate.api.compliance.profiles.v1.SupportR\bsupports\x12N\n" +
	"\adepends\x18\x11 \x03(\v24.chef.automate.api.compliance.profiles.v1.DependencyR\adepends\x12\x16\n" +
	"\x06sha256\x18\x12 \x01(\tR\x06sha256\x12G\n" +
	"\x06groups\x18\x13 \x03(\v2/.chef.automate.api.compliance.profiles.v1.GroupR\x06groups\x12M\n" +
	"\bcontrols\x18\x14 \x03(\v21.chef.automate.api.compliance.profiles.v1.ControlR\bcontrols\x12S\n" +
	"\n" +
	"attributes\x18\x15 \x03(\v23.chef.automate.api.compliance.profiles.v1.AttributeR\n" +
	"attributes\x12%\n" +
	"\x0elatest_version\x18\x16 \x01(\tR\rlatestVersion\"I\n" +
	"\x05Group\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x1a\n" +
	"\bcontrols\x18\x03 \x03(\tR\bcontrols\"\xeb\x03\n" +
	"\aControl\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04code\x18\x02 \x01(\tR\x04code\x12\x12\n" +
	"\x04desc\x18\x03 \x01(\tR\x04desc\x12\x16\n" +
	"\x06impact\x18\x04 \x01(\x02R\x06impact\x12\x14\n" +
	"\x05title\x18\x05 \x01(\tR\x05title\x12a\n" +
	"\x0fsource_location\x18\x06 \x01(\v28.chef.automate.api.compliance.profiles.v1.SourceLocationR\x0esourceLocation\x12J\n" +
	"\aresults\x18\a \x03(\v20.chef.automate.api.compliance.profiles.v1.ResultR\aresults\x12A\n" +
	"\x04refs\x18\b \x03(\v2-.chef.automate.api.compliance.profiles.v1.RefR\x04refs\x12O\n" +
	"\x04tags\x18\t \x03(\v2;.chef.automate.api.compliance.profiles.v1.Control.TagsEntryR\x04tags\x1a7\n" +
	"\tTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\")\n" +
	"\x03Ref\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"\xb4\x01\n" +
	"\x06Result\x12\x16\n" +
	"\x06status\x18\x01 \x01(\tR\x06status\x12\x1b\n" +
	"\tcode_desc\x18\x02 \x01(\tR\bcodeDesc\x12\x19\n" +
	"\brun_time\x18\x03 \x01(\x02R\arunTime\x12\x1d\n" +
	"\n" +
	"start_time\x18\x04 \x01(\tR\tstartTime\x12\x18\n" +
	"\amessage\x18\x05 \x01(\tR\amessage\x12!\n" +
	"\fskip_message\x18\x06 \x01(\tR\vskipMessage\"6\n" +
	"\x0eSourceLocation\x12\x10\n" +
	"\x03ref\x18\x01 \x01(\tR\x03ref\x12\x12\n" +
	"\x04line\x18\x02 \x01(\x05R\x04line\"k\n" +
	"\tAttribute\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12J\n" +
	"\aoptions\x18\x02 \x01(\v20.chef.automate.api.compliance.profiles.v1.OptionR\aoptions\"D\n" +
	"\x06Option\x12 \n" +
	"\vdescription\x18\x01 \x01(\tR\vdescription\x12\x18\n" +
	"\adefault\x18\x02 \x01(\tR\adefault\"\x9c\x01\n" +
	"\aSupport\x12\x17\n" +
	"\aos_name\x18\x01 \x01(\tR\x06osName\x12\x1b\n" +
	"\tos_family\x18\x02 \x01(\tR\bosFamily\x12\x18\n" +
	"\arelease\x18\x03 \x01(\tR\arelease\x12%\n" +
	"\x0einspec_version\x18\x04 \x01(\tR\rinspecVersion\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\"\x8e\x02\n" +
	"\n" +
	"Dependency\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n" +
	"\x03url\x18\x02 \x01(\tR\x03url\x12\x12\n" +
	"\x04path\x18\x03 \x01(\tR\x04path\x12\x10\n" +
	"\x03git\x18\x04 \x01(\tR\x03git\x12\x16\n" +
	"\x06branch\x18\x05 \x01(\tR\x06branch\x12\x10\n" +
	"\x03tag\x18\x06 \x01(\tR\x03tag\x12\x16\n" +
	"\x06commit\x18\a \x01(\tR\x06commit\x12\x18\n" +
	"\aversion\x18\b \x01(\tR\aversion\x12 \n" +
	"\vsupermarket\x18\t \x01(\tR\vsupermarket\x12\x16\n" +
	"\x06github\x18\n" +
	" \x01(\tR\x06github\x12\x1e\n" +
	"\n" +
	"compliance\x18\v \x01(\tR\n" +
	"compliance\"T\n" +
	"\x0eProfileDetails\x12\x14\n" +
	"\x05owner\x18\x01 \x01(\tR\x05owner\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x03 \x01(\tR\aversion\"\x84\x02\n" +
	"\vCheckResult\x12Q\n" +
	"\asummary\x18\x01 \x01(\v27.chef.automate.api.compliance.profiles.v1.ResultSummaryR\asummary\x12N\n" +
	"\x06errors\x18\x02 \x03(\v26.chef.automate.api.compliance.profiles.v1.CheckMessageR\x06errors\x12R\n" +
	"\bwarnings\x18\x03 \x03(\v26.chef.automate.api.compliance.profiles.v1.CheckMessageR\bwarnings\"{\n" +
	"\rResultSummary\x12\x14\n" +
	"\x05valid\x18\x01 \x01(\bR\x05valid\x12\x1c\n" +
	"\ttimestamp\x18\x02 \x01(\tR\ttimestamp\x12\x1a\n" +
	"\blocation\x18\x03 \x01(\tR\blocation\x12\x1a\n" +
	"\bcontrols\x18\x04 \x01(\x05R\bcontrols\"\x7f\n" +
	"\fCheckMessage\x12\x12\n" +
	"\x04file\x18\x01 \x01(\tR\x04file\x12\x12\n" +
	"\x04line\x18\x02 \x01(\x05R\x04line\x12\x16\n" +
	"\x06column\x18\x03 \x01(\x05R\x06column\x12\x1d\n" +
	"\n" +
	"control_id\x18\x04 \x01(\tR\tcontrolId\x12\x10\n" +
	"\x03msg\x18\x05 \x01(\tR\x03msg\"8\n" +
	"\n" +
	"ListFilter\x12\x16\n" +
	"\x06values\x18\x14 \x03(\tR\x06values\x12\x12\n" +
	"\x04type\x18\x15 \x01(\tR\x04type\"\xcf\x02\n" +
	"\x05Query\x12N\n" +
	"\afilters\x18\x14 \x03(\v24.chef.automate.api.compliance.profiles.v1.ListFilterR\afilters\x12O\n" +
	"\x05order\x18\x15 \x01(\x0e29.chef.automate.api.compliance.profiles.v1.Query.OrderTypeR\x05order\x12\x12\n" +
	"\x04sort\x18\x16 \x01(\tR\x04sort\x12\x12\n" +
	"\x04page\x18\x17 \x01(\x05R\x04page\x12\x19\n" +
	"\bper_page\x18\x18 \x01(\x05R\aperPage\x12\x14\n" +
	"\x05owner\x18\x19 \x01(\tR\x05owner\x12\x12\n" +
	"\x04name\x18\x1a \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x1b \x01(\tR\aversion\"\x1e\n" +
	"\tOrderType\x12\a\n" +
	"\x03ASC\x10\x00\x12\b\n" +
	"\x04DESC\x10\x012\x9c\v\n" +
	"\x0fProfilesService\x12\x81\x01\n" +
	"\x06Create\x12<.chef.automate.api.compliance.profiles.v1.ProfilePostRequest\x1a5.chef.automate.api.compliance.profiles.v1.CheckResult\"\x00(\x01\x12\xf9\x01\n" +
	"\x04Read\x128.chef.automate.api.compliance.profiles.v1.ProfileDetails\x1a1.chef.automate.api.compliance.profiles.v1.Profile\"\x83\x01\x8a\xb5\x186\n" +
	"\x1bcompliance:profiles:{owner}\x12\x17compliance:profiles:get\x82\xd3\xe4\x93\x02C\x12A/api/v0/compliance/profiles/read/{owner}/{name}/version/{version}\x12\xfd\x01\n" +
	"\x0eReadFromMarket\x128.chef.automate.api.compliance.profiles.v1.ProfileDetails\x1a1.chef.automate.api.compliance.profiles.v1.Profile\"~\x8a\xb5\x18;\n" +
	"\x1acompliance:profiles:market\x12\x1dcompliance:marketProfiles:get\x82\xd3\xe4\x93\x029\x127/api/v0/compliance/market/read/{name}/version/{version}\x12~\n" +
	"\aReadTar\x128.chef.automate.api.compliance.profiles.v1.ProfileDetails\x1a5.chef.automate.api.compliance.profiles.v1.ProfileData\"\x000\x01\x12\xde\x01\n" +
	"\x06Delete\x128.chef.automate.api.compliance.profiles.v1.ProfileDetails\x1a\x16.google.protobuf.Empty\"\x81\x01\x8a\xb5\x189\n" +
	"\x1bcompliance:profiles:{owner}\x12\x1acompliance:profiles:delete\x82\xd3\xe4\x93\x02>*</api/v0/compliance/profiles/{owner}/{name}/version/{version}\x12\xcd\x01\n" +
	"\x04List\x12/.chef.automate.api.compliance.profiles.v1.Query\x1a2.chef.automate.api.compliance.profiles.v1.Profiles\"`\x8a\xb5\x18/\n" +
	"\x13compliance:profiles\x12\x18compliance:profiles:list\x82\xd3\xe4\x93\x02':\x01*\"\"/api/v0/compliance/profiles/search\x12\xd7\x01\n" +
	"\n" +
	"MetaSearch\x120.chef.automate.api.compliance.profiles.v1.Sha256\x1a1.chef.automate.api.compliance.profiles.v1.Missing\"d\x8a\xb5\x18/\n" +
	"\x13compliance:profiles\x12\x18compliance:profiles:list\x82\xd3\xe4\x93\x02+:\x01*\"&/api/v0/compliance/profiles/metasearchB;Z9github.com/chef/automate/api/external/compliance/profilesb\x06proto3"

var (
	file_external_compliance_profiles_profiles_proto_rawDescOnce sync.Once
	file_external_compliance_profiles_profiles_proto_rawDescData []byte
)

func file_external_compliance_profiles_profiles_proto_rawDescGZIP() []byte {
	file_external_compliance_profiles_profiles_proto_rawDescOnce.Do(func() {
		file_external_compliance_profiles_profiles_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_external_compliance_profiles_profiles_proto_rawDesc), len(file_external_compliance_profiles_profiles_proto_rawDesc)))
	})
	return file_external_compliance_profiles_profiles_proto_rawDescData
}

var file_external_compliance_profiles_profiles_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_external_compliance_profiles_profiles_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_external_compliance_profiles_profiles_proto_goTypes = []any{
	(Query_OrderType)(0),       // 0: chef.automate.api.compliance.profiles.v1.Query.OrderType
	(*Sha256)(nil),             // 1: chef.automate.api.compliance.profiles.v1.Sha256
	(*Missing)(nil),            // 2: chef.automate.api.compliance.profiles.v1.Missing
	(*ProfilePostRequest)(nil), // 3: chef.automate.api.compliance.profiles.v1.ProfilePostRequest
	(*Metadata)(nil),           // 4: chef.automate.api.compliance.profiles.v1.Metadata
	(*Chunk)(nil),              // 5: chef.automate.api.compliance.profiles.v1.Chunk
	(*ProfileData)(nil),        // 6: chef.automate.api.compliance.profiles.v1.ProfileData
	(*Profiles)(nil),           // 7: chef.automate.api.compliance.profiles.v1.Profiles
	(*Profile)(nil),            // 8: chef.automate.api.compliance.profiles.v1.Profile
	(*Group)(nil),              // 9: chef.automate.api.compliance.profiles.v1.Group
	(*Control)(nil),            // 10: chef.automate.api.compliance.profiles.v1.Control
	(*Ref)(nil),                // 11: chef.automate.api.compliance.profiles.v1.Ref
	(*Result)(nil),             // 12: chef.automate.api.compliance.profiles.v1.Result
	(*SourceLocation)(nil),     // 13: chef.automate.api.compliance.profiles.v1.SourceLocation
	(*Attribute)(nil),          // 14: chef.automate.api.compliance.profiles.v1.Attribute
	(*Option)(nil),             // 15: chef.automate.api.compliance.profiles.v1.Option
	(*Support)(nil),            // 16: chef.automate.api.compliance.profiles.v1.Support
	(*Dependency)(nil),         // 17: chef.automate.api.compliance.profiles.v1.Dependency
	(*ProfileDetails)(nil),     // 18: chef.automate.api.compliance.profiles.v1.ProfileDetails
	(*CheckResult)(nil),        // 19: chef.automate.api.compliance.profiles.v1.CheckResult
	(*ResultSummary)(nil),      // 20: chef.automate.api.compliance.profiles.v1.ResultSummary
	(*CheckMessage)(nil),       // 21: chef.automate.api.compliance.profiles.v1.CheckMessage
	(*ListFilter)(nil),         // 22: chef.automate.api.compliance.profiles.v1.ListFilter
	(*Query)(nil),              // 23: chef.automate.api.compliance.profiles.v1.Query
	nil,                        // 24: chef.automate.api.compliance.profiles.v1.Control.TagsEntry
	(*emptypb.Empty)(nil),      // 25: google.protobuf.Empty
}
var file_external_compliance_profiles_profiles_proto_depIdxs = []int32{
	5,  // 0: chef.automate.api.compliance.profiles.v1.ProfilePostRequest.chunk:type_name -> chef.automate.api.compliance.profiles.v1.Chunk
	4,  // 1: chef.automate.api.compliance.profiles.v1.ProfilePostRequest.meta:type_name -> chef.automate.api.compliance.profiles.v1.Metadata
	8,  // 2: chef.automate.api.compliance.profiles.v1.Profiles.profiles:type_name -> chef.automate.api.compliance.profiles.v1.Profile
	16, // 3: chef.automate.api.compliance.profiles.v1.Profile.supports:type_name -> chef.automate.api.compliance.profiles.v1.Support
	17, // 4: chef.automate.api.compliance.profiles.v1.Profile.depends:type_name -> chef.automate.api.compliance.profiles.v1.Dependency
	9,  // 5: chef.automate.api.compliance.profiles.v1.Profile.groups:type_name -> chef.automate.api.compliance.profiles.v1.Group
	10, // 6: chef.automate.api.compliance.profiles.v1.Profile.controls:type_name -> chef.automate.api.compliance.profiles.v1.Control
	14, // 7: chef.automate.api.compliance.profiles.v1.Profile.attributes:type_name -> chef.automate.api.compliance.profiles.v1.Attribute
	13, // 8: chef.automate.api.compliance.profiles.v1.Control.source_location:type_name -> chef.automate.api.compliance.profiles.v1.SourceLocation
	12, // 9: chef.automate.api.compliance.profiles.v1.Control.results:type_name -> chef.automate.api.compliance.profiles.v1.Result
	11, // 10: chef.automate.api.compliance.profiles.v1.Control.refs:type_name -> chef.automate.api.compliance.profiles.v1.Ref
	24, // 11: chef.automate.api.compliance.profiles.v1.Control.tags:type_name -> chef.automate.api.compliance.profiles.v1.Control.TagsEntry
	15, // 12: chef.automate.api.compliance.profiles.v1.Attribute.options:type_name -> chef.automate.api.compliance.profiles.v1.Option
	20, // 13: chef.automate.api.compliance.profiles.v1.CheckResult.summary:type_name -> chef.automate.api.compliance.profiles.v1.ResultSummary
	21, // 14: chef.automate.api.compliance.profiles.v1.CheckResult.errors:type_name -> chef.automate.api.compliance.profiles.v1.CheckMessage
	21, // 15: chef.automate.api.compliance.profiles.v1.CheckResult.warnings:type_name -> chef.automate.api.compliance.profiles.v1.CheckMessage
	22, // 16: chef.automate.api.compliance.profiles.v1.Query.filters:type_name -> chef.automate.api.compliance.profiles.v1.ListFilter
	0,  // 17: chef.automate.api.compliance.profiles.v1.Query.order:type_name -> chef.automate.api.compliance.profiles.v1.Query.OrderType
	3,  // 18: chef.automate.api.compliance.profiles.v1.ProfilesService.Create:input_type -> chef.automate.api.compliance.profiles.v1.ProfilePostRequest
	18, // 19: chef.automate.api.compliance.profiles.v1.ProfilesService.Read:input_type -> chef.automate.api.compliance.profiles.v1.ProfileDetails
	18, // 20: chef.automate.api.compliance.profiles.v1.ProfilesService.ReadFromMarket:input_type -> chef.automate.api.compliance.profiles.v1.ProfileDetails
	18, // 21: chef.automate.api.compliance.profiles.v1.ProfilesService.ReadTar:input_type -> chef.automate.api.compliance.profiles.v1.ProfileDetails
	18, // 22: chef.automate.api.compliance.profiles.v1.ProfilesService.Delete:input_type -> chef.automate.api.compliance.profiles.v1.ProfileDetails
	23, // 23: chef.automate.api.compliance.profiles.v1.ProfilesService.List:input_type -> chef.automate.api.compliance.profiles.v1.Query
	1,  // 24: chef.automate.api.compliance.profiles.v1.ProfilesService.MetaSearch:input_type -> chef.automate.api.compliance.profiles.v1.Sha256
	19, // 25: chef.automate.api.compliance.profiles.v1.ProfilesService.Create:output_type -> chef.automate.api.compliance.profiles.v1.CheckResult
	8,  // 26: chef.automate.api.compliance.profiles.v1.ProfilesService.Read:output_type -> chef.automate.api.compliance.profiles.v1.Profile
	8,  // 27: chef.automate.api.compliance.profiles.v1.ProfilesService.ReadFromMarket:output_type -> chef.automate.api.compliance.profiles.v1.Profile
	6,  // 28: chef.automate.api.compliance.profiles.v1.ProfilesService.ReadTar:output_type -> chef.automate.api.compliance.profiles.v1.ProfileData
	25, // 29: chef.automate.api.compliance.profiles.v1.ProfilesService.Delete:output_type -> google.protobuf.Empty
	7,  // 30: chef.automate.api.compliance.profiles.v1.ProfilesService.List:output_type -> chef.automate.api.compliance.profiles.v1.Profiles
	2,  // 31: chef.automate.api.compliance.profiles.v1.ProfilesService.MetaSearch:output_type -> chef.automate.api.compliance.profiles.v1.Missing
	25, // [25:32] is the sub-list for method output_type
	18, // [18:25] is the sub-list for method input_type
	18, // [18:18] is the sub-list for extension type_name
	18, // [18:18] is the sub-list for extension extendee
	0,  // [0:18] is the sub-list for field type_name
}

func init() { file_external_compliance_profiles_profiles_proto_init() }
func file_external_compliance_profiles_profiles_proto_init() {
	if File_external_compliance_profiles_profiles_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_external_compliance_profiles_profiles_proto_rawDesc), len(file_external_compliance_profiles_profiles_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   24,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_external_compliance_profiles_profiles_proto_goTypes,
		DependencyIndexes: file_external_compliance_profiles_profiles_proto_depIdxs,
		EnumInfos:         file_external_compliance_profiles_profiles_proto_enumTypes,
		MessageInfos:      file_external_compliance_profiles_profiles_proto_msgTypes,
	}.Build()
	File_external_compliance_profiles_profiles_proto = out.File
	file_external_compliance_profiles_profiles_proto_goTypes = nil
	file_external_compliance_profiles_profiles_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

// ProfilesServiceClient is the client API for ProfilesService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ProfilesServiceClient interface {
	// grpc gateway is not able to handle multi-part upload; https://github.com/grpc-ecosystem/grpc-gateway/issues/410
	// so we do not auto-generate the route for profile upload; we instead custom handle with mux
	Create(ctx context.Context, opts ...grpc.CallOption) (ProfilesService_CreateClient, error)
	// Show an installed profile
	//
	// Show the details of an installed profile given the profile name, owner (Automate user associated with the profile), and version.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:get
	Read(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (*Profile, error)
	// Show an available profile
	//
	// Show the details of an un-installed profile using the profile name and version.
	// in the UI, these are the profiles under the "Available" tab.
	// These profiles are created and maintained by Chef, shipped with Chef Automate.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:marketProfiles:get
	ReadFromMarket(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (*Profile, error)
	// grpc gateway is not able to handle streaming; https://github.com/grpc-ecosystem/grpc-gateway/issues/435
	// so we do not auto-generate the route for profile download; we instead custom handle with mux
	ReadTar(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (ProfilesService_ReadTarClient, error)
	// Delete an installed profile
	//
	// Delete an installed profile given the profile name, owner (Automate user associated with the profile), and version.
	// Note: this action "uninstalls" the profile. This has no impact on the market profiles.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:delete
	Delete(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// List all available profiles
	//
	// Lists all profiles available for the Automate instance.
	// Empty params return all "market" profiles.
	// Specifying the `owner` field returns all profiles installed for the specified user.
	//
	// Supports pagination, sorting, and filtering (wildcard supported).
	//
	// Supported sort fields: title, name (default: title)
	// Supported filter fields: name, version, title
	//
	// Example:
	// ```
	// {
	// "filters":[
	// {"type": "title", "values": [ "Dev*"]}
	// ],
	// "page": 1,
	// "per_page": 3,
	// "owner": "admin"
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:list
	List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Profiles, error)
	// Check if one or multiple profiles exist in the metadata database.
	//
	// The endpoint takes an array of compliance profile sha256 IDs and returns the ones that the backend
	// doesn't have metadata (profile title, copyright, controls title, code, tags, etc) for.
	// This is useful when deciding if a compliance report can be sent for ingestion without the associated profile metadata.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:list
	MetaSearch(ctx context.Context, in *Sha256, opts ...grpc.CallOption) (*Missing, error)
}

type profilesServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewProfilesServiceClient(cc grpc.ClientConnInterface) ProfilesServiceClient {
	return &profilesServiceClient{cc}
}

func (c *profilesServiceClient) Create(ctx context.Context, opts ...grpc.CallOption) (ProfilesService_CreateClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ProfilesService_serviceDesc.Streams[0], "/chef.automate.api.compliance.profiles.v1.ProfilesService/Create", opts...)
	if err != nil {
		return nil, err
	}
	x := &profilesServiceCreateClient{stream}
	return x, nil
}

type ProfilesService_CreateClient interface {
	Send(*ProfilePostRequest) error
	CloseAndRecv() (*CheckResult, error)
	grpc.ClientStream
}

type profilesServiceCreateClient struct {
	grpc.ClientStream
}

func (x *profilesServiceCreateClient) Send(m *ProfilePostRequest) error {
	return x.ClientStream.SendMsg(m)
}

func (x *profilesServiceCreateClient) CloseAndRecv() (*CheckResult, error) {
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	m := new(CheckResult)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *profilesServiceClient) Read(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (*Profile, error) {
	out := new(Profile)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.profiles.v1.ProfilesService/Read", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *profilesServiceClient) ReadFromMarket(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (*Profile, error) {
	out := new(Profile)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.profiles.v1.ProfilesService/ReadFromMarket", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *profilesServiceClient) ReadTar(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (ProfilesService_ReadTarClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ProfilesService_serviceDesc.Streams[1], "/chef.automate.api.compliance.profiles.v1.ProfilesService/ReadTar", opts...)
	if err != nil {
		return nil, err
	}
	x := &profilesServiceReadTarClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type ProfilesService_ReadTarClient interface {
	Recv() (*ProfileData, error)
	grpc.ClientStream
}

type profilesServiceReadTarClient struct {
	grpc.ClientStream
}

func (x *profilesServiceReadTarClient) Recv() (*ProfileData, error) {
	m := new(ProfileData)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *profilesServiceClient) Delete(ctx context.Context, in *ProfileDetails, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.profiles.v1.ProfilesService/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *profilesServiceClient) List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Profiles, error) {
	out := new(Profiles)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.profiles.v1.ProfilesService/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *profilesServiceClient) MetaSearch(ctx context.Context, in *Sha256, opts ...grpc.CallOption) (*Missing, error) {
	out := new(Missing)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.profiles.v1.ProfilesService/MetaSearch", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ProfilesServiceServer is the server API for ProfilesService service.
type ProfilesServiceServer interface {
	// grpc gateway is not able to handle multi-part upload; https://github.com/grpc-ecosystem/grpc-gateway/issues/410
	// so we do not auto-generate the route for profile upload; we instead custom handle with mux
	Create(ProfilesService_CreateServer) error
	// Show an installed profile
	//
	// Show the details of an installed profile given the profile name, owner (Automate user associated with the profile), and version.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:get
	Read(context.Context, *ProfileDetails) (*Profile, error)
	// Show an available profile
	//
	// Show the details of an un-installed profile using the profile name and version.
	// in the UI, these are the profiles under the "Available" tab.
	// These profiles are created and maintained by Chef, shipped with Chef Automate.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:marketProfiles:get
	ReadFromMarket(context.Context, *ProfileDetails) (*Profile, error)
	// grpc gateway is not able to handle streaming; https://github.com/grpc-ecosystem/grpc-gateway/issues/435
	// so we do not auto-generate the route for profile download; we instead custom handle with mux
	ReadTar(*ProfileDetails, ProfilesService_ReadTarServer) error
	// Delete an installed profile
	//
	// Delete an installed profile given the profile name, owner (Automate user associated with the profile), and version.
	// Note: this action "uninstalls" the profile. This has no impact on the market profiles.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:delete
	Delete(context.Context, *ProfileDetails) (*emptypb.Empty, error)
	// List all available profiles
	//
	// Lists all profiles available for the Automate instance.
	// Empty params return all "market" profiles.
	// Specifying the `owner` field returns all profiles installed for the specified user.
	//
	// Supports pagination, sorting, and filtering (wildcard supported).
	//
	// Supported sort fields: title, name (default: title)
	// Supported filter fields: name, version, title
	//
	// Example:
	// ```
	// {
	// "filters":[
	// {"type": "title", "values": [ "Dev*"]}
	// ],
	// "page": 1,
	// "per_page": 3,
	// "owner": "admin"
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:list
	List(context.Context, *Query) (*Profiles, error)
	// Check if one or multiple profiles exist in the metadata database.
	//
	// The endpoint takes an array of compliance profile sha256 IDs and returns the ones that the backend
	// doesn't have metadata (profile title, copyright, controls title, code, tags, etc) for.
	// This is useful when deciding if a compliance report can be sent for ingestion without the associated profile metadata.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:profiles:list
	MetaSearch(context.Context, *Sha256) (*Missing, error)
}

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

func (*UnimplementedProfilesServiceServer) Create(ProfilesService_CreateServer) error {
	return status.Errorf(codes.Unimplemented, "method Create not implemented")
}
func (*UnimplementedProfilesServiceServer) Read(context.Context, *ProfileDetails) (*Profile, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Read not implemented")
}
func (*UnimplementedProfilesServiceServer) ReadFromMarket(context.Context, *ProfileDetails) (*Profile, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReadFromMarket not implemented")
}
func (*UnimplementedProfilesServiceServer) ReadTar(*ProfileDetails, ProfilesService_ReadTarServer) error {
	return status.Errorf(codes.Unimplemented, "method ReadTar not implemented")
}
func (*UnimplementedProfilesServiceServer) Delete(context.Context, *ProfileDetails) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (*UnimplementedProfilesServiceServer) List(context.Context, *Query) (*Profiles, error) {
	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (*UnimplementedProfilesServiceServer) MetaSearch(context.Context, *Sha256) (*Missing, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MetaSearch not implemented")
}

func RegisterProfilesServiceServer(s *grpc.Server, srv ProfilesServiceServer) {
	s.RegisterService(&_ProfilesService_serviceDesc, srv)
}

func _ProfilesService_Create_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(ProfilesServiceServer).Create(&profilesServiceCreateServer{stream})
}

type ProfilesService_CreateServer interface {
	SendAndClose(*CheckResult) error
	Recv() (*ProfilePostRequest, error)
	grpc.ServerStream
}

type profilesServiceCreateServer struct {
	grpc.ServerStream
}

func (x *profilesServiceCreateServer) SendAndClose(m *CheckResult) error {
	return x.ServerStream.SendMsg(m)
}

func (x *profilesServiceCreateServer) Recv() (*ProfilePostRequest, error) {
	m := new(ProfilePostRequest)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _ProfilesService_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ProfileDetails)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProfilesServiceServer).Read(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.profiles.v1.ProfilesService/Read",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProfilesServiceServer).Read(ctx, req.(*ProfileDetails))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProfilesService_ReadFromMarket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ProfileDetails)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProfilesServiceServer).ReadFromMarket(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.profiles.v1.ProfilesService/ReadFromMarket",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProfilesServiceServer).ReadFromMarket(ctx, req.(*ProfileDetails))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProfilesService_ReadTar_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ProfileDetails)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ProfilesServiceServer).ReadTar(m, &profilesServiceReadTarServer{stream})
}

type ProfilesService_ReadTarServer interface {
	Send(*ProfileData) error
	grpc.ServerStream
}

type profilesServiceReadTarServer struct {
	grpc.ServerStream
}

func (x *profilesServiceReadTarServer) Send(m *ProfileData) error {
	return x.ServerStream.SendMsg(m)
}

func _ProfilesService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ProfileDetails)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProfilesServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.profiles.v1.ProfilesService/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProfilesServiceServer).Delete(ctx, req.(*ProfileDetails))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProfilesService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Query)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProfilesServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.profiles.v1.ProfilesService/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProfilesServiceServer).List(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProfilesService_MetaSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Sha256)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProfilesServiceServer).MetaSearch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.profiles.v1.ProfilesService/MetaSearch",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProfilesServiceServer).MetaSearch(ctx, req.(*Sha256))
	}
	return interceptor(ctx, in, info, handler)
}

var _ProfilesService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.api.compliance.profiles.v1.ProfilesService",
	HandlerType: (*ProfilesServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Read",
			Handler:    _ProfilesService_Read_Handler,
		},
		{
			MethodName: "ReadFromMarket",
			Handler:    _ProfilesService_ReadFromMarket_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _ProfilesService_Delete_Handler,
		},
		{
			MethodName: "List",
			Handler:    _ProfilesService_List_Handler,
		},
		{
			MethodName: "MetaSearch",
			Handler:    _ProfilesService_MetaSearch_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Create",
			Handler:       _ProfilesService_Create_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "ReadTar",
			Handler:       _ProfilesService_ReadTar_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "external/compliance/profiles/profiles.proto",
}
