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

package applications

import (
	context "context"
	_ "github.com/chef/automate/api/external/annotations/iam"
	query "github.com/chef/automate/api/external/common/query"
	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"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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)
)

// The HealthStatus enumerable matches the Chef Habitat implementation for health-check status:
// => https://www.habitat.sh/docs/reference/#health-check
// For a health status within a service group.
// *critical* means that one or more services are in critical condition.
// *warning* means that one or more services have a warning, but none are in critical condition.
// *unknown* means that one or more services have not responded, but all of the remaining nodes responded to the health check as "OK".
// *OK* means that all of the services are OK and all have responded to the health check.
// *none* means that there is no health check information.
type HealthStatus int32

const (
	HealthStatus_OK       HealthStatus = 0
	HealthStatus_WARNING  HealthStatus = 1
	HealthStatus_CRITICAL HealthStatus = 2
	HealthStatus_UNKNOWN  HealthStatus = 3
	HealthStatus_NONE     HealthStatus = 17
)

// Enum value maps for HealthStatus.
var (
	HealthStatus_name = map[int32]string{
		0:  "OK",
		1:  "WARNING",
		2:  "CRITICAL",
		3:  "UNKNOWN",
		17: "NONE",
	}
	HealthStatus_value = map[string]int32{
		"OK":       0,
		"WARNING":  1,
		"CRITICAL": 2,
		"UNKNOWN":  3,
		"NONE":     17,
	}
)

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

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

func (HealthStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_external_applications_applications_proto_enumTypes[0].Descriptor()
}

func (HealthStatus) Type() protoreflect.EnumType {
	return &file_external_applications_applications_proto_enumTypes[0]
}

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

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

// Request message for listing services.
type ServicesReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Applies search filters, in the format of `fieldname:value`.
	//
	// Valid filter fieldnames are:
	// * `origin`: origin component of the service's package identifier
	// * `service`: the name component of the service's package identifier
	// * `version`: the version number component of the service's package identifier
	// * `buildstamp`: the build timestamp (also called "release") of the service's package identifier
	// * `channel`: the package channel to which the service subscribes for updates
	// * `application`: the application field of the service's event-stream metadata
	// * `environment`: the environment field of the service's event-stream metadata
	// * `site`: the site field of the service's event-stream metadata
	// * `group`: the suffix of the service group name
	//
	// `status` filters refine service results by a service's
	//
	//	current state or most recent healthcheck result.
	//	Disconnected services keep their last healthcheck result
	//	until their reports are removed by Chef Automate.
	//	When you apply a healthcheck filter, the report includes
	//	all recently disconnected services.
	//	Valid status filter parameters are:
	//
	// * `status:disconnected`: returns services in a disconnected state
	// * `status:critical`: returns services with a "critical" healthcheck result
	// * `status:unknown`: returns services with an "unknown" healthcheck result
	// * `status:warning`: returns services with a "warning" healthcheck result
	// * `status:ok`: returns services with an  "ok" health check result
	Filter []string `protobuf:"bytes,1,rep,name=filter,proto3" json:"filter,omitempty"`
	// Applies pagination parameters.
	Pagination *query.Pagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
	// Applies sorting parameters.
	Sorting       *query.Sorting `protobuf:"bytes,3,opt,name=sorting,proto3" json:"sorting,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServicesReq) ProtoMessage() {}

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

func (x *ServicesReq) GetFilter() []string {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (x *ServicesReq) GetPagination() *query.Pagination {
	if x != nil {
		return x.Pagination
	}
	return nil
}

func (x *ServicesReq) GetSorting() *query.Sorting {
	if x != nil {
		return x.Sorting
	}
	return nil
}

// Request message for listing available service filters.
type ServicesDistinctValuesReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Field name of service values.
	FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
	// Query value, supports wildcards (* and ?).
	QueryFragment string `protobuf:"bytes,2,opt,name=query_fragment,json=queryFragment,proto3" json:"query_fragment,omitempty"`
	// Applies filters, in the format of `fieldname:value`.
	// See documentation for ServicesReq for valid filter parameters
	Filter        []string `protobuf:"bytes,3,rep,name=filter,proto3" json:"filter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServicesDistinctValuesReq) ProtoMessage() {}

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

func (x *ServicesDistinctValuesReq) GetFieldName() string {
	if x != nil {
		return x.FieldName
	}
	return ""
}

func (x *ServicesDistinctValuesReq) GetQueryFragment() string {
	if x != nil {
		return x.QueryFragment
	}
	return ""
}

func (x *ServicesDistinctValuesReq) GetFilter() []string {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Request message for listing services by service group.
type ServicesBySGReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Service group ID.
	ServiceGroupId string `protobuf:"bytes,1,opt,name=service_group_id,json=serviceGroupId,proto3" json:"service_group_id,omitempty"`
	// Applies pagination parameters.
	Pagination *query.Pagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
	// Applies sorting parameters.
	Sorting *query.Sorting `protobuf:"bytes,3,opt,name=sorting,proto3" json:"sorting,omitempty"`
	// Applies filters, in the format of `fieldname:value`.
	// See documentation for ServicesReq for valid filter parameters
	Filter        []string `protobuf:"bytes,5,rep,name=filter,proto3" json:"filter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServicesBySGReq) ProtoMessage() {}

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

func (x *ServicesBySGReq) GetServiceGroupId() string {
	if x != nil {
		return x.ServiceGroupId
	}
	return ""
}

func (x *ServicesBySGReq) GetPagination() *query.Pagination {
	if x != nil {
		return x.Pagination
	}
	return nil
}

func (x *ServicesBySGReq) GetSorting() *query.Sorting {
	if x != nil {
		return x.Sorting
	}
	return nil
}

func (x *ServicesBySGReq) GetFilter() []string {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Response message for GetServicesBySG.
type ServicesBySGRes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Service group name.
	Group string `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"`
	// List of services.
	Services []*Service `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"`
	// Intentionally blank.
	ServicesHealthCounts *HealthCounts `protobuf:"bytes,3,opt,name=services_health_counts,json=servicesHealthCounts,proto3" json:"services_health_counts,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*ServicesBySGRes) ProtoMessage() {}

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

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

func (x *ServicesBySGRes) GetServices() []*Service {
	if x != nil {
		return x.Services
	}
	return nil
}

func (x *ServicesBySGRes) GetServicesHealthCounts() *HealthCounts {
	if x != nil {
		return x.ServicesHealthCounts
	}
	return nil
}

// Response message for GetServices.
type ServicesRes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of services.
	Services      []*Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServicesRes) ProtoMessage() {}

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

func (x *ServicesRes) GetServices() []*Service {
	if x != nil {
		return x.Services
	}
	return nil
}

// Response message for GetServicesDistinctValues.
type ServicesDistinctValuesRes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of distinct values fitting query_fragment and filters.
	Values        []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServicesDistinctValuesRes) ProtoMessage() {}

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

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

// Request message for GetDisconnectedServices.
type DisconnectedServicesReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Threshold for marking services disconnected in seconds.
	ThresholdSeconds int32 `protobuf:"varint,2,opt,name=threshold_seconds,json=thresholdSeconds,proto3" json:"threshold_seconds,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*DisconnectedServicesReq) ProtoMessage() {}

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

func (x *DisconnectedServicesReq) GetThresholdSeconds() int32 {
	if x != nil {
		return x.ThresholdSeconds
	}
	return 0
}

type DeleteServicesByIDReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of the database IDs of the services to be deleted.
	Ids           []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteServicesByIDReq) ProtoMessage() {}

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

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

// Request message for ServicesStats.
type ServicesStatsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServicesStatsReq) ProtoMessage() {}

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

// Response message for ServicesStats.
type ServicesStatsRes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Total number of service groups reporting to Chef Automate.
	TotalServiceGroups int32 `protobuf:"varint,1,opt,name=total_service_groups,json=totalServiceGroups,proto3" json:"total_service_groups,omitempty"`
	// Total number of services reporting to Chef Automate, counts both connected and disconnected services.
	TotalServices int32 `protobuf:"varint,2,opt,name=total_services,json=totalServices,proto3" json:"total_services,omitempty"`
	// Total number of supervisors reporting to Chef Automate.
	TotalSupervisors int32 `protobuf:"varint,3,opt,name=total_supervisors,json=totalSupervisors,proto3" json:"total_supervisors,omitempty"`
	// Total number of deployments reporting to Chef Automate.
	TotalDeployments int32 `protobuf:"varint,4,opt,name=total_deployments,json=totalDeployments,proto3" json:"total_deployments,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*ServicesStatsRes) ProtoMessage() {}

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

func (x *ServicesStatsRes) GetTotalServiceGroups() int32 {
	if x != nil {
		return x.TotalServiceGroups
	}
	return 0
}

func (x *ServicesStatsRes) GetTotalServices() int32 {
	if x != nil {
		return x.TotalServices
	}
	return 0
}

func (x *ServicesStatsRes) GetTotalSupervisors() int32 {
	if x != nil {
		return x.TotalSupervisors
	}
	return 0
}

func (x *ServicesStatsRes) GetTotalDeployments() int32 {
	if x != nil {
		return x.TotalDeployments
	}
	return 0
}

// Periodic job configuration.
type PeriodicJobConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Enable/disable the job. `false` is disabled, `true` is enabled.
	Running bool `protobuf:"varint,1,opt,name=running,proto3" json:"running,omitempty"`
	// The `threshold` setting used by periodic jobs for evaluating services.
	// Threshold is a string that follows Elasticsearch's date math expressions. For more information, see the simpledatemath package under `lib/`.
	Threshold string `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// A recurrence rule that determines how often, at what interval, and when to
	// initially start a scheduled job.
	//
	// If the field is omitted from the request or is set to an emtpy string, no
	// change will be made to the current value. Otherwise, the value should match
	// the  [recurrence rule format defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).
	//
	// It is not recommended to change this value from the default setting of a
	// 60 second interval. This configuration option is provided only for
	// consistency with other data lifecyle APIs.
	Recurrence    string           `protobuf:"bytes,3,opt,name=recurrence,proto3" json:"recurrence,omitempty"`
	JobInfo       *PeriodicJobInfo `protobuf:"bytes,4,opt,name=job_info,json=jobInfo,proto3" json:"job_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PeriodicJobConfig) ProtoMessage() {}

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

func (x *PeriodicJobConfig) GetRunning() bool {
	if x != nil {
		return x.Running
	}
	return false
}

func (x *PeriodicJobConfig) GetThreshold() string {
	if x != nil {
		return x.Threshold
	}
	return ""
}

func (x *PeriodicJobConfig) GetRecurrence() string {
	if x != nil {
		return x.Recurrence
	}
	return ""
}

func (x *PeriodicJobConfig) GetJobInfo() *PeriodicJobInfo {
	if x != nil {
		return x.JobInfo
	}
	return nil
}

// Configuration for a periodic job. Initially Jobs using this message type
// were designed such that they could not be disabled, but that has been
// changed to make the various data lifecycle APIs consistent with each other.
// Thus, there is a `running` field which will disable the job if set to false.
// That is not recommended.
type PeriodicMandatoryJobConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The `threshold` setting used by periodic jobs for evaluating services.
	// Threshold is a string that follows Elasticsearch's date math expressions. For more information, see the simpledatemath package under `lib/`.
	Threshold string `protobuf:"bytes,1,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// Enable/disable the job. `false` is disabled, `true` is enabled. It is not
	// recommended to disable this job.
	Running *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=running,proto3" json:"running,omitempty"`
	// A recurrence rule that determines how often, at what interval, and when to
	// initially start a scheduled job.
	//
	// If the field is omitted from the request or is set to an emtpy string, no
	// change will be made to the current value. Otherwise, the value should match
	// the  [recurrence rule format defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).
	//
	// It is not recommended to change this value from the default setting of a
	// 60 second interval. This configuration option is provided only for
	// consistency with other data lifecyle APIs.
	Recurrence string `protobuf:"bytes,3,opt,name=recurrence,proto3" json:"recurrence,omitempty"`
	// Information about the last and next scheduled executions of the job. This
	// is only used in a response context.
	JobInfo       *PeriodicJobInfo `protobuf:"bytes,4,opt,name=job_info,json=jobInfo,proto3" json:"job_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PeriodicMandatoryJobConfig) ProtoMessage() {}

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

func (x *PeriodicMandatoryJobConfig) GetThreshold() string {
	if x != nil {
		return x.Threshold
	}
	return ""
}

func (x *PeriodicMandatoryJobConfig) GetRunning() *wrapperspb.BoolValue {
	if x != nil {
		return x.Running
	}
	return nil
}

func (x *PeriodicMandatoryJobConfig) GetRecurrence() string {
	if x != nil {
		return x.Recurrence
	}
	return ""
}

func (x *PeriodicMandatoryJobConfig) GetJobInfo() *PeriodicJobInfo {
	if x != nil {
		return x.JobInfo
	}
	return nil
}

// PeriodicJobInfo gives information about the last and next scheduled
// executions of a periodic job.
type PeriodicJobInfo struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	LastEnqueuedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=last_enqueued_at,json=lastEnqueuedAt,proto3" json:"last_enqueued_at,omitempty"`
	LastStartedAt  *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_started_at,json=lastStartedAt,proto3" json:"last_started_at,omitempty"`
	LastEndedAt    *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_ended_at,json=lastEndedAt,proto3" json:"last_ended_at,omitempty"`
	LastElapsed    *durationpb.Duration   `protobuf:"bytes,4,opt,name=last_elapsed,json=lastElapsed,proto3" json:"last_elapsed,omitempty"`
	NextDueAt      *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=next_due_at,json=nextDueAt,proto3" json:"next_due_at,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*PeriodicJobInfo) ProtoMessage() {}

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

func (x *PeriodicJobInfo) GetLastEnqueuedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastEnqueuedAt
	}
	return nil
}

func (x *PeriodicJobInfo) GetLastStartedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastStartedAt
	}
	return nil
}

func (x *PeriodicJobInfo) GetLastEndedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastEndedAt
	}
	return nil
}

func (x *PeriodicJobInfo) GetLastElapsed() *durationpb.Duration {
	if x != nil {
		return x.LastElapsed
	}
	return nil
}

func (x *PeriodicJobInfo) GetNextDueAt() *timestamppb.Timestamp {
	if x != nil {
		return x.NextDueAt
	}
	return nil
}

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

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

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

func (*GetDisconnectedServicesConfigReq) ProtoMessage() {}

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

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

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

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

func (*UpdateDisconnectedServicesConfigRes) ProtoMessage() {}

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

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

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

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

func (*RunDisconnectedServicesJobReq) ProtoMessage() {}

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

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

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

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

func (*RunDisconnectedServicesJobResponse) ProtoMessage() {}

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

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

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

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

func (*GetDeleteDisconnectedServicesConfigReq) ProtoMessage() {}

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

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

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

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

func (*UpdateDeleteDisconnectedServicesConfigRes) ProtoMessage() {}

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

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

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

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

func (*RunDeleteDisconnectedServicesJobReq) ProtoMessage() {}

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

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

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

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

func (*RunDeleteDisconnectedServicesJobResponse) ProtoMessage() {}

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

type Service struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The Chef Habitat Supervisor ID.
	SupervisorId string `protobuf:"bytes,1,opt,name=supervisor_id,json=supervisorId,proto3" json:"supervisor_id,omitempty"`
	// Combination of the service version and release in a single string.
	// Example: 0.1.0/8743278934278923.
	Release string `protobuf:"bytes,2,opt,name=release,proto3" json:"release,omitempty"`
	// Service group name.
	Group string `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"`
	// Intentionally blank.
	HealthCheck HealthStatus `protobuf:"varint,4,opt,name=health_check,json=healthCheck,proto3,enum=chef.automate.api.applications.HealthStatus" json:"health_check,omitempty"`
	// Application name.
	Application string `protobuf:"bytes,6,opt,name=application,proto3" json:"application,omitempty"`
	// Environment name.
	Environment string `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"`
	// FQDN reported by a Chef Habitat Supervisor.
	Fqdn string `protobuf:"bytes,8,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
	// Chef Habitat channel that the service is subscribed to.
	Channel string `protobuf:"bytes,9,opt,name=channel,proto3" json:"channel,omitempty"`
	// Update strategy that the service employs.
	UpdateStrategy string `protobuf:"bytes,10,opt,name=update_strategy,json=updateStrategy,proto3" json:"update_strategy,omitempty"`
	// Site reported by Chef Habitat service, a user defined flag.
	Site string `protobuf:"bytes,17,opt,name=site,proto3" json:"site,omitempty"`
	// Intentionally blank.
	PreviousHealthCheck HealthStatus `protobuf:"varint,18,opt,name=previous_health_check,json=previousHealthCheck,proto3,enum=chef.automate.api.applications.HealthStatus" json:"previous_health_check,omitempty"`
	// Time interval of current health status from last status change until now.
	CurrentHealthSince string `protobuf:"bytes,19,opt,name=current_health_since,json=currentHealthSince,proto3" json:"current_health_since,omitempty"`
	// Timestamp since health status change.
	HealthUpdatedAt *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=health_updated_at,json=healthUpdatedAt,proto3" json:"health_updated_at,omitempty"`
	// Service connection information.
	// Based on time since last healthcheck received and disconnected service configuration.
	Disconnected bool `protobuf:"varint,21,opt,name=disconnected,proto3" json:"disconnected,omitempty"`
	// Timestamp of last received health check message.
	LastEventOccurredAt *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=last_event_occurred_at,json=lastEventOccurredAt,proto3" json:"last_event_occurred_at,omitempty"`
	// Interval since last event received until now.
	LastEventSince string `protobuf:"bytes,23,opt,name=last_event_since,json=lastEventSince,proto3" json:"last_event_since,omitempty"`
	// Intentionally blank.
	HealthCheckResult *HealthCheckResult `protobuf:"bytes,24,opt,name=health_check_result,json=healthCheckResult,proto3" json:"health_check_result,omitempty"`
	// Internal ID
	Id            string `protobuf:"bytes,25,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Service) ProtoMessage() {}

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

func (x *Service) GetSupervisorId() string {
	if x != nil {
		return x.SupervisorId
	}
	return ""
}

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

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

func (x *Service) GetHealthCheck() HealthStatus {
	if x != nil {
		return x.HealthCheck
	}
	return HealthStatus_OK
}

func (x *Service) GetApplication() string {
	if x != nil {
		return x.Application
	}
	return ""
}

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

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

func (x *Service) GetChannel() string {
	if x != nil {
		return x.Channel
	}
	return ""
}

func (x *Service) GetUpdateStrategy() string {
	if x != nil {
		return x.UpdateStrategy
	}
	return ""
}

func (x *Service) GetSite() string {
	if x != nil {
		return x.Site
	}
	return ""
}

func (x *Service) GetPreviousHealthCheck() HealthStatus {
	if x != nil {
		return x.PreviousHealthCheck
	}
	return HealthStatus_OK
}

func (x *Service) GetCurrentHealthSince() string {
	if x != nil {
		return x.CurrentHealthSince
	}
	return ""
}

func (x *Service) GetHealthUpdatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.HealthUpdatedAt
	}
	return nil
}

func (x *Service) GetDisconnected() bool {
	if x != nil {
		return x.Disconnected
	}
	return false
}

func (x *Service) GetLastEventOccurredAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastEventOccurredAt
	}
	return nil
}

func (x *Service) GetLastEventSince() string {
	if x != nil {
		return x.LastEventSince
	}
	return ""
}

func (x *Service) GetHealthCheckResult() *HealthCheckResult {
	if x != nil {
		return x.HealthCheckResult
	}
	return nil
}

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

// Request message for GetServiceGroupsHealthCounts
type ServiceGroupsHealthCountsReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Applies search filters, in the format of `fieldname:value`.
	// See the documentation for ServiceGroupsReq for valid filter parameters.
	Filter        []string `protobuf:"bytes,1,rep,name=filter,proto3" json:"filter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServiceGroupsHealthCountsReq) ProtoMessage() {}

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

func (x *ServiceGroupsHealthCountsReq) GetFilter() []string {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Request message for GetServiceGroups
type ServiceGroupsReq struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Applies search and status filters, in the format of `fieldname:value` or `status:value`.
	//
	// Valid filter fieldnames are:
	// * `origin`: origin component of the service's package identifier
	// * `service`: the name component of the service's package identifier
	// * `version`: the version number component of the service's package identifier
	// * `buildstamp`: the build timestamp (also called "release") of the service's package identifier
	// * `channel`: the package channel to which the service subscribes for updates
	// * `application`: the application field of the service's event-stream metadata
	// * `environment`: the environment field of the service's event-stream metadata
	// * `site`: the site field of the service's event-stream metadata
	// * `group`: the suffix of the service group name
	//
	// `status` filters refine the service group results by a service's
	//
	//	most recent connected/disconnected state or healthcheck result.
	//
	//	Valid status filter parameters are:
	//
	// * `status:disconnected`: returns service groups with at least one service in a disconnected state
	// * `status:critical`: returns service groups with a with at least one service in a "critical" healthcheck result
	// * `status:unknown`: returns service groups with at least one service with an "unknown" healthcheck result
	// * `status:warning`: returns service groups with at least one service with a "warning" healthcheck result
	// * `status:ok`: returns service groups with at least one service with an "ok" health check result
	Filter []string `protobuf:"bytes,1,rep,name=filter,proto3" json:"filter,omitempty"`
	// Pagination parameters for service groups list.
	Pagination *query.Pagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
	// Sorting parameters for service groups list.
	Sorting       *query.Sorting `protobuf:"bytes,3,opt,name=sorting,proto3" json:"sorting,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServiceGroupsReq) ProtoMessage() {}

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

func (x *ServiceGroupsReq) GetFilter() []string {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (x *ServiceGroupsReq) GetPagination() *query.Pagination {
	if x != nil {
		return x.Pagination
	}
	return nil
}

func (x *ServiceGroupsReq) GetSorting() *query.Sorting {
	if x != nil {
		return x.Sorting
	}
	return nil
}

// A service group message is the representation of an individual service group that
// is internally generated by aggregating all of its services.
type ServiceGroup struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of service group.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Combination of the version and release in a single string.
	// Example: 0.1.0/8743278934278923.
	Release string `protobuf:"bytes,2,opt,name=release,proto3" json:"release,omitempty"`
	// Intentionally blank.
	Status HealthStatus `protobuf:"varint,3,opt,name=status,proto3,enum=chef.automate.api.applications.HealthStatus" json:"status,omitempty"`
	// Percentage of services reporting OK status.
	// The health_percentage can be a number between 0-100.
	HealthPercentage int32 `protobuf:"varint,4,opt,name=health_percentage,json=healthPercentage,proto3" json:"health_percentage,omitempty"`
	// Intentionally blank.
	ServicesHealthCounts *HealthCounts `protobuf:"bytes,5,opt,name=services_health_counts,json=servicesHealthCounts,proto3" json:"services_health_counts,omitempty"`
	// Service group ID. This is a value constructed by Chef Automate and is not reported by Chef Habitat.
	Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"`
	// Application name for the service group.
	Application string `protobuf:"bytes,7,opt,name=application,proto3" json:"application,omitempty"`
	// Environment name for the service group.
	Environment string `protobuf:"bytes,8,opt,name=environment,proto3" json:"environment,omitempty"`
	// Combination of the origin and package name in a single string.
	// Example: core/redis.
	Package string `protobuf:"bytes,9,opt,name=package,proto3" json:"package,omitempty"`
	// Count of disconnected services within this service group.
	DisconnectedCount int32 `protobuf:"varint,10,opt,name=disconnected_count,json=disconnectedCount,proto3" json:"disconnected_count,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*ServiceGroup) ProtoMessage() {}

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

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

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

func (x *ServiceGroup) GetStatus() HealthStatus {
	if x != nil {
		return x.Status
	}
	return HealthStatus_OK
}

func (x *ServiceGroup) GetHealthPercentage() int32 {
	if x != nil {
		return x.HealthPercentage
	}
	return 0
}

func (x *ServiceGroup) GetServicesHealthCounts() *HealthCounts {
	if x != nil {
		return x.ServicesHealthCounts
	}
	return nil
}

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

func (x *ServiceGroup) GetApplication() string {
	if x != nil {
		return x.Application
	}
	return ""
}

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

func (x *ServiceGroup) GetPackage() string {
	if x != nil {
		return x.Package
	}
	return ""
}

func (x *ServiceGroup) GetDisconnectedCount() int32 {
	if x != nil {
		return x.DisconnectedCount
	}
	return 0
}

// Combined count values from the health status and disconnected status reports.
type HealthCounts struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Total         int32                  `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	Ok            int32                  `protobuf:"varint,2,opt,name=ok,proto3" json:"ok,omitempty"`
	Warning       int32                  `protobuf:"varint,3,opt,name=warning,proto3" json:"warning,omitempty"`
	Critical      int32                  `protobuf:"varint,4,opt,name=critical,proto3" json:"critical,omitempty"`
	Unknown       int32                  `protobuf:"varint,5,opt,name=unknown,proto3" json:"unknown,omitempty"`
	Disconnected  int32                  `protobuf:"varint,6,opt,name=disconnected,proto3" json:"disconnected,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HealthCounts) ProtoMessage() {}

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

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

func (x *HealthCounts) GetOk() int32 {
	if x != nil {
		return x.Ok
	}
	return 0
}

func (x *HealthCounts) GetWarning() int32 {
	if x != nil {
		return x.Warning
	}
	return 0
}

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

func (x *HealthCounts) GetUnknown() int32 {
	if x != nil {
		return x.Unknown
	}
	return 0
}

func (x *HealthCounts) GetDisconnected() int32 {
	if x != nil {
		return x.Disconnected
	}
	return 0
}

// The package identifier of a service is unique and is the combination
// of origin/name/version/release
//
// Example: core/redis/0.1.0/8743278934278923
type PackageIdent struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Chef Habitat origin.
	Origin string `protobuf:"bytes,1,opt,name=origin,proto3" json:"origin,omitempty"`
	// Chef Habitat package name.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Chef Habitat release version number.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// Chef Habitat release buildstamp.
	Release       string `protobuf:"bytes,4,opt,name=release,proto3" json:"release,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PackageIdent) ProtoMessage() {}

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

func (x *PackageIdent) GetOrigin() string {
	if x != nil {
		return x.Origin
	}
	return ""
}

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

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

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

// List of service groups.
type ServiceGroups struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of service groups.
	ServiceGroups []*ServiceGroup `protobuf:"bytes,1,rep,name=service_groups,json=serviceGroups,proto3" json:"service_groups,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ServiceGroups) ProtoMessage() {}

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

func (x *ServiceGroups) GetServiceGroups() []*ServiceGroup {
	if x != nil {
		return x.ServiceGroups
	}
	return nil
}

// HealthCheckResult aggregates the stdout output, stderr output and process
// exit status of a habitat health check
type HealthCheckResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Stdout        string                 `protobuf:"bytes,1,opt,name=stdout,proto3" json:"stdout,omitempty"`
	Stderr        string                 `protobuf:"bytes,2,opt,name=stderr,proto3" json:"stderr,omitempty"`
	ExitStatus    int32                  `protobuf:"varint,3,opt,name=exit_status,json=exitStatus,proto3" json:"exit_status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HealthCheckResult) ProtoMessage() {}

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

func (x *HealthCheckResult) GetStdout() string {
	if x != nil {
		return x.Stdout
	}
	return ""
}

func (x *HealthCheckResult) GetStderr() string {
	if x != nil {
		return x.Stderr
	}
	return ""
}

func (x *HealthCheckResult) GetExitStatus() int32 {
	if x != nil {
		return x.ExitStatus
	}
	return 0
}

// Telemetry
type UpdateTelemetryReportedRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// last application service telemetry reported date
	LastTelemetryReportedAt string `protobuf:"bytes,1,opt,name=last_telemetry_reported_at,json=lastTelemetryReportedAt,proto3" json:"last_telemetry_reported_at,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

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

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

func (*UpdateTelemetryReportedRequest) ProtoMessage() {}

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

func (x *UpdateTelemetryReportedRequest) GetLastTelemetryReportedAt() string {
	if x != nil {
		return x.LastTelemetryReportedAt
	}
	return ""
}

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

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

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

func (*UpdateTelemetryReportedResponse) ProtoMessage() {}

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

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

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

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

func (*GetServicesUsageCountRequest) ProtoMessage() {}

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

type GetServicesUsageCountResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// unique services count in a duration
	TotalServices int64 `protobuf:"varint,1,opt,name=total_services,json=totalServices,proto3" json:"total_services,omitempty"`
	// number of days since telematics was last posted
	DaysSinceLastPost int64 `protobuf:"varint,2,opt,name=days_since_last_post,json=daysSinceLastPost,proto3" json:"days_since_last_post,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*GetServicesUsageCountResponse) ProtoMessage() {}

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

func (x *GetServicesUsageCountResponse) GetTotalServices() int64 {
	if x != nil {
		return x.TotalServices
	}
	return 0
}

func (x *GetServicesUsageCountResponse) GetDaysSinceLastPost() int64 {
	if x != nil {
		return x.DaysSinceLastPost
	}
	return 0
}

var File_external_applications_applications_proto protoreflect.FileDescriptor

const file_external_applications_applications_proto_rawDesc = "" +
	"\n" +
	"(external/applications/applications.proto\x12\x1echef.automate.api.applications\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1cgoogle/api/annotations.proto\x1a,protoc-gen-swagger/options/annotations.proto\x1a%external/common/version/version.proto\x1a*external/annotations/iam/annotations.proto\x1a&external/common/query/parameters.proto\"\xb4\x01\n" +
	"\vServicesReq\x12\x16\n" +
	"\x06filter\x18\x01 \x03(\tR\x06filter\x12J\n" +
	"\n" +
	"pagination\x18\x02 \x01(\v2*.chef.automate.api.common.query.PaginationR\n" +
	"pagination\x12A\n" +
	"\asorting\x18\x03 \x01(\v2'.chef.automate.api.common.query.SortingR\asorting\"y\n" +
	"\x19ServicesDistinctValuesReq\x12\x1d\n" +
	"\n" +
	"field_name\x18\x01 \x01(\tR\tfieldName\x12%\n" +
	"\x0equery_fragment\x18\x02 \x01(\tR\rqueryFragment\x12\x16\n" +
	"\x06filter\x18\x03 \x03(\tR\x06filter\"\xe2\x01\n" +
	"\x0fServicesBySGReq\x12(\n" +
	"\x10service_group_id\x18\x01 \x01(\tR\x0eserviceGroupId\x12J\n" +
	"\n" +
	"pagination\x18\x02 \x01(\v2*.chef.automate.api.common.query.PaginationR\n" +
	"pagination\x12A\n" +
	"\asorting\x18\x03 \x01(\v2'.chef.automate.api.common.query.SortingR\asorting\x12\x16\n" +
	"\x06filter\x18\x05 \x03(\tR\x06filter\"\xd0\x01\n" +
	"\x0fServicesBySGRes\x12\x14\n" +
	"\x05group\x18\x01 \x01(\tR\x05group\x12C\n" +
	"\bservices\x18\x02 \x03(\v2'.chef.automate.api.applications.ServiceR\bservices\x12b\n" +
	"\x16services_health_counts\x18\x03 \x01(\v2,.chef.automate.api.applications.HealthCountsR\x14servicesHealthCounts\"R\n" +
	"\vServicesRes\x12C\n" +
	"\bservices\x18\x01 \x03(\v2'.chef.automate.api.applications.ServiceR\bservices\"3\n" +
	"\x19ServicesDistinctValuesRes\x12\x16\n" +
	"\x06values\x18\x01 \x03(\tR\x06values\"L\n" +
	"\x17DisconnectedServicesReq\x12+\n" +
	"\x11threshold_seconds\x18\x02 \x01(\x05R\x10thresholdSecondsJ\x04\b\x01\x10\x02\")\n" +
	"\x15DeleteServicesByIDReq\x12\x10\n" +
	"\x03ids\x18\x01 \x03(\tR\x03ids\"\x12\n" +
	"\x10ServicesStatsReq\"\xc5\x01\n" +
	"\x10ServicesStatsRes\x120\n" +
	"\x14total_service_groups\x18\x01 \x01(\x05R\x12totalServiceGroups\x12%\n" +
	"\x0etotal_services\x18\x02 \x01(\x05R\rtotalServices\x12+\n" +
	"\x11total_supervisors\x18\x03 \x01(\x05R\x10totalSupervisors\x12+\n" +
	"\x11total_deployments\x18\x04 \x01(\x05R\x10totalDeployments\"\xb7\x01\n" +
	"\x11PeriodicJobConfig\x12\x18\n" +
	"\arunning\x18\x01 \x01(\bR\arunning\x12\x1c\n" +
	"\tthreshold\x18\x02 \x01(\tR\tthreshold\x12\x1e\n" +
	"\n" +
	"recurrence\x18\x03 \x01(\tR\n" +
	"recurrence\x12J\n" +
	"\bjob_info\x18\x04 \x01(\v2/.chef.automate.api.applications.PeriodicJobInfoR\ajobInfo\"\xdc\x01\n" +
	"\x1aPeriodicMandatoryJobConfig\x12\x1c\n" +
	"\tthreshold\x18\x01 \x01(\tR\tthreshold\x124\n" +
	"\arunning\x18\x02 \x01(\v2\x1a.google.protobuf.BoolValueR\arunning\x12\x1e\n" +
	"\n" +
	"recurrence\x18\x03 \x01(\tR\n" +
	"recurrence\x12J\n" +
	"\bjob_info\x18\x04 \x01(\v2/.chef.automate.api.applications.PeriodicJobInfoR\ajobInfo\"\xd5\x02\n" +
	"\x0fPeriodicJobInfo\x12D\n" +
	"\x10last_enqueued_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x0elastEnqueuedAt\x12B\n" +
	"\x0flast_started_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\rlastStartedAt\x12>\n" +
	"\rlast_ended_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\vlastEndedAt\x12<\n" +
	"\flast_elapsed\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\vlastElapsed\x12:\n" +
	"\vnext_due_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tnextDueAt\"\"\n" +
	" GetDisconnectedServicesConfigReq\"%\n" +
	"#UpdateDisconnectedServicesConfigRes\"\x1f\n" +
	"\x1dRunDisconnectedServicesJobReq\"$\n" +
	"\"RunDisconnectedServicesJobResponse\"(\n" +
	"&GetDeleteDisconnectedServicesConfigReq\"+\n" +
	")UpdateDeleteDisconnectedServicesConfigRes\"%\n" +
	"#RunDeleteDisconnectedServicesJobReq\"*\n" +
	"(RunDeleteDisconnectedServicesJobResponse\"\xd2\x06\n" +
	"\aService\x12#\n" +
	"\rsupervisor_id\x18\x01 \x01(\tR\fsupervisorId\x12\x18\n" +
	"\arelease\x18\x02 \x01(\tR\arelease\x12\x14\n" +
	"\x05group\x18\x03 \x01(\tR\x05group\x12O\n" +
	"\fhealth_check\x18\x04 \x01(\x0e2,.chef.automate.api.applications.HealthStatusR\vhealthCheck\x12 \n" +
	"\vapplication\x18\x06 \x01(\tR\vapplication\x12 \n" +
	"\venvironment\x18\a \x01(\tR\venvironment\x12\x12\n" +
	"\x04fqdn\x18\b \x01(\tR\x04fqdn\x12\x18\n" +
	"\achannel\x18\t \x01(\tR\achannel\x12'\n" +
	"\x0fupdate_strategy\x18\n" +
	" \x01(\tR\x0eupdateStrategy\x12\x12\n" +
	"\x04site\x18\x11 \x01(\tR\x04site\x12`\n" +
	"\x15previous_health_check\x18\x12 \x01(\x0e2,.chef.automate.api.applications.HealthStatusR\x13previousHealthCheck\x120\n" +
	"\x14current_health_since\x18\x13 \x01(\tR\x12currentHealthSince\x12F\n" +
	"\x11health_updated_at\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\x0fhealthUpdatedAt\x12\"\n" +
	"\fdisconnected\x18\x15 \x01(\bR\fdisconnected\x12O\n" +
	"\x16last_event_occurred_at\x18\x16 \x01(\v2\x1a.google.protobuf.TimestampR\x13lastEventOccurredAt\x12(\n" +
	"\x10last_event_since\x18\x17 \x01(\tR\x0elastEventSince\x12a\n" +
	"\x13health_check_result\x18\x18 \x01(\v21.chef.automate.api.applications.HealthCheckResultR\x11healthCheckResult\x12\x0e\n" +
	"\x02id\x18\x19 \x01(\tR\x02idJ\x04\b\x05\x10\x06\"6\n" +
	"\x1cServiceGroupsHealthCountsReq\x12\x16\n" +
	"\x06filter\x18\x01 \x03(\tR\x06filter\"\xb9\x01\n" +
	"\x10ServiceGroupsReq\x12\x16\n" +
	"\x06filter\x18\x01 \x03(\tR\x06filter\x12J\n" +
	"\n" +
	"pagination\x18\x02 \x01(\v2*.chef.automate.api.common.query.PaginationR\n" +
	"pagination\x12A\n" +
	"\asorting\x18\x03 \x01(\v2'.chef.automate.api.common.query.SortingR\asorting\"\xb0\x03\n" +
	"\fServiceGroup\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
	"\arelease\x18\x02 \x01(\tR\arelease\x12D\n" +
	"\x06status\x18\x03 \x01(\x0e2,.chef.automate.api.applications.HealthStatusR\x06status\x12+\n" +
	"\x11health_percentage\x18\x04 \x01(\x05R\x10healthPercentage\x12b\n" +
	"\x16services_health_counts\x18\x05 \x01(\v2,.chef.automate.api.applications.HealthCountsR\x14servicesHealthCounts\x12\x0e\n" +
	"\x02id\x18\x06 \x01(\tR\x02id\x12 \n" +
	"\vapplication\x18\a \x01(\tR\vapplication\x12 \n" +
	"\venvironment\x18\b \x01(\tR\venvironment\x12\x18\n" +
	"\apackage\x18\t \x01(\tR\apackage\x12-\n" +
	"\x12disconnected_count\x18\n" +
	" \x01(\x05R\x11disconnectedCount\"\xa8\x01\n" +
	"\fHealthCounts\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x05R\x05total\x12\x0e\n" +
	"\x02ok\x18\x02 \x01(\x05R\x02ok\x12\x18\n" +
	"\awarning\x18\x03 \x01(\x05R\awarning\x12\x1a\n" +
	"\bcritical\x18\x04 \x01(\x05R\bcritical\x12\x18\n" +
	"\aunknown\x18\x05 \x01(\x05R\aunknown\x12\"\n" +
	"\fdisconnected\x18\x06 \x01(\x05R\fdisconnected\"n\n" +
	"\fPackageIdent\x12\x16\n" +
	"\x06origin\x18\x01 \x01(\tR\x06origin\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
	"\aversion\x18\x03 \x01(\tR\aversion\x12\x18\n" +
	"\arelease\x18\x04 \x01(\tR\arelease\"d\n" +
	"\rServiceGroups\x12S\n" +
	"\x0eservice_groups\x18\x01 \x03(\v2,.chef.automate.api.applications.ServiceGroupR\rserviceGroups\"d\n" +
	"\x11HealthCheckResult\x12\x16\n" +
	"\x06stdout\x18\x01 \x01(\tR\x06stdout\x12\x16\n" +
	"\x06stderr\x18\x02 \x01(\tR\x06stderr\x12\x1f\n" +
	"\vexit_status\x18\x03 \x01(\x05R\n" +
	"exitStatus\"]\n" +
	"\x1eUpdateTelemetryReportedRequest\x12;\n" +
	"\x1alast_telemetry_reported_at\x18\x01 \x01(\tR\x17lastTelemetryReportedAt\"!\n" +
	"\x1fUpdateTelemetryReportedResponse\"\x1e\n" +
	"\x1cGetServicesUsageCountRequest\"w\n" +
	"\x1dGetServicesUsageCountResponse\x12%\n" +
	"\x0etotal_services\x18\x01 \x01(\x03R\rtotalServices\x12/\n" +
	"\x14days_since_last_post\x18\x02 \x01(\x03R\x11daysSinceLastPost*H\n" +
	"\fHealthStatus\x12\x06\n" +
	"\x02OK\x10\x00\x12\v\n" +
	"\aWARNING\x10\x01\x12\f\n" +
	"\bCRITICAL\x10\x02\x12\v\n" +
	"\aUNKNOWN\x10\x03\x12\b\n" +
	"\x04NONE\x10\x112\xe5(\n" +
	"\x13ApplicationsService\x12\xf4\x01\n" +
	"\x10GetServiceGroups\x120.chef.automate.api.applications.ServiceGroupsReq\x1a-.chef.automate.api.applications.ServiceGroups\"\x7f\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x02%\x12#/api/v0/applications/service-groups\x12\x9a\x02\n" +
	"\x1cGetServiceGroupsHealthCounts\x12<.chef.automate.api.applications.ServiceGroupsHealthCountsReq\x1a,.chef.automate.api.applications.HealthCounts\"\x8d\x01\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x023\x121/api/v0/applications/service_groups_health_counts\x12\xe2\x01\n" +
	"\vGetServices\x12+.chef.automate.api.applications.ServicesReq\x1a+.chef.automate.api.applications.ServicesRes\"y\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/v0/applications/services\x12\xbc\x01\n" +
	"\fFindServices\x12+.chef.automate.api.applications.ServicesReq\x1a'.chef.automate.api.applications.Service\"T\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list0\x01\x12\x9d\x02\n" +
	"\x19GetServicesDistinctValues\x129.chef.automate.api.applications.ServicesDistinctValuesReq\x1a9.chef.automate.api.applications.ServicesDistinctValuesRes\"\x89\x01\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x02/\x12-/api/v0/applications/services-distinct-values\x12\x88\x02\n" +
	"\x0fGetServicesBySG\x12/.chef.automate.api.applications.ServicesBySGReq\x1a/.chef.automate.api.applications.ServicesBySGRes\"\x92\x01\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x028\x126/api/v0/applications/service-groups/{service_group_id}\x12\xee\x01\n" +
	"\x10GetServicesStats\x120.chef.automate.api.applications.ServicesStatsReq\x1a0.chef.automate.api.applications.ServicesStatsRes\"v\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v0/applications/stats\x12\x88\x02\n" +
	"\x17GetDisconnectedServices\x127.chef.automate.api.applications.DisconnectedServicesReq\x1a+.chef.automate.api.applications.ServicesRes\"\x86\x01\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18=\n" +
	"\x1aapplications:serviceGroups\x12\x1fapplications:serviceGroups:list\x82\xd3\xe4\x93\x02,\x12*/api/v0/applications/disconnected_services\x12\x97\x02\n" +
	"\x1aDeleteDisconnectedServices\x127.chef.automate.api.applications.DisconnectedServicesReq\x1a+.chef.automate.api.applications.ServicesRes\"\x92\x01\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18?\n" +
	"\x1aapplications:serviceGroups\x12!applications:serviceGroups:delete\x82\xd3\xe4\x93\x026:\x01*\"1/api/v0/applications/delete_disconnected_services\x12\x86\x02\n" +
	"\x12DeleteServicesByID\x125.chef.automate.api.applications.DeleteServicesByIDReq\x1a+.chef.automate.api.applications.ServicesRes\"\x8b\x01\x92A\x10\n" +
	"\x0eservice_groups\x8a\xb5\x18?\n" +
	"\x1aapplications:serviceGroups\x12!applications:serviceGroups:delete\x82\xd3\xe4\x93\x02/:\x01*\"*/api/v0/applications/delete_services_by_id\x12\xd9\x01\n" +
	"\n" +
	"GetVersion\x124.chef.automate.api.common.version.VersionInfoRequest\x1a-.chef.automate.api.common.version.VersionInfo\"f\x92A\b\n" +
	"\x06hidden\x8a\xb5\x183\n" +
	"\x16system:service:version\x12\x19system:serviceVersion:get\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v0/applications/version\x12\xad\x02\n" +
	"\x1dGetDisconnectedServicesConfig\x12@.chef.automate.api.applications.GetDisconnectedServicesConfigReq\x1a:.chef.automate.api.applications.PeriodicMandatoryJobConfig\"\x8d\x01\x92A\v\n" +
	"\tretention\x8a\xb5\x186\n" +
	"\x17retention:serviceGroups\x12\x1bretention:serviceGroups:get\x82\xd3\xe4\x93\x02?\x12=/api/v0/retention/service_groups/disconnected_services/config\x12\xb9\x02\n" +
	" UpdateDisconnectedServicesConfig\x12:.chef.automate.api.applications.PeriodicMandatoryJobConfig\x1aC.chef.automate.api.applications.UpdateDisconnectedServicesConfigRes\"\x93\x01\x92A\v\n" +
	"\tretention\x8a\xb5\x189\n" +
	"\x17retention:serviceGroups\x12\x1eretention:serviceGroups:update\x82\xd3\xe4\x93\x02B:\x01*\"=/api/v0/retention/service_groups/disconnected_services/config\x12\xb2\x02\n" +
	"\x1aRunDisconnectedServicesJob\x12=.chef.automate.api.applications.RunDisconnectedServicesJobReq\x1aB.chef.automate.api.applications.RunDisconnectedServicesJobResponse\"\x90\x01\x92A\v\n" +
	"\tretention\x8a\xb5\x189\n" +
	"\x17retention:serviceGroups\x12\x1eretention:serviceGroups:update\x82\xd3\xe4\x93\x02?:\x01*\":/api/v0/retention/service_groups/disconnected_services/run\x12\xb7\x02\n" +
	"#GetDeleteDisconnectedServicesConfig\x12F.chef.automate.api.applications.GetDeleteDisconnectedServicesConfigReq\x1a1.chef.automate.api.applications.PeriodicJobConfig\"\x94\x01\x92A\v\n" +
	"\tretention\x8a\xb5\x186\n" +
	"\x17retention:serviceGroups\x12\x1bretention:serviceGroups:get\x82\xd3\xe4\x93\x02F\x12D/api/v0/retention/service_groups/delete_disconnected_services/config\x12\xc3\x02\n" +
	"&UpdateDeleteDisconnectedServicesConfig\x121.chef.automate.api.applications.PeriodicJobConfig\x1aI.chef.automate.api.applications.UpdateDeleteDisconnectedServicesConfigRes\"\x9a\x01\x92A\v\n" +
	"\tretention\x8a\xb5\x189\n" +
	"\x17retention:serviceGroups\x12\x1eretention:serviceGroups:update\x82\xd3\xe4\x93\x02I:\x01*\"D/api/v0/retention/service_groups/delete_disconnected_services/config\x12\xcb\x02\n" +
	" RunDeleteDisconnectedServicesJob\x12C.chef.automate.api.applications.RunDeleteDisconnectedServicesJobReq\x1aH.chef.automate.api.applications.RunDeleteDisconnectedServicesJobResponse\"\x97\x01\x92A\v\n" +
	"\tretention\x8a\xb5\x189\n" +
	"\x17retention:serviceGroups\x12\x1eretention:serviceGroups:update\x82\xd3\xe4\x93\x02F:\x01*\"A/api/v0/retention/service_groups/delete_disconnected_services/run\x12\x87\x02\n" +
	"\x17UpdateTelemetryReported\x12>.chef.automate.api.applications.UpdateTelemetryReportedRequest\x1a?.chef.automate.api.applications.UpdateTelemetryReportedResponse\"k\x8a\xb5\x18'\n" +
	"\x0eiam:introspect\x12\x15iam:introspect:getAll\x82\xd3\xe4\x93\x02::\x01*\x1a5/api/v0/applications/telemetry/services/count/updated\x12\xf6\x01\n" +
	"\x15GetServicesUsageCount\x12<.chef.automate.api.applications.GetServicesUsageCountRequest\x1a=.chef.automate.api.applications.GetServicesUsageCountResponse\"`\x8a\xb5\x18'\n" +
	"\x0eiam:introspect\x12\x15iam:introspect:getAll\x82\xd3\xe4\x93\x02/\x12-/api/v0/applications/telemetry/services/countB4Z2github.com/chef/automate/api/external/applicationsb\x06proto3"

var (
	file_external_applications_applications_proto_rawDescOnce sync.Once
	file_external_applications_applications_proto_rawDescData []byte
)

func file_external_applications_applications_proto_rawDescGZIP() []byte {
	file_external_applications_applications_proto_rawDescOnce.Do(func() {
		file_external_applications_applications_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_external_applications_applications_proto_rawDesc), len(file_external_applications_applications_proto_rawDesc)))
	})
	return file_external_applications_applications_proto_rawDescData
}

var file_external_applications_applications_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_external_applications_applications_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_external_applications_applications_proto_goTypes = []any{
	(HealthStatus)(0),                                 // 0: chef.automate.api.applications.HealthStatus
	(*ServicesReq)(nil),                               // 1: chef.automate.api.applications.ServicesReq
	(*ServicesDistinctValuesReq)(nil),                 // 2: chef.automate.api.applications.ServicesDistinctValuesReq
	(*ServicesBySGReq)(nil),                           // 3: chef.automate.api.applications.ServicesBySGReq
	(*ServicesBySGRes)(nil),                           // 4: chef.automate.api.applications.ServicesBySGRes
	(*ServicesRes)(nil),                               // 5: chef.automate.api.applications.ServicesRes
	(*ServicesDistinctValuesRes)(nil),                 // 6: chef.automate.api.applications.ServicesDistinctValuesRes
	(*DisconnectedServicesReq)(nil),                   // 7: chef.automate.api.applications.DisconnectedServicesReq
	(*DeleteServicesByIDReq)(nil),                     // 8: chef.automate.api.applications.DeleteServicesByIDReq
	(*ServicesStatsReq)(nil),                          // 9: chef.automate.api.applications.ServicesStatsReq
	(*ServicesStatsRes)(nil),                          // 10: chef.automate.api.applications.ServicesStatsRes
	(*PeriodicJobConfig)(nil),                         // 11: chef.automate.api.applications.PeriodicJobConfig
	(*PeriodicMandatoryJobConfig)(nil),                // 12: chef.automate.api.applications.PeriodicMandatoryJobConfig
	(*PeriodicJobInfo)(nil),                           // 13: chef.automate.api.applications.PeriodicJobInfo
	(*GetDisconnectedServicesConfigReq)(nil),          // 14: chef.automate.api.applications.GetDisconnectedServicesConfigReq
	(*UpdateDisconnectedServicesConfigRes)(nil),       // 15: chef.automate.api.applications.UpdateDisconnectedServicesConfigRes
	(*RunDisconnectedServicesJobReq)(nil),             // 16: chef.automate.api.applications.RunDisconnectedServicesJobReq
	(*RunDisconnectedServicesJobResponse)(nil),        // 17: chef.automate.api.applications.RunDisconnectedServicesJobResponse
	(*GetDeleteDisconnectedServicesConfigReq)(nil),    // 18: chef.automate.api.applications.GetDeleteDisconnectedServicesConfigReq
	(*UpdateDeleteDisconnectedServicesConfigRes)(nil), // 19: chef.automate.api.applications.UpdateDeleteDisconnectedServicesConfigRes
	(*RunDeleteDisconnectedServicesJobReq)(nil),       // 20: chef.automate.api.applications.RunDeleteDisconnectedServicesJobReq
	(*RunDeleteDisconnectedServicesJobResponse)(nil),  // 21: chef.automate.api.applications.RunDeleteDisconnectedServicesJobResponse
	(*Service)(nil),                                   // 22: chef.automate.api.applications.Service
	(*ServiceGroupsHealthCountsReq)(nil),              // 23: chef.automate.api.applications.ServiceGroupsHealthCountsReq
	(*ServiceGroupsReq)(nil),                          // 24: chef.automate.api.applications.ServiceGroupsReq
	(*ServiceGroup)(nil),                              // 25: chef.automate.api.applications.ServiceGroup
	(*HealthCounts)(nil),                              // 26: chef.automate.api.applications.HealthCounts
	(*PackageIdent)(nil),                              // 27: chef.automate.api.applications.PackageIdent
	(*ServiceGroups)(nil),                             // 28: chef.automate.api.applications.ServiceGroups
	(*HealthCheckResult)(nil),                         // 29: chef.automate.api.applications.HealthCheckResult
	(*UpdateTelemetryReportedRequest)(nil),            // 30: chef.automate.api.applications.UpdateTelemetryReportedRequest
	(*UpdateTelemetryReportedResponse)(nil),           // 31: chef.automate.api.applications.UpdateTelemetryReportedResponse
	(*GetServicesUsageCountRequest)(nil),              // 32: chef.automate.api.applications.GetServicesUsageCountRequest
	(*GetServicesUsageCountResponse)(nil),             // 33: chef.automate.api.applications.GetServicesUsageCountResponse
	(*query.Pagination)(nil),                          // 34: chef.automate.api.common.query.Pagination
	(*query.Sorting)(nil),                             // 35: chef.automate.api.common.query.Sorting
	(*wrapperspb.BoolValue)(nil),                      // 36: google.protobuf.BoolValue
	(*timestamppb.Timestamp)(nil),                     // 37: google.protobuf.Timestamp
	(*durationpb.Duration)(nil),                       // 38: google.protobuf.Duration
	(*version.VersionInfoRequest)(nil),                // 39: chef.automate.api.common.version.VersionInfoRequest
	(*version.VersionInfo)(nil),                       // 40: chef.automate.api.common.version.VersionInfo
}
var file_external_applications_applications_proto_depIdxs = []int32{
	34, // 0: chef.automate.api.applications.ServicesReq.pagination:type_name -> chef.automate.api.common.query.Pagination
	35, // 1: chef.automate.api.applications.ServicesReq.sorting:type_name -> chef.automate.api.common.query.Sorting
	34, // 2: chef.automate.api.applications.ServicesBySGReq.pagination:type_name -> chef.automate.api.common.query.Pagination
	35, // 3: chef.automate.api.applications.ServicesBySGReq.sorting:type_name -> chef.automate.api.common.query.Sorting
	22, // 4: chef.automate.api.applications.ServicesBySGRes.services:type_name -> chef.automate.api.applications.Service
	26, // 5: chef.automate.api.applications.ServicesBySGRes.services_health_counts:type_name -> chef.automate.api.applications.HealthCounts
	22, // 6: chef.automate.api.applications.ServicesRes.services:type_name -> chef.automate.api.applications.Service
	13, // 7: chef.automate.api.applications.PeriodicJobConfig.job_info:type_name -> chef.automate.api.applications.PeriodicJobInfo
	36, // 8: chef.automate.api.applications.PeriodicMandatoryJobConfig.running:type_name -> google.protobuf.BoolValue
	13, // 9: chef.automate.api.applications.PeriodicMandatoryJobConfig.job_info:type_name -> chef.automate.api.applications.PeriodicJobInfo
	37, // 10: chef.automate.api.applications.PeriodicJobInfo.last_enqueued_at:type_name -> google.protobuf.Timestamp
	37, // 11: chef.automate.api.applications.PeriodicJobInfo.last_started_at:type_name -> google.protobuf.Timestamp
	37, // 12: chef.automate.api.applications.PeriodicJobInfo.last_ended_at:type_name -> google.protobuf.Timestamp
	38, // 13: chef.automate.api.applications.PeriodicJobInfo.last_elapsed:type_name -> google.protobuf.Duration
	37, // 14: chef.automate.api.applications.PeriodicJobInfo.next_due_at:type_name -> google.protobuf.Timestamp
	0,  // 15: chef.automate.api.applications.Service.health_check:type_name -> chef.automate.api.applications.HealthStatus
	0,  // 16: chef.automate.api.applications.Service.previous_health_check:type_name -> chef.automate.api.applications.HealthStatus
	37, // 17: chef.automate.api.applications.Service.health_updated_at:type_name -> google.protobuf.Timestamp
	37, // 18: chef.automate.api.applications.Service.last_event_occurred_at:type_name -> google.protobuf.Timestamp
	29, // 19: chef.automate.api.applications.Service.health_check_result:type_name -> chef.automate.api.applications.HealthCheckResult
	34, // 20: chef.automate.api.applications.ServiceGroupsReq.pagination:type_name -> chef.automate.api.common.query.Pagination
	35, // 21: chef.automate.api.applications.ServiceGroupsReq.sorting:type_name -> chef.automate.api.common.query.Sorting
	0,  // 22: chef.automate.api.applications.ServiceGroup.status:type_name -> chef.automate.api.applications.HealthStatus
	26, // 23: chef.automate.api.applications.ServiceGroup.services_health_counts:type_name -> chef.automate.api.applications.HealthCounts
	25, // 24: chef.automate.api.applications.ServiceGroups.service_groups:type_name -> chef.automate.api.applications.ServiceGroup
	24, // 25: chef.automate.api.applications.ApplicationsService.GetServiceGroups:input_type -> chef.automate.api.applications.ServiceGroupsReq
	23, // 26: chef.automate.api.applications.ApplicationsService.GetServiceGroupsHealthCounts:input_type -> chef.automate.api.applications.ServiceGroupsHealthCountsReq
	1,  // 27: chef.automate.api.applications.ApplicationsService.GetServices:input_type -> chef.automate.api.applications.ServicesReq
	1,  // 28: chef.automate.api.applications.ApplicationsService.FindServices:input_type -> chef.automate.api.applications.ServicesReq
	2,  // 29: chef.automate.api.applications.ApplicationsService.GetServicesDistinctValues:input_type -> chef.automate.api.applications.ServicesDistinctValuesReq
	3,  // 30: chef.automate.api.applications.ApplicationsService.GetServicesBySG:input_type -> chef.automate.api.applications.ServicesBySGReq
	9,  // 31: chef.automate.api.applications.ApplicationsService.GetServicesStats:input_type -> chef.automate.api.applications.ServicesStatsReq
	7,  // 32: chef.automate.api.applications.ApplicationsService.GetDisconnectedServices:input_type -> chef.automate.api.applications.DisconnectedServicesReq
	7,  // 33: chef.automate.api.applications.ApplicationsService.DeleteDisconnectedServices:input_type -> chef.automate.api.applications.DisconnectedServicesReq
	8,  // 34: chef.automate.api.applications.ApplicationsService.DeleteServicesByID:input_type -> chef.automate.api.applications.DeleteServicesByIDReq
	39, // 35: chef.automate.api.applications.ApplicationsService.GetVersion:input_type -> chef.automate.api.common.version.VersionInfoRequest
	14, // 36: chef.automate.api.applications.ApplicationsService.GetDisconnectedServicesConfig:input_type -> chef.automate.api.applications.GetDisconnectedServicesConfigReq
	12, // 37: chef.automate.api.applications.ApplicationsService.UpdateDisconnectedServicesConfig:input_type -> chef.automate.api.applications.PeriodicMandatoryJobConfig
	16, // 38: chef.automate.api.applications.ApplicationsService.RunDisconnectedServicesJob:input_type -> chef.automate.api.applications.RunDisconnectedServicesJobReq
	18, // 39: chef.automate.api.applications.ApplicationsService.GetDeleteDisconnectedServicesConfig:input_type -> chef.automate.api.applications.GetDeleteDisconnectedServicesConfigReq
	11, // 40: chef.automate.api.applications.ApplicationsService.UpdateDeleteDisconnectedServicesConfig:input_type -> chef.automate.api.applications.PeriodicJobConfig
	20, // 41: chef.automate.api.applications.ApplicationsService.RunDeleteDisconnectedServicesJob:input_type -> chef.automate.api.applications.RunDeleteDisconnectedServicesJobReq
	30, // 42: chef.automate.api.applications.ApplicationsService.UpdateTelemetryReported:input_type -> chef.automate.api.applications.UpdateTelemetryReportedRequest
	32, // 43: chef.automate.api.applications.ApplicationsService.GetServicesUsageCount:input_type -> chef.automate.api.applications.GetServicesUsageCountRequest
	28, // 44: chef.automate.api.applications.ApplicationsService.GetServiceGroups:output_type -> chef.automate.api.applications.ServiceGroups
	26, // 45: chef.automate.api.applications.ApplicationsService.GetServiceGroupsHealthCounts:output_type -> chef.automate.api.applications.HealthCounts
	5,  // 46: chef.automate.api.applications.ApplicationsService.GetServices:output_type -> chef.automate.api.applications.ServicesRes
	22, // 47: chef.automate.api.applications.ApplicationsService.FindServices:output_type -> chef.automate.api.applications.Service
	6,  // 48: chef.automate.api.applications.ApplicationsService.GetServicesDistinctValues:output_type -> chef.automate.api.applications.ServicesDistinctValuesRes
	4,  // 49: chef.automate.api.applications.ApplicationsService.GetServicesBySG:output_type -> chef.automate.api.applications.ServicesBySGRes
	10, // 50: chef.automate.api.applications.ApplicationsService.GetServicesStats:output_type -> chef.automate.api.applications.ServicesStatsRes
	5,  // 51: chef.automate.api.applications.ApplicationsService.GetDisconnectedServices:output_type -> chef.automate.api.applications.ServicesRes
	5,  // 52: chef.automate.api.applications.ApplicationsService.DeleteDisconnectedServices:output_type -> chef.automate.api.applications.ServicesRes
	5,  // 53: chef.automate.api.applications.ApplicationsService.DeleteServicesByID:output_type -> chef.automate.api.applications.ServicesRes
	40, // 54: chef.automate.api.applications.ApplicationsService.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo
	12, // 55: chef.automate.api.applications.ApplicationsService.GetDisconnectedServicesConfig:output_type -> chef.automate.api.applications.PeriodicMandatoryJobConfig
	15, // 56: chef.automate.api.applications.ApplicationsService.UpdateDisconnectedServicesConfig:output_type -> chef.automate.api.applications.UpdateDisconnectedServicesConfigRes
	17, // 57: chef.automate.api.applications.ApplicationsService.RunDisconnectedServicesJob:output_type -> chef.automate.api.applications.RunDisconnectedServicesJobResponse
	11, // 58: chef.automate.api.applications.ApplicationsService.GetDeleteDisconnectedServicesConfig:output_type -> chef.automate.api.applications.PeriodicJobConfig
	19, // 59: chef.automate.api.applications.ApplicationsService.UpdateDeleteDisconnectedServicesConfig:output_type -> chef.automate.api.applications.UpdateDeleteDisconnectedServicesConfigRes
	21, // 60: chef.automate.api.applications.ApplicationsService.RunDeleteDisconnectedServicesJob:output_type -> chef.automate.api.applications.RunDeleteDisconnectedServicesJobResponse
	31, // 61: chef.automate.api.applications.ApplicationsService.UpdateTelemetryReported:output_type -> chef.automate.api.applications.UpdateTelemetryReportedResponse
	33, // 62: chef.automate.api.applications.ApplicationsService.GetServicesUsageCount:output_type -> chef.automate.api.applications.GetServicesUsageCountResponse
	44, // [44:63] is the sub-list for method output_type
	25, // [25:44] is the sub-list for method input_type
	25, // [25:25] is the sub-list for extension type_name
	25, // [25:25] is the sub-list for extension extendee
	0,  // [0:25] is the sub-list for field type_name
}

func init() { file_external_applications_applications_proto_init() }
func file_external_applications_applications_proto_init() {
	if File_external_applications_applications_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_external_applications_applications_proto_rawDesc), len(file_external_applications_applications_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   33,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_external_applications_applications_proto_goTypes,
		DependencyIndexes: file_external_applications_applications_proto_depIdxs,
		EnumInfos:         file_external_applications_applications_proto_enumTypes,
		MessageInfos:      file_external_applications_applications_proto_msgTypes,
	}.Build()
	File_external_applications_applications_proto = out.File
	file_external_applications_applications_proto_goTypes = nil
	file_external_applications_applications_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

// ApplicationsServiceClient is the client API for ApplicationsService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ApplicationsServiceClient interface {
	// List Service Groups
	//
	// Lists service groups with name, health information, and application, environment, package, release metadata.
	// Accepts pagination, sorting, search, and status filters.
	//
	// Example:
	// ```
	// applications/service-groups?sorting.field=percent_ok&sorting.order=ASC&pagination.page=1&pagination.size=25
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServiceGroups(ctx context.Context, in *ServiceGroupsReq, opts ...grpc.CallOption) (*ServiceGroups, error)
	// List Service Groups Health Counts
	//
	// Lists the total service group health reports by critical, warning, ok and unknown responses. Supports search and status filtering.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServiceGroupsHealthCounts(ctx context.Context, in *ServiceGroupsHealthCountsReq, opts ...grpc.CallOption) (*HealthCounts, error)
	// List Services
	//
	// Lists service health status and service metadata for services.
	// Supports pagination and search and status filtering. For a list of services for a specific service-group see "List Services for a Service Group" (GetServicesBySG endpoint).
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServices(ctx context.Context, in *ServicesReq, opts ...grpc.CallOption) (*ServicesRes, error)
	// Find Services
	//
	// Lists service health status and service metadata for services matching the given criteria. All matching services are returned via a stream response.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	FindServices(ctx context.Context, in *ServicesReq, opts ...grpc.CallOption) (ApplicationsService_FindServicesClient, error)
	// List Filter Values
	//
	// Lists all of the possible filter values for a given valid field.
	// Limit the returned values by providing at one or more characters in the `query_fragment` parameter.
	// Supports wildcard (* and ?)
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServicesDistinctValues(ctx context.Context, in *ServicesDistinctValuesReq, opts ...grpc.CallOption) (*ServicesDistinctValuesRes, error)
	// List Services for a Service Group
	//
	// List the services for a service group with health status and service metadata.
	// Uses the service group ID generated by Chef Automate instead of the Chef Habitat- provided ID.
	// Supports pagination and filtering.
	//
	// Example:
	// ```
	// applications/service-groups/1dfff679054c60a10c51d059b6dbf81a765c46f8d3e8ce0752b22ffe8d4d9716?pagination.page=1&pagination.size=25
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServicesBySG(ctx context.Context, in *ServicesBySGReq, opts ...grpc.CallOption) (*ServicesBySGRes, error)
	// Show Summary
	//
	// Shows a summary of service-groups, services, deployments, and supervisors.
	// Used for telemetry.
	// Does not support filtering.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServicesStats(ctx context.Context, in *ServicesStatsReq, opts ...grpc.CallOption) (*ServicesStatsRes, error)
	// Mark Services as Disconnected
	//
	// Marks services as disconnected based on the `threshold_seconds` setting.
	// This function is not used by the API or CLI and is here for testing purposes.
	// The functionality is currently covered by a periodically running job that can be configured
	// by utilizing the `UpdateDisconnectedServicesConfig` endpoint.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetDisconnectedServices(ctx context.Context, in *DisconnectedServicesReq, opts ...grpc.CallOption) (*ServicesRes, error)
	// Remove Disconnected Services
	//
	// Removes services marked as disconnected based on the `threshold_seconds` setting.
	// This function is not used by the API or CLI and is here for testing purposes.
	// The functionality is currently covered by a periodically running job that can be configured using `UpdateDeleteDisconnectedServicesConfig`.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:delete
	DeleteDisconnectedServices(ctx context.Context, in *DisconnectedServicesReq, opts ...grpc.CallOption) (*ServicesRes, error)
	// Delete the services with the given IDs
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:delete
	DeleteServicesByID(ctx context.Context, in *DeleteServicesByIDReq, opts ...grpc.CallOption) (*ServicesRes, error)
	// Show Version
	//
	// # Displays the current version of the applications-service
	//
	// Authorization Action:
	// ```
	// ```
	//
	//system:serviceVersion:get
	GetVersion(ctx context.Context, in *version.VersionInfoRequest, opts ...grpc.CallOption) (*version.VersionInfo, error)
	// Show 'Disconnected Services' configuration
	//
	// Returns the configuration for the task that marks services as disconnected. The `threshold` setting defines the period of time between the last report from a node and the moment when Chef Automate marks it as disconnected. `Threshold` is a string that follows Elasticsearch's date math expressions.
	// This task is always enabled, cannot be disabled. Because this task runs continuously, the response does not return information about its status.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:get
	GetDisconnectedServicesConfig(ctx context.Context, in *GetDisconnectedServicesConfigReq, opts ...grpc.CallOption) (*PeriodicMandatoryJobConfig, error)
	// Change 'Disconnected Services' Configuration
	//
	// Changes the configuration for the task that marks services as disconnected.
	//
	// The periodic task to check for disconnected services can be enabled or
	// disabled by setting the 'running' setting to `true` or `false`, respectively.
	// When disabled, no services will be marked disconnected, regardless of the
	// time that has elapsed since the last health check. It is not recommened to
	// disable the job.
	//
	// The frequency of the job's execution can be modified by changing the
	// 'recurrence'. This setting is a string
	// [as defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).
	// By default, the task runs every 60 seconds. It is not recommended to change
	// the recurrence.
	//
	// When enabled, services are marked disconnected when the time elapsed since
	// Automate last received a health check exceeds 'threshold'. Threshold is a
	// string that follows Elasticsearch's date math expressions.
	//
	// Example:
	// ```
	// /retention/service_groups/disconnected_services/config
	// '{
	// "threshold": "15m",
	// "running": true,
	// "recurrence": "FREQ=SECONDLY;DTSTART=20200612T182166Z;INTERVAL=60"
	// }'
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:update
	UpdateDisconnectedServicesConfig(ctx context.Context, in *PeriodicMandatoryJobConfig, opts ...grpc.CallOption) (*UpdateDisconnectedServicesConfigRes, error)
	// Runs the job to mark services as disconnected immediately.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:update
	RunDisconnectedServicesJob(ctx context.Context, in *RunDisconnectedServicesJobReq, opts ...grpc.CallOption) (*RunDisconnectedServicesJobResponse, error)
	// Show 'Remove Disconnected Services' Configuration
	//
	// Displays configuration for the task that deletes services marked as disconnected
	// after 'threshold'. Threshold is a string that follows Elasticsearch's date math expressions.
	// This job is disabled if running is set to false.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:get
	GetDeleteDisconnectedServicesConfig(ctx context.Context, in *GetDeleteDisconnectedServicesConfigReq, opts ...grpc.CallOption) (*PeriodicJobConfig, error)
	// Change 'Remove Disconnected Services' Configuration
	//
	// Updates configuration information for the task that deletes services marked as disconnected
	// after 'threshold'. Threshold is a string that follows Elasticsearch's date math expressions.
	// This job can be disabled by setting `"running": false`.
	//
	// The frequency of the job's execution can be modified by changing the
	// 'recurrence'. This setting is a string
	// [as defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).
	// By default, the task runs every 60 seconds. It is not recommended to change
	// the recurrence.
	//
	// Example:
	// ```
	// service_groups/delete_disconnected_services/config" -d
	// '{
	// "threshold": "1d",
	// "running":true,
	// "recurrence": "FREQ=SECONDLY;DTSTART=20200612T182166Z;INTERVAL=60"
	// }'
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:update
	UpdateDeleteDisconnectedServicesConfig(ctx context.Context, in *PeriodicJobConfig, opts ...grpc.CallOption) (*UpdateDeleteDisconnectedServicesConfigRes, error)
	RunDeleteDisconnectedServicesJob(ctx context.Context, in *RunDeleteDisconnectedServicesJobReq, opts ...grpc.CallOption) (*RunDeleteDisconnectedServicesJobResponse, error)
	UpdateTelemetryReported(ctx context.Context, in *UpdateTelemetryReportedRequest, opts ...grpc.CallOption) (*UpdateTelemetryReportedResponse, error)
	GetServicesUsageCount(ctx context.Context, in *GetServicesUsageCountRequest, opts ...grpc.CallOption) (*GetServicesUsageCountResponse, error)
}

type applicationsServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewApplicationsServiceClient(cc grpc.ClientConnInterface) ApplicationsServiceClient {
	return &applicationsServiceClient{cc}
}

func (c *applicationsServiceClient) GetServiceGroups(ctx context.Context, in *ServiceGroupsReq, opts ...grpc.CallOption) (*ServiceGroups, error) {
	out := new(ServiceGroups)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServiceGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetServiceGroupsHealthCounts(ctx context.Context, in *ServiceGroupsHealthCountsReq, opts ...grpc.CallOption) (*HealthCounts, error) {
	out := new(HealthCounts)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServiceGroupsHealthCounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetServices(ctx context.Context, in *ServicesReq, opts ...grpc.CallOption) (*ServicesRes, error) {
	out := new(ServicesRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServices", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) FindServices(ctx context.Context, in *ServicesReq, opts ...grpc.CallOption) (ApplicationsService_FindServicesClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ApplicationsService_serviceDesc.Streams[0], "/chef.automate.api.applications.ApplicationsService/FindServices", opts...)
	if err != nil {
		return nil, err
	}
	x := &applicationsServiceFindServicesClient{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 ApplicationsService_FindServicesClient interface {
	Recv() (*Service, error)
	grpc.ClientStream
}

type applicationsServiceFindServicesClient struct {
	grpc.ClientStream
}

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

func (c *applicationsServiceClient) GetServicesDistinctValues(ctx context.Context, in *ServicesDistinctValuesReq, opts ...grpc.CallOption) (*ServicesDistinctValuesRes, error) {
	out := new(ServicesDistinctValuesRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServicesDistinctValues", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetServicesBySG(ctx context.Context, in *ServicesBySGReq, opts ...grpc.CallOption) (*ServicesBySGRes, error) {
	out := new(ServicesBySGRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServicesBySG", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetServicesStats(ctx context.Context, in *ServicesStatsReq, opts ...grpc.CallOption) (*ServicesStatsRes, error) {
	out := new(ServicesStatsRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServicesStats", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetDisconnectedServices(ctx context.Context, in *DisconnectedServicesReq, opts ...grpc.CallOption) (*ServicesRes, error) {
	out := new(ServicesRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetDisconnectedServices", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) DeleteDisconnectedServices(ctx context.Context, in *DisconnectedServicesReq, opts ...grpc.CallOption) (*ServicesRes, error) {
	out := new(ServicesRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/DeleteDisconnectedServices", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) DeleteServicesByID(ctx context.Context, in *DeleteServicesByIDReq, opts ...grpc.CallOption) (*ServicesRes, error) {
	out := new(ServicesRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/DeleteServicesByID", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetVersion(ctx context.Context, in *version.VersionInfoRequest, opts ...grpc.CallOption) (*version.VersionInfo, error) {
	out := new(version.VersionInfo)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetDisconnectedServicesConfig(ctx context.Context, in *GetDisconnectedServicesConfigReq, opts ...grpc.CallOption) (*PeriodicMandatoryJobConfig, error) {
	out := new(PeriodicMandatoryJobConfig)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetDisconnectedServicesConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) UpdateDisconnectedServicesConfig(ctx context.Context, in *PeriodicMandatoryJobConfig, opts ...grpc.CallOption) (*UpdateDisconnectedServicesConfigRes, error) {
	out := new(UpdateDisconnectedServicesConfigRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/UpdateDisconnectedServicesConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) RunDisconnectedServicesJob(ctx context.Context, in *RunDisconnectedServicesJobReq, opts ...grpc.CallOption) (*RunDisconnectedServicesJobResponse, error) {
	out := new(RunDisconnectedServicesJobResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/RunDisconnectedServicesJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetDeleteDisconnectedServicesConfig(ctx context.Context, in *GetDeleteDisconnectedServicesConfigReq, opts ...grpc.CallOption) (*PeriodicJobConfig, error) {
	out := new(PeriodicJobConfig)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetDeleteDisconnectedServicesConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) UpdateDeleteDisconnectedServicesConfig(ctx context.Context, in *PeriodicJobConfig, opts ...grpc.CallOption) (*UpdateDeleteDisconnectedServicesConfigRes, error) {
	out := new(UpdateDeleteDisconnectedServicesConfigRes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/UpdateDeleteDisconnectedServicesConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) RunDeleteDisconnectedServicesJob(ctx context.Context, in *RunDeleteDisconnectedServicesJobReq, opts ...grpc.CallOption) (*RunDeleteDisconnectedServicesJobResponse, error) {
	out := new(RunDeleteDisconnectedServicesJobResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/RunDeleteDisconnectedServicesJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) UpdateTelemetryReported(ctx context.Context, in *UpdateTelemetryReportedRequest, opts ...grpc.CallOption) (*UpdateTelemetryReportedResponse, error) {
	out := new(UpdateTelemetryReportedResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/UpdateTelemetryReported", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *applicationsServiceClient) GetServicesUsageCount(ctx context.Context, in *GetServicesUsageCountRequest, opts ...grpc.CallOption) (*GetServicesUsageCountResponse, error) {
	out := new(GetServicesUsageCountResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.applications.ApplicationsService/GetServicesUsageCount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ApplicationsServiceServer is the server API for ApplicationsService service.
type ApplicationsServiceServer interface {
	// List Service Groups
	//
	// Lists service groups with name, health information, and application, environment, package, release metadata.
	// Accepts pagination, sorting, search, and status filters.
	//
	// Example:
	// ```
	// applications/service-groups?sorting.field=percent_ok&sorting.order=ASC&pagination.page=1&pagination.size=25
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServiceGroups(context.Context, *ServiceGroupsReq) (*ServiceGroups, error)
	// List Service Groups Health Counts
	//
	// Lists the total service group health reports by critical, warning, ok and unknown responses. Supports search and status filtering.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServiceGroupsHealthCounts(context.Context, *ServiceGroupsHealthCountsReq) (*HealthCounts, error)
	// List Services
	//
	// Lists service health status and service metadata for services.
	// Supports pagination and search and status filtering. For a list of services for a specific service-group see "List Services for a Service Group" (GetServicesBySG endpoint).
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServices(context.Context, *ServicesReq) (*ServicesRes, error)
	// Find Services
	//
	// Lists service health status and service metadata for services matching the given criteria. All matching services are returned via a stream response.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	FindServices(*ServicesReq, ApplicationsService_FindServicesServer) error
	// List Filter Values
	//
	// Lists all of the possible filter values for a given valid field.
	// Limit the returned values by providing at one or more characters in the `query_fragment` parameter.
	// Supports wildcard (* and ?)
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServicesDistinctValues(context.Context, *ServicesDistinctValuesReq) (*ServicesDistinctValuesRes, error)
	// List Services for a Service Group
	//
	// List the services for a service group with health status and service metadata.
	// Uses the service group ID generated by Chef Automate instead of the Chef Habitat- provided ID.
	// Supports pagination and filtering.
	//
	// Example:
	// ```
	// applications/service-groups/1dfff679054c60a10c51d059b6dbf81a765c46f8d3e8ce0752b22ffe8d4d9716?pagination.page=1&pagination.size=25
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServicesBySG(context.Context, *ServicesBySGReq) (*ServicesBySGRes, error)
	// Show Summary
	//
	// Shows a summary of service-groups, services, deployments, and supervisors.
	// Used for telemetry.
	// Does not support filtering.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetServicesStats(context.Context, *ServicesStatsReq) (*ServicesStatsRes, error)
	// Mark Services as Disconnected
	//
	// Marks services as disconnected based on the `threshold_seconds` setting.
	// This function is not used by the API or CLI and is here for testing purposes.
	// The functionality is currently covered by a periodically running job that can be configured
	// by utilizing the `UpdateDisconnectedServicesConfig` endpoint.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:list
	GetDisconnectedServices(context.Context, *DisconnectedServicesReq) (*ServicesRes, error)
	// Remove Disconnected Services
	//
	// Removes services marked as disconnected based on the `threshold_seconds` setting.
	// This function is not used by the API or CLI and is here for testing purposes.
	// The functionality is currently covered by a periodically running job that can be configured using `UpdateDeleteDisconnectedServicesConfig`.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:delete
	DeleteDisconnectedServices(context.Context, *DisconnectedServicesReq) (*ServicesRes, error)
	// Delete the services with the given IDs
	//
	// Authorization Action:
	// ```
	// ```
	//
	//applications:serviceGroups:delete
	DeleteServicesByID(context.Context, *DeleteServicesByIDReq) (*ServicesRes, error)
	// Show Version
	//
	// # Displays the current version of the applications-service
	//
	// Authorization Action:
	// ```
	// ```
	//
	//system:serviceVersion:get
	GetVersion(context.Context, *version.VersionInfoRequest) (*version.VersionInfo, error)
	// Show 'Disconnected Services' configuration
	//
	// Returns the configuration for the task that marks services as disconnected. The `threshold` setting defines the period of time between the last report from a node and the moment when Chef Automate marks it as disconnected. `Threshold` is a string that follows Elasticsearch's date math expressions.
	// This task is always enabled, cannot be disabled. Because this task runs continuously, the response does not return information about its status.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:get
	GetDisconnectedServicesConfig(context.Context, *GetDisconnectedServicesConfigReq) (*PeriodicMandatoryJobConfig, error)
	// Change 'Disconnected Services' Configuration
	//
	// Changes the configuration for the task that marks services as disconnected.
	//
	// The periodic task to check for disconnected services can be enabled or
	// disabled by setting the 'running' setting to `true` or `false`, respectively.
	// When disabled, no services will be marked disconnected, regardless of the
	// time that has elapsed since the last health check. It is not recommened to
	// disable the job.
	//
	// The frequency of the job's execution can be modified by changing the
	// 'recurrence'. This setting is a string
	// [as defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).
	// By default, the task runs every 60 seconds. It is not recommended to change
	// the recurrence.
	//
	// When enabled, services are marked disconnected when the time elapsed since
	// Automate last received a health check exceeds 'threshold'. Threshold is a
	// string that follows Elasticsearch's date math expressions.
	//
	// Example:
	// ```
	// /retention/service_groups/disconnected_services/config
	// '{
	// "threshold": "15m",
	// "running": true,
	// "recurrence": "FREQ=SECONDLY;DTSTART=20200612T182166Z;INTERVAL=60"
	// }'
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:update
	UpdateDisconnectedServicesConfig(context.Context, *PeriodicMandatoryJobConfig) (*UpdateDisconnectedServicesConfigRes, error)
	// Runs the job to mark services as disconnected immediately.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:update
	RunDisconnectedServicesJob(context.Context, *RunDisconnectedServicesJobReq) (*RunDisconnectedServicesJobResponse, error)
	// Show 'Remove Disconnected Services' Configuration
	//
	// Displays configuration for the task that deletes services marked as disconnected
	// after 'threshold'. Threshold is a string that follows Elasticsearch's date math expressions.
	// This job is disabled if running is set to false.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:get
	GetDeleteDisconnectedServicesConfig(context.Context, *GetDeleteDisconnectedServicesConfigReq) (*PeriodicJobConfig, error)
	// Change 'Remove Disconnected Services' Configuration
	//
	// Updates configuration information for the task that deletes services marked as disconnected
	// after 'threshold'. Threshold is a string that follows Elasticsearch's date math expressions.
	// This job can be disabled by setting `"running": false`.
	//
	// The frequency of the job's execution can be modified by changing the
	// 'recurrence'. This setting is a string
	// [as defined in section 4.3.10 of RFC 2445](https://www.ietf.org/rfc/rfc2445.txt).
	// By default, the task runs every 60 seconds. It is not recommended to change
	// the recurrence.
	//
	// Example:
	// ```
	// service_groups/delete_disconnected_services/config" -d
	// '{
	// "threshold": "1d",
	// "running":true,
	// "recurrence": "FREQ=SECONDLY;DTSTART=20200612T182166Z;INTERVAL=60"
	// }'
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//retention:serviceGroups:update
	UpdateDeleteDisconnectedServicesConfig(context.Context, *PeriodicJobConfig) (*UpdateDeleteDisconnectedServicesConfigRes, error)
	RunDeleteDisconnectedServicesJob(context.Context, *RunDeleteDisconnectedServicesJobReq) (*RunDeleteDisconnectedServicesJobResponse, error)
	UpdateTelemetryReported(context.Context, *UpdateTelemetryReportedRequest) (*UpdateTelemetryReportedResponse, error)
	GetServicesUsageCount(context.Context, *GetServicesUsageCountRequest) (*GetServicesUsageCountResponse, error)
}

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

func (*UnimplementedApplicationsServiceServer) GetServiceGroups(context.Context, *ServiceGroupsReq) (*ServiceGroups, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServiceGroups not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetServiceGroupsHealthCounts(context.Context, *ServiceGroupsHealthCountsReq) (*HealthCounts, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServiceGroupsHealthCounts not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetServices(context.Context, *ServicesReq) (*ServicesRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServices not implemented")
}
func (*UnimplementedApplicationsServiceServer) FindServices(*ServicesReq, ApplicationsService_FindServicesServer) error {
	return status.Errorf(codes.Unimplemented, "method FindServices not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetServicesDistinctValues(context.Context, *ServicesDistinctValuesReq) (*ServicesDistinctValuesRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServicesDistinctValues not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetServicesBySG(context.Context, *ServicesBySGReq) (*ServicesBySGRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServicesBySG not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetServicesStats(context.Context, *ServicesStatsReq) (*ServicesStatsRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServicesStats not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetDisconnectedServices(context.Context, *DisconnectedServicesReq) (*ServicesRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDisconnectedServices not implemented")
}
func (*UnimplementedApplicationsServiceServer) DeleteDisconnectedServices(context.Context, *DisconnectedServicesReq) (*ServicesRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteDisconnectedServices not implemented")
}
func (*UnimplementedApplicationsServiceServer) DeleteServicesByID(context.Context, *DeleteServicesByIDReq) (*ServicesRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteServicesByID not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetVersion(context.Context, *version.VersionInfoRequest) (*version.VersionInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetDisconnectedServicesConfig(context.Context, *GetDisconnectedServicesConfigReq) (*PeriodicMandatoryJobConfig, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDisconnectedServicesConfig not implemented")
}
func (*UnimplementedApplicationsServiceServer) UpdateDisconnectedServicesConfig(context.Context, *PeriodicMandatoryJobConfig) (*UpdateDisconnectedServicesConfigRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateDisconnectedServicesConfig not implemented")
}
func (*UnimplementedApplicationsServiceServer) RunDisconnectedServicesJob(context.Context, *RunDisconnectedServicesJobReq) (*RunDisconnectedServicesJobResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RunDisconnectedServicesJob not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetDeleteDisconnectedServicesConfig(context.Context, *GetDeleteDisconnectedServicesConfigReq) (*PeriodicJobConfig, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDeleteDisconnectedServicesConfig not implemented")
}
func (*UnimplementedApplicationsServiceServer) UpdateDeleteDisconnectedServicesConfig(context.Context, *PeriodicJobConfig) (*UpdateDeleteDisconnectedServicesConfigRes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateDeleteDisconnectedServicesConfig not implemented")
}
func (*UnimplementedApplicationsServiceServer) RunDeleteDisconnectedServicesJob(context.Context, *RunDeleteDisconnectedServicesJobReq) (*RunDeleteDisconnectedServicesJobResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RunDeleteDisconnectedServicesJob not implemented")
}
func (*UnimplementedApplicationsServiceServer) UpdateTelemetryReported(context.Context, *UpdateTelemetryReportedRequest) (*UpdateTelemetryReportedResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTelemetryReported not implemented")
}
func (*UnimplementedApplicationsServiceServer) GetServicesUsageCount(context.Context, *GetServicesUsageCountRequest) (*GetServicesUsageCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServicesUsageCount not implemented")
}

func RegisterApplicationsServiceServer(s *grpc.Server, srv ApplicationsServiceServer) {
	s.RegisterService(&_ApplicationsService_serviceDesc, srv)
}

func _ApplicationsService_GetServiceGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ServiceGroupsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServiceGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServiceGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServiceGroups(ctx, req.(*ServiceGroupsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetServiceGroupsHealthCounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ServiceGroupsHealthCountsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServiceGroupsHealthCounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServiceGroupsHealthCounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServiceGroupsHealthCounts(ctx, req.(*ServiceGroupsHealthCountsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ServicesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServices(ctx, req.(*ServicesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_FindServices_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ServicesReq)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ApplicationsServiceServer).FindServices(m, &applicationsServiceFindServicesServer{stream})
}

type ApplicationsService_FindServicesServer interface {
	Send(*Service) error
	grpc.ServerStream
}

type applicationsServiceFindServicesServer struct {
	grpc.ServerStream
}

func (x *applicationsServiceFindServicesServer) Send(m *Service) error {
	return x.ServerStream.SendMsg(m)
}

func _ApplicationsService_GetServicesDistinctValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ServicesDistinctValuesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServicesDistinctValues(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServicesDistinctValues",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServicesDistinctValues(ctx, req.(*ServicesDistinctValuesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetServicesBySG_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ServicesBySGReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServicesBySG(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServicesBySG",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServicesBySG(ctx, req.(*ServicesBySGReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetServicesStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ServicesStatsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServicesStats(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServicesStats",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServicesStats(ctx, req.(*ServicesStatsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetDisconnectedServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisconnectedServicesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetDisconnectedServices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetDisconnectedServices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetDisconnectedServices(ctx, req.(*DisconnectedServicesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_DeleteDisconnectedServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisconnectedServicesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).DeleteDisconnectedServices(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/DeleteDisconnectedServices",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).DeleteDisconnectedServices(ctx, req.(*DisconnectedServicesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_DeleteServicesByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteServicesByIDReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).DeleteServicesByID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/DeleteServicesByID",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).DeleteServicesByID(ctx, req.(*DeleteServicesByIDReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(version.VersionInfoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetVersion(ctx, req.(*version.VersionInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetDisconnectedServicesConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDisconnectedServicesConfigReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetDisconnectedServicesConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetDisconnectedServicesConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetDisconnectedServicesConfig(ctx, req.(*GetDisconnectedServicesConfigReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_UpdateDisconnectedServicesConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PeriodicMandatoryJobConfig)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).UpdateDisconnectedServicesConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/UpdateDisconnectedServicesConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).UpdateDisconnectedServicesConfig(ctx, req.(*PeriodicMandatoryJobConfig))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_RunDisconnectedServicesJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RunDisconnectedServicesJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).RunDisconnectedServicesJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/RunDisconnectedServicesJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).RunDisconnectedServicesJob(ctx, req.(*RunDisconnectedServicesJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetDeleteDisconnectedServicesConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDeleteDisconnectedServicesConfigReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetDeleteDisconnectedServicesConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetDeleteDisconnectedServicesConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetDeleteDisconnectedServicesConfig(ctx, req.(*GetDeleteDisconnectedServicesConfigReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_UpdateDeleteDisconnectedServicesConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PeriodicJobConfig)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).UpdateDeleteDisconnectedServicesConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/UpdateDeleteDisconnectedServicesConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).UpdateDeleteDisconnectedServicesConfig(ctx, req.(*PeriodicJobConfig))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_RunDeleteDisconnectedServicesJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RunDeleteDisconnectedServicesJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).RunDeleteDisconnectedServicesJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/RunDeleteDisconnectedServicesJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).RunDeleteDisconnectedServicesJob(ctx, req.(*RunDeleteDisconnectedServicesJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_UpdateTelemetryReported_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTelemetryReportedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).UpdateTelemetryReported(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/UpdateTelemetryReported",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).UpdateTelemetryReported(ctx, req.(*UpdateTelemetryReportedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ApplicationsService_GetServicesUsageCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetServicesUsageCountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ApplicationsServiceServer).GetServicesUsageCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.applications.ApplicationsService/GetServicesUsageCount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ApplicationsServiceServer).GetServicesUsageCount(ctx, req.(*GetServicesUsageCountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _ApplicationsService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.api.applications.ApplicationsService",
	HandlerType: (*ApplicationsServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetServiceGroups",
			Handler:    _ApplicationsService_GetServiceGroups_Handler,
		},
		{
			MethodName: "GetServiceGroupsHealthCounts",
			Handler:    _ApplicationsService_GetServiceGroupsHealthCounts_Handler,
		},
		{
			MethodName: "GetServices",
			Handler:    _ApplicationsService_GetServices_Handler,
		},
		{
			MethodName: "GetServicesDistinctValues",
			Handler:    _ApplicationsService_GetServicesDistinctValues_Handler,
		},
		{
			MethodName: "GetServicesBySG",
			Handler:    _ApplicationsService_GetServicesBySG_Handler,
		},
		{
			MethodName: "GetServicesStats",
			Handler:    _ApplicationsService_GetServicesStats_Handler,
		},
		{
			MethodName: "GetDisconnectedServices",
			Handler:    _ApplicationsService_GetDisconnectedServices_Handler,
		},
		{
			MethodName: "DeleteDisconnectedServices",
			Handler:    _ApplicationsService_DeleteDisconnectedServices_Handler,
		},
		{
			MethodName: "DeleteServicesByID",
			Handler:    _ApplicationsService_DeleteServicesByID_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _ApplicationsService_GetVersion_Handler,
		},
		{
			MethodName: "GetDisconnectedServicesConfig",
			Handler:    _ApplicationsService_GetDisconnectedServicesConfig_Handler,
		},
		{
			MethodName: "UpdateDisconnectedServicesConfig",
			Handler:    _ApplicationsService_UpdateDisconnectedServicesConfig_Handler,
		},
		{
			MethodName: "RunDisconnectedServicesJob",
			Handler:    _ApplicationsService_RunDisconnectedServicesJob_Handler,
		},
		{
			MethodName: "GetDeleteDisconnectedServicesConfig",
			Handler:    _ApplicationsService_GetDeleteDisconnectedServicesConfig_Handler,
		},
		{
			MethodName: "UpdateDeleteDisconnectedServicesConfig",
			Handler:    _ApplicationsService_UpdateDeleteDisconnectedServicesConfig_Handler,
		},
		{
			MethodName: "RunDeleteDisconnectedServicesJob",
			Handler:    _ApplicationsService_RunDeleteDisconnectedServicesJob_Handler,
		},
		{
			MethodName: "UpdateTelemetryReported",
			Handler:    _ApplicationsService_UpdateTelemetryReported_Handler,
		},
		{
			MethodName: "GetServicesUsageCount",
			Handler:    _ApplicationsService_GetServicesUsageCount_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "FindServices",
			Handler:       _ApplicationsService_FindServices_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "external/applications/applications.proto",
}
