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

package reporting

import (
	context "context"
	_ "github.com/chef/automate/api/external/annotations/iam"
	common "github.com/chef/automate/api/external/common"
	version "github.com/chef/automate/api/external/common/version"
	_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
	_ "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"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// Sort the results in ascending or descending order.
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_reporting_reporting_proto_enumTypes[0].Descriptor()
}

func (Query_OrderType) Type() protoreflect.EnumType {
	return &file_external_compliance_reporting_reporting_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_reporting_reporting_proto_rawDescGZIP(), []int{7, 0}
}

type ControlItemRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The term to use to match resources on.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// The maximum number of controls to return (Default 100).
	Size int32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	// The offset for paginating requests. An offset defines a place in the results in order to show the next page of the results. (Default 1)
	PageNumber int32 `protobuf:"varint,3,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
	// The criteria used to filter the controls returned.
	Filters       []*ListFilter `protobuf:"bytes,4,rep,name=filters,proto3" json:"filters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ControlItemRequest) ProtoMessage() {}

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

func (x *ControlItemRequest) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *ControlItemRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *ControlItemRequest) GetPageNumber() int32 {
	if x != nil {
		return x.PageNumber
	}
	return 0
}

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

type WaiverData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The waived state of the control item. Possible values: `yes`, `yes_run`, `no`, `no_expired`.
	WaivedStr string `protobuf:"bytes,1,opt,name=waived_str,json=waivedStr,proto3" json:"waived_str,omitempty"`
	// The expiration date for the waiver. After this date, the control is no longer waived.
	ExpirationDate string `protobuf:"bytes,2,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"`
	// The reason for the waiver.
	Justification string `protobuf:"bytes,3,opt,name=justification,proto3" json:"justification,omitempty"`
	// Intentionally blank.
	WaiverSummary *ControlSummary `protobuf:"bytes,4,opt,name=waiver_summary,json=waiverSummary,proto3" json:"waiver_summary,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WaiverData) ProtoMessage() {}

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

func (x *WaiverData) GetWaivedStr() string {
	if x != nil {
		return x.WaivedStr
	}
	return ""
}

func (x *WaiverData) GetExpirationDate() string {
	if x != nil {
		return x.ExpirationDate
	}
	return ""
}

func (x *WaiverData) GetJustification() string {
	if x != nil {
		return x.Justification
	}
	return ""
}

func (x *WaiverData) GetWaiverSummary() *ControlSummary {
	if x != nil {
		return x.WaiverSummary
	}
	return nil
}

type RemovedResultsCounts struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of results with status of `failed` that have been trimmed (removed) from a control
	Failed int32 `protobuf:"varint,1,opt,name=failed,proto3" json:"failed,omitempty"`
	// The number of results with status of `skipped` that have been trimmed (removed) from a control
	Skipped int32 `protobuf:"varint,2,opt,name=skipped,proto3" json:"skipped,omitempty"`
	// The number of results with status of `passed` that have been trimmed (removed) from a control
	Passed        int32 `protobuf:"varint,3,opt,name=passed,proto3" json:"passed,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RemovedResultsCounts) ProtoMessage() {}

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

func (x *RemovedResultsCounts) GetFailed() int32 {
	if x != nil {
		return x.Failed
	}
	return 0
}

func (x *RemovedResultsCounts) GetSkipped() int32 {
	if x != nil {
		return x.Skipped
	}
	return 0
}

func (x *RemovedResultsCounts) GetPassed() int32 {
	if x != nil {
		return x.Passed
	}
	return 0
}

type ControlItem struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The control's unique ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The control's compact description.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// Intentionally blank.
	Profile *ProfileMin `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"`
	// The severity of the control.
	Impact float32 `protobuf:"fixed32,4,opt,name=impact,proto3" json:"impact,omitempty"`
	// The time the report using the control was submitted at.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// Intentionally blank.
	ControlSummary *ControlSummary `protobuf:"bytes,6,opt,name=control_summary,json=controlSummary,proto3" json:"control_summary,omitempty"`
	// A list of waivers for the nodes affected by this control.
	Waivers       []*WaiverData `protobuf:"bytes,7,rep,name=waivers,proto3" json:"waivers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ControlItem) ProtoMessage() {}

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

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

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

func (x *ControlItem) GetProfile() *ProfileMin {
	if x != nil {
		return x.Profile
	}
	return nil
}

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

func (x *ControlItem) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

func (x *ControlItem) GetControlSummary() *ControlSummary {
	if x != nil {
		return x.ControlSummary
	}
	return nil
}

func (x *ControlItem) GetWaivers() []*WaiverData {
	if x != nil {
		return x.Waivers
	}
	return nil
}

type ControlItems struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The paginated results of controls matching the filters.
	ControlItems []*ControlItem `protobuf:"bytes,1,rep,name=control_items,json=controlItems,proto3" json:"control_items,omitempty"`
	// The summary totals for this list of control items
	ControlSummaryTotals *ControlSummary `protobuf:"bytes,2,opt,name=control_summary_totals,json=controlSummaryTotals,proto3" json:"control_summary_totals,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*ControlItems) ProtoMessage() {}

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

func (x *ControlItems) GetControlItems() []*ControlItem {
	if x != nil {
		return x.ControlItems
	}
	return nil
}

func (x *ControlItems) GetControlSummaryTotals() *ControlSummary {
	if x != nil {
		return x.ControlSummaryTotals
	}
	return nil
}

type TimeQuery struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	StartTime     *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TimeQuery) ProtoMessage() {}

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

func (x *TimeQuery) GetStartTime() *timestamppb.Timestamp {
	if x != nil {
		return x.StartTime
	}
	return nil
}

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

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

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

func (*Id) ProtoMessage() {}

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

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

type Query struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Unique identifier.
	Id string `protobuf:"bytes,18,opt,name=id,proto3" json:"id,omitempty"`
	// File type, either JSON or CSV.
	Type string `protobuf:"bytes,19,opt,name=type,proto3" json:"type,omitempty"`
	// Filters applied to the report results.
	Filters []*ListFilter   `protobuf:"bytes,20,rep,name=filters,proto3" json:"filters,omitempty"`
	Order   Query_OrderType `protobuf:"varint,21,opt,name=order,proto3,enum=chef.automate.api.compliance.reporting.v1.Query_OrderType" json:"order,omitempty"`
	// Sort the list of results by a field.
	Sort string `protobuf:"bytes,22,opt,name=sort,proto3" json:"sort,omitempty"`
	// The offset for paginating requests. An offset defines a place in the results in order to show the next page of the results.
	Page int32 `protobuf:"varint,23,opt,name=page,proto3" json:"page,omitempty"`
	// The number of results on each paginated request page.
	PerPage       int32 `protobuf:"varint,24,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Query) Reset() {
	*x = Query{}
	mi := &file_external_compliance_reporting_reporting_proto_msgTypes[7]
	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_reporting_reporting_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 Query.ProtoReflect.Descriptor instead.
func (*Query) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{7}
}

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

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

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
}

type ListFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Filters applied to the list.
	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_reporting_reporting_proto_msgTypes[8]
	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_reporting_reporting_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 ListFilter.ProtoReflect.Descriptor instead.
func (*ListFilter) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{8}
}

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 ""
}

// A subtotal of controls.
type Total struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The total number of controls.
	Total         int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Total) ProtoMessage() {}

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

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

// Stats of failed controls.
type Failed struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The total number of failed controls.
	Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	// The number of failed controls with minor severity.
	Minor int32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
	// The number of failed controls with major severity.
	Major int32 `protobuf:"varint,3,opt,name=major,proto3" json:"major,omitempty"`
	// The number of failed controls with critical severity.
	Critical      int32 `protobuf:"varint,4,opt,name=critical,proto3" json:"critical,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Failed) ProtoMessage() {}

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

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

func (x *Failed) GetMinor() int32 {
	if x != nil {
		return x.Minor
	}
	return 0
}

func (x *Failed) GetMajor() int32 {
	if x != nil {
		return x.Major
	}
	return 0
}

func (x *Failed) GetCritical() int32 {
	if x != nil {
		return x.Critical
	}
	return 0
}

// A minimal representation of the statuses of the controls in the report.
type ControlSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The total number of controls in the report.
	Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	// Intentionally blank.
	Passed *Total `protobuf:"bytes,2,opt,name=passed,proto3" json:"passed,omitempty"`
	// Intentionally blank.
	Skipped *Total `protobuf:"bytes,3,opt,name=skipped,proto3" json:"skipped,omitempty"`
	// Intentionally blank.
	Failed *Failed `protobuf:"bytes,4,opt,name=failed,proto3" json:"failed,omitempty"`
	// Intentionally blank.
	Waived        *Total `protobuf:"bytes,5,opt,name=waived,proto3" json:"waived,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ControlSummary) ProtoMessage() {}

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

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

func (x *ControlSummary) GetPassed() *Total {
	if x != nil {
		return x.Passed
	}
	return nil
}

func (x *ControlSummary) GetSkipped() *Total {
	if x != nil {
		return x.Skipped
	}
	return nil
}

func (x *ControlSummary) GetFailed() *Failed {
	if x != nil {
		return x.Failed
	}
	return nil
}

func (x *ControlSummary) GetWaived() *Total {
	if x != nil {
		return x.Waived
	}
	return nil
}

// ReportsSummaryLevelOne used for ListReports call
type ReportsSummaryLevelOne struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Paginated results of summary level reports matching the filters.
	Reports []*ReportSummaryLevelOne `protobuf:"bytes,1,rep,name=reports,proto3" json:"reports,omitempty"`
	// Total number of reports matching the filters.
	Total         int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportsSummaryLevelOne) ProtoMessage() {}

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

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

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

type ReportSummaryLevelOne struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A unique report identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The reporting node's unique ID.
	NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// The reporting node name.
	NodeName string `protobuf:"bytes,3,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	// The time that the report was completed.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// The status of the run the report was made from.
	Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	// Intentionally blank.
	Controls *ControlSummary `protobuf:"bytes,6,opt,name=controls,proto3" json:"controls,omitempty"`
	// The reporting node IP address.
	Ipaddress     string `protobuf:"bytes,7,opt,name=ipaddress,proto3" json:"ipaddress,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportSummaryLevelOne) ProtoMessage() {}

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

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

func (x *ReportSummaryLevelOne) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *ReportSummaryLevelOne) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *ReportSummaryLevelOne) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

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

func (x *ReportSummaryLevelOne) GetControls() *ControlSummary {
	if x != nil {
		return x.Controls
	}
	return nil
}

func (x *ReportSummaryLevelOne) GetIpaddress() string {
	if x != nil {
		return x.Ipaddress
	}
	return ""
}

type Reports struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Paginated results of reports matching the filters.
	Reports []*Report `protobuf:"bytes,1,rep,name=reports,proto3" json:"reports,omitempty"`
	// Total number of reports matching the filters.
	Total         int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Reports) ProtoMessage() {}

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

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

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

type Report struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A unique report identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The reporting node's unique ID.
	NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// The reporting node name.
	NodeName string `protobuf:"bytes,3,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	// The time that the report was completed.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// The status of the run the report was made from.
	Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	// Intentionally blank.
	Controls *ControlSummary `protobuf:"bytes,6,opt,name=controls,proto3" json:"controls,omitempty"`
	// The environment of the node making the report.
	Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"`
	// The version of the report.
	Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"`
	// Intentionally blank.
	Platform *Platform `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"`
	// Intentionally blank.
	Statistics *Statistics `protobuf:"bytes,10,opt,name=statistics,proto3" json:"statistics,omitempty"`
	// The profiles run as part of this report.
	Profiles []*Profile `protobuf:"bytes,11,rep,name=profiles,proto3" json:"profiles,omitempty"`
	// The compliance scan job ID associated with the report.
	JobId string `protobuf:"bytes,12,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// The reporting node IP address.
	Ipaddress string `protobuf:"bytes,13,opt,name=ipaddress,proto3" json:"ipaddress,omitempty"`
	// The FQDN (fully qualified domain name) of the node making the report.
	Fqdn string `protobuf:"bytes,14,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
	// The Chef Infra Server that manages the node making the report.
	ChefServer string `protobuf:"bytes,15,opt,name=chef_server,json=chefServer,proto3" json:"chef_server,omitempty"`
	// The Organization the node belongs to.
	ChefOrganization string `protobuf:"bytes,16,opt,name=chef_organization,json=chefOrganization,proto3" json:"chef_organization,omitempty"`
	// The Roles associated with the node.
	Roles []string `protobuf:"bytes,17,rep,name=roles,proto3" json:"roles,omitempty"`
	// The Chef Tags associated with the node.
	ChefTags []string `protobuf:"bytes,18,rep,name=chef_tags,json=chefTags,proto3" json:"chef_tags,omitempty"`
	// The projects the node is assigned to.
	Projects []string `protobuf:"bytes,20,rep,name=projects,proto3" json:"projects,omitempty"`
	// The status message of the report.
	StatusMessage string `protobuf:"bytes,21,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Report) ProtoMessage() {}

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

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

func (x *Report) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *Report) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *Report) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

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

func (x *Report) GetControls() *ControlSummary {
	if x != nil {
		return x.Controls
	}
	return nil
}

func (x *Report) GetEnvironment() string {
	if x != nil {
		return x.Environment
	}
	return ""
}

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

func (x *Report) GetPlatform() *Platform {
	if x != nil {
		return x.Platform
	}
	return nil
}

func (x *Report) GetStatistics() *Statistics {
	if x != nil {
		return x.Statistics
	}
	return nil
}

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

func (x *Report) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *Report) GetIpaddress() string {
	if x != nil {
		return x.Ipaddress
	}
	return ""
}

func (x *Report) GetFqdn() string {
	if x != nil {
		return x.Fqdn
	}
	return ""
}

func (x *Report) GetChefServer() string {
	if x != nil {
		return x.ChefServer
	}
	return ""
}

func (x *Report) GetChefOrganization() string {
	if x != nil {
		return x.ChefOrganization
	}
	return ""
}

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

func (x *Report) GetChefTags() []string {
	if x != nil {
		return x.ChefTags
	}
	return nil
}

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

func (x *Report) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

type NodeHeaderInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The reporting node's unique ID.
	NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// The reporting node name.
	NodeName string `protobuf:"bytes,2,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"`
	// The time that the report was completed.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// The status of the run the report was made from.
	Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	// The environment of the node making the report.
	Environment string `protobuf:"bytes,5,opt,name=environment,proto3" json:"environment,omitempty"`
	// The version of the report.
	Version string `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"`
	// Intentionally blank.
	Platform *Platform `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform,omitempty"`
	// The profiles run as part of this report.
	Profiles []*NodeHeaderProfileInfo `protobuf:"bytes,8,rep,name=profiles,proto3" json:"profiles,omitempty"`
	// The Roles associated with the node.
	Roles []string `protobuf:"bytes,9,rep,name=roles,proto3" json:"roles,omitempty"`
	// The status message of the report.
	StatusMessage string `protobuf:"bytes,10,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NodeHeaderInfo) ProtoMessage() {}

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

func (x *NodeHeaderInfo) GetNodeId() string {
	if x != nil {
		return x.NodeId
	}
	return ""
}

func (x *NodeHeaderInfo) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *NodeHeaderInfo) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

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

func (x *NodeHeaderInfo) GetEnvironment() string {
	if x != nil {
		return x.Environment
	}
	return ""
}

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

func (x *NodeHeaderInfo) GetPlatform() *Platform {
	if x != nil {
		return x.Platform
	}
	return nil
}

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

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

func (x *NodeHeaderInfo) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

type ReportIds struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of unique report identifiers found matching the query.
	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	// The list of unique report identifiers with their respective end_time, found matching the query.
	ReportData    []*ReportData `protobuf:"bytes,2,rep,name=report_data,json=reportData,proto3" json:"report_data,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportIds) ProtoMessage() {}

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

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

func (x *ReportIds) GetReportData() []*ReportData {
	if x != nil {
		return x.ReportData
	}
	return nil
}

type ReportData struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The report run_uuid
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The time in UTC that the scan was completed
	EndTime       *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ReportData) ProtoMessage() {}

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

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

func (x *ReportData) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

type Profile struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the profile. Must be unique.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The profile title.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The maintainer listed in the profile metadata.
	Maintainer string `protobuf:"bytes,3,opt,name=maintainer,proto3" json:"maintainer,omitempty"`
	// The name of the copyright holder.
	Copyright string `protobuf:"bytes,4,opt,name=copyright,proto3" json:"copyright,omitempty"`
	// The contact information for the copyright holder.
	CopyrightEmail string `protobuf:"bytes,5,opt,name=copyright_email,json=copyrightEmail,proto3" json:"copyright_email,omitempty"`
	// The license the profile is released under.
	License string `protobuf:"bytes,6,opt,name=license,proto3" json:"license,omitempty"`
	// A short description of the profile.
	Summary string `protobuf:"bytes,7,opt,name=summary,proto3" json:"summary,omitempty"`
	// The version of the profile.
	Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"`
	// The name of the account that uploaded the profile to Automate.
	Owner string `protobuf:"bytes,9,opt,name=owner,proto3" json:"owner,omitempty"`
	// The combined name and version of the profile.
	Full string `protobuf:"bytes,10,opt,name=full,proto3" json:"full,omitempty"`
	// The supported platform targets.
	Supports []*Support `protobuf:"bytes,16,rep,name=supports,proto3" json:"supports,omitempty"`
	// Other profiles that this profile depends on.
	Depends []*Dependency `protobuf:"bytes,17,rep,name=depends,proto3" json:"depends,omitempty"`
	// A unique value generated from the profile used to identify it.
	Sha256 string `protobuf:"bytes,18,opt,name=sha256,proto3" json:"sha256,omitempty"`
	// The groups of controls defined in the profile.
	Groups []*Group `protobuf:"bytes,19,rep,name=groups,proto3" json:"groups,omitempty"`
	// The controls defined on the profile.
	Controls []*Control `protobuf:"bytes,20,rep,name=controls,proto3" json:"controls,omitempty"`
	// The attributes defined on the profile.
	Attributes []*Attribute `protobuf:"bytes,21,rep,name=attributes,proto3" json:"attributes,omitempty"`
	// The highest version number of the profile stored in Automate.
	LatestVersion string `protobuf:"bytes,22,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"`
	// The status of the profile in the generated report.
	Status string `protobuf:"bytes,23,opt,name=status,proto3" json:"status,omitempty"`
	// The reason this profile was skipped in the generated report, if any.
	SkipMessage string `protobuf:"bytes,24,opt,name=skip_message,json=skipMessage,proto3" json:"skip_message,omitempty"`
	// A message to detail the reason why a profile is skipped or failed in the generated report.
	StatusMessage string `protobuf:"bytes,25,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Profile) Reset() {
	*x = Profile{}
	mi := &file_external_compliance_reporting_reporting_proto_msgTypes[19]
	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_reporting_reporting_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 Profile.ProtoReflect.Descriptor instead.
func (*Profile) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{19}
}

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) GetFull() string {
	if x != nil {
		return x.Full
	}
	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 ""
}

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

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

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

type NodeHeaderProfileInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the profile. Must be unique.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The status of the profile in the generated report.
	Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	// A message to detail the reason why a profile is skipped or failed in the generated report.
	StatusMessage string `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NodeHeaderProfileInfo) ProtoMessage() {}

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

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

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

func (x *NodeHeaderProfileInfo) GetStatusMessage() string {
	if x != nil {
		return x.StatusMessage
	}
	return ""
}

type Ref struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The external document URL.
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// A description of the external document.
	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_reporting_reporting_proto_msgTypes[21]
	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_reporting_reporting_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 Ref.ProtoReflect.Descriptor instead.
func (*Ref) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{21}
}

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"`
	// The status of the test.
	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// The description of the test.
	CodeDesc string `protobuf:"bytes,2,opt,name=code_desc,json=codeDesc,proto3" json:"code_desc,omitempty"`
	// The time taken to run the test.
	RunTime float32 `protobuf:"fixed32,3,opt,name=run_time,json=runTime,proto3" json:"run_time,omitempty"`
	// The timestamp of when this individual test was run.
	StartTime string `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// The reason the test failed, if any.
	Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
	// The reason the test was skipped, if any.
	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_reporting_reporting_proto_msgTypes[22]
	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_reporting_reporting_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 Result.ProtoReflect.Descriptor instead.
func (*Result) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{22}
}

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"`
	// The source code file the control is defined in.
	Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
	// The line number the control is defined on.
	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_reporting_reporting_proto_msgTypes[23]
	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_reporting_reporting_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 SourceLocation.ProtoReflect.Descriptor instead.
func (*SourceLocation) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{23}
}

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 Option struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The description of the attribute.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// The default value of the attribute.
	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_reporting_reporting_proto_msgTypes[24]
	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_reporting_reporting_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 Option.ProtoReflect.Descriptor instead.
func (*Option) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{24}
}

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"`
	// The name of the supported operating system.
	OsName string `protobuf:"bytes,1,opt,name=os_name,json=osName,proto3" json:"os_name,omitempty"`
	// The wider category of supported platform (e.g., linux, windows).
	OsFamily string `protobuf:"bytes,2,opt,name=os_family,json=osFamily,proto3" json:"os_family,omitempty"`
	// The specific operating system release number this profile supports.
	Release string `protobuf:"bytes,3,opt,name=release,proto3" json:"release,omitempty"`
	// The supported inspec version for this profile.
	InspecVersion string `protobuf:"bytes,4,opt,name=inspec_version,json=inspecVersion,proto3" json:"inspec_version,omitempty"`
	// The platform name and version combined.
	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_reporting_reporting_proto_msgTypes[25]
	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_reporting_reporting_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 Support.ProtoReflect.Descriptor instead.
func (*Support) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{25}
}

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"`
	// The name of the profile.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The URL of the profile accessible over HTTP or HTTPS.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// The path to the profile on disk.
	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	// The git URL of the profile.
	Git string `protobuf:"bytes,4,opt,name=git,proto3" json:"git,omitempty"`
	// The specific git branch of the dependency.
	Branch string `protobuf:"bytes,5,opt,name=branch,proto3" json:"branch,omitempty"`
	// The specific git tag of the dependency.
	Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"`
	// The specific git commit of the dependency.
	Commit string `protobuf:"bytes,7,opt,name=commit,proto3" json:"commit,omitempty"`
	// The specific git version of the dependency.
	Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"`
	// The name of the dependency stored in Chef Supermarket.
	Supermarket string `protobuf:"bytes,9,opt,name=supermarket,proto3" json:"supermarket,omitempty"`
	// The short name of the dependency stored on Github.
	Github string `protobuf:"bytes,10,opt,name=github,proto3" json:"github,omitempty"`
	// The short name of the dependency stored on the Chef Automate or Chef Compliance server.
	Compliance string `protobuf:"bytes,11,opt,name=compliance,proto3" json:"compliance,omitempty"`
	// The status of the dependency in the report.
	Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"`
	// The reason this profile was skipped in the generated report, if any.
	SkipMessage   string `protobuf:"bytes,13,opt,name=skip_message,json=skipMessage,proto3" json:"skip_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Dependency) Reset() {
	*x = Dependency{}
	mi := &file_external_compliance_reporting_reporting_proto_msgTypes[26]
	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_reporting_reporting_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 Dependency.ProtoReflect.Descriptor instead.
func (*Dependency) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{26}
}

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 ""
}

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

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

type Group struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the file the controls are defined in.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The title of control group.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The ids of the controls defined in this file.
	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_reporting_reporting_proto_msgTypes[27]
	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_reporting_reporting_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 Group.ProtoReflect.Descriptor instead.
func (*Group) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{27}
}

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 unique ID of this control.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The full ruby code of the control defined in the profile.
	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
	// The full description of the control.
	Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
	// The severity of the control.
	Impact float32 `protobuf:"fixed32,4,opt,name=impact,proto3" json:"impact,omitempty"`
	// The compact description 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 running all tests defined in the control against the node.
	Results []*Result `protobuf:"bytes,7,rep,name=results,proto3" json:"results,omitempty"`
	// External supporting documents for the control.
	Refs []*Ref `protobuf:"bytes,8,rep,name=refs,proto3" json:"refs,omitempty"`
	// Metadata defined on the control in key-value format.
	Tags string `protobuf:"bytes,9,opt,name=tags,proto3" json:"tags,omitempty"`
	// Indicates if the control has been waived or not
	WaivedStr string `protobuf:"bytes,11,opt,name=waived_str,json=waivedStr,proto3" json:"waived_str,omitempty"`
	// Additional details for waived controls
	WaiverData *OrigWaiverData `protobuf:"bytes,12,opt,name=waiver_data,json=waiverData,proto3" json:"waiver_data,omitempty"`
	// When the control results are removed to reduce the size of the report, this summarize the status of the trimmed results.
	RemovedResultsCounts *RemovedResultsCounts `protobuf:"bytes,13,opt,name=removed_results_counts,json=removedResultsCounts,proto3" json:"removed_results_counts,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *Control) Reset() {
	*x = Control{}
	mi := &file_external_compliance_reporting_reporting_proto_msgTypes[28]
	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_reporting_reporting_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 Control.ProtoReflect.Descriptor instead.
func (*Control) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{28}
}

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() string {
	if x != nil {
		return x.Tags
	}
	return ""
}

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

func (x *Control) GetWaiverData() *OrigWaiverData {
	if x != nil {
		return x.WaiverData
	}
	return nil
}

func (x *Control) GetRemovedResultsCounts() *RemovedResultsCounts {
	if x != nil {
		return x.RemovedResultsCounts
	}
	return nil
}

// OrigWaiverData as it originally came from the InSpec report
// Will supplement this with waived_str to make consumption easier
type OrigWaiverData struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	ExpirationDate     string                 `protobuf:"bytes,1,opt,name=expiration_date,json=expirationDate,proto3" json:"expiration_date,omitempty"`
	Justification      string                 `protobuf:"bytes,2,opt,name=justification,proto3" json:"justification,omitempty"`
	Run                bool                   `protobuf:"varint,3,opt,name=run,proto3" json:"run,omitempty"`
	SkippedDueToWaiver bool                   `protobuf:"varint,4,opt,name=skipped_due_to_waiver,json=skippedDueToWaiver,proto3" json:"skipped_due_to_waiver,omitempty"`
	Message            string                 `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*OrigWaiverData) ProtoMessage() {}

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

func (x *OrigWaiverData) GetExpirationDate() string {
	if x != nil {
		return x.ExpirationDate
	}
	return ""
}

func (x *OrigWaiverData) GetJustification() string {
	if x != nil {
		return x.Justification
	}
	return ""
}

func (x *OrigWaiverData) GetRun() bool {
	if x != nil {
		return x.Run
	}
	return false
}

func (x *OrigWaiverData) GetSkippedDueToWaiver() bool {
	if x != nil {
		return x.SkippedDueToWaiver
	}
	return false
}

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

type Attribute struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the attribute.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The options defined for the attribute.
	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_reporting_reporting_proto_msgTypes[30]
	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_reporting_reporting_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 Attribute.ProtoReflect.Descriptor instead.
func (*Attribute) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{30}
}

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
}

// The name and version of the node's operating system.
type Platform struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the node's operating system.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The version of the node's operating system.
	Release string `protobuf:"bytes,2,opt,name=release,proto3" json:"release,omitempty"`
	// The combined name and version of the node's operating system.
	Full          string `protobuf:"bytes,3,opt,name=full,proto3" json:"full,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Platform) ProtoMessage() {}

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

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

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

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

// Statistics of the report's run.
type Statistics struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The duration of the report's generation time.
	Duration      float32 `protobuf:"fixed32,1,opt,name=duration,proto3" json:"duration,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Statistics) ProtoMessage() {}

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

func (x *Statistics) GetDuration() float32 {
	if x != nil {
		return x.Duration
	}
	return 0
}

type SuggestionRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The type of resource to get suggestions for.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// The term to use to match resources on.
	Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
	// The maximum number of suggestions to return.
	Size int32 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	// The criteria used to filter the suggestions returned.
	Filters []*ListFilter `protobuf:"bytes,4,rep,name=filters,proto3" json:"filters,omitempty"`
	// The key (e.g. control_tag_key) to use for the type search.
	TypeKey       string `protobuf:"bytes,5,opt,name=type_key,json=typeKey,proto3" json:"type_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SuggestionRequest) ProtoMessage() {}

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

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

func (x *SuggestionRequest) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *SuggestionRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

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

func (x *SuggestionRequest) GetTypeKey() string {
	if x != nil {
		return x.TypeKey
	}
	return ""
}

type Suggestion struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The content that matched the search term.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// The ID of the resource that was suggested.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// The confidence in the match quality.
	Score float32 `protobuf:"fixed32,3,opt,name=score,proto3" json:"score,omitempty"`
	// The version of the suggestion.
	Version       string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Suggestion) ProtoMessage() {}

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

// Deprecated: Use Suggestion.ProtoReflect.Descriptor instead.
func (*Suggestion) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{34}
}

func (x *Suggestion) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

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

func (x *Suggestion) GetScore() float32 {
	if x != nil {
		return x.Score
	}
	return 0
}

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

type Suggestions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of returned suggestions.
	Suggestions   []*Suggestion `protobuf:"bytes,1,rep,name=suggestions,proto3" json:"suggestions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Suggestions) ProtoMessage() {}

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

// Deprecated: Use Suggestions.ProtoReflect.Descriptor instead.
func (*Suggestions) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{35}
}

func (x *Suggestions) GetSuggestions() []*Suggestion {
	if x != nil {
		return x.Suggestions
	}
	return nil
}

type ProfileMins struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Minimal representations of the profiles matching the filters.
	Profiles []*ProfileMin `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles,omitempty"`
	// Intentionally blank.
	Counts        *ProfileCounts `protobuf:"bytes,2,opt,name=counts,proto3" json:"counts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfileMins) ProtoMessage() {}

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

// Deprecated: Use ProfileMins.ProtoReflect.Descriptor instead.
func (*ProfileMins) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{36}
}

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

func (x *ProfileMins) GetCounts() *ProfileCounts {
	if x != nil {
		return x.Counts
	}
	return nil
}

// Stats on the statuses of nodes matching the filters.
type ProfileCounts struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The total number of nodes matching the filters.
	Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	// The total number of failed nodes matching the filters.
	Failed int32 `protobuf:"varint,2,opt,name=failed,proto3" json:"failed,omitempty"`
	// The total number of skipped nodes matching the filters.
	Skipped int32 `protobuf:"varint,3,opt,name=skipped,proto3" json:"skipped,omitempty"`
	// The total number of passing nodes matching the filters.
	Passed int32 `protobuf:"varint,4,opt,name=passed,proto3" json:"passed,omitempty"`
	// The total number of waived nodes matching the filters.
	Waived        int32 `protobuf:"varint,5,opt,name=waived,proto3" json:"waived,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfileCounts) ProtoMessage() {}

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

// Deprecated: Use ProfileCounts.ProtoReflect.Descriptor instead.
func (*ProfileCounts) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{37}
}

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

func (x *ProfileCounts) GetFailed() int32 {
	if x != nil {
		return x.Failed
	}
	return 0
}

func (x *ProfileCounts) GetSkipped() int32 {
	if x != nil {
		return x.Skipped
	}
	return 0
}

func (x *ProfileCounts) GetPassed() int32 {
	if x != nil {
		return x.Passed
	}
	return 0
}

func (x *ProfileCounts) GetWaived() int32 {
	if x != nil {
		return x.Waived
	}
	return 0
}

// Minimal representation of a profile.
type ProfileMin struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the profile.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The profile title.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The profile ID.
	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	// The profile version.
	Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	// The aggregated status of the profile across the nodes it has been run on.
	Status        string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfileMin) ProtoMessage() {}

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

// Deprecated: Use ProfileMin.ProtoReflect.Descriptor instead.
func (*ProfileMin) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{38}
}

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

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

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

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

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

type Node struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The node ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The name assigned to the node.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Intentionally blank.
	Platform *Platform `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	// The environment assigned to the node.
	Environment string `protobuf:"bytes,4,opt,name=environment,proto3" json:"environment,omitempty"`
	// A summary of the information contained in the latest report for this node.
	LatestReport *LatestReportSummary `protobuf:"bytes,8,opt,name=latest_report,json=latestReport,proto3" json:"latest_report,omitempty"`
	// The tags assigned to this node.
	Tags []*Kv `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"`
	// A minimal representation of the compliance profiles run against the node.
	Profiles      []*ProfileMeta `protobuf:"bytes,10,rep,name=profiles,proto3" json:"profiles,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Node) ProtoMessage() {}

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

// Deprecated: Use Node.ProtoReflect.Descriptor instead.
func (*Node) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{39}
}

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

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

func (x *Node) GetPlatform() *Platform {
	if x != nil {
		return x.Platform
	}
	return nil
}

func (x *Node) GetEnvironment() string {
	if x != nil {
		return x.Environment
	}
	return ""
}

func (x *Node) GetLatestReport() *LatestReportSummary {
	if x != nil {
		return x.LatestReport
	}
	return nil
}

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

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

type Nodes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The nodes matching the request filters.
	Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	// The total number of nodes matching the filters.
	Total int32 `protobuf:"varint,20,opt,name=total,proto3" json:"total,omitempty"`
	// The total number of passing nodes matching the filters.
	TotalPassed int32 `protobuf:"varint,21,opt,name=total_passed,json=totalPassed,proto3" json:"total_passed,omitempty"`
	// The total number of failed nodes matching the filters.
	TotalFailed int32 `protobuf:"varint,22,opt,name=total_failed,json=totalFailed,proto3" json:"total_failed,omitempty"`
	// The total number of skipped nodes matching the filters.
	TotalSkipped int32 `protobuf:"varint,23,opt,name=total_skipped,json=totalSkipped,proto3" json:"total_skipped,omitempty"`
	// The total number of waived nodes matching the filters.
	TotalWaived   int32 `protobuf:"varint,24,opt,name=total_waived,json=totalWaived,proto3" json:"total_waived,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Nodes) ProtoMessage() {}

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

// Deprecated: Use Nodes.ProtoReflect.Descriptor instead.
func (*Nodes) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{40}
}

func (x *Nodes) GetNodes() []*Node {
	if x != nil {
		return x.Nodes
	}
	return nil
}

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

func (x *Nodes) GetTotalPassed() int32 {
	if x != nil {
		return x.TotalPassed
	}
	return 0
}

func (x *Nodes) GetTotalFailed() int32 {
	if x != nil {
		return x.TotalFailed
	}
	return 0
}

func (x *Nodes) GetTotalSkipped() int32 {
	if x != nil {
		return x.TotalSkipped
	}
	return 0
}

func (x *Nodes) GetTotalWaived() int32 {
	if x != nil {
		return x.TotalWaived
	}
	return 0
}

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

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

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

func (*Kv) ProtoMessage() {}

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

// Deprecated: Use Kv.ProtoReflect.Descriptor instead.
func (*Kv) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{41}
}

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

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

// A summary of the latest report for this node.
type LatestReportSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The latest report ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The time the report was submitted at.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// The status of the run the report was made from.
	Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	// Intentionally blank.
	Controls      *ControlSummary `protobuf:"bytes,4,opt,name=controls,proto3" json:"controls,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LatestReportSummary) ProtoMessage() {}

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

// Deprecated: Use LatestReportSummary.ProtoReflect.Descriptor instead.
func (*LatestReportSummary) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{42}
}

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

func (x *LatestReportSummary) GetEndTime() *timestamppb.Timestamp {
	if x != nil {
		return x.EndTime
	}
	return nil
}

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

func (x *LatestReportSummary) GetControls() *ControlSummary {
	if x != nil {
		return x.Controls
	}
	return nil
}

type ProfileMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the profile.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The profile version.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// The profile unique ID.
	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	// The status of the profile run against the node.
	Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	// The combined name and version of the profile.
	Full          string `protobuf:"bytes,5,opt,name=full,proto3" json:"full,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProfileMeta) ProtoMessage() {}

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

// Deprecated: Use ProfileMeta.ProtoReflect.Descriptor instead.
func (*ProfileMeta) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{43}
}

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

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

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

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

func (x *ProfileMeta) GetFull() string {
	if x != nil {
		return x.Full
	}
	return ""
}

type ControlElement struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The control's unique ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The control's compact description.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// Profile name.
	Profile string `protobuf:"bytes,3,opt,name=profile,proto3" json:"profile,omitempty"`
	// The severity of the control.
	Impact float32 `protobuf:"fixed32,4,opt,name=impact,proto3" json:"impact,omitempty"`
	// The total number of results.
	Results int32 `protobuf:"varint,5,opt,name=results,proto3" json:"results,omitempty"`
	// The control's status
	Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	// Profile id
	ProfileId     string `protobuf:"bytes,7,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ControlElement) ProtoMessage() {}

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

// Deprecated: Use ControlElement.ProtoReflect.Descriptor instead.
func (*ControlElement) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{44}
}

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

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

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

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

func (x *ControlElement) GetResults() int32 {
	if x != nil {
		return x.Results
	}
	return 0
}

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

func (x *ControlElement) GetProfileId() string {
	if x != nil {
		return x.ProfileId
	}
	return ""
}

type ControlElements struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of control elements
	ControlElements []*ControlElement `protobuf:"bytes,1,rep,name=control_elements,json=controlElements,proto3" json:"control_elements,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*ControlElements) ProtoMessage() {}

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

// Deprecated: Use ControlElements.ProtoReflect.Descriptor instead.
func (*ControlElements) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{45}
}

func (x *ControlElements) GetControlElements() []*ControlElement {
	if x != nil {
		return x.ControlElements
	}
	return nil
}

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

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

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

func (*CustomReportResponse) ProtoMessage() {}

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

// Deprecated: Use CustomReportResponse.ProtoReflect.Descriptor instead.
func (*CustomReportResponse) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{46}
}

func (x *CustomReportResponse) GetAcknowledgementId() string {
	if x != nil {
		return x.AcknowledgementId
	}
	return ""
}

type AssetSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total number of total assets
	TotalAssets int32 `protobuf:"varint,1,opt,name=total_assets,json=totalAssets,proto3" json:"total_assets,omitempty"`
	// Accessing the collected from Collected Message
	Collected *Collected `protobuf:"bytes,2,opt,name=collected,proto3" json:"collected,omitempty"`
	// Total number of not collected assests
	Uncollected   *Uncollected `protobuf:"bytes,3,opt,name=uncollected,proto3" json:"uncollected,omitempty"` //Total number of unreported assets
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AssetSummary) ProtoMessage() {}

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

// Deprecated: Use AssetSummary.ProtoReflect.Descriptor instead.
func (*AssetSummary) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{47}
}

func (x *AssetSummary) GetTotalAssets() int32 {
	if x != nil {
		return x.TotalAssets
	}
	return 0
}

func (x *AssetSummary) GetCollected() *Collected {
	if x != nil {
		return x.Collected
	}
	return nil
}

func (x *AssetSummary) GetUncollected() *Uncollected {
	if x != nil {
		return x.Uncollected
	}
	return nil
}

type ListFilters struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Filters       []*ListFilter          `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListFilters) ProtoMessage() {}

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

// Deprecated: Use ListFilters.ProtoReflect.Descriptor instead.
func (*ListFilters) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{48}
}

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

type Collected struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total collected and passsed in the assets
	Passed int32 `protobuf:"varint,1,opt,name=passed,proto3" json:"passed,omitempty"`
	// Total collected and failed in the assets
	Failed int32 `protobuf:"varint,2,opt,name=failed,proto3" json:"failed,omitempty"`
	// Total collected and skipped in the assets
	Skipped int32 `protobuf:"varint,3,opt,name=skipped,proto3" json:"skipped,omitempty"`
	// Total collected and waived in the assets
	Waived        int32 `protobuf:"varint,4,opt,name=waived,proto3" json:"waived,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Collected) ProtoMessage() {}

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

// Deprecated: Use Collected.ProtoReflect.Descriptor instead.
func (*Collected) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{49}
}

func (x *Collected) GetPassed() int32 {
	if x != nil {
		return x.Passed
	}
	return 0
}

func (x *Collected) GetFailed() int32 {
	if x != nil {
		return x.Failed
	}
	return 0
}

func (x *Collected) GetSkipped() int32 {
	if x != nil {
		return x.Skipped
	}
	return 0
}

func (x *Collected) GetWaived() int32 {
	if x != nil {
		return x.Waived
	}
	return 0
}

type Uncollected struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total count of unreachable assets
	Unreachable int32 `protobuf:"varint,1,opt,name=unreachable,proto3" json:"unreachable,omitempty"`
	// Total count of unreported assets
	Unreported    int32 `protobuf:"varint,2,opt,name=unreported,proto3" json:"unreported,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Uncollected) ProtoMessage() {}

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

// Deprecated: Use Uncollected.ProtoReflect.Descriptor instead.
func (*Uncollected) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{50}
}

func (x *Uncollected) GetUnreachable() int32 {
	if x != nil {
		return x.Unreachable
	}
	return 0
}

func (x *Uncollected) GetUnreported() int32 {
	if x != nil {
		return x.Unreported
	}
	return 0
}

type AssetListRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of the filters to be applied
	Filters []*ListFilter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
	// Size of the asset list
	Size int32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	// The offset for paginating requests. An offset defines a place in the results in order to show the next page of the results.
	From int32 `protobuf:"varint,3,opt,name=from,proto3" json:"from,omitempty"`
	// Sort required from the which field
	Sort string `protobuf:"bytes,4,opt,name=sort,proto3" json:"sort,omitempty"`
	// Asset Type as collected, unreported, unreachable, uncollected
	AssetsType    string `protobuf:"bytes,5,opt,name=assets_type,json=assetsType,proto3" json:"assets_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AssetListRequest) ProtoMessage() {}

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

// Deprecated: Use AssetListRequest.ProtoReflect.Descriptor instead.
func (*AssetListRequest) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{51}
}

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

func (x *AssetListRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *AssetListRequest) GetFrom() int32 {
	if x != nil {
		return x.From
	}
	return 0
}

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

func (x *AssetListRequest) GetAssetsType() string {
	if x != nil {
		return x.AssetsType
	}
	return ""
}

type Assets struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Node UUid for the asset
	NodeUuid string `protobuf:"bytes,1,opt,name=node_uuid,json=nodeUuid,proto3" json:"node_uuid,omitempty"`
	// Status of the last run of the asset
	Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	// First Run details of asset
	FirstRun string `protobuf:"bytes,3,opt,name=first_run,json=firstRun,proto3" json:"first_run,omitempty"`
	// Last run details of asset
	LastRun       string `protobuf:"bytes,4,opt,name=last_run,json=lastRun,proto3" json:"last_run,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Assets) ProtoMessage() {}

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

// Deprecated: Use Assets.ProtoReflect.Descriptor instead.
func (*Assets) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{52}
}

func (x *Assets) GetNodeUuid() string {
	if x != nil {
		return x.NodeUuid
	}
	return ""
}

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

func (x *Assets) GetFirstRun() string {
	if x != nil {
		return x.FirstRun
	}
	return ""
}

func (x *Assets) GetLastRun() string {
	if x != nil {
		return x.LastRun
	}
	return ""
}

type AssetListResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Assets list as per the filters applied
	Assets        []*Assets `protobuf:"bytes,1,rep,name=assets,proto3" json:"assets,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AssetListResponse) ProtoMessage() {}

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

// Deprecated: Use AssetListResponse.ProtoReflect.Descriptor instead.
func (*AssetListResponse) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{53}
}

func (x *AssetListResponse) GetAssets() []*Assets {
	if x != nil {
		return x.Assets
	}
	return nil
}

// ComplianceConfigRequest to update no of days in the config
type ComplianceConfigRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// No of days for the config
	Value         int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ComplianceConfigRequest) ProtoMessage() {}

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

// Deprecated: Use ComplianceConfigRequest.ProtoReflect.Descriptor instead.
func (*ComplianceConfigRequest) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{54}
}

func (x *ComplianceConfigRequest) GetValue() int32 {
	if x != nil {
		return x.Value
	}
	return 0
}

// ComplianceConfigResponse to get the policy name and no of days
type ComplianceConfigResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Policy name to get from config
	PolicyName string `protobuf:"bytes,1,opt,name=policy_name,json=policyName,proto3" json:"policy_name,omitempty"`
	// No of days to get for config
	Value         int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ComplianceConfigResponse) ProtoMessage() {}

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

// Deprecated: Use ComplianceConfigResponse.ProtoReflect.Descriptor instead.
func (*ComplianceConfigResponse) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{55}
}

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

func (x *ComplianceConfigResponse) GetValue() int32 {
	if x != nil {
		return x.Value
	}
	return 0
}

// GetAssetConfigRequest to perform GET request
type GetAssetConfigRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetAssetConfigRequest) ProtoMessage() {}

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

// Deprecated: Use GetAssetConfigRequest.ProtoReflect.Descriptor instead.
func (*GetAssetConfigRequest) Descriptor() ([]byte, []int) {
	return file_external_compliance_reporting_reporting_proto_rawDescGZIP(), []int{56}
}

var File_external_compliance_reporting_reporting_proto protoreflect.FileDescriptor

const file_external_compliance_reporting_reporting_proto_rawDesc = "" +
	"\n" +
	"-external/compliance/reporting/reporting.proto\x12)chef.automate.api.compliance.reporting.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a,protoc-gen-swagger/options/annotations.proto\x1a%external/common/version/version.proto\x1a\x1eexternal/common/response.proto\x1a*external/annotations/iam/annotations.proto\"\xae\x01\n" +
	"\x12ControlItemRequest\x12\x12\n" +
	"\x04text\x18\x01 \x01(\tR\x04text\x12\x12\n" +
	"\x04size\x18\x02 \x01(\x05R\x04size\x12\x1f\n" +
	"\vpage_number\x18\x03 \x01(\x05R\n" +
	"pageNumber\x12O\n" +
	"\afilters\x18\x04 \x03(\v25.chef.automate.api.compliance.reporting.v1.ListFilterR\afilters\"\xdc\x01\n" +
	"\n" +
	"WaiverData\x12\x1d\n" +
	"\n" +
	"waived_str\x18\x01 \x01(\tR\twaivedStr\x12'\n" +
	"\x0fexpiration_date\x18\x02 \x01(\tR\x0eexpirationDate\x12$\n" +
	"\rjustification\x18\x03 \x01(\tR\rjustification\x12`\n" +
	"\x0ewaiver_summary\x18\x04 \x01(\v29.chef.automate.api.compliance.reporting.v1.ControlSummaryR\rwaiverSummary\"`\n" +
	"\x14RemovedResultsCounts\x12\x16\n" +
	"\x06failed\x18\x01 \x01(\x05R\x06failed\x12\x18\n" +
	"\askipped\x18\x02 \x01(\x05R\askipped\x12\x16\n" +
	"\x06passed\x18\x03 \x01(\x05R\x06passed\"\x88\x03\n" +
	"\vControlItem\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12O\n" +
	"\aprofile\x18\x03 \x01(\v25.chef.automate.api.compliance.reporting.v1.ProfileMinR\aprofile\x12\x16\n" +
	"\x06impact\x18\x04 \x01(\x02R\x06impact\x125\n" +
	"\bend_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12b\n" +
	"\x0fcontrol_summary\x18\x06 \x01(\v29.chef.automate.api.compliance.reporting.v1.ControlSummaryR\x0econtrolSummary\x12O\n" +
	"\awaivers\x18\a \x03(\v25.chef.automate.api.compliance.reporting.v1.WaiverDataR\awaivers\"\xdc\x01\n" +
	"\fControlItems\x12[\n" +
	"\rcontrol_items\x18\x01 \x03(\v26.chef.automate.api.compliance.reporting.v1.ControlItemR\fcontrolItems\x12o\n" +
	"\x16control_summary_totals\x18\x02 \x01(\v29.chef.automate.api.compliance.reporting.v1.ControlSummaryR\x14controlSummaryTotals\"F\n" +
	"\tTimeQuery\x129\n" +
	"\n" +
	"start_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\"\x14\n" +
	"\x02Id\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\xb1\x02\n" +
	"\x05Query\x12\x0e\n" +
	"\x02id\x18\x12 \x01(\tR\x02id\x12\x12\n" +
	"\x04type\x18\x13 \x01(\tR\x04type\x12O\n" +
	"\afilters\x18\x14 \x03(\v25.chef.automate.api.compliance.reporting.v1.ListFilterR\afilters\x12P\n" +
	"\x05order\x18\x15 \x01(\x0e2:.chef.automate.api.compliance.reporting.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\"\x1e\n" +
	"\tOrderType\x12\a\n" +
	"\x03ASC\x10\x00\x12\b\n" +
	"\x04DESC\x10\x01\"8\n" +
	"\n" +
	"ListFilter\x12\x16\n" +
	"\x06values\x18\x14 \x03(\tR\x06values\x12\x12\n" +
	"\x04type\x18\x15 \x01(\tR\x04type\"\x1d\n" +
	"\x05Total\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x05R\x05total\"f\n" +
	"\x06Failed\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x05R\x05total\x12\x14\n" +
	"\x05minor\x18\x02 \x01(\x05R\x05minor\x12\x14\n" +
	"\x05major\x18\x03 \x01(\x05R\x05major\x12\x1a\n" +
	"\bcritical\x18\x04 \x01(\x05R\bcritical\"\xd1\x02\n" +
	"\x0eControlSummary\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x05R\x05total\x12H\n" +
	"\x06passed\x18\x02 \x01(\v20.chef.automate.api.compliance.reporting.v1.TotalR\x06passed\x12J\n" +
	"\askipped\x18\x03 \x01(\v20.chef.automate.api.compliance.reporting.v1.TotalR\askipped\x12I\n" +
	"\x06failed\x18\x04 \x01(\v21.chef.automate.api.compliance.reporting.v1.FailedR\x06failed\x12H\n" +
	"\x06waived\x18\x05 \x01(\v20.chef.automate.api.compliance.reporting.v1.TotalR\x06waived\"\x8a\x01\n" +
	"\x16ReportsSummaryLevelOne\x12Z\n" +
	"\areports\x18\x01 \x03(\v2@.chef.automate.api.compliance.reporting.v1.ReportSummaryLevelOneR\areports\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x05R\x05total\"\xa1\x02\n" +
	"\x15ReportSummaryLevelOne\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" +
	"\anode_id\x18\x02 \x01(\tR\x06nodeId\x12\x1b\n" +
	"\tnode_name\x18\x03 \x01(\tR\bnodeName\x125\n" +
	"\bend_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12\x16\n" +
	"\x06status\x18\x05 \x01(\tR\x06status\x12U\n" +
	"\bcontrols\x18\x06 \x01(\v29.chef.automate.api.compliance.reporting.v1.ControlSummaryR\bcontrols\x12\x1c\n" +
	"\tipaddress\x18\a \x01(\tR\tipaddress\"l\n" +
	"\aReports\x12K\n" +
	"\areports\x18\x01 \x03(\v21.chef.automate.api.compliance.reporting.v1.ReportR\areports\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x05R\x05total\"\xb5\x06\n" +
	"\x06Report\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" +
	"\anode_id\x18\x02 \x01(\tR\x06nodeId\x12\x1b\n" +
	"\tnode_name\x18\x03 \x01(\tR\bnodeName\x125\n" +
	"\bend_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12\x16\n" +
	"\x06status\x18\x05 \x01(\tR\x06status\x12U\n" +
	"\bcontrols\x18\x06 \x01(\v29.chef.automate.api.compliance.reporting.v1.ControlSummaryR\bcontrols\x12 \n" +
	"\venvironment\x18\a \x01(\tR\venvironment\x12\x18\n" +
	"\aversion\x18\b \x01(\tR\aversion\x12O\n" +
	"\bplatform\x18\t \x01(\v23.chef.automate.api.compliance.reporting.v1.PlatformR\bplatform\x12U\n" +
	"\n" +
	"statistics\x18\n" +
	" \x01(\v25.chef.automate.api.compliance.reporting.v1.StatisticsR\n" +
	"statistics\x12N\n" +
	"\bprofiles\x18\v \x03(\v22.chef.automate.api.compliance.reporting.v1.ProfileR\bprofiles\x12\x15\n" +
	"\x06job_id\x18\f \x01(\tR\x05jobId\x12\x1c\n" +
	"\tipaddress\x18\r \x01(\tR\tipaddress\x12\x12\n" +
	"\x04fqdn\x18\x0e \x01(\tR\x04fqdn\x12\x1f\n" +
	"\vchef_server\x18\x0f \x01(\tR\n" +
	"chefServer\x12+\n" +
	"\x11chef_organization\x18\x10 \x01(\tR\x10chefOrganization\x12\x14\n" +
	"\x05roles\x18\x11 \x03(\tR\x05roles\x12\x1b\n" +
	"\tchef_tags\x18\x12 \x03(\tR\bchefTags\x12\x1a\n" +
	"\bprojects\x18\x14 \x03(\tR\bprojects\x12%\n" +
	"\x0estatus_message\x18\x15 \x01(\tR\rstatusMessage\"\xbd\x03\n" +
	"\x0eNodeHeaderInfo\x12\x17\n" +
	"\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x1b\n" +
	"\tnode_name\x18\x02 \x01(\tR\bnodeName\x125\n" +
	"\bend_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12 \n" +
	"\venvironment\x18\x05 \x01(\tR\venvironment\x12\x18\n" +
	"\aversion\x18\x06 \x01(\tR\aversion\x12O\n" +
	"\bplatform\x18\a \x01(\v23.chef.automate.api.compliance.reporting.v1.PlatformR\bplatform\x12\\\n" +
	"\bprofiles\x18\b \x03(\v2@.chef.automate.api.compliance.reporting.v1.NodeHeaderProfileInfoR\bprofiles\x12\x14\n" +
	"\x05roles\x18\t \x03(\tR\x05roles\x12%\n" +
	"\x0estatus_message\x18\n" +
	" \x01(\tR\rstatusMessage\"u\n" +
	"\tReportIds\x12\x10\n" +
	"\x03ids\x18\x01 \x03(\tR\x03ids\x12V\n" +
	"\vreport_data\x18\x02 \x03(\v25.chef.automate.api.compliance.reporting.v1.ReportDataR\n" +
	"reportData\"S\n" +
	"\n" +
	"ReportData\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\bend_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\"\xc4\x06\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\x12\x12\n" +
	"\x04full\x18\n" +
	" \x01(\tR\x04full\x12N\n" +
	"\bsupports\x18\x10 \x03(\v22.chef.automate.api.compliance.reporting.v1.SupportR\bsupports\x12O\n" +
	"\adepends\x18\x11 \x03(\v25.chef.automate.api.compliance.reporting.v1.DependencyR\adepends\x12\x16\n" +
	"\x06sha256\x18\x12 \x01(\tR\x06sha256\x12H\n" +
	"\x06groups\x18\x13 \x03(\v20.chef.automate.api.compliance.reporting.v1.GroupR\x06groups\x12N\n" +
	"\bcontrols\x18\x14 \x03(\v22.chef.automate.api.compliance.reporting.v1.ControlR\bcontrols\x12T\n" +
	"\n" +
	"attributes\x18\x15 \x03(\v24.chef.automate.api.compliance.reporting.v1.AttributeR\n" +
	"attributes\x12%\n" +
	"\x0elatest_version\x18\x16 \x01(\tR\rlatestVersion\x12\x16\n" +
	"\x06status\x18\x17 \x01(\tR\x06status\x12!\n" +
	"\fskip_message\x18\x18 \x01(\tR\vskipMessage\x12%\n" +
	"\x0estatus_message\x18\x19 \x01(\tR\rstatusMessage\"j\n" +
	"\x15NodeHeaderProfileInfo\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12%\n" +
	"\x0estatus_message\x18\x03 \x01(\tR\rstatusMessage\")\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\"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\"\xc9\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\x12\x16\n" +
	"\x06status\x18\f \x01(\tR\x06status\x12!\n" +
	"\fskip_message\x18\r \x01(\tR\vskipMessage\"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\"\xea\x04\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\x12b\n" +
	"\x0fsource_location\x18\x06 \x01(\v29.chef.automate.api.compliance.reporting.v1.SourceLocationR\x0esourceLocation\x12K\n" +
	"\aresults\x18\a \x03(\v21.chef.automate.api.compliance.reporting.v1.ResultR\aresults\x12B\n" +
	"\x04refs\x18\b \x03(\v2..chef.automate.api.compliance.reporting.v1.RefR\x04refs\x12\x12\n" +
	"\x04tags\x18\t \x01(\tR\x04tags\x12\x1d\n" +
	"\n" +
	"waived_str\x18\v \x01(\tR\twaivedStr\x12Z\n" +
	"\vwaiver_data\x18\f \x01(\v29.chef.automate.api.compliance.reporting.v1.OrigWaiverDataR\n" +
	"waiverData\x12u\n" +
	"\x16removed_results_counts\x18\r \x01(\v2?.chef.automate.api.compliance.reporting.v1.RemovedResultsCountsR\x14removedResultsCounts\"\xbe\x01\n" +
	"\x0eOrigWaiverData\x12'\n" +
	"\x0fexpiration_date\x18\x01 \x01(\tR\x0eexpirationDate\x12$\n" +
	"\rjustification\x18\x02 \x01(\tR\rjustification\x12\x10\n" +
	"\x03run\x18\x03 \x01(\bR\x03run\x121\n" +
	"\x15skipped_due_to_waiver\x18\x04 \x01(\bR\x12skippedDueToWaiver\x12\x18\n" +
	"\amessage\x18\x05 \x01(\tR\amessage\"l\n" +
	"\tAttribute\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12K\n" +
	"\aoptions\x18\x02 \x01(\v21.chef.automate.api.compliance.reporting.v1.OptionR\aoptions\"L\n" +
	"\bPlatform\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\arelease\x18\x02 \x01(\tR\arelease\x12\x12\n" +
	"\x04full\x18\x03 \x01(\tR\x04full\"(\n" +
	"\n" +
	"Statistics\x12\x1a\n" +
	"\bduration\x18\x01 \x01(\x02R\bduration\"\xbb\x01\n" +
	"\x11SuggestionRequest\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n" +
	"\x04text\x18\x02 \x01(\tR\x04text\x12\x12\n" +
	"\x04size\x18\x03 \x01(\x05R\x04size\x12O\n" +
	"\afilters\x18\x04 \x03(\v25.chef.automate.api.compliance.reporting.v1.ListFilterR\afilters\x12\x19\n" +
	"\btype_key\x18\x05 \x01(\tR\atypeKey\"`\n" +
	"\n" +
	"Suggestion\x12\x12\n" +
	"\x04text\x18\x01 \x01(\tR\x04text\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x14\n" +
	"\x05score\x18\x03 \x01(\x02R\x05score\x12\x18\n" +
	"\aversion\x18\x04 \x01(\tR\aversion\"f\n" +
	"\vSuggestions\x12W\n" +
	"\vsuggestions\x18\x01 \x03(\v25.chef.automate.api.compliance.reporting.v1.SuggestionR\vsuggestions\"\xb2\x01\n" +
	"\vProfileMins\x12Q\n" +
	"\bprofiles\x18\x01 \x03(\v25.chef.automate.api.compliance.reporting.v1.ProfileMinR\bprofiles\x12P\n" +
	"\x06counts\x18\x02 \x01(\v28.chef.automate.api.compliance.reporting.v1.ProfileCountsR\x06counts\"\x87\x01\n" +
	"\rProfileCounts\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x05R\x05total\x12\x16\n" +
	"\x06failed\x18\x02 \x01(\x05R\x06failed\x12\x18\n" +
	"\askipped\x18\x03 \x01(\x05R\askipped\x12\x16\n" +
	"\x06passed\x18\x04 \x01(\x05R\x06passed\x12\x16\n" +
	"\x06waived\x18\x05 \x01(\x05R\x06waived\"x\n" +
	"\n" +
	"ProfileMin\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x18\n" +
	"\aversion\x18\x04 \x01(\tR\aversion\x12\x16\n" +
	"\x06status\x18\x05 \x01(\tR\x06status\"\x99\x03\n" +
	"\x04Node\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12O\n" +
	"\bplatform\x18\x03 \x01(\v23.chef.automate.api.compliance.reporting.v1.PlatformR\bplatform\x12 \n" +
	"\venvironment\x18\x04 \x01(\tR\venvironment\x12c\n" +
	"\rlatest_report\x18\b \x01(\v2>.chef.automate.api.compliance.reporting.v1.LatestReportSummaryR\flatestReport\x12A\n" +
	"\x04tags\x18\t \x03(\v2-.chef.automate.api.compliance.reporting.v1.KvR\x04tags\x12R\n" +
	"\bprofiles\x18\n" +
	" \x03(\v26.chef.automate.api.compliance.reporting.v1.ProfileMetaR\bprofiles\"\xf2\x01\n" +
	"\x05Nodes\x12E\n" +
	"\x05nodes\x18\x01 \x03(\v2/.chef.automate.api.compliance.reporting.v1.NodeR\x05nodes\x12\x14\n" +
	"\x05total\x18\x14 \x01(\x05R\x05total\x12!\n" +
	"\ftotal_passed\x18\x15 \x01(\x05R\vtotalPassed\x12!\n" +
	"\ftotal_failed\x18\x16 \x01(\x05R\vtotalFailed\x12#\n" +
	"\rtotal_skipped\x18\x17 \x01(\x05R\ftotalSkipped\x12!\n" +
	"\ftotal_waived\x18\x18 \x01(\x05R\vtotalWaived\",\n" +
	"\x02Kv\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value\"\xcb\x01\n" +
	"\x13LatestReportSummary\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x125\n" +
	"\bend_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12U\n" +
	"\bcontrols\x18\x04 \x01(\v29.chef.automate.api.compliance.reporting.v1.ControlSummaryR\bcontrols\"w\n" +
	"\vProfileMeta\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x02 \x01(\tR\aversion\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12\x12\n" +
	"\x04full\x18\x05 \x01(\tR\x04full\"\xb9\x01\n" +
	"\x0eControlElement\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" +
	"\aprofile\x18\x03 \x01(\tR\aprofile\x12\x16\n" +
	"\x06impact\x18\x04 \x01(\x02R\x06impact\x12\x18\n" +
	"\aresults\x18\x05 \x01(\x05R\aresults\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x12\x1d\n" +
	"\n" +
	"profile_id\x18\a \x01(\tR\tprofileId\"w\n" +
	"\x0fControlElements\x12d\n" +
	"\x10control_elements\x18\x01 \x03(\v29.chef.automate.api.compliance.reporting.v1.ControlElementR\x0fcontrolElements\"E\n" +
	"\x14CustomReportResponse\x12-\n" +
	"\x12acknowledgement_id\x18\x01 \x01(\tR\x11acknowledgementId\"\xdf\x01\n" +
	"\fAssetSummary\x12!\n" +
	"\ftotal_assets\x18\x01 \x01(\x05R\vtotalAssets\x12R\n" +
	"\tcollected\x18\x02 \x01(\v24.chef.automate.api.compliance.reporting.v1.CollectedR\tcollected\x12X\n" +
	"\vuncollected\x18\x03 \x01(\v26.chef.automate.api.compliance.reporting.v1.UncollectedR\vuncollected\"^\n" +
	"\vListFilters\x12O\n" +
	"\afilters\x18\x01 \x03(\v25.chef.automate.api.compliance.reporting.v1.ListFilterR\afilters\"m\n" +
	"\tCollected\x12\x16\n" +
	"\x06passed\x18\x01 \x01(\x05R\x06passed\x12\x16\n" +
	"\x06failed\x18\x02 \x01(\x05R\x06failed\x12\x18\n" +
	"\askipped\x18\x03 \x01(\x05R\askipped\x12\x16\n" +
	"\x06waived\x18\x04 \x01(\x05R\x06waived\"O\n" +
	"\vUncollected\x12 \n" +
	"\vunreachable\x18\x01 \x01(\x05R\vunreachable\x12\x1e\n" +
	"\n" +
	"unreported\x18\x02 \x01(\x05R\n" +
	"unreported\"\xc0\x01\n" +
	"\x10AssetListRequest\x12O\n" +
	"\afilters\x18\x01 \x03(\v25.chef.automate.api.compliance.reporting.v1.ListFilterR\afilters\x12\x12\n" +
	"\x04size\x18\x02 \x01(\x05R\x04size\x12\x12\n" +
	"\x04from\x18\x03 \x01(\x05R\x04from\x12\x12\n" +
	"\x04sort\x18\x04 \x01(\tR\x04sort\x12\x1f\n" +
	"\vassets_type\x18\x05 \x01(\tR\n" +
	"assetsType\"u\n" +
	"\x06Assets\x12\x1b\n" +
	"\tnode_uuid\x18\x01 \x01(\tR\bnodeUuid\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1b\n" +
	"\tfirst_run\x18\x03 \x01(\tR\bfirstRun\x12\x19\n" +
	"\blast_run\x18\x04 \x01(\tR\alastRun\"^\n" +
	"\x11AssetListResponse\x12I\n" +
	"\x06assets\x18\x01 \x03(\v21.chef.automate.api.compliance.reporting.v1.AssetsR\x06assets\"/\n" +
	"\x17ComplianceConfigRequest\x12\x14\n" +
	"\x05value\x18\x01 \x01(\x05R\x05value\"Q\n" +
	"\x18ComplianceConfigResponse\x12\x1f\n" +
	"\vpolicy_name\x18\x01 \x01(\tR\n" +
	"policyName\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x05R\x05value\"\x17\n" +
	"\x15GetAssetConfigRequest2\xf9$\n" +
	"\x10ReportingService\x12\xee\x01\n" +
	"\vListReports\x120.chef.automate.api.compliance.reporting.v1.Query\x1aA.chef.automate.api.compliance.reporting.v1.ReportsSummaryLevelOne\"j\x8a\xb5\x187\n" +
	"\x1ccompliance:reporting:reports\x12\x17compliance:reports:list\x82\xd3\xe4\x93\x02):\x01*\"$/api/v0/compliance/reporting/reports\x12\xeb\x01\n" +
	"\rListReportIds\x120.chef.automate.api.compliance.reporting.v1.Query\x1a4.chef.automate.api.compliance.reporting.v1.ReportIds\"r\x8a\xb5\x18<\n" +
	"\x1fcompliance:reporting:report-ids\x12\x19compliance:reportids:list\x82\xd3\xe4\x93\x02,:\x01*\"'/api/v0/compliance/reporting/report-ids\x12\xfc\x01\n" +
	"\x10ListControlItems\x12=.chef.automate.api.compliance.reporting.v1.ControlItemRequest\x1a7.chef.automate.api.compliance.reporting.v1.ControlItems\"p\x8a\xb5\x18<\n" +
	"\x1ccompliance:reporting:control\x12\x1ccompliance:controlItems:list\x82\xd3\xe4\x93\x02*:\x01*\"%/api/v0/compliance/reporting/controls\x12\x8e\x02\n" +
	"\x0fListControlInfo\x120.chef.automate.api.compliance.reporting.v1.Query\x1a:.chef.automate.api.compliance.reporting.v1.ControlElements\"\x8c\x01\x8a\xb5\x18J\n" +
	"(compliance:reporting:reportcontrols:{id}\x12\x1ecompliance:reportcontrols:list\x82\xd3\xe4\x93\x028:\x01*\"3/api/v0/compliance/reporting/reportcontrols/id/{id}\x12\xe9\x01\n" +
	"\n" +
	"ReadReport\x120.chef.automate.api.compliance.reporting.v1.Query\x1a1.chef.automate.api.compliance.reporting.v1.Report\"v\x8a\xb5\x18;\n" +
	"!compliance:reporting:reports:{id}\x12\x16compliance:reports:get\x82\xd3\xe4\x93\x021:\x01*\",/api/v0/compliance/reporting/reports/id/{id}\x12\xfe\x01\n" +
	"\x0eReadNodeHeader\x120.chef.automate.api.compliance.reporting.v1.Query\x1a9.chef.automate.api.compliance.reporting.v1.NodeHeaderInfo\"\x7f\x8a\xb5\x18A\n" +
	"$compliance:reporting:nodeheader:{id}\x12\x19compliance:nodeheader:get\x82\xd3\xe4\x93\x024:\x01*\"//api/v0/compliance/reporting/nodeheader/id/{id}\x12\x85\x02\n" +
	"\x0fListSuggestions\x12<.chef.automate.api.compliance.reporting.v1.SuggestionRequest\x1a6.chef.automate.api.compliance.reporting.v1.Suggestions\"|\x8a\xb5\x18E\n" +
	" compliance:reporting:suggestions\x12!compliance:reportSuggestions:list\x82\xd3\xe4\x93\x02-:\x01*\"(/api/v0/compliance/reporting/suggestions\x12\xed\x01\n" +
	"\fListProfiles\x120.chef.automate.api.compliance.reporting.v1.Query\x1a6.chef.automate.api.compliance.reporting.v1.ProfileMins\"s\x8a\xb5\x18?\n" +
	"\x1dcompliance:reporting:profiles\x12\x1ecompliance:reportProfiles:list\x82\xd3\xe4\x93\x02*:\x01*\"%/api/v0/compliance/reporting/profiles\x12d\n" +
	"\x06Export\x120.chef.automate.api.compliance.reporting.v1.Query\x1a$.chef.automate.api.common.ExportData\"\x000\x01\x12h\n" +
	"\n" +
	"ExportNode\x120.chef.automate.api.compliance.reporting.v1.Query\x1a$.chef.automate.api.common.ExportData\"\x000\x01\x12\x81\x02\n" +
	"\x13ExportReportManager\x120.chef.automate.api.compliance.reporting.v1.Query\x1a?.chef.automate.api.compliance.reporting.v1.CustomReportResponse\"w\x8a\xb5\x187\n" +
	"\x1ccompliance:reporting:reports\x12\x17compliance:reports:list\x82\xd3\xe4\x93\x026:\x01*\"1/api/v0/compliance/reporting/reportmanager/export\x12\xdf\x01\n" +
	"\bReadNode\x12-.chef.automate.api.compliance.reporting.v1.Id\x1a/.chef.automate.api.compliance.reporting.v1.Node\"s\x8a\xb5\x18=\n" +
	"\x1fcompliance:reporting:nodes:{id}\x12\x1acompliance:reportNodes:get\x82\xd3\xe4\x93\x02,\x12*/api/v0/compliance/reporting/nodes/id/{id}\x12\xe2\x01\n" +
	"\tListNodes\x120.chef.automate.api.compliance.reporting.v1.Query\x1a0.chef.automate.api.compliance.reporting.v1.Nodes\"q\x8a\xb5\x189\n" +
	"\x1acompliance:reporting:nodes\x12\x1bcompliance:reportNodes:list\x82\xd3\xe4\x93\x02.:\x01*\")/api/v0/compliance/reporting/nodes/search\x12\xc3\x01\n" +
	"\n" +
	"GetVersion\x12\x16.google.protobuf.Empty\x1a-.chef.automate.api.common.version.VersionInfo\"n\x92A\b\n" +
	"\x06hidden\x8a\xb5\x183\n" +
	"\x16system:service:version\x12\x19system:serviceVersion:get\x82\xd3\xe4\x93\x02&\x12$/api/v0/compliance/reporting/version\x12\xd8\x01\n" +
	"\x11LicenseUsageNodes\x124.chef.automate.api.compliance.reporting.v1.TimeQuery\x1a2.chef.automate.api.compliance.reporting.v1.Reports\"Y\x92A\b\n" +
	"\x06hidden\x8a\xb5\x18J\n" +
	"!compliance:reporting:licenseusage\x12%compliance:reportingLicenseUsage:list\x12\xfe\x01\n" +
	"\n" +
	"AssetCount\x126.chef.automate.api.compliance.reporting.v1.ListFilters\x1a7.chef.automate.api.compliance.reporting.v1.AssetSummary\"\x7f\x92A\r\n" +
	"\vComp_Assets\x8a\xb5\x187\n" +
	"\x1ccompliance:reporting:reports\x12\x17compliance:reports:list\x82\xd3\xe4\x93\x02.:\x01*\")/api/v0/compliance/reporting/assets/count\x12\x89\x02\n" +
	"\tListAsset\x12;.chef.automate.api.compliance.reporting.v1.AssetListRequest\x1a<.chef.automate.api.compliance.reporting.v1.AssetListResponse\"\x80\x01\x92A\r\n" +
	"\vComp_Assets\x8a\xb5\x187\n" +
	"\x1ccompliance:reporting:reports\x12\x17compliance:reports:list\x82\xd3\xe4\x93\x02/:\x01*\"*/api/v0/compliance/reporting/assets/search\x12\x9d\x02\n" +
	"\x0eSetAssetConfig\x12B.chef.automate.api.compliance.reporting.v1.ComplianceConfigRequest\x1aC.chef.automate.api.compliance.reporting.v1.ComplianceConfigResponse\"\x81\x01\x92A\r\n" +
	"\vComp_Assets\x8a\xb5\x188\n" +
	"\x1bcompliance:reporting:config\x12\x19compliance:reports:update\x82\xd3\xe4\x93\x02/:\x01*\x1a*/api/v0/compliance/reporting/assets/config\x12\x9c\x02\n" +
	"\x0eGetAssetConfig\x12@.chef.automate.api.compliance.reporting.v1.GetAssetConfigRequest\x1aC.chef.automate.api.compliance.reporting.v1.ComplianceConfigResponse\"\x82\x01\x92A\r\n" +
	"\vComp_Assets\x8a\xb5\x185\n" +
	"\x1bcompliance:reporting:config\x12\x16compliance:reports:get\x82\xd3\xe4\x93\x023\x121/api/v0/compliance/reporting/assets/config/search\x12\x88\x02\n" +
	"\x15ListControlItemsRange\x12=.chef.automate.api.compliance.reporting.v1.ControlItemRequest\x1a7.chef.automate.api.compliance.reporting.v1.ControlItems\"w\x8a\xb5\x18<\n" +
	"\x1ccompliance:reporting:control\x12\x1ccompliance:controlItems:list\x82\xd3\xe4\x93\x021:\x01*\",/api/v0/compliance/reporting/controls/searchB<Z:github.com/chef/automate/api/external/compliance/reportingb\x06proto3"

var (
	file_external_compliance_reporting_reporting_proto_rawDescOnce sync.Once
	file_external_compliance_reporting_reporting_proto_rawDescData []byte
)

func file_external_compliance_reporting_reporting_proto_rawDescGZIP() []byte {
	file_external_compliance_reporting_reporting_proto_rawDescOnce.Do(func() {
		file_external_compliance_reporting_reporting_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_external_compliance_reporting_reporting_proto_rawDesc), len(file_external_compliance_reporting_reporting_proto_rawDesc)))
	})
	return file_external_compliance_reporting_reporting_proto_rawDescData
}

var file_external_compliance_reporting_reporting_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_external_compliance_reporting_reporting_proto_msgTypes = make([]protoimpl.MessageInfo, 57)
var file_external_compliance_reporting_reporting_proto_goTypes = []any{
	(Query_OrderType)(0),             // 0: chef.automate.api.compliance.reporting.v1.Query.OrderType
	(*ControlItemRequest)(nil),       // 1: chef.automate.api.compliance.reporting.v1.ControlItemRequest
	(*WaiverData)(nil),               // 2: chef.automate.api.compliance.reporting.v1.WaiverData
	(*RemovedResultsCounts)(nil),     // 3: chef.automate.api.compliance.reporting.v1.RemovedResultsCounts
	(*ControlItem)(nil),              // 4: chef.automate.api.compliance.reporting.v1.ControlItem
	(*ControlItems)(nil),             // 5: chef.automate.api.compliance.reporting.v1.ControlItems
	(*TimeQuery)(nil),                // 6: chef.automate.api.compliance.reporting.v1.TimeQuery
	(*Id)(nil),                       // 7: chef.automate.api.compliance.reporting.v1.Id
	(*Query)(nil),                    // 8: chef.automate.api.compliance.reporting.v1.Query
	(*ListFilter)(nil),               // 9: chef.automate.api.compliance.reporting.v1.ListFilter
	(*Total)(nil),                    // 10: chef.automate.api.compliance.reporting.v1.Total
	(*Failed)(nil),                   // 11: chef.automate.api.compliance.reporting.v1.Failed
	(*ControlSummary)(nil),           // 12: chef.automate.api.compliance.reporting.v1.ControlSummary
	(*ReportsSummaryLevelOne)(nil),   // 13: chef.automate.api.compliance.reporting.v1.ReportsSummaryLevelOne
	(*ReportSummaryLevelOne)(nil),    // 14: chef.automate.api.compliance.reporting.v1.ReportSummaryLevelOne
	(*Reports)(nil),                  // 15: chef.automate.api.compliance.reporting.v1.Reports
	(*Report)(nil),                   // 16: chef.automate.api.compliance.reporting.v1.Report
	(*NodeHeaderInfo)(nil),           // 17: chef.automate.api.compliance.reporting.v1.NodeHeaderInfo
	(*ReportIds)(nil),                // 18: chef.automate.api.compliance.reporting.v1.ReportIds
	(*ReportData)(nil),               // 19: chef.automate.api.compliance.reporting.v1.ReportData
	(*Profile)(nil),                  // 20: chef.automate.api.compliance.reporting.v1.Profile
	(*NodeHeaderProfileInfo)(nil),    // 21: chef.automate.api.compliance.reporting.v1.NodeHeaderProfileInfo
	(*Ref)(nil),                      // 22: chef.automate.api.compliance.reporting.v1.Ref
	(*Result)(nil),                   // 23: chef.automate.api.compliance.reporting.v1.Result
	(*SourceLocation)(nil),           // 24: chef.automate.api.compliance.reporting.v1.SourceLocation
	(*Option)(nil),                   // 25: chef.automate.api.compliance.reporting.v1.Option
	(*Support)(nil),                  // 26: chef.automate.api.compliance.reporting.v1.Support
	(*Dependency)(nil),               // 27: chef.automate.api.compliance.reporting.v1.Dependency
	(*Group)(nil),                    // 28: chef.automate.api.compliance.reporting.v1.Group
	(*Control)(nil),                  // 29: chef.automate.api.compliance.reporting.v1.Control
	(*OrigWaiverData)(nil),           // 30: chef.automate.api.compliance.reporting.v1.OrigWaiverData
	(*Attribute)(nil),                // 31: chef.automate.api.compliance.reporting.v1.Attribute
	(*Platform)(nil),                 // 32: chef.automate.api.compliance.reporting.v1.Platform
	(*Statistics)(nil),               // 33: chef.automate.api.compliance.reporting.v1.Statistics
	(*SuggestionRequest)(nil),        // 34: chef.automate.api.compliance.reporting.v1.SuggestionRequest
	(*Suggestion)(nil),               // 35: chef.automate.api.compliance.reporting.v1.Suggestion
	(*Suggestions)(nil),              // 36: chef.automate.api.compliance.reporting.v1.Suggestions
	(*ProfileMins)(nil),              // 37: chef.automate.api.compliance.reporting.v1.ProfileMins
	(*ProfileCounts)(nil),            // 38: chef.automate.api.compliance.reporting.v1.ProfileCounts
	(*ProfileMin)(nil),               // 39: chef.automate.api.compliance.reporting.v1.ProfileMin
	(*Node)(nil),                     // 40: chef.automate.api.compliance.reporting.v1.Node
	(*Nodes)(nil),                    // 41: chef.automate.api.compliance.reporting.v1.Nodes
	(*Kv)(nil),                       // 42: chef.automate.api.compliance.reporting.v1.Kv
	(*LatestReportSummary)(nil),      // 43: chef.automate.api.compliance.reporting.v1.LatestReportSummary
	(*ProfileMeta)(nil),              // 44: chef.automate.api.compliance.reporting.v1.ProfileMeta
	(*ControlElement)(nil),           // 45: chef.automate.api.compliance.reporting.v1.ControlElement
	(*ControlElements)(nil),          // 46: chef.automate.api.compliance.reporting.v1.ControlElements
	(*CustomReportResponse)(nil),     // 47: chef.automate.api.compliance.reporting.v1.CustomReportResponse
	(*AssetSummary)(nil),             // 48: chef.automate.api.compliance.reporting.v1.AssetSummary
	(*ListFilters)(nil),              // 49: chef.automate.api.compliance.reporting.v1.ListFilters
	(*Collected)(nil),                // 50: chef.automate.api.compliance.reporting.v1.Collected
	(*Uncollected)(nil),              // 51: chef.automate.api.compliance.reporting.v1.Uncollected
	(*AssetListRequest)(nil),         // 52: chef.automate.api.compliance.reporting.v1.AssetListRequest
	(*Assets)(nil),                   // 53: chef.automate.api.compliance.reporting.v1.Assets
	(*AssetListResponse)(nil),        // 54: chef.automate.api.compliance.reporting.v1.AssetListResponse
	(*ComplianceConfigRequest)(nil),  // 55: chef.automate.api.compliance.reporting.v1.ComplianceConfigRequest
	(*ComplianceConfigResponse)(nil), // 56: chef.automate.api.compliance.reporting.v1.ComplianceConfigResponse
	(*GetAssetConfigRequest)(nil),    // 57: chef.automate.api.compliance.reporting.v1.GetAssetConfigRequest
	(*timestamppb.Timestamp)(nil),    // 58: google.protobuf.Timestamp
	(*emptypb.Empty)(nil),            // 59: google.protobuf.Empty
	(*common.ExportData)(nil),        // 60: chef.automate.api.common.ExportData
	(*version.VersionInfo)(nil),      // 61: chef.automate.api.common.version.VersionInfo
}
var file_external_compliance_reporting_reporting_proto_depIdxs = []int32{
	9,  // 0: chef.automate.api.compliance.reporting.v1.ControlItemRequest.filters:type_name -> chef.automate.api.compliance.reporting.v1.ListFilter
	12, // 1: chef.automate.api.compliance.reporting.v1.WaiverData.waiver_summary:type_name -> chef.automate.api.compliance.reporting.v1.ControlSummary
	39, // 2: chef.automate.api.compliance.reporting.v1.ControlItem.profile:type_name -> chef.automate.api.compliance.reporting.v1.ProfileMin
	58, // 3: chef.automate.api.compliance.reporting.v1.ControlItem.end_time:type_name -> google.protobuf.Timestamp
	12, // 4: chef.automate.api.compliance.reporting.v1.ControlItem.control_summary:type_name -> chef.automate.api.compliance.reporting.v1.ControlSummary
	2,  // 5: chef.automate.api.compliance.reporting.v1.ControlItem.waivers:type_name -> chef.automate.api.compliance.reporting.v1.WaiverData
	4,  // 6: chef.automate.api.compliance.reporting.v1.ControlItems.control_items:type_name -> chef.automate.api.compliance.reporting.v1.ControlItem
	12, // 7: chef.automate.api.compliance.reporting.v1.ControlItems.control_summary_totals:type_name -> chef.automate.api.compliance.reporting.v1.ControlSummary
	58, // 8: chef.automate.api.compliance.reporting.v1.TimeQuery.start_time:type_name -> google.protobuf.Timestamp
	9,  // 9: chef.automate.api.compliance.reporting.v1.Query.filters:type_name -> chef.automate.api.compliance.reporting.v1.ListFilter
	0,  // 10: chef.automate.api.compliance.reporting.v1.Query.order:type_name -> chef.automate.api.compliance.reporting.v1.Query.OrderType
	10, // 11: chef.automate.api.compliance.reporting.v1.ControlSummary.passed:type_name -> chef.automate.api.compliance.reporting.v1.Total
	10, // 12: chef.automate.api.compliance.reporting.v1.ControlSummary.skipped:type_name -> chef.automate.api.compliance.reporting.v1.Total
	11, // 13: chef.automate.api.compliance.reporting.v1.ControlSummary.failed:type_name -> chef.automate.api.compliance.reporting.v1.Failed
	10, // 14: chef.automate.api.compliance.reporting.v1.ControlSummary.waived:type_name -> chef.automate.api.compliance.reporting.v1.Total
	14, // 15: chef.automate.api.compliance.reporting.v1.ReportsSummaryLevelOne.reports:type_name -> chef.automate.api.compliance.reporting.v1.ReportSummaryLevelOne
	58, // 16: chef.automate.api.compliance.reporting.v1.ReportSummaryLevelOne.end_time:type_name -> google.protobuf.Timestamp
	12, // 17: chef.automate.api.compliance.reporting.v1.ReportSummaryLevelOne.controls:type_name -> chef.automate.api.compliance.reporting.v1.ControlSummary
	16, // 18: chef.automate.api.compliance.reporting.v1.Reports.reports:type_name -> chef.automate.api.compliance.reporting.v1.Report
	58, // 19: chef.automate.api.compliance.reporting.v1.Report.end_time:type_name -> google.protobuf.Timestamp
	12, // 20: chef.automate.api.compliance.reporting.v1.Report.controls:type_name -> chef.automate.api.compliance.reporting.v1.ControlSummary
	32, // 21: chef.automate.api.compliance.reporting.v1.Report.platform:type_name -> chef.automate.api.compliance.reporting.v1.Platform
	33, // 22: chef.automate.api.compliance.reporting.v1.Report.statistics:type_name -> chef.automate.api.compliance.reporting.v1.Statistics
	20, // 23: chef.automate.api.compliance.reporting.v1.Report.profiles:type_name -> chef.automate.api.compliance.reporting.v1.Profile
	58, // 24: chef.automate.api.compliance.reporting.v1.NodeHeaderInfo.end_time:type_name -> google.protobuf.Timestamp
	32, // 25: chef.automate.api.compliance.reporting.v1.NodeHeaderInfo.platform:type_name -> chef.automate.api.compliance.reporting.v1.Platform
	21, // 26: chef.automate.api.compliance.reporting.v1.NodeHeaderInfo.profiles:type_name -> chef.automate.api.compliance.reporting.v1.NodeHeaderProfileInfo
	19, // 27: chef.automate.api.compliance.reporting.v1.ReportIds.report_data:type_name -> chef.automate.api.compliance.reporting.v1.ReportData
	58, // 28: chef.automate.api.compliance.reporting.v1.ReportData.end_time:type_name -> google.protobuf.Timestamp
	26, // 29: chef.automate.api.compliance.reporting.v1.Profile.supports:type_name -> chef.automate.api.compliance.reporting.v1.Support
	27, // 30: chef.automate.api.compliance.reporting.v1.Profile.depends:type_name -> chef.automate.api.compliance.reporting.v1.Dependency
	28, // 31: chef.automate.api.compliance.reporting.v1.Profile.groups:type_name -> chef.automate.api.compliance.reporting.v1.Group
	29, // 32: chef.automate.api.compliance.reporting.v1.Profile.controls:type_name -> chef.automate.api.compliance.reporting.v1.Control
	31, // 33: chef.automate.api.compliance.reporting.v1.Profile.attributes:type_name -> chef.automate.api.compliance.reporting.v1.Attribute
	24, // 34: chef.automate.api.compliance.reporting.v1.Control.source_location:type_name -> chef.automate.api.compliance.reporting.v1.SourceLocation
	23, // 35: chef.automate.api.compliance.reporting.v1.Control.results:type_name -> chef.automate.api.compliance.reporting.v1.Result
	22, // 36: chef.automate.api.compliance.reporting.v1.Control.refs:type_name -> chef.automate.api.compliance.reporting.v1.Ref
	30, // 37: chef.automate.api.compliance.reporting.v1.Control.waiver_data:type_name -> chef.automate.api.compliance.reporting.v1.OrigWaiverData
	3,  // 38: chef.automate.api.compliance.reporting.v1.Control.removed_results_counts:type_name -> chef.automate.api.compliance.reporting.v1.RemovedResultsCounts
	25, // 39: chef.automate.api.compliance.reporting.v1.Attribute.options:type_name -> chef.automate.api.compliance.reporting.v1.Option
	9,  // 40: chef.automate.api.compliance.reporting.v1.SuggestionRequest.filters:type_name -> chef.automate.api.compliance.reporting.v1.ListFilter
	35, // 41: chef.automate.api.compliance.reporting.v1.Suggestions.suggestions:type_name -> chef.automate.api.compliance.reporting.v1.Suggestion
	39, // 42: chef.automate.api.compliance.reporting.v1.ProfileMins.profiles:type_name -> chef.automate.api.compliance.reporting.v1.ProfileMin
	38, // 43: chef.automate.api.compliance.reporting.v1.ProfileMins.counts:type_name -> chef.automate.api.compliance.reporting.v1.ProfileCounts
	32, // 44: chef.automate.api.compliance.reporting.v1.Node.platform:type_name -> chef.automate.api.compliance.reporting.v1.Platform
	43, // 45: chef.automate.api.compliance.reporting.v1.Node.latest_report:type_name -> chef.automate.api.compliance.reporting.v1.LatestReportSummary
	42, // 46: chef.automate.api.compliance.reporting.v1.Node.tags:type_name -> chef.automate.api.compliance.reporting.v1.Kv
	44, // 47: chef.automate.api.compliance.reporting.v1.Node.profiles:type_name -> chef.automate.api.compliance.reporting.v1.ProfileMeta
	40, // 48: chef.automate.api.compliance.reporting.v1.Nodes.nodes:type_name -> chef.automate.api.compliance.reporting.v1.Node
	58, // 49: chef.automate.api.compliance.reporting.v1.LatestReportSummary.end_time:type_name -> google.protobuf.Timestamp
	12, // 50: chef.automate.api.compliance.reporting.v1.LatestReportSummary.controls:type_name -> chef.automate.api.compliance.reporting.v1.ControlSummary
	45, // 51: chef.automate.api.compliance.reporting.v1.ControlElements.control_elements:type_name -> chef.automate.api.compliance.reporting.v1.ControlElement
	50, // 52: chef.automate.api.compliance.reporting.v1.AssetSummary.collected:type_name -> chef.automate.api.compliance.reporting.v1.Collected
	51, // 53: chef.automate.api.compliance.reporting.v1.AssetSummary.uncollected:type_name -> chef.automate.api.compliance.reporting.v1.Uncollected
	9,  // 54: chef.automate.api.compliance.reporting.v1.ListFilters.filters:type_name -> chef.automate.api.compliance.reporting.v1.ListFilter
	9,  // 55: chef.automate.api.compliance.reporting.v1.AssetListRequest.filters:type_name -> chef.automate.api.compliance.reporting.v1.ListFilter
	53, // 56: chef.automate.api.compliance.reporting.v1.AssetListResponse.assets:type_name -> chef.automate.api.compliance.reporting.v1.Assets
	8,  // 57: chef.automate.api.compliance.reporting.v1.ReportingService.ListReports:input_type -> chef.automate.api.compliance.reporting.v1.Query
	8,  // 58: chef.automate.api.compliance.reporting.v1.ReportingService.ListReportIds:input_type -> chef.automate.api.compliance.reporting.v1.Query
	1,  // 59: chef.automate.api.compliance.reporting.v1.ReportingService.ListControlItems:input_type -> chef.automate.api.compliance.reporting.v1.ControlItemRequest
	8,  // 60: chef.automate.api.compliance.reporting.v1.ReportingService.ListControlInfo:input_type -> chef.automate.api.compliance.reporting.v1.Query
	8,  // 61: chef.automate.api.compliance.reporting.v1.ReportingService.ReadReport:input_type -> chef.automate.api.compliance.reporting.v1.Query
	8,  // 62: chef.automate.api.compliance.reporting.v1.ReportingService.ReadNodeHeader:input_type -> chef.automate.api.compliance.reporting.v1.Query
	34, // 63: chef.automate.api.compliance.reporting.v1.ReportingService.ListSuggestions:input_type -> chef.automate.api.compliance.reporting.v1.SuggestionRequest
	8,  // 64: chef.automate.api.compliance.reporting.v1.ReportingService.ListProfiles:input_type -> chef.automate.api.compliance.reporting.v1.Query
	8,  // 65: chef.automate.api.compliance.reporting.v1.ReportingService.Export:input_type -> chef.automate.api.compliance.reporting.v1.Query
	8,  // 66: chef.automate.api.compliance.reporting.v1.ReportingService.ExportNode:input_type -> chef.automate.api.compliance.reporting.v1.Query
	8,  // 67: chef.automate.api.compliance.reporting.v1.ReportingService.ExportReportManager:input_type -> chef.automate.api.compliance.reporting.v1.Query
	7,  // 68: chef.automate.api.compliance.reporting.v1.ReportingService.ReadNode:input_type -> chef.automate.api.compliance.reporting.v1.Id
	8,  // 69: chef.automate.api.compliance.reporting.v1.ReportingService.ListNodes:input_type -> chef.automate.api.compliance.reporting.v1.Query
	59, // 70: chef.automate.api.compliance.reporting.v1.ReportingService.GetVersion:input_type -> google.protobuf.Empty
	6,  // 71: chef.automate.api.compliance.reporting.v1.ReportingService.LicenseUsageNodes:input_type -> chef.automate.api.compliance.reporting.v1.TimeQuery
	49, // 72: chef.automate.api.compliance.reporting.v1.ReportingService.AssetCount:input_type -> chef.automate.api.compliance.reporting.v1.ListFilters
	52, // 73: chef.automate.api.compliance.reporting.v1.ReportingService.ListAsset:input_type -> chef.automate.api.compliance.reporting.v1.AssetListRequest
	55, // 74: chef.automate.api.compliance.reporting.v1.ReportingService.SetAssetConfig:input_type -> chef.automate.api.compliance.reporting.v1.ComplianceConfigRequest
	57, // 75: chef.automate.api.compliance.reporting.v1.ReportingService.GetAssetConfig:input_type -> chef.automate.api.compliance.reporting.v1.GetAssetConfigRequest
	1,  // 76: chef.automate.api.compliance.reporting.v1.ReportingService.ListControlItemsRange:input_type -> chef.automate.api.compliance.reporting.v1.ControlItemRequest
	13, // 77: chef.automate.api.compliance.reporting.v1.ReportingService.ListReports:output_type -> chef.automate.api.compliance.reporting.v1.ReportsSummaryLevelOne
	18, // 78: chef.automate.api.compliance.reporting.v1.ReportingService.ListReportIds:output_type -> chef.automate.api.compliance.reporting.v1.ReportIds
	5,  // 79: chef.automate.api.compliance.reporting.v1.ReportingService.ListControlItems:output_type -> chef.automate.api.compliance.reporting.v1.ControlItems
	46, // 80: chef.automate.api.compliance.reporting.v1.ReportingService.ListControlInfo:output_type -> chef.automate.api.compliance.reporting.v1.ControlElements
	16, // 81: chef.automate.api.compliance.reporting.v1.ReportingService.ReadReport:output_type -> chef.automate.api.compliance.reporting.v1.Report
	17, // 82: chef.automate.api.compliance.reporting.v1.ReportingService.ReadNodeHeader:output_type -> chef.automate.api.compliance.reporting.v1.NodeHeaderInfo
	36, // 83: chef.automate.api.compliance.reporting.v1.ReportingService.ListSuggestions:output_type -> chef.automate.api.compliance.reporting.v1.Suggestions
	37, // 84: chef.automate.api.compliance.reporting.v1.ReportingService.ListProfiles:output_type -> chef.automate.api.compliance.reporting.v1.ProfileMins
	60, // 85: chef.automate.api.compliance.reporting.v1.ReportingService.Export:output_type -> chef.automate.api.common.ExportData
	60, // 86: chef.automate.api.compliance.reporting.v1.ReportingService.ExportNode:output_type -> chef.automate.api.common.ExportData
	47, // 87: chef.automate.api.compliance.reporting.v1.ReportingService.ExportReportManager:output_type -> chef.automate.api.compliance.reporting.v1.CustomReportResponse
	40, // 88: chef.automate.api.compliance.reporting.v1.ReportingService.ReadNode:output_type -> chef.automate.api.compliance.reporting.v1.Node
	41, // 89: chef.automate.api.compliance.reporting.v1.ReportingService.ListNodes:output_type -> chef.automate.api.compliance.reporting.v1.Nodes
	61, // 90: chef.automate.api.compliance.reporting.v1.ReportingService.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo
	15, // 91: chef.automate.api.compliance.reporting.v1.ReportingService.LicenseUsageNodes:output_type -> chef.automate.api.compliance.reporting.v1.Reports
	48, // 92: chef.automate.api.compliance.reporting.v1.ReportingService.AssetCount:output_type -> chef.automate.api.compliance.reporting.v1.AssetSummary
	54, // 93: chef.automate.api.compliance.reporting.v1.ReportingService.ListAsset:output_type -> chef.automate.api.compliance.reporting.v1.AssetListResponse
	56, // 94: chef.automate.api.compliance.reporting.v1.ReportingService.SetAssetConfig:output_type -> chef.automate.api.compliance.reporting.v1.ComplianceConfigResponse
	56, // 95: chef.automate.api.compliance.reporting.v1.ReportingService.GetAssetConfig:output_type -> chef.automate.api.compliance.reporting.v1.ComplianceConfigResponse
	5,  // 96: chef.automate.api.compliance.reporting.v1.ReportingService.ListControlItemsRange:output_type -> chef.automate.api.compliance.reporting.v1.ControlItems
	77, // [77:97] is the sub-list for method output_type
	57, // [57:77] is the sub-list for method input_type
	57, // [57:57] is the sub-list for extension type_name
	57, // [57:57] is the sub-list for extension extendee
	0,  // [0:57] is the sub-list for field type_name
}

func init() { file_external_compliance_reporting_reporting_proto_init() }
func file_external_compliance_reporting_reporting_proto_init() {
	if File_external_compliance_reporting_reporting_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_reporting_reporting_proto_rawDesc), len(file_external_compliance_reporting_reporting_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   57,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_external_compliance_reporting_reporting_proto_goTypes,
		DependencyIndexes: file_external_compliance_reporting_reporting_proto_depIdxs,
		EnumInfos:         file_external_compliance_reporting_reporting_proto_enumTypes,
		MessageInfos:      file_external_compliance_reporting_reporting_proto_msgTypes,
	}.Build()
	File_external_compliance_reporting_reporting_proto = out.File
	file_external_compliance_reporting_reporting_proto_goTypes = nil
	file_external_compliance_reporting_reporting_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

// ReportingServiceClient is the client API for ReportingService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ReportingServiceClient interface {
	// List Reports
	//
	// Makes a list of reports. Adding a filter makes a list of all node reports that meet the filter criteria.
	// Supports pagination, filtering, and sorting.
	// Max return payload size is 4MB, use pagination to fetch remaining data.
	//
	// Valid sort fields: latest_report.controls.failed.critical, latest_report.controls.failed.total, latest_report.end_time, latest_report.status, node_name
	//
	// Example:
	// ```
	// {"filters":
	// [
	// {"type":"start_time","values":["2019-09-09T00:00:00Z"]},
	// {"type":"end_time","values":["2019-09-11T23:59:59Z"]}
	// ],
	// "page":1, "per_page": 3,
	// "sort": "latest_report.status", "order": "ASC"
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	ListReports(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ReportsSummaryLevelOne, error)
	// List Report IDs
	//
	// List all IDs for the latest report for each node, with optional filtering.
	// Supports filtering, but not pagination or sorting.
	// Including more than one value for `profile_id`, or `profile_name` is not allowed.
	// Including values for both `profile_id` and `profile_name` in one request is not allowed.
	// Max return payload size is 4MB.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportids:list
	ListReportIds(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ReportIds, error)
	// List Controls
	//
	// Lists controls from the last run, with optional filtering.
	// Supports filtering,pagination but not sorting.
	// Limited to 100 results by default.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:controlItems:list
	ListControlItems(ctx context.Context, in *ControlItemRequest, opts ...grpc.CallOption) (*ControlItems, error)
	// List Control Info
	//
	// Lists controls from the last run, with optional filtering.
	// Supports filtering and pagination. Maximum 100 search can be
	// made when specifying the pagination from and size. Sum of from+size
	// should be less that 100. By default 10 results will be returned.
	// Authorization Action:
	// ```
	// compliance:ControlElements:list
	// ```
	ListControlInfo(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ControlElements, error)
	// Show Report by ID
	//
	// Show a specific report by ID. Supports filtering, but not pagination or sorting.
	// Including more than one value for `profile_id`, or `profile_name` is not allowed.
	// Including values for both `profile_id` and `profile_name` in one request is not allowed.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:get
	ReadReport(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Report, error)
	// Show Node Header Info From Report ID
	//
	// Show specific details about node, report and metadate provided the report ID.
	// Supports filtering, but not pagination or sorting.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:nodeheader:get
	ReadNodeHeader(ctx context.Context, in *Query, opts ...grpc.CallOption) (*NodeHeaderInfo, error)
	// List Reporting Suggestions
	//
	// Get suggestions for compliance reporting resources based on matching text substrings.
	// Supports filtering, but not pagination or sorting.
	// `type` parameter is required. It must be one of the parameters from the following table.
	//
	// | Suggestion type parameter | Suggestion type value |
	// | --- | --- |
	// | chef_server | source_fqdn |
	// | chef_tags | chef_tags |
	// | control | profiles.controls.title |
	// | control_tag_key | profiles.controls.string_tags.key |
	// | control_tag_value | profiles.controls.string_tags.values |
	// | environment | environment |
	// | inspec_version | version |
	// | node | node_name |
	// | organization | organization_name |
	// | platform | platform.name |
	// | platform_with_version | platform.full |
	// | policy_group | policy_group |
	// | policy_name | policy_name |
	// | profile | profiles.title |
	// | profile_with_version | profiles.full |
	// | recipe | recipes |
	// | role | roles |
	//
	// Example:
	// ```
	// {
	// "type":"environment",
	// "text":"aws*",
	// "filters":[
	// {"type":"start_time","values":["2019-10-26T00:00:00Z"]},
	// {"type":"end_time","values":["2019-11-05T23:59:59Z"]}
	// ]
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportSuggestions:list
	ListSuggestions(ctx context.Context, in *SuggestionRequest, opts ...grpc.CallOption) (*Suggestions, error)
	// List Profiles
	//
	// List all profiles in use, with optional filtering.
	// Supports pagination, filtering, and sorting.
	// Valid sort fields: name, title
	//
	// The API supports date range filters when `end_time` is the current time
	// and `start_time` is any time in last 90 days. In case, the `end_time` is any
	// date other than the current date, the API would return data only for the `end_time`.
	//
	// Example:
	// ```
	// {"filters":
	// [
	// {"type":"start_time","values":["2019-09-09T00:00:00Z"]},
	// {"type":"end_time","values":["2019-09-11T23:59:59Z"]}
	// ],
	// "page":1, "per_page": 3,
	// }
	// ```
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportProfiles:list
	ListProfiles(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ProfileMins, error)
	Export(ctx context.Context, in *Query, opts ...grpc.CallOption) (ReportingService_ExportClient, error)
	ExportNode(ctx context.Context, in *Query, opts ...grpc.CallOption) (ReportingService_ExportNodeClient, error)
	// Export reports
	//
	// Export multiple reports.
	// Supports filtering by profile or control. API returns an acknowledgement ID.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	ExportReportManager(ctx context.Context, in *Query, opts ...grpc.CallOption) (*CustomReportResponse, error)
	// Show Node by ID
	//
	// Show a specific node by ID.
	// Supports filtering by profile or control.
	// Does not support pagination or sorting.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportNodes:get
	ReadNode(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Node, error)
	// List Nodes
	//
	// List all nodes, with optional filtering, pagination, and sorting.
	// Max return payload size is 4MB, use pagination to fetch remaining data.
	// | Sort parameter | Sort value |
	// | --- | --- |
	// | environment | environment.lower |
	// | latest_report.controls.failed.critical | controls_sums.failed.critical |
	// | latest_report.controls.failed.total | controls_sums.failed.total |
	// | latest_report.end_time (default) | end_time |
	// | latest_report.status | status |
	// | name | node_name.lower |
	// | platform | platform.full |
	// | status | status |
	//
	// The API supports date range filters when `end_time` is the current time
	// and `start_time` is any time in last 90 days. In case, the `end_time` is any
	// date other than the current date, the API would return data only for the `end_time`.
	//
	// Example:
	// ```
	// {
	// "filters":[
	// {"type":"environment","values":["dev*"]},
	// {"type":"start_time","values":["2019-10-26T00:00:00Z"]},
	// {"type":"end_time","values":["2019-11-05T23:59:59Z"]}
	// ],
	// "page":1,"per_page":100,
	// "sort":"environment","order":"ASC"
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportNodes:list
	ListNodes(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Nodes, error)
	GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*version.VersionInfo, error)
	LicenseUsageNodes(ctx context.Context, in *TimeQuery, opts ...grpc.CallOption) (*Reports, error)
	// Assets Count
	//
	// Count the compliance assets based on different filter options.
	// The API returns the response based on reported and unreported assets
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	AssetCount(ctx context.Context, in *ListFilters, opts ...grpc.CallOption) (*AssetSummary, error)
	// List Assets
	//
	// Lists the compliance assets based on different filter options.
	// The API works with filtering assets based on collected, uncollected, unreported and unreachable assets
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	ListAsset(ctx context.Context, in *AssetListRequest, opts ...grpc.CallOption) (*AssetListResponse, error)
	// Set Unreachable Assets Config
	//
	// SetAssetConfig sets the compliance config with the parameters of no of days
	// And API returns the policy name and no of the days which will set in the compliance data base
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:update
	SetAssetConfig(ctx context.Context, in *ComplianceConfigRequest, opts ...grpc.CallOption) (*ComplianceConfigResponse, error)
	// Get Assets Config
	//
	// GetAssetConfig gets the config details from the compliance data base
	// and API return the policy name and no of days
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:get
	GetAssetConfig(ctx context.Context, in *GetAssetConfigRequest, opts ...grpc.CallOption) (*ComplianceConfigResponse, error)
	// List Controls Search
	//
	// Lists controls from the last run, with optional filtering.
	// Supports filtering,pagination but not sorting.
	// Limited to 100 results by default.
	// Gets the summary of each control.
	//
	// The API supports date range filters when `end_time` is the current time
	// and `start_time` is any time in last 90 days. In case, the `end_time` is any
	// date other than the current date, the API would return data only for the `end_time`.
	//
	// Example:
	// ```
	// {"filters":
	// [
	// {"type":"start_time","values":["2019-09-09T00:00:00Z"]},
	// {"type":"end_time","values":["2019-09-11T23:59:59Z"]}
	// ],
	// "page_number":1, "size": 3,
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:controlItems:list
	ListControlItemsRange(ctx context.Context, in *ControlItemRequest, opts ...grpc.CallOption) (*ControlItems, error)
}

type reportingServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewReportingServiceClient(cc grpc.ClientConnInterface) ReportingServiceClient {
	return &reportingServiceClient{cc}
}

func (c *reportingServiceClient) ListReports(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ReportsSummaryLevelOne, error) {
	out := new(ReportsSummaryLevelOne)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListReports", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListReportIds(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ReportIds, error) {
	out := new(ReportIds)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListReportIds", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListControlItems(ctx context.Context, in *ControlItemRequest, opts ...grpc.CallOption) (*ControlItems, error) {
	out := new(ControlItems)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListControlItems", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListControlInfo(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ControlElements, error) {
	out := new(ControlElements)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListControlInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ReadReport(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Report, error) {
	out := new(Report)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ReadReport", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ReadNodeHeader(ctx context.Context, in *Query, opts ...grpc.CallOption) (*NodeHeaderInfo, error) {
	out := new(NodeHeaderInfo)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ReadNodeHeader", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListSuggestions(ctx context.Context, in *SuggestionRequest, opts ...grpc.CallOption) (*Suggestions, error) {
	out := new(Suggestions)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListSuggestions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListProfiles(ctx context.Context, in *Query, opts ...grpc.CallOption) (*ProfileMins, error) {
	out := new(ProfileMins)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListProfiles", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) Export(ctx context.Context, in *Query, opts ...grpc.CallOption) (ReportingService_ExportClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ReportingService_serviceDesc.Streams[0], "/chef.automate.api.compliance.reporting.v1.ReportingService/Export", opts...)
	if err != nil {
		return nil, err
	}
	x := &reportingServiceExportClient{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 ReportingService_ExportClient interface {
	Recv() (*common.ExportData, error)
	grpc.ClientStream
}

type reportingServiceExportClient struct {
	grpc.ClientStream
}

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

func (c *reportingServiceClient) ExportNode(ctx context.Context, in *Query, opts ...grpc.CallOption) (ReportingService_ExportNodeClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ReportingService_serviceDesc.Streams[1], "/chef.automate.api.compliance.reporting.v1.ReportingService/ExportNode", opts...)
	if err != nil {
		return nil, err
	}
	x := &reportingServiceExportNodeClient{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 ReportingService_ExportNodeClient interface {
	Recv() (*common.ExportData, error)
	grpc.ClientStream
}

type reportingServiceExportNodeClient struct {
	grpc.ClientStream
}

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

func (c *reportingServiceClient) ExportReportManager(ctx context.Context, in *Query, opts ...grpc.CallOption) (*CustomReportResponse, error) {
	out := new(CustomReportResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ExportReportManager", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ReadNode(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Node, error) {
	out := new(Node)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ReadNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListNodes(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Nodes, error) {
	out := new(Nodes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*version.VersionInfo, error) {
	out := new(version.VersionInfo)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) LicenseUsageNodes(ctx context.Context, in *TimeQuery, opts ...grpc.CallOption) (*Reports, error) {
	out := new(Reports)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/LicenseUsageNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) AssetCount(ctx context.Context, in *ListFilters, opts ...grpc.CallOption) (*AssetSummary, error) {
	out := new(AssetSummary)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/AssetCount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListAsset(ctx context.Context, in *AssetListRequest, opts ...grpc.CallOption) (*AssetListResponse, error) {
	out := new(AssetListResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListAsset", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) SetAssetConfig(ctx context.Context, in *ComplianceConfigRequest, opts ...grpc.CallOption) (*ComplianceConfigResponse, error) {
	out := new(ComplianceConfigResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/SetAssetConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) GetAssetConfig(ctx context.Context, in *GetAssetConfigRequest, opts ...grpc.CallOption) (*ComplianceConfigResponse, error) {
	out := new(ComplianceConfigResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/GetAssetConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *reportingServiceClient) ListControlItemsRange(ctx context.Context, in *ControlItemRequest, opts ...grpc.CallOption) (*ControlItems, error) {
	out := new(ControlItems)
	err := c.cc.Invoke(ctx, "/chef.automate.api.compliance.reporting.v1.ReportingService/ListControlItemsRange", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ReportingServiceServer is the server API for ReportingService service.
type ReportingServiceServer interface {
	// List Reports
	//
	// Makes a list of reports. Adding a filter makes a list of all node reports that meet the filter criteria.
	// Supports pagination, filtering, and sorting.
	// Max return payload size is 4MB, use pagination to fetch remaining data.
	//
	// Valid sort fields: latest_report.controls.failed.critical, latest_report.controls.failed.total, latest_report.end_time, latest_report.status, node_name
	//
	// Example:
	// ```
	// {"filters":
	// [
	// {"type":"start_time","values":["2019-09-09T00:00:00Z"]},
	// {"type":"end_time","values":["2019-09-11T23:59:59Z"]}
	// ],
	// "page":1, "per_page": 3,
	// "sort": "latest_report.status", "order": "ASC"
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	ListReports(context.Context, *Query) (*ReportsSummaryLevelOne, error)
	// List Report IDs
	//
	// List all IDs for the latest report for each node, with optional filtering.
	// Supports filtering, but not pagination or sorting.
	// Including more than one value for `profile_id`, or `profile_name` is not allowed.
	// Including values for both `profile_id` and `profile_name` in one request is not allowed.
	// Max return payload size is 4MB.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportids:list
	ListReportIds(context.Context, *Query) (*ReportIds, error)
	// List Controls
	//
	// Lists controls from the last run, with optional filtering.
	// Supports filtering,pagination but not sorting.
	// Limited to 100 results by default.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:controlItems:list
	ListControlItems(context.Context, *ControlItemRequest) (*ControlItems, error)
	// List Control Info
	//
	// Lists controls from the last run, with optional filtering.
	// Supports filtering and pagination. Maximum 100 search can be
	// made when specifying the pagination from and size. Sum of from+size
	// should be less that 100. By default 10 results will be returned.
	// Authorization Action:
	// ```
	// compliance:ControlElements:list
	// ```
	ListControlInfo(context.Context, *Query) (*ControlElements, error)
	// Show Report by ID
	//
	// Show a specific report by ID. Supports filtering, but not pagination or sorting.
	// Including more than one value for `profile_id`, or `profile_name` is not allowed.
	// Including values for both `profile_id` and `profile_name` in one request is not allowed.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:get
	ReadReport(context.Context, *Query) (*Report, error)
	// Show Node Header Info From Report ID
	//
	// Show specific details about node, report and metadate provided the report ID.
	// Supports filtering, but not pagination or sorting.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:nodeheader:get
	ReadNodeHeader(context.Context, *Query) (*NodeHeaderInfo, error)
	// List Reporting Suggestions
	//
	// Get suggestions for compliance reporting resources based on matching text substrings.
	// Supports filtering, but not pagination or sorting.
	// `type` parameter is required. It must be one of the parameters from the following table.
	//
	// | Suggestion type parameter | Suggestion type value |
	// | --- | --- |
	// | chef_server | source_fqdn |
	// | chef_tags | chef_tags |
	// | control | profiles.controls.title |
	// | control_tag_key | profiles.controls.string_tags.key |
	// | control_tag_value | profiles.controls.string_tags.values |
	// | environment | environment |
	// | inspec_version | version |
	// | node | node_name |
	// | organization | organization_name |
	// | platform | platform.name |
	// | platform_with_version | platform.full |
	// | policy_group | policy_group |
	// | policy_name | policy_name |
	// | profile | profiles.title |
	// | profile_with_version | profiles.full |
	// | recipe | recipes |
	// | role | roles |
	//
	// Example:
	// ```
	// {
	// "type":"environment",
	// "text":"aws*",
	// "filters":[
	// {"type":"start_time","values":["2019-10-26T00:00:00Z"]},
	// {"type":"end_time","values":["2019-11-05T23:59:59Z"]}
	// ]
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportSuggestions:list
	ListSuggestions(context.Context, *SuggestionRequest) (*Suggestions, error)
	// List Profiles
	//
	// List all profiles in use, with optional filtering.
	// Supports pagination, filtering, and sorting.
	// Valid sort fields: name, title
	//
	// The API supports date range filters when `end_time` is the current time
	// and `start_time` is any time in last 90 days. In case, the `end_time` is any
	// date other than the current date, the API would return data only for the `end_time`.
	//
	// Example:
	// ```
	// {"filters":
	// [
	// {"type":"start_time","values":["2019-09-09T00:00:00Z"]},
	// {"type":"end_time","values":["2019-09-11T23:59:59Z"]}
	// ],
	// "page":1, "per_page": 3,
	// }
	// ```
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportProfiles:list
	ListProfiles(context.Context, *Query) (*ProfileMins, error)
	Export(*Query, ReportingService_ExportServer) error
	ExportNode(*Query, ReportingService_ExportNodeServer) error
	// Export reports
	//
	// Export multiple reports.
	// Supports filtering by profile or control. API returns an acknowledgement ID.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	ExportReportManager(context.Context, *Query) (*CustomReportResponse, error)
	// Show Node by ID
	//
	// Show a specific node by ID.
	// Supports filtering by profile or control.
	// Does not support pagination or sorting.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportNodes:get
	ReadNode(context.Context, *Id) (*Node, error)
	// List Nodes
	//
	// List all nodes, with optional filtering, pagination, and sorting.
	// Max return payload size is 4MB, use pagination to fetch remaining data.
	// | Sort parameter | Sort value |
	// | --- | --- |
	// | environment | environment.lower |
	// | latest_report.controls.failed.critical | controls_sums.failed.critical |
	// | latest_report.controls.failed.total | controls_sums.failed.total |
	// | latest_report.end_time (default) | end_time |
	// | latest_report.status | status |
	// | name | node_name.lower |
	// | platform | platform.full |
	// | status | status |
	//
	// The API supports date range filters when `end_time` is the current time
	// and `start_time` is any time in last 90 days. In case, the `end_time` is any
	// date other than the current date, the API would return data only for the `end_time`.
	//
	// Example:
	// ```
	// {
	// "filters":[
	// {"type":"environment","values":["dev*"]},
	// {"type":"start_time","values":["2019-10-26T00:00:00Z"]},
	// {"type":"end_time","values":["2019-11-05T23:59:59Z"]}
	// ],
	// "page":1,"per_page":100,
	// "sort":"environment","order":"ASC"
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reportNodes:list
	ListNodes(context.Context, *Query) (*Nodes, error)
	GetVersion(context.Context, *emptypb.Empty) (*version.VersionInfo, error)
	LicenseUsageNodes(context.Context, *TimeQuery) (*Reports, error)
	// Assets Count
	//
	// Count the compliance assets based on different filter options.
	// The API returns the response based on reported and unreported assets
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	AssetCount(context.Context, *ListFilters) (*AssetSummary, error)
	// List Assets
	//
	// Lists the compliance assets based on different filter options.
	// The API works with filtering assets based on collected, uncollected, unreported and unreachable assets
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:list
	ListAsset(context.Context, *AssetListRequest) (*AssetListResponse, error)
	// Set Unreachable Assets Config
	//
	// SetAssetConfig sets the compliance config with the parameters of no of days
	// And API returns the policy name and no of the days which will set in the compliance data base
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:update
	SetAssetConfig(context.Context, *ComplianceConfigRequest) (*ComplianceConfigResponse, error)
	// Get Assets Config
	//
	// GetAssetConfig gets the config details from the compliance data base
	// and API return the policy name and no of days
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:reports:get
	GetAssetConfig(context.Context, *GetAssetConfigRequest) (*ComplianceConfigResponse, error)
	// List Controls Search
	//
	// Lists controls from the last run, with optional filtering.
	// Supports filtering,pagination but not sorting.
	// Limited to 100 results by default.
	// Gets the summary of each control.
	//
	// The API supports date range filters when `end_time` is the current time
	// and `start_time` is any time in last 90 days. In case, the `end_time` is any
	// date other than the current date, the API would return data only for the `end_time`.
	//
	// Example:
	// ```
	// {"filters":
	// [
	// {"type":"start_time","values":["2019-09-09T00:00:00Z"]},
	// {"type":"end_time","values":["2019-09-11T23:59:59Z"]}
	// ],
	// "page_number":1, "size": 3,
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//compliance:controlItems:list
	ListControlItemsRange(context.Context, *ControlItemRequest) (*ControlItems, error)
}

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

func (*UnimplementedReportingServiceServer) ListReports(context.Context, *Query) (*ReportsSummaryLevelOne, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListReports not implemented")
}
func (*UnimplementedReportingServiceServer) ListReportIds(context.Context, *Query) (*ReportIds, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListReportIds not implemented")
}
func (*UnimplementedReportingServiceServer) ListControlItems(context.Context, *ControlItemRequest) (*ControlItems, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListControlItems not implemented")
}
func (*UnimplementedReportingServiceServer) ListControlInfo(context.Context, *Query) (*ControlElements, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListControlInfo not implemented")
}
func (*UnimplementedReportingServiceServer) ReadReport(context.Context, *Query) (*Report, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReadReport not implemented")
}
func (*UnimplementedReportingServiceServer) ReadNodeHeader(context.Context, *Query) (*NodeHeaderInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReadNodeHeader not implemented")
}
func (*UnimplementedReportingServiceServer) ListSuggestions(context.Context, *SuggestionRequest) (*Suggestions, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSuggestions not implemented")
}
func (*UnimplementedReportingServiceServer) ListProfiles(context.Context, *Query) (*ProfileMins, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListProfiles not implemented")
}
func (*UnimplementedReportingServiceServer) Export(*Query, ReportingService_ExportServer) error {
	return status.Errorf(codes.Unimplemented, "method Export not implemented")
}
func (*UnimplementedReportingServiceServer) ExportNode(*Query, ReportingService_ExportNodeServer) error {
	return status.Errorf(codes.Unimplemented, "method ExportNode not implemented")
}
func (*UnimplementedReportingServiceServer) ExportReportManager(context.Context, *Query) (*CustomReportResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExportReportManager not implemented")
}
func (*UnimplementedReportingServiceServer) ReadNode(context.Context, *Id) (*Node, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReadNode not implemented")
}
func (*UnimplementedReportingServiceServer) ListNodes(context.Context, *Query) (*Nodes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListNodes not implemented")
}
func (*UnimplementedReportingServiceServer) GetVersion(context.Context, *emptypb.Empty) (*version.VersionInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
}
func (*UnimplementedReportingServiceServer) LicenseUsageNodes(context.Context, *TimeQuery) (*Reports, error) {
	return nil, status.Errorf(codes.Unimplemented, "method LicenseUsageNodes not implemented")
}
func (*UnimplementedReportingServiceServer) AssetCount(context.Context, *ListFilters) (*AssetSummary, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AssetCount not implemented")
}
func (*UnimplementedReportingServiceServer) ListAsset(context.Context, *AssetListRequest) (*AssetListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAsset not implemented")
}
func (*UnimplementedReportingServiceServer) SetAssetConfig(context.Context, *ComplianceConfigRequest) (*ComplianceConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetAssetConfig not implemented")
}
func (*UnimplementedReportingServiceServer) GetAssetConfig(context.Context, *GetAssetConfigRequest) (*ComplianceConfigResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAssetConfig not implemented")
}
func (*UnimplementedReportingServiceServer) ListControlItemsRange(context.Context, *ControlItemRequest) (*ControlItems, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListControlItemsRange not implemented")
}

func RegisterReportingServiceServer(s *grpc.Server, srv ReportingServiceServer) {
	s.RegisterService(&_ReportingService_serviceDesc, srv)
}

func _ReportingService_ListReports_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.(ReportingServiceServer).ListReports(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListReports",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListReports(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListReportIds_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.(ReportingServiceServer).ListReportIds(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListReportIds",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListReportIds(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListControlItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ControlItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).ListControlItems(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListControlItems",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListControlItems(ctx, req.(*ControlItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListControlInfo_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.(ReportingServiceServer).ListControlInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListControlInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListControlInfo(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ReadReport_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.(ReportingServiceServer).ReadReport(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ReadReport",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ReadReport(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ReadNodeHeader_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.(ReportingServiceServer).ReadNodeHeader(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ReadNodeHeader",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ReadNodeHeader(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListSuggestions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SuggestionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).ListSuggestions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListSuggestions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListSuggestions(ctx, req.(*SuggestionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListProfiles_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.(ReportingServiceServer).ListProfiles(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListProfiles",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListProfiles(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_Export_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Query)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ReportingServiceServer).Export(m, &reportingServiceExportServer{stream})
}

type ReportingService_ExportServer interface {
	Send(*common.ExportData) error
	grpc.ServerStream
}

type reportingServiceExportServer struct {
	grpc.ServerStream
}

func (x *reportingServiceExportServer) Send(m *common.ExportData) error {
	return x.ServerStream.SendMsg(m)
}

func _ReportingService_ExportNode_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Query)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ReportingServiceServer).ExportNode(m, &reportingServiceExportNodeServer{stream})
}

type ReportingService_ExportNodeServer interface {
	Send(*common.ExportData) error
	grpc.ServerStream
}

type reportingServiceExportNodeServer struct {
	grpc.ServerStream
}

func (x *reportingServiceExportNodeServer) Send(m *common.ExportData) error {
	return x.ServerStream.SendMsg(m)
}

func _ReportingService_ExportReportManager_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.(ReportingServiceServer).ExportReportManager(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ExportReportManager",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ExportReportManager(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ReadNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Id)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).ReadNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ReadNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ReadNode(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListNodes_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.(ReportingServiceServer).ListNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListNodes(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).GetVersion(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_LicenseUsageNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TimeQuery)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).LicenseUsageNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/LicenseUsageNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).LicenseUsageNodes(ctx, req.(*TimeQuery))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_AssetCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListFilters)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).AssetCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/AssetCount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).AssetCount(ctx, req.(*ListFilters))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListAsset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AssetListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).ListAsset(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListAsset",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListAsset(ctx, req.(*AssetListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_SetAssetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ComplianceConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).SetAssetConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/SetAssetConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).SetAssetConfig(ctx, req.(*ComplianceConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_GetAssetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetAssetConfigRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).GetAssetConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/GetAssetConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).GetAssetConfig(ctx, req.(*GetAssetConfigRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ReportingService_ListControlItemsRange_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ControlItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ReportingServiceServer).ListControlItemsRange(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.compliance.reporting.v1.ReportingService/ListControlItemsRange",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ReportingServiceServer).ListControlItemsRange(ctx, req.(*ControlItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _ReportingService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.api.compliance.reporting.v1.ReportingService",
	HandlerType: (*ReportingServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListReports",
			Handler:    _ReportingService_ListReports_Handler,
		},
		{
			MethodName: "ListReportIds",
			Handler:    _ReportingService_ListReportIds_Handler,
		},
		{
			MethodName: "ListControlItems",
			Handler:    _ReportingService_ListControlItems_Handler,
		},
		{
			MethodName: "ListControlInfo",
			Handler:    _ReportingService_ListControlInfo_Handler,
		},
		{
			MethodName: "ReadReport",
			Handler:    _ReportingService_ReadReport_Handler,
		},
		{
			MethodName: "ReadNodeHeader",
			Handler:    _ReportingService_ReadNodeHeader_Handler,
		},
		{
			MethodName: "ListSuggestions",
			Handler:    _ReportingService_ListSuggestions_Handler,
		},
		{
			MethodName: "ListProfiles",
			Handler:    _ReportingService_ListProfiles_Handler,
		},
		{
			MethodName: "ExportReportManager",
			Handler:    _ReportingService_ExportReportManager_Handler,
		},
		{
			MethodName: "ReadNode",
			Handler:    _ReportingService_ReadNode_Handler,
		},
		{
			MethodName: "ListNodes",
			Handler:    _ReportingService_ListNodes_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _ReportingService_GetVersion_Handler,
		},
		{
			MethodName: "LicenseUsageNodes",
			Handler:    _ReportingService_LicenseUsageNodes_Handler,
		},
		{
			MethodName: "AssetCount",
			Handler:    _ReportingService_AssetCount_Handler,
		},
		{
			MethodName: "ListAsset",
			Handler:    _ReportingService_ListAsset_Handler,
		},
		{
			MethodName: "SetAssetConfig",
			Handler:    _ReportingService_SetAssetConfig_Handler,
		},
		{
			MethodName: "GetAssetConfig",
			Handler:    _ReportingService_GetAssetConfig_Handler,
		},
		{
			MethodName: "ListControlItemsRange",
			Handler:    _ReportingService_ListControlItemsRange_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Export",
			Handler:       _ReportingService_Export_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ExportNode",
			Handler:       _ReportingService_ExportNode_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "external/compliance/reporting/reporting.proto",
}
