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

package cfgmgmt

import (
	context "context"
	_ "github.com/chef/automate/api/external/annotations/iam"
	request "github.com/chef/automate/api/external/cfgmgmt/request"
	response "github.com/chef/automate/api/external/cfgmgmt/response"
	common "github.com/chef/automate/api/external/common"
	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"
	structpb "google.golang.org/protobuf/types/known/structpb"
	reflect "reflect"
	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)
)

var File_external_cfgmgmt_cfgmgmt_proto protoreflect.FileDescriptor

const file_external_cfgmgmt_cfgmgmt_proto_rawDesc = "" +
	"\n" +
	"\x1eexternal/cfgmgmt/cfgmgmt.proto\x12\x19chef.automate.api.cfgmgmt\x1a&external/cfgmgmt/request/actions.proto\x1a$external/cfgmgmt/request/nodes.proto\x1a'external/cfgmgmt/request/rollouts.proto\x1a$external/cfgmgmt/request/stats.proto\x1a%external/cfgmgmt/request/errors.proto\x1a#external/cfgmgmt/request/root.proto\x1a(external/cfgmgmt/request/telemetry.proto\x1a'external/cfgmgmt/response/actions.proto\x1a%external/cfgmgmt/response/nodes.proto\x1a(external/cfgmgmt/response/rollouts.proto\x1a%external/cfgmgmt/response/stats.proto\x1a&external/cfgmgmt/response/errors.proto\x1a)external/cfgmgmt/response/telemetry.proto\x1a&external/common/query/parameters.proto\x1a%external/common/version/version.proto\x1a\x1eexternal/common/response.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a,protoc-gen-swagger/options/annotations.proto\x1a*external/annotations/iam/annotations.proto2\x80)\n" +
	"\n" +
	"ConfigMgmt\x12\x92\x01\n" +
	"\bGetNodes\x12(.chef.automate.api.cfgmgmt.request.Nodes\x1a\x1a.google.protobuf.ListValue\"@\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v0/cfgmgmt/nodes\x12\xa9\x01\n" +
	"\aGetRuns\x12'.chef.automate.api.cfgmgmt.request.Runs\x1a\x1a.google.protobuf.ListValue\"Y\x8a\xb5\x18)\n" +
	"\x15infra:nodes:{node_id}\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02&\x12$/api/v0/cfgmgmt/nodes/{node_id}/runs\x12\xbf\x01\n" +
	"\x0eGetNodesCounts\x12..chef.automate.api.cfgmgmt.request.NodesCounts\x1a/.chef.automate.api.cfgmgmt.response.NodesCounts\"L\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02#\x12!/api/v0/cfgmgmt/stats/node_counts\x12\xbb\x01\n" +
	"\rGetRunsCounts\x12-.chef.automate.api.cfgmgmt.request.RunsCounts\x1a..chef.automate.api.cfgmgmt.response.RunsCounts\"K\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02\"\x12 /api/v0/cfgmgmt/stats/run_counts\x12\xf1\x01\n" +
	"\x1aGetCheckInCountsTimeSeries\x12:.chef.automate.api.cfgmgmt.request.CheckInCountsTimeSeries\x1a;.chef.automate.api.cfgmgmt.response.CheckInCountsTimeSeries\"Z\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x021\x12//api/v0/cfgmgmt/stats/checkin_counts_timeseries\x12\xfa\x01\n" +
	"\x1cGetMissingNodeDurationCounts\x12<.chef.automate.api.cfgmgmt.request.MissingNodeDurationCounts\x1a=.chef.automate.api.cfgmgmt.response.MissingNodeDurationCounts\"]\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x024\x122/api/v0/cfgmgmt/stats/missing_node_duration_counts\x12\xc4\x01\n" +
	"\n" +
	"GetNodeRun\x12*.chef.automate.api.cfgmgmt.request.NodeRun\x1a'.chef.automate.api.cfgmgmt.response.Run\"a\x8a\xb5\x18(\n" +
	"\x15infra:nodes:{node_id}\x12\x0finfra:nodes:get\x82\xd3\xe4\x93\x02/\x12-/api/v0/cfgmgmt/nodes/{node_id}/runs/{run_id}\x12\xa0\x01\n" +
	"\x0eGetSuggestions\x12*.chef.automate.api.common.query.Suggestion\x1a\x1a.google.protobuf.ListValue\"F\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v0/cfgmgmt/suggestions\x12\xaa\x01\n" +
	"\x10GetOrganizations\x120.chef.automate.api.cfgmgmt.request.Organizations\x1a\x1a.google.protobuf.ListValue\"H\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/v0/cfgmgmt/organizations\x12\xa5\x01\n" +
	"\x0eGetSourceFqdns\x12..chef.automate.api.cfgmgmt.request.SourceFqdns\x1a\x1a.google.protobuf.ListValue\"G\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v0/cfgmgmt/source_fqdns\x12\xca\x01\n" +
	"\rGetAttributes\x12'.chef.automate.api.cfgmgmt.request.Node\x1a1.chef.automate.api.cfgmgmt.response.NodeAttribute\"]\x8a\xb5\x18(\n" +
	"\x15infra:nodes:{node_id}\x12\x0finfra:nodes:get\x82\xd3\xe4\x93\x02+\x12)/api/v0/cfgmgmt/nodes/{node_id}/attribute\x12\xd4\x01\n" +
	"\n" +
	"GetVersion\x124.chef.automate.api.common.version.VersionInfoRequest\x1a-.chef.automate.api.common.version.VersionInfo\"a\x92A\b\n" +
	"\x06hidden\x8a\xb5\x183\n" +
	"\x16system:service:version\x12\x19system:serviceVersion:get\x82\xd3\xe4\x93\x02\x19\x12\x17/api/v0/cfgmgmt/version\x12\xe4\x01\n" +
	"\x12GetPolicyCookbooks\x121.chef.automate.api.cfgmgmt.request.PolicyRevision\x1a3.chef.automate.api.cfgmgmt.response.PolicyCookbooks\"f\x8a\xb5\x18-\n" +
	"\x19infra:nodes:{revision_id}\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02/\x12-/api/v0/cfgmgmt/policy_revision/{revision_id}\x12\xa5\x01\n" +
	"\tGetErrors\x12).chef.automate.api.cfgmgmt.request.Errors\x1a*.chef.automate.api.cfgmgmt.response.Errors\"A\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v0/cfgmgmt/errors\x12e\n" +
	"\n" +
	"NodeExport\x12-.chef.automate.api.cfgmgmt.request.NodeExport\x1a$.chef.automate.api.common.ExportData\"\x000\x01\x12i\n" +
	"\fReportExport\x12/.chef.automate.api.cfgmgmt.request.ReportExport\x1a$.chef.automate.api.common.ExportData\"\x000\x01\x12\xd7\x01\n" +
	"\x15GetNodeMetadataCounts\x125.chef.automate.api.cfgmgmt.request.NodeMetadataCounts\x1a6.chef.automate.api.cfgmgmt.response.NodeMetadataCounts\"O\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02&\x12$/api/v0/cfgmgmt/node_metadata_counts\x12\x86\x02\n" +
	" GetNodeRunsDailyStatusTimeSeries\x12@.chef.automate.api.cfgmgmt.request.NodeRunsDailyStatusTimeSeries\x1aA.chef.automate.api.cfgmgmt.response.NodeRunsDailyStatusTimeSeries\"]\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x024\x122/api/v0/cfgmgmt/node_runs_daily_status_time_series\x12\xd3\x01\n" +
	"\rCreateRollout\x120.chef.automate.api.cfgmgmt.request.CreateRollout\x1a+.chef.automate.api.cfgmgmt.response.Rollout\"c\x8a\xb5\x183\n" +
	"\x14ingest:unifiedEvents\x12\x1bingest:unifiedEvents:create\x82\xd3\xe4\x93\x02&:\x01*\"!/api/beta/cfgmgmt/rollouts/create\x12\xea\x01\n" +
	"\x11CreateRolloutTest\x124.chef.automate.api.cfgmgmt.request.CreateRolloutTest\x1a5.chef.automate.api.cfgmgmt.response.CreateRolloutTest\"h\x8a\xb5\x183\n" +
	"\x14ingest:unifiedEvents\x12\x1bingest:unifiedEvents:create\x82\xd3\xe4\x93\x02+:\x01*\"&/api/beta/cfgmgmt/rollouts/test_create\x12\xb4\x01\n" +
	"\vGetRollouts\x12+.chef.automate.api.cfgmgmt.request.Rollouts\x1a,.chef.automate.api.cfgmgmt.response.Rollouts\"J\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02!\x12\x1f/api/beta/cfgmgmt/rollouts/list\x12\xc9\x01\n" +
	"\x0eGetRolloutById\x12..chef.automate.api.cfgmgmt.request.RolloutById\x1a+.chef.automate.api.cfgmgmt.response.Rollout\"Z\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x021\x12//api/beta/cfgmgmt/rollouts/rollout/{rollout_id}\x12\xc5\x01\n" +
	"\x14GetRolloutForChefRun\x124.chef.automate.api.cfgmgmt.request.RolloutForChefRun\x1a+.chef.automate.api.cfgmgmt.response.Rollout\"J\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x02!\x12\x1f/api/beta/cfgmgmt/rollouts/find\x12\x92\x02\n" +
	"#ListNodeSegmentsWithRolloutProgress\x12F.chef.automate.api.cfgmgmt.request.ListNodeSegmentsWithRolloutProgress\x1aC.chef.automate.api.cfgmgmt.response.NodeSegmentsWithRolloutProgress\"^\x8a\xb5\x18\x1f\n" +
	"\vinfra:nodes\x12\x10infra:nodes:list\x82\xd3\xe4\x93\x025\x123/api/beta/cfgmgmt/rollouts/progress_by_node_segment\x12\x86\x02\n" +
	"\x17UpdateTelemetryReported\x12A.chef.automate.api.cfgmgmt.request.UpdateTelemetryReportedRequest\x1aC.chef.automate.api.cfgmgmt.response.UpdateTelemetryReportedResponse\"c\x8a\xb5\x18'\n" +
	"\x0eiam:introspect\x12\x15iam:introspect:getAll\x82\xd3\xe4\x93\x022:\x01*\x1a-/api/v0/cfgmgmt/telemetry/nodes/count/updated\x12\xec\x01\n" +
	"\x12GetNodesUsageCount\x12<.chef.automate.api.cfgmgmt.request.GetNodesUsageCountRequest\x1a>.chef.automate.api.cfgmgmt.response.GetNodesUsageCountResponse\"X\x8a\xb5\x18'\n" +
	"\x0eiam:introspect\x12\x15iam:introspect:getAll\x82\xd3\xe4\x93\x02'\x12%/api/v0/cfgmgmt/telemetry/nodes/countB/Z-github.com/chef/automate/api/external/cfgmgmtb\x06proto3"

var file_external_cfgmgmt_cfgmgmt_proto_goTypes = []any{
	(*request.Nodes)(nil),                               // 0: chef.automate.api.cfgmgmt.request.Nodes
	(*request.Runs)(nil),                                // 1: chef.automate.api.cfgmgmt.request.Runs
	(*request.NodesCounts)(nil),                         // 2: chef.automate.api.cfgmgmt.request.NodesCounts
	(*request.RunsCounts)(nil),                          // 3: chef.automate.api.cfgmgmt.request.RunsCounts
	(*request.CheckInCountsTimeSeries)(nil),             // 4: chef.automate.api.cfgmgmt.request.CheckInCountsTimeSeries
	(*request.MissingNodeDurationCounts)(nil),           // 5: chef.automate.api.cfgmgmt.request.MissingNodeDurationCounts
	(*request.NodeRun)(nil),                             // 6: chef.automate.api.cfgmgmt.request.NodeRun
	(*query.Suggestion)(nil),                            // 7: chef.automate.api.common.query.Suggestion
	(*request.Organizations)(nil),                       // 8: chef.automate.api.cfgmgmt.request.Organizations
	(*request.SourceFqdns)(nil),                         // 9: chef.automate.api.cfgmgmt.request.SourceFqdns
	(*request.Node)(nil),                                // 10: chef.automate.api.cfgmgmt.request.Node
	(*version.VersionInfoRequest)(nil),                  // 11: chef.automate.api.common.version.VersionInfoRequest
	(*request.PolicyRevision)(nil),                      // 12: chef.automate.api.cfgmgmt.request.PolicyRevision
	(*request.Errors)(nil),                              // 13: chef.automate.api.cfgmgmt.request.Errors
	(*request.NodeExport)(nil),                          // 14: chef.automate.api.cfgmgmt.request.NodeExport
	(*request.ReportExport)(nil),                        // 15: chef.automate.api.cfgmgmt.request.ReportExport
	(*request.NodeMetadataCounts)(nil),                  // 16: chef.automate.api.cfgmgmt.request.NodeMetadataCounts
	(*request.NodeRunsDailyStatusTimeSeries)(nil),       // 17: chef.automate.api.cfgmgmt.request.NodeRunsDailyStatusTimeSeries
	(*request.CreateRollout)(nil),                       // 18: chef.automate.api.cfgmgmt.request.CreateRollout
	(*request.CreateRolloutTest)(nil),                   // 19: chef.automate.api.cfgmgmt.request.CreateRolloutTest
	(*request.Rollouts)(nil),                            // 20: chef.automate.api.cfgmgmt.request.Rollouts
	(*request.RolloutById)(nil),                         // 21: chef.automate.api.cfgmgmt.request.RolloutById
	(*request.RolloutForChefRun)(nil),                   // 22: chef.automate.api.cfgmgmt.request.RolloutForChefRun
	(*request.ListNodeSegmentsWithRolloutProgress)(nil), // 23: chef.automate.api.cfgmgmt.request.ListNodeSegmentsWithRolloutProgress
	(*request.UpdateTelemetryReportedRequest)(nil),      // 24: chef.automate.api.cfgmgmt.request.UpdateTelemetryReportedRequest
	(*request.GetNodesUsageCountRequest)(nil),           // 25: chef.automate.api.cfgmgmt.request.GetNodesUsageCountRequest
	(*structpb.ListValue)(nil),                          // 26: google.protobuf.ListValue
	(*response.NodesCounts)(nil),                        // 27: chef.automate.api.cfgmgmt.response.NodesCounts
	(*response.RunsCounts)(nil),                         // 28: chef.automate.api.cfgmgmt.response.RunsCounts
	(*response.CheckInCountsTimeSeries)(nil),            // 29: chef.automate.api.cfgmgmt.response.CheckInCountsTimeSeries
	(*response.MissingNodeDurationCounts)(nil),          // 30: chef.automate.api.cfgmgmt.response.MissingNodeDurationCounts
	(*response.Run)(nil),                                // 31: chef.automate.api.cfgmgmt.response.Run
	(*response.NodeAttribute)(nil),                      // 32: chef.automate.api.cfgmgmt.response.NodeAttribute
	(*version.VersionInfo)(nil),                         // 33: chef.automate.api.common.version.VersionInfo
	(*response.PolicyCookbooks)(nil),                    // 34: chef.automate.api.cfgmgmt.response.PolicyCookbooks
	(*response.Errors)(nil),                             // 35: chef.automate.api.cfgmgmt.response.Errors
	(*common.ExportData)(nil),                           // 36: chef.automate.api.common.ExportData
	(*response.NodeMetadataCounts)(nil),                 // 37: chef.automate.api.cfgmgmt.response.NodeMetadataCounts
	(*response.NodeRunsDailyStatusTimeSeries)(nil),      // 38: chef.automate.api.cfgmgmt.response.NodeRunsDailyStatusTimeSeries
	(*response.Rollout)(nil),                            // 39: chef.automate.api.cfgmgmt.response.Rollout
	(*response.CreateRolloutTest)(nil),                  // 40: chef.automate.api.cfgmgmt.response.CreateRolloutTest
	(*response.Rollouts)(nil),                           // 41: chef.automate.api.cfgmgmt.response.Rollouts
	(*response.NodeSegmentsWithRolloutProgress)(nil),    // 42: chef.automate.api.cfgmgmt.response.NodeSegmentsWithRolloutProgress
	(*response.UpdateTelemetryReportedResponse)(nil),    // 43: chef.automate.api.cfgmgmt.response.UpdateTelemetryReportedResponse
	(*response.GetNodesUsageCountResponse)(nil),         // 44: chef.automate.api.cfgmgmt.response.GetNodesUsageCountResponse
}
var file_external_cfgmgmt_cfgmgmt_proto_depIdxs = []int32{
	0,  // 0: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodes:input_type -> chef.automate.api.cfgmgmt.request.Nodes
	1,  // 1: chef.automate.api.cfgmgmt.ConfigMgmt.GetRuns:input_type -> chef.automate.api.cfgmgmt.request.Runs
	2,  // 2: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodesCounts:input_type -> chef.automate.api.cfgmgmt.request.NodesCounts
	3,  // 3: chef.automate.api.cfgmgmt.ConfigMgmt.GetRunsCounts:input_type -> chef.automate.api.cfgmgmt.request.RunsCounts
	4,  // 4: chef.automate.api.cfgmgmt.ConfigMgmt.GetCheckInCountsTimeSeries:input_type -> chef.automate.api.cfgmgmt.request.CheckInCountsTimeSeries
	5,  // 5: chef.automate.api.cfgmgmt.ConfigMgmt.GetMissingNodeDurationCounts:input_type -> chef.automate.api.cfgmgmt.request.MissingNodeDurationCounts
	6,  // 6: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodeRun:input_type -> chef.automate.api.cfgmgmt.request.NodeRun
	7,  // 7: chef.automate.api.cfgmgmt.ConfigMgmt.GetSuggestions:input_type -> chef.automate.api.common.query.Suggestion
	8,  // 8: chef.automate.api.cfgmgmt.ConfigMgmt.GetOrganizations:input_type -> chef.automate.api.cfgmgmt.request.Organizations
	9,  // 9: chef.automate.api.cfgmgmt.ConfigMgmt.GetSourceFqdns:input_type -> chef.automate.api.cfgmgmt.request.SourceFqdns
	10, // 10: chef.automate.api.cfgmgmt.ConfigMgmt.GetAttributes:input_type -> chef.automate.api.cfgmgmt.request.Node
	11, // 11: chef.automate.api.cfgmgmt.ConfigMgmt.GetVersion:input_type -> chef.automate.api.common.version.VersionInfoRequest
	12, // 12: chef.automate.api.cfgmgmt.ConfigMgmt.GetPolicyCookbooks:input_type -> chef.automate.api.cfgmgmt.request.PolicyRevision
	13, // 13: chef.automate.api.cfgmgmt.ConfigMgmt.GetErrors:input_type -> chef.automate.api.cfgmgmt.request.Errors
	14, // 14: chef.automate.api.cfgmgmt.ConfigMgmt.NodeExport:input_type -> chef.automate.api.cfgmgmt.request.NodeExport
	15, // 15: chef.automate.api.cfgmgmt.ConfigMgmt.ReportExport:input_type -> chef.automate.api.cfgmgmt.request.ReportExport
	16, // 16: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodeMetadataCounts:input_type -> chef.automate.api.cfgmgmt.request.NodeMetadataCounts
	17, // 17: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodeRunsDailyStatusTimeSeries:input_type -> chef.automate.api.cfgmgmt.request.NodeRunsDailyStatusTimeSeries
	18, // 18: chef.automate.api.cfgmgmt.ConfigMgmt.CreateRollout:input_type -> chef.automate.api.cfgmgmt.request.CreateRollout
	19, // 19: chef.automate.api.cfgmgmt.ConfigMgmt.CreateRolloutTest:input_type -> chef.automate.api.cfgmgmt.request.CreateRolloutTest
	20, // 20: chef.automate.api.cfgmgmt.ConfigMgmt.GetRollouts:input_type -> chef.automate.api.cfgmgmt.request.Rollouts
	21, // 21: chef.automate.api.cfgmgmt.ConfigMgmt.GetRolloutById:input_type -> chef.automate.api.cfgmgmt.request.RolloutById
	22, // 22: chef.automate.api.cfgmgmt.ConfigMgmt.GetRolloutForChefRun:input_type -> chef.automate.api.cfgmgmt.request.RolloutForChefRun
	23, // 23: chef.automate.api.cfgmgmt.ConfigMgmt.ListNodeSegmentsWithRolloutProgress:input_type -> chef.automate.api.cfgmgmt.request.ListNodeSegmentsWithRolloutProgress
	24, // 24: chef.automate.api.cfgmgmt.ConfigMgmt.UpdateTelemetryReported:input_type -> chef.automate.api.cfgmgmt.request.UpdateTelemetryReportedRequest
	25, // 25: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodesUsageCount:input_type -> chef.automate.api.cfgmgmt.request.GetNodesUsageCountRequest
	26, // 26: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodes:output_type -> google.protobuf.ListValue
	26, // 27: chef.automate.api.cfgmgmt.ConfigMgmt.GetRuns:output_type -> google.protobuf.ListValue
	27, // 28: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodesCounts:output_type -> chef.automate.api.cfgmgmt.response.NodesCounts
	28, // 29: chef.automate.api.cfgmgmt.ConfigMgmt.GetRunsCounts:output_type -> chef.automate.api.cfgmgmt.response.RunsCounts
	29, // 30: chef.automate.api.cfgmgmt.ConfigMgmt.GetCheckInCountsTimeSeries:output_type -> chef.automate.api.cfgmgmt.response.CheckInCountsTimeSeries
	30, // 31: chef.automate.api.cfgmgmt.ConfigMgmt.GetMissingNodeDurationCounts:output_type -> chef.automate.api.cfgmgmt.response.MissingNodeDurationCounts
	31, // 32: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodeRun:output_type -> chef.automate.api.cfgmgmt.response.Run
	26, // 33: chef.automate.api.cfgmgmt.ConfigMgmt.GetSuggestions:output_type -> google.protobuf.ListValue
	26, // 34: chef.automate.api.cfgmgmt.ConfigMgmt.GetOrganizations:output_type -> google.protobuf.ListValue
	26, // 35: chef.automate.api.cfgmgmt.ConfigMgmt.GetSourceFqdns:output_type -> google.protobuf.ListValue
	32, // 36: chef.automate.api.cfgmgmt.ConfigMgmt.GetAttributes:output_type -> chef.automate.api.cfgmgmt.response.NodeAttribute
	33, // 37: chef.automate.api.cfgmgmt.ConfigMgmt.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo
	34, // 38: chef.automate.api.cfgmgmt.ConfigMgmt.GetPolicyCookbooks:output_type -> chef.automate.api.cfgmgmt.response.PolicyCookbooks
	35, // 39: chef.automate.api.cfgmgmt.ConfigMgmt.GetErrors:output_type -> chef.automate.api.cfgmgmt.response.Errors
	36, // 40: chef.automate.api.cfgmgmt.ConfigMgmt.NodeExport:output_type -> chef.automate.api.common.ExportData
	36, // 41: chef.automate.api.cfgmgmt.ConfigMgmt.ReportExport:output_type -> chef.automate.api.common.ExportData
	37, // 42: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodeMetadataCounts:output_type -> chef.automate.api.cfgmgmt.response.NodeMetadataCounts
	38, // 43: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodeRunsDailyStatusTimeSeries:output_type -> chef.automate.api.cfgmgmt.response.NodeRunsDailyStatusTimeSeries
	39, // 44: chef.automate.api.cfgmgmt.ConfigMgmt.CreateRollout:output_type -> chef.automate.api.cfgmgmt.response.Rollout
	40, // 45: chef.automate.api.cfgmgmt.ConfigMgmt.CreateRolloutTest:output_type -> chef.automate.api.cfgmgmt.response.CreateRolloutTest
	41, // 46: chef.automate.api.cfgmgmt.ConfigMgmt.GetRollouts:output_type -> chef.automate.api.cfgmgmt.response.Rollouts
	39, // 47: chef.automate.api.cfgmgmt.ConfigMgmt.GetRolloutById:output_type -> chef.automate.api.cfgmgmt.response.Rollout
	39, // 48: chef.automate.api.cfgmgmt.ConfigMgmt.GetRolloutForChefRun:output_type -> chef.automate.api.cfgmgmt.response.Rollout
	42, // 49: chef.automate.api.cfgmgmt.ConfigMgmt.ListNodeSegmentsWithRolloutProgress:output_type -> chef.automate.api.cfgmgmt.response.NodeSegmentsWithRolloutProgress
	43, // 50: chef.automate.api.cfgmgmt.ConfigMgmt.UpdateTelemetryReported:output_type -> chef.automate.api.cfgmgmt.response.UpdateTelemetryReportedResponse
	44, // 51: chef.automate.api.cfgmgmt.ConfigMgmt.GetNodesUsageCount:output_type -> chef.automate.api.cfgmgmt.response.GetNodesUsageCountResponse
	26, // [26:52] is the sub-list for method output_type
	0,  // [0:26] is the sub-list for method input_type
	0,  // [0:0] is the sub-list for extension type_name
	0,  // [0:0] is the sub-list for extension extendee
	0,  // [0:0] is the sub-list for field type_name
}

func init() { file_external_cfgmgmt_cfgmgmt_proto_init() }
func file_external_cfgmgmt_cfgmgmt_proto_init() {
	if File_external_cfgmgmt_cfgmgmt_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_external_cfgmgmt_cfgmgmt_proto_rawDesc), len(file_external_cfgmgmt_cfgmgmt_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   0,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_external_cfgmgmt_cfgmgmt_proto_goTypes,
		DependencyIndexes: file_external_cfgmgmt_cfgmgmt_proto_depIdxs,
	}.Build()
	File_external_cfgmgmt_cfgmgmt_proto = out.File
	file_external_cfgmgmt_cfgmgmt_proto_goTypes = nil
	file_external_cfgmgmt_cfgmgmt_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

// ConfigMgmtClient is the client API for ConfigMgmt service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ConfigMgmtClient interface {
	// List Checked-in Nodes
	//
	// Returns a list of infra nodes that have checked in to Automate.
	// Adding a filter makes a list of all nodes that meet the filter criteria.
	// Filters for the same field are ORd together, while filters across different fields are ANDed together.
	// Supports pagination, filtering (with wildcard support), and sorting.
	// Max return payload size is 4MB, use pagination to fetch remaining data.
	//
	// Example:
	// ```
	// cfgmgmt/nodes?pagination.page=1&pagination.size=100&sorting.field=name&sorting.order=ASC&filter=name:mySO*&filter=platform:ubun*
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodes(ctx context.Context, in *request.Nodes, opts ...grpc.CallOption) (*structpb.ListValue, error)
	// List Run Details
	//
	// Returns a list of run metadata (id, start and end time, and status) for the provided node ID.
	// Supports pagination.
	// Accepts a `start` parameter to denote start date for the list and a filter of type `status`.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRuns(ctx context.Context, in *request.Runs, opts ...grpc.CallOption) (*structpb.ListValue, error)
	// List Node Status Counts
	//
	// Returns totals for failed, success, missing, and overall total infra nodes that have reported into Automate.
	// Supports filtering.
	//
	// Example:
	// ```
	// cfgmgmt/stats/node_counts?filter=name:mySO*&filter=platform:ubun*
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodesCounts(ctx context.Context, in *request.NodesCounts, opts ...grpc.CallOption) (*response.NodesCounts, error)
	// List Run Status Totals
	//
	// Returns totals for failed and successful runs given a `node_id`.
	//
	// Example:
	// ```
	// cfgmgmt/stats/run_counts?node_id=821fff07-abc9-4160-96b1-83d68ae5cfdd&start=2019-11-02
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRunsCounts(ctx context.Context, in *request.RunsCounts, opts ...grpc.CallOption) (*response.RunsCounts, error)
	// List Node Checkins
	//
	// Returns a daily time series of unique node check-ins for the number of days requested.
	// If `days ago` value is empty, API will return the default 1 day ago results.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetCheckInCountsTimeSeries(ctx context.Context, in *request.CheckInCountsTimeSeries, opts ...grpc.CallOption) (*response.CheckInCountsTimeSeries, error)
	// List Missing Nodes Count
	//
	// Returns a count of missing nodes for the provided durations.
	//
	// Example:
	// ```
	// cfgmgmt/stats/missing_node_duration_counts?durations=3d&durations=1w&durations=2w&durations=1M&durations=3M
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetMissingNodeDurationCounts(ctx context.Context, in *request.MissingNodeDurationCounts, opts ...grpc.CallOption) (*response.MissingNodeDurationCounts, error)
	// Show Node Run
	//
	// Returns the infra run report for the provided node ID and run ID.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:get
	GetNodeRun(ctx context.Context, in *request.NodeRun, opts ...grpc.CallOption) (*response.Run, error)
	// List Filter Suggestions
	//
	// Returns possible filter values given a valid `type` parameter. All values returned until two or more characters are provided for the `text` parameter.
	// Supports wildcard (* and ?).
	//
	// Example:
	// ```
	// cfgmgmt/suggestions?type=environment&text=_d
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetSuggestions(ctx context.Context, in *query.Suggestion, opts ...grpc.CallOption) (*structpb.ListValue, error)
	// List Organizations
	//
	// Returns a list of all organizations associated with nodes that have checked in to Automate.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetOrganizations(ctx context.Context, in *request.Organizations, opts ...grpc.CallOption) (*structpb.ListValue, error)
	// List Associated Chef Infra Servers
	//
	// Returns a list of all Chef Infra Servers associated with nodes that have checked in to Automate.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetSourceFqdns(ctx context.Context, in *request.SourceFqdns, opts ...grpc.CallOption) (*structpb.ListValue, error)
	// Show Attributes
	//
	// Returns the latest reported attributes for the provided node ID.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:get
	GetAttributes(ctx context.Context, in *request.Node, opts ...grpc.CallOption) (*response.NodeAttribute, error)
	GetVersion(ctx context.Context, in *version.VersionInfoRequest, opts ...grpc.CallOption) (*version.VersionInfo, error)
	// List Policy Cookbooks
	//
	// Returns Policy Names with a list of cookbook names and associated policy identifiers based on a policy revision ID.
	// Policy revision IDs are sent with an infra run report and identifies which instance of a policy the node used for this run.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetPolicyCookbooks(ctx context.Context, in *request.PolicyRevision, opts ...grpc.CallOption) (*response.PolicyCookbooks, error)
	// List Errors
	//
	// Returns a list of the most common errors reported for infra nodes' most recent Chef Infra Client runs.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetErrors(ctx context.Context, in *request.Errors, opts ...grpc.CallOption) (*response.Errors, error)
	NodeExport(ctx context.Context, in *request.NodeExport, opts ...grpc.CallOption) (ConfigMgmt_NodeExportClient, error)
	ReportExport(ctx context.Context, in *request.ReportExport, opts ...grpc.CallOption) (ConfigMgmt_ReportExportClient, error)
	// GetNodeMetadataCounts
	//
	// For each type of field requested this returns distinct values the amount of each. For example,
	// if the 'platform' field is requested 'windows' 10, 'redhat' 5, and 'ubuntu' 8 could be returned.
	// The number next to each represents the number of nodes with that type of platform.
	//
	// Example:
	// request
	// ```
	// cfgmgmt/node_metadata_counts?type=platform&type=status
	// ```
	// response
	// ```
	// {
	// "types": [
	// {
	// "values": [
	// {
	// "value": "mac_os_x 10.11.5",
	// "count": 28
	// },
	// {
	// "value": "linux 8.9",
	// "count": 1
	// },
	// {
	// "value": "macos 8.9",
	// "count": 1
	// },
	// {
	// "value": "windows 8.9",
	// "count": 1
	// }
	// ],
	// "type": "platform"
	// },
	// {
	// "value": [
	// {
	// "value": "missing",
	// "count": 29
	// },
	// {
	// "value": "failure",
	// "count": 2
	// }
	// ],
	// "type": "status"
	// }
	// ]
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodeMetadataCounts(ctx context.Context, in *request.NodeMetadataCounts, opts ...grpc.CallOption) (*response.NodeMetadataCounts, error)
	// GetNodeRunsDailyStatusTimeSeries
	//
	// Provides the status of runs for each 24-hour duration. For multiple runs in one 24-hour duration,
	// the most recent failed run will be returned. If there are no failed runs the most recent successful
	// run will be returned. If no runs are found in the 24-hour duration, the status will be "missing"
	// and no run information will be returned.
	//
	// Example:
	// request
	// ```
	// cfgmgmt/node_runs_daily_status_time_series?node_id=507bd518-5c18-4c2d-a445-60fe7dde9961&days_ago=3
	// ```
	// response
	// ```
	// {
	// "durations": [
	// {
	// "start": "2020-04-25T19:00:00Z",
	// "end": "2020-04-26T18:59:59Z",
	// "status": "missing",
	// "run_id": ""
	// },
	// {
	// "start": "2020-04-26T19:00:00Z",
	// "end": "2020-04-27T18:59:59Z",
	// "status": "missing",
	// "run_id": ""
	// },
	// {
	// "start": "2020-04-27T19:00:00Z",
	// "end": "2020-04-28T18:59:59Z",
	// "status": "failure",
	// "run_id": "b7904f41-68b5-44ec-9da6-cf2481ff8600"
	// }
	// ]
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodeRunsDailyStatusTimeSeries(ctx context.Context, in *request.NodeRunsDailyStatusTimeSeries, opts ...grpc.CallOption) (*response.NodeRunsDailyStatusTimeSeries, error)
	// CreateRollout
	//
	// Creates a Rollout record. A rollout represents the process of nodes acquiring
	// the latest policy revision pushed to a policy group.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//ingest:unifiedEvents:create
	CreateRollout(ctx context.Context, in *request.CreateRollout, opts ...grpc.CallOption) (*response.Rollout, error)
	// CreateRolloutTest
	//
	// CreateRolloutTest is a no-op endpoint that has the same auth requirements as
	// CreateRollout. It can be used to verify end-to-end config/connectivity for
	// clients
	//
	// Authorization Action:
	// ```
	// ```
	//
	//ingest:unifiedEvents:create
	CreateRolloutTest(ctx context.Context, in *request.CreateRolloutTest, opts ...grpc.CallOption) (*response.CreateRolloutTest, error)
	// GetRollouts
	//
	// # Gives a list of rollouts
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRollouts(ctx context.Context, in *request.Rollouts, opts ...grpc.CallOption) (*response.Rollouts, error)
	// GetRolloutById
	//
	// # Returns the rollout with the given Id
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRolloutById(ctx context.Context, in *request.RolloutById, opts ...grpc.CallOption) (*response.Rollout, error)
	// GetRolloutForChefRun
	//
	// Returns the rollout for the given Chef Server/org, policy group, policy name, and policy revision
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRolloutForChefRun(ctx context.Context, in *request.RolloutForChefRun, opts ...grpc.CallOption) (*response.Rollout, error)
	ListNodeSegmentsWithRolloutProgress(ctx context.Context, in *request.ListNodeSegmentsWithRolloutProgress, opts ...grpc.CallOption) (*response.NodeSegmentsWithRolloutProgress, error)
	// UpdateTelemetryReported
	// Acknowledge API  to updates the last client run telemetry reported date in postgres
	// Authorization Action:
	// ```
	// ```
	//
	//iam:introspect:getAll
	UpdateTelemetryReported(ctx context.Context, in *request.UpdateTelemetryReportedRequest, opts ...grpc.CallOption) (*response.UpdateTelemetryReportedResponse, error)
	// GetNodesUsageCount
	//
	// Returns the count of unique nodes with lastRun in a given time.
	// The time duration can be between the last time Telemetry data sent and the day before the current date.
	// If the duration < 15 days --> 15 days
	// duration > 15 days --> duration
	// Authorization Action:
	// ```
	// ```
	//
	//iam:introspect:getAll
	GetNodesUsageCount(ctx context.Context, in *request.GetNodesUsageCountRequest, opts ...grpc.CallOption) (*response.GetNodesUsageCountResponse, error)
}

type configMgmtClient struct {
	cc grpc.ClientConnInterface
}

func NewConfigMgmtClient(cc grpc.ClientConnInterface) ConfigMgmtClient {
	return &configMgmtClient{cc}
}

func (c *configMgmtClient) GetNodes(ctx context.Context, in *request.Nodes, opts ...grpc.CallOption) (*structpb.ListValue, error) {
	out := new(structpb.ListValue)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetRuns(ctx context.Context, in *request.Runs, opts ...grpc.CallOption) (*structpb.ListValue, error) {
	out := new(structpb.ListValue)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRuns", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetNodesCounts(ctx context.Context, in *request.NodesCounts, opts ...grpc.CallOption) (*response.NodesCounts, error) {
	out := new(response.NodesCounts)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodesCounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetRunsCounts(ctx context.Context, in *request.RunsCounts, opts ...grpc.CallOption) (*response.RunsCounts, error) {
	out := new(response.RunsCounts)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRunsCounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetCheckInCountsTimeSeries(ctx context.Context, in *request.CheckInCountsTimeSeries, opts ...grpc.CallOption) (*response.CheckInCountsTimeSeries, error) {
	out := new(response.CheckInCountsTimeSeries)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetCheckInCountsTimeSeries", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetMissingNodeDurationCounts(ctx context.Context, in *request.MissingNodeDurationCounts, opts ...grpc.CallOption) (*response.MissingNodeDurationCounts, error) {
	out := new(response.MissingNodeDurationCounts)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetMissingNodeDurationCounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetNodeRun(ctx context.Context, in *request.NodeRun, opts ...grpc.CallOption) (*response.Run, error) {
	out := new(response.Run)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodeRun", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetSuggestions(ctx context.Context, in *query.Suggestion, opts ...grpc.CallOption) (*structpb.ListValue, error) {
	out := new(structpb.ListValue)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetSuggestions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetOrganizations(ctx context.Context, in *request.Organizations, opts ...grpc.CallOption) (*structpb.ListValue, error) {
	out := new(structpb.ListValue)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetOrganizations", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetSourceFqdns(ctx context.Context, in *request.SourceFqdns, opts ...grpc.CallOption) (*structpb.ListValue, error) {
	out := new(structpb.ListValue)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetSourceFqdns", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetAttributes(ctx context.Context, in *request.Node, opts ...grpc.CallOption) (*response.NodeAttribute, error) {
	out := new(response.NodeAttribute)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetAttributes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) 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.cfgmgmt.ConfigMgmt/GetVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetPolicyCookbooks(ctx context.Context, in *request.PolicyRevision, opts ...grpc.CallOption) (*response.PolicyCookbooks, error) {
	out := new(response.PolicyCookbooks)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetPolicyCookbooks", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetErrors(ctx context.Context, in *request.Errors, opts ...grpc.CallOption) (*response.Errors, error) {
	out := new(response.Errors)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetErrors", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) NodeExport(ctx context.Context, in *request.NodeExport, opts ...grpc.CallOption) (ConfigMgmt_NodeExportClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ConfigMgmt_serviceDesc.Streams[0], "/chef.automate.api.cfgmgmt.ConfigMgmt/NodeExport", opts...)
	if err != nil {
		return nil, err
	}
	x := &configMgmtNodeExportClient{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 ConfigMgmt_NodeExportClient interface {
	Recv() (*common.ExportData, error)
	grpc.ClientStream
}

type configMgmtNodeExportClient struct {
	grpc.ClientStream
}

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

func (c *configMgmtClient) ReportExport(ctx context.Context, in *request.ReportExport, opts ...grpc.CallOption) (ConfigMgmt_ReportExportClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ConfigMgmt_serviceDesc.Streams[1], "/chef.automate.api.cfgmgmt.ConfigMgmt/ReportExport", opts...)
	if err != nil {
		return nil, err
	}
	x := &configMgmtReportExportClient{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 ConfigMgmt_ReportExportClient interface {
	Recv() (*common.ExportData, error)
	grpc.ClientStream
}

type configMgmtReportExportClient struct {
	grpc.ClientStream
}

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

func (c *configMgmtClient) GetNodeMetadataCounts(ctx context.Context, in *request.NodeMetadataCounts, opts ...grpc.CallOption) (*response.NodeMetadataCounts, error) {
	out := new(response.NodeMetadataCounts)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodeMetadataCounts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetNodeRunsDailyStatusTimeSeries(ctx context.Context, in *request.NodeRunsDailyStatusTimeSeries, opts ...grpc.CallOption) (*response.NodeRunsDailyStatusTimeSeries, error) {
	out := new(response.NodeRunsDailyStatusTimeSeries)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodeRunsDailyStatusTimeSeries", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) CreateRollout(ctx context.Context, in *request.CreateRollout, opts ...grpc.CallOption) (*response.Rollout, error) {
	out := new(response.Rollout)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/CreateRollout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) CreateRolloutTest(ctx context.Context, in *request.CreateRolloutTest, opts ...grpc.CallOption) (*response.CreateRolloutTest, error) {
	out := new(response.CreateRolloutTest)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/CreateRolloutTest", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetRollouts(ctx context.Context, in *request.Rollouts, opts ...grpc.CallOption) (*response.Rollouts, error) {
	out := new(response.Rollouts)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRollouts", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetRolloutById(ctx context.Context, in *request.RolloutById, opts ...grpc.CallOption) (*response.Rollout, error) {
	out := new(response.Rollout)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRolloutById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) GetRolloutForChefRun(ctx context.Context, in *request.RolloutForChefRun, opts ...grpc.CallOption) (*response.Rollout, error) {
	out := new(response.Rollout)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRolloutForChefRun", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *configMgmtClient) ListNodeSegmentsWithRolloutProgress(ctx context.Context, in *request.ListNodeSegmentsWithRolloutProgress, opts ...grpc.CallOption) (*response.NodeSegmentsWithRolloutProgress, error) {
	out := new(response.NodeSegmentsWithRolloutProgress)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/ListNodeSegmentsWithRolloutProgress", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

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

func (c *configMgmtClient) GetNodesUsageCount(ctx context.Context, in *request.GetNodesUsageCountRequest, opts ...grpc.CallOption) (*response.GetNodesUsageCountResponse, error) {
	out := new(response.GetNodesUsageCountResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodesUsageCount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ConfigMgmtServer is the server API for ConfigMgmt service.
type ConfigMgmtServer interface {
	// List Checked-in Nodes
	//
	// Returns a list of infra nodes that have checked in to Automate.
	// Adding a filter makes a list of all nodes that meet the filter criteria.
	// Filters for the same field are ORd together, while filters across different fields are ANDed together.
	// Supports pagination, filtering (with wildcard support), and sorting.
	// Max return payload size is 4MB, use pagination to fetch remaining data.
	//
	// Example:
	// ```
	// cfgmgmt/nodes?pagination.page=1&pagination.size=100&sorting.field=name&sorting.order=ASC&filter=name:mySO*&filter=platform:ubun*
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodes(context.Context, *request.Nodes) (*structpb.ListValue, error)
	// List Run Details
	//
	// Returns a list of run metadata (id, start and end time, and status) for the provided node ID.
	// Supports pagination.
	// Accepts a `start` parameter to denote start date for the list and a filter of type `status`.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRuns(context.Context, *request.Runs) (*structpb.ListValue, error)
	// List Node Status Counts
	//
	// Returns totals for failed, success, missing, and overall total infra nodes that have reported into Automate.
	// Supports filtering.
	//
	// Example:
	// ```
	// cfgmgmt/stats/node_counts?filter=name:mySO*&filter=platform:ubun*
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodesCounts(context.Context, *request.NodesCounts) (*response.NodesCounts, error)
	// List Run Status Totals
	//
	// Returns totals for failed and successful runs given a `node_id`.
	//
	// Example:
	// ```
	// cfgmgmt/stats/run_counts?node_id=821fff07-abc9-4160-96b1-83d68ae5cfdd&start=2019-11-02
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRunsCounts(context.Context, *request.RunsCounts) (*response.RunsCounts, error)
	// List Node Checkins
	//
	// Returns a daily time series of unique node check-ins for the number of days requested.
	// If `days ago` value is empty, API will return the default 1 day ago results.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetCheckInCountsTimeSeries(context.Context, *request.CheckInCountsTimeSeries) (*response.CheckInCountsTimeSeries, error)
	// List Missing Nodes Count
	//
	// Returns a count of missing nodes for the provided durations.
	//
	// Example:
	// ```
	// cfgmgmt/stats/missing_node_duration_counts?durations=3d&durations=1w&durations=2w&durations=1M&durations=3M
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetMissingNodeDurationCounts(context.Context, *request.MissingNodeDurationCounts) (*response.MissingNodeDurationCounts, error)
	// Show Node Run
	//
	// Returns the infra run report for the provided node ID and run ID.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:get
	GetNodeRun(context.Context, *request.NodeRun) (*response.Run, error)
	// List Filter Suggestions
	//
	// Returns possible filter values given a valid `type` parameter. All values returned until two or more characters are provided for the `text` parameter.
	// Supports wildcard (* and ?).
	//
	// Example:
	// ```
	// cfgmgmt/suggestions?type=environment&text=_d
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetSuggestions(context.Context, *query.Suggestion) (*structpb.ListValue, error)
	// List Organizations
	//
	// Returns a list of all organizations associated with nodes that have checked in to Automate.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetOrganizations(context.Context, *request.Organizations) (*structpb.ListValue, error)
	// List Associated Chef Infra Servers
	//
	// Returns a list of all Chef Infra Servers associated with nodes that have checked in to Automate.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetSourceFqdns(context.Context, *request.SourceFqdns) (*structpb.ListValue, error)
	// Show Attributes
	//
	// Returns the latest reported attributes for the provided node ID.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:get
	GetAttributes(context.Context, *request.Node) (*response.NodeAttribute, error)
	GetVersion(context.Context, *version.VersionInfoRequest) (*version.VersionInfo, error)
	// List Policy Cookbooks
	//
	// Returns Policy Names with a list of cookbook names and associated policy identifiers based on a policy revision ID.
	// Policy revision IDs are sent with an infra run report and identifies which instance of a policy the node used for this run.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetPolicyCookbooks(context.Context, *request.PolicyRevision) (*response.PolicyCookbooks, error)
	// List Errors
	//
	// Returns a list of the most common errors reported for infra nodes' most recent Chef Infra Client runs.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetErrors(context.Context, *request.Errors) (*response.Errors, error)
	NodeExport(*request.NodeExport, ConfigMgmt_NodeExportServer) error
	ReportExport(*request.ReportExport, ConfigMgmt_ReportExportServer) error
	// GetNodeMetadataCounts
	//
	// For each type of field requested this returns distinct values the amount of each. For example,
	// if the 'platform' field is requested 'windows' 10, 'redhat' 5, and 'ubuntu' 8 could be returned.
	// The number next to each represents the number of nodes with that type of platform.
	//
	// Example:
	// request
	// ```
	// cfgmgmt/node_metadata_counts?type=platform&type=status
	// ```
	// response
	// ```
	// {
	// "types": [
	// {
	// "values": [
	// {
	// "value": "mac_os_x 10.11.5",
	// "count": 28
	// },
	// {
	// "value": "linux 8.9",
	// "count": 1
	// },
	// {
	// "value": "macos 8.9",
	// "count": 1
	// },
	// {
	// "value": "windows 8.9",
	// "count": 1
	// }
	// ],
	// "type": "platform"
	// },
	// {
	// "value": [
	// {
	// "value": "missing",
	// "count": 29
	// },
	// {
	// "value": "failure",
	// "count": 2
	// }
	// ],
	// "type": "status"
	// }
	// ]
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodeMetadataCounts(context.Context, *request.NodeMetadataCounts) (*response.NodeMetadataCounts, error)
	// GetNodeRunsDailyStatusTimeSeries
	//
	// Provides the status of runs for each 24-hour duration. For multiple runs in one 24-hour duration,
	// the most recent failed run will be returned. If there are no failed runs the most recent successful
	// run will be returned. If no runs are found in the 24-hour duration, the status will be "missing"
	// and no run information will be returned.
	//
	// Example:
	// request
	// ```
	// cfgmgmt/node_runs_daily_status_time_series?node_id=507bd518-5c18-4c2d-a445-60fe7dde9961&days_ago=3
	// ```
	// response
	// ```
	// {
	// "durations": [
	// {
	// "start": "2020-04-25T19:00:00Z",
	// "end": "2020-04-26T18:59:59Z",
	// "status": "missing",
	// "run_id": ""
	// },
	// {
	// "start": "2020-04-26T19:00:00Z",
	// "end": "2020-04-27T18:59:59Z",
	// "status": "missing",
	// "run_id": ""
	// },
	// {
	// "start": "2020-04-27T19:00:00Z",
	// "end": "2020-04-28T18:59:59Z",
	// "status": "failure",
	// "run_id": "b7904f41-68b5-44ec-9da6-cf2481ff8600"
	// }
	// ]
	// }
	// ```
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetNodeRunsDailyStatusTimeSeries(context.Context, *request.NodeRunsDailyStatusTimeSeries) (*response.NodeRunsDailyStatusTimeSeries, error)
	// CreateRollout
	//
	// Creates a Rollout record. A rollout represents the process of nodes acquiring
	// the latest policy revision pushed to a policy group.
	//
	// Authorization Action:
	// ```
	// ```
	//
	//ingest:unifiedEvents:create
	CreateRollout(context.Context, *request.CreateRollout) (*response.Rollout, error)
	// CreateRolloutTest
	//
	// CreateRolloutTest is a no-op endpoint that has the same auth requirements as
	// CreateRollout. It can be used to verify end-to-end config/connectivity for
	// clients
	//
	// Authorization Action:
	// ```
	// ```
	//
	//ingest:unifiedEvents:create
	CreateRolloutTest(context.Context, *request.CreateRolloutTest) (*response.CreateRolloutTest, error)
	// GetRollouts
	//
	// # Gives a list of rollouts
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRollouts(context.Context, *request.Rollouts) (*response.Rollouts, error)
	// GetRolloutById
	//
	// # Returns the rollout with the given Id
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRolloutById(context.Context, *request.RolloutById) (*response.Rollout, error)
	// GetRolloutForChefRun
	//
	// Returns the rollout for the given Chef Server/org, policy group, policy name, and policy revision
	//
	// Authorization Action:
	// ```
	// ```
	//
	//infra:nodes:list
	GetRolloutForChefRun(context.Context, *request.RolloutForChefRun) (*response.Rollout, error)
	ListNodeSegmentsWithRolloutProgress(context.Context, *request.ListNodeSegmentsWithRolloutProgress) (*response.NodeSegmentsWithRolloutProgress, error)
	// UpdateTelemetryReported
	// Acknowledge API  to updates the last client run telemetry reported date in postgres
	// Authorization Action:
	// ```
	// ```
	//
	//iam:introspect:getAll
	UpdateTelemetryReported(context.Context, *request.UpdateTelemetryReportedRequest) (*response.UpdateTelemetryReportedResponse, error)
	// GetNodesUsageCount
	//
	// Returns the count of unique nodes with lastRun in a given time.
	// The time duration can be between the last time Telemetry data sent and the day before the current date.
	// If the duration < 15 days --> 15 days
	// duration > 15 days --> duration
	// Authorization Action:
	// ```
	// ```
	//
	//iam:introspect:getAll
	GetNodesUsageCount(context.Context, *request.GetNodesUsageCountRequest) (*response.GetNodesUsageCountResponse, error)
}

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

func (*UnimplementedConfigMgmtServer) GetNodes(context.Context, *request.Nodes) (*structpb.ListValue, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNodes not implemented")
}
func (*UnimplementedConfigMgmtServer) GetRuns(context.Context, *request.Runs) (*structpb.ListValue, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRuns not implemented")
}
func (*UnimplementedConfigMgmtServer) GetNodesCounts(context.Context, *request.NodesCounts) (*response.NodesCounts, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNodesCounts not implemented")
}
func (*UnimplementedConfigMgmtServer) GetRunsCounts(context.Context, *request.RunsCounts) (*response.RunsCounts, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRunsCounts not implemented")
}
func (*UnimplementedConfigMgmtServer) GetCheckInCountsTimeSeries(context.Context, *request.CheckInCountsTimeSeries) (*response.CheckInCountsTimeSeries, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCheckInCountsTimeSeries not implemented")
}
func (*UnimplementedConfigMgmtServer) GetMissingNodeDurationCounts(context.Context, *request.MissingNodeDurationCounts) (*response.MissingNodeDurationCounts, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMissingNodeDurationCounts not implemented")
}
func (*UnimplementedConfigMgmtServer) GetNodeRun(context.Context, *request.NodeRun) (*response.Run, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNodeRun not implemented")
}
func (*UnimplementedConfigMgmtServer) GetSuggestions(context.Context, *query.Suggestion) (*structpb.ListValue, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSuggestions not implemented")
}
func (*UnimplementedConfigMgmtServer) GetOrganizations(context.Context, *request.Organizations) (*structpb.ListValue, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetOrganizations not implemented")
}
func (*UnimplementedConfigMgmtServer) GetSourceFqdns(context.Context, *request.SourceFqdns) (*structpb.ListValue, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSourceFqdns not implemented")
}
func (*UnimplementedConfigMgmtServer) GetAttributes(context.Context, *request.Node) (*response.NodeAttribute, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAttributes not implemented")
}
func (*UnimplementedConfigMgmtServer) GetVersion(context.Context, *version.VersionInfoRequest) (*version.VersionInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
}
func (*UnimplementedConfigMgmtServer) GetPolicyCookbooks(context.Context, *request.PolicyRevision) (*response.PolicyCookbooks, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPolicyCookbooks not implemented")
}
func (*UnimplementedConfigMgmtServer) GetErrors(context.Context, *request.Errors) (*response.Errors, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetErrors not implemented")
}
func (*UnimplementedConfigMgmtServer) NodeExport(*request.NodeExport, ConfigMgmt_NodeExportServer) error {
	return status.Errorf(codes.Unimplemented, "method NodeExport not implemented")
}
func (*UnimplementedConfigMgmtServer) ReportExport(*request.ReportExport, ConfigMgmt_ReportExportServer) error {
	return status.Errorf(codes.Unimplemented, "method ReportExport not implemented")
}
func (*UnimplementedConfigMgmtServer) GetNodeMetadataCounts(context.Context, *request.NodeMetadataCounts) (*response.NodeMetadataCounts, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNodeMetadataCounts not implemented")
}
func (*UnimplementedConfigMgmtServer) GetNodeRunsDailyStatusTimeSeries(context.Context, *request.NodeRunsDailyStatusTimeSeries) (*response.NodeRunsDailyStatusTimeSeries, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNodeRunsDailyStatusTimeSeries not implemented")
}
func (*UnimplementedConfigMgmtServer) CreateRollout(context.Context, *request.CreateRollout) (*response.Rollout, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateRollout not implemented")
}
func (*UnimplementedConfigMgmtServer) CreateRolloutTest(context.Context, *request.CreateRolloutTest) (*response.CreateRolloutTest, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateRolloutTest not implemented")
}
func (*UnimplementedConfigMgmtServer) GetRollouts(context.Context, *request.Rollouts) (*response.Rollouts, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRollouts not implemented")
}
func (*UnimplementedConfigMgmtServer) GetRolloutById(context.Context, *request.RolloutById) (*response.Rollout, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRolloutById not implemented")
}
func (*UnimplementedConfigMgmtServer) GetRolloutForChefRun(context.Context, *request.RolloutForChefRun) (*response.Rollout, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRolloutForChefRun not implemented")
}
func (*UnimplementedConfigMgmtServer) ListNodeSegmentsWithRolloutProgress(context.Context, *request.ListNodeSegmentsWithRolloutProgress) (*response.NodeSegmentsWithRolloutProgress, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListNodeSegmentsWithRolloutProgress not implemented")
}
func (*UnimplementedConfigMgmtServer) UpdateTelemetryReported(context.Context, *request.UpdateTelemetryReportedRequest) (*response.UpdateTelemetryReportedResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTelemetryReported not implemented")
}
func (*UnimplementedConfigMgmtServer) GetNodesUsageCount(context.Context, *request.GetNodesUsageCountRequest) (*response.GetNodesUsageCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNodesUsageCount not implemented")
}

func RegisterConfigMgmtServer(s *grpc.Server, srv ConfigMgmtServer) {
	s.RegisterService(&_ConfigMgmt_serviceDesc, srv)
}

func _ConfigMgmt_GetNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.Nodes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetNodes(ctx, req.(*request.Nodes))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.Runs)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetRuns(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRuns",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetRuns(ctx, req.(*request.Runs))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetNodesCounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.NodesCounts)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetNodesCounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodesCounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetNodesCounts(ctx, req.(*request.NodesCounts))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetRunsCounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.RunsCounts)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetRunsCounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRunsCounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetRunsCounts(ctx, req.(*request.RunsCounts))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetCheckInCountsTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.CheckInCountsTimeSeries)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetCheckInCountsTimeSeries(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetCheckInCountsTimeSeries",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetCheckInCountsTimeSeries(ctx, req.(*request.CheckInCountsTimeSeries))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetMissingNodeDurationCounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.MissingNodeDurationCounts)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetMissingNodeDurationCounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetMissingNodeDurationCounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetMissingNodeDurationCounts(ctx, req.(*request.MissingNodeDurationCounts))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetNodeRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.NodeRun)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetNodeRun(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodeRun",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetNodeRun(ctx, req.(*request.NodeRun))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetSuggestions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(query.Suggestion)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetSuggestions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetSuggestions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetSuggestions(ctx, req.(*query.Suggestion))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetOrganizations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.Organizations)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetOrganizations(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetOrganizations",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetOrganizations(ctx, req.(*request.Organizations))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetSourceFqdns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.SourceFqdns)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetSourceFqdns(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetSourceFqdns",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetSourceFqdns(ctx, req.(*request.SourceFqdns))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.Node)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetAttributes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetAttributes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetAttributes(ctx, req.(*request.Node))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_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.(ConfigMgmtServer).GetVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetVersion(ctx, req.(*version.VersionInfoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetPolicyCookbooks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.PolicyRevision)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetPolicyCookbooks(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetPolicyCookbooks",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetPolicyCookbooks(ctx, req.(*request.PolicyRevision))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetErrors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.Errors)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetErrors(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetErrors",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetErrors(ctx, req.(*request.Errors))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_NodeExport_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(request.NodeExport)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ConfigMgmtServer).NodeExport(m, &configMgmtNodeExportServer{stream})
}

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

type configMgmtNodeExportServer struct {
	grpc.ServerStream
}

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

func _ConfigMgmt_ReportExport_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(request.ReportExport)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ConfigMgmtServer).ReportExport(m, &configMgmtReportExportServer{stream})
}

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

type configMgmtReportExportServer struct {
	grpc.ServerStream
}

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

func _ConfigMgmt_GetNodeMetadataCounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.NodeMetadataCounts)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetNodeMetadataCounts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodeMetadataCounts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetNodeMetadataCounts(ctx, req.(*request.NodeMetadataCounts))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetNodeRunsDailyStatusTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.NodeRunsDailyStatusTimeSeries)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetNodeRunsDailyStatusTimeSeries(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodeRunsDailyStatusTimeSeries",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetNodeRunsDailyStatusTimeSeries(ctx, req.(*request.NodeRunsDailyStatusTimeSeries))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_CreateRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.CreateRollout)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).CreateRollout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/CreateRollout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).CreateRollout(ctx, req.(*request.CreateRollout))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_CreateRolloutTest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.CreateRolloutTest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).CreateRolloutTest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/CreateRolloutTest",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).CreateRolloutTest(ctx, req.(*request.CreateRolloutTest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetRollouts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.Rollouts)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetRollouts(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRollouts",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetRollouts(ctx, req.(*request.Rollouts))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetRolloutById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.RolloutById)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetRolloutById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRolloutById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetRolloutById(ctx, req.(*request.RolloutById))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_GetRolloutForChefRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.RolloutForChefRun)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetRolloutForChefRun(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetRolloutForChefRun",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetRolloutForChefRun(ctx, req.(*request.RolloutForChefRun))
	}
	return interceptor(ctx, in, info, handler)
}

func _ConfigMgmt_ListNodeSegmentsWithRolloutProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.ListNodeSegmentsWithRolloutProgress)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).ListNodeSegmentsWithRolloutProgress(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/ListNodeSegmentsWithRolloutProgress",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).ListNodeSegmentsWithRolloutProgress(ctx, req.(*request.ListNodeSegmentsWithRolloutProgress))
	}
	return interceptor(ctx, in, info, handler)
}

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

func _ConfigMgmt_GetNodesUsageCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(request.GetNodesUsageCountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConfigMgmtServer).GetNodesUsageCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.cfgmgmt.ConfigMgmt/GetNodesUsageCount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConfigMgmtServer).GetNodesUsageCount(ctx, req.(*request.GetNodesUsageCountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _ConfigMgmt_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.api.cfgmgmt.ConfigMgmt",
	HandlerType: (*ConfigMgmtServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetNodes",
			Handler:    _ConfigMgmt_GetNodes_Handler,
		},
		{
			MethodName: "GetRuns",
			Handler:    _ConfigMgmt_GetRuns_Handler,
		},
		{
			MethodName: "GetNodesCounts",
			Handler:    _ConfigMgmt_GetNodesCounts_Handler,
		},
		{
			MethodName: "GetRunsCounts",
			Handler:    _ConfigMgmt_GetRunsCounts_Handler,
		},
		{
			MethodName: "GetCheckInCountsTimeSeries",
			Handler:    _ConfigMgmt_GetCheckInCountsTimeSeries_Handler,
		},
		{
			MethodName: "GetMissingNodeDurationCounts",
			Handler:    _ConfigMgmt_GetMissingNodeDurationCounts_Handler,
		},
		{
			MethodName: "GetNodeRun",
			Handler:    _ConfigMgmt_GetNodeRun_Handler,
		},
		{
			MethodName: "GetSuggestions",
			Handler:    _ConfigMgmt_GetSuggestions_Handler,
		},
		{
			MethodName: "GetOrganizations",
			Handler:    _ConfigMgmt_GetOrganizations_Handler,
		},
		{
			MethodName: "GetSourceFqdns",
			Handler:    _ConfigMgmt_GetSourceFqdns_Handler,
		},
		{
			MethodName: "GetAttributes",
			Handler:    _ConfigMgmt_GetAttributes_Handler,
		},
		{
			MethodName: "GetVersion",
			Handler:    _ConfigMgmt_GetVersion_Handler,
		},
		{
			MethodName: "GetPolicyCookbooks",
			Handler:    _ConfigMgmt_GetPolicyCookbooks_Handler,
		},
		{
			MethodName: "GetErrors",
			Handler:    _ConfigMgmt_GetErrors_Handler,
		},
		{
			MethodName: "GetNodeMetadataCounts",
			Handler:    _ConfigMgmt_GetNodeMetadataCounts_Handler,
		},
		{
			MethodName: "GetNodeRunsDailyStatusTimeSeries",
			Handler:    _ConfigMgmt_GetNodeRunsDailyStatusTimeSeries_Handler,
		},
		{
			MethodName: "CreateRollout",
			Handler:    _ConfigMgmt_CreateRollout_Handler,
		},
		{
			MethodName: "CreateRolloutTest",
			Handler:    _ConfigMgmt_CreateRolloutTest_Handler,
		},
		{
			MethodName: "GetRollouts",
			Handler:    _ConfigMgmt_GetRollouts_Handler,
		},
		{
			MethodName: "GetRolloutById",
			Handler:    _ConfigMgmt_GetRolloutById_Handler,
		},
		{
			MethodName: "GetRolloutForChefRun",
			Handler:    _ConfigMgmt_GetRolloutForChefRun_Handler,
		},
		{
			MethodName: "ListNodeSegmentsWithRolloutProgress",
			Handler:    _ConfigMgmt_ListNodeSegmentsWithRolloutProgress_Handler,
		},
		{
			MethodName: "UpdateTelemetryReported",
			Handler:    _ConfigMgmt_UpdateTelemetryReported_Handler,
		},
		{
			MethodName: "GetNodesUsageCount",
			Handler:    _ConfigMgmt_GetNodesUsageCount_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "NodeExport",
			Handler:       _ConfigMgmt_NodeExport_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ReportExport",
			Handler:       _ConfigMgmt_ReportExport_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "external/cfgmgmt/cfgmgmt.proto",
}
