package nodes 

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import common "github.com/chef/automate/components/compliance-service/api/common"
import empty "github.com/golang/protobuf/ptypes/empty"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion2 

type Query_OrderType int32

const (
	Query_ASC  Query_OrderType = 0
	Query_DESC Query_OrderType = 1
)

var Query_OrderType_name = map[int32]string{
	0: "ASC",
	1: "DESC",
}
var Query_OrderType_value = map[string]int32{
	"ASC":  0,
	"DESC": 1,
}

func (x Query_OrderType) String() string {
	return proto.EnumName(Query_OrderType_name, int32(x))
}
func (Query_OrderType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{5, 0}
}

type LastContactData_Status int32

const (
	LastContactData_UNKNOWN LastContactData_Status = 0
	LastContactData_PASSED  LastContactData_Status = 1
	LastContactData_FAILED  LastContactData_Status = 2
	LastContactData_SKIPPED LastContactData_Status = 3
)

var LastContactData_Status_name = map[int32]string{
	0: "UNKNOWN",
	1: "PASSED",
	2: "FAILED",
	3: "SKIPPED",
}
var LastContactData_Status_value = map[string]int32{
	"UNKNOWN": 0,
	"PASSED":  1,
	"FAILED":  2,
	"SKIPPED": 3,
}

func (x LastContactData_Status) String() string {
	return proto.EnumName(LastContactData_Status_name, int32(x))
}
func (LastContactData_Status) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{10, 0}
}

type NodeError struct {
	NodeId               string   `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	ConnectionError      string   `protobuf:"bytes,2,opt,name=connection_error,json=connectionError,proto3" json:"connection_error,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NodeError) Reset()         { *m = NodeError{} }
func (m *NodeError) String() string { return proto.CompactTextString(m) }
func (*NodeError) ProtoMessage()    {}
func (*NodeError) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{0}
}
func (m *NodeError) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeError.Unmarshal(m, b)
}
func (m *NodeError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeError.Marshal(b, m, deterministic)
}
func (dst *NodeError) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeError.Merge(dst, src)
}
func (m *NodeError) XXX_Size() int {
	return xxx_messageInfo_NodeError.Size(m)
}
func (m *NodeError) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeError.DiscardUnknown(m)
}

var xxx_messageInfo_NodeError proto.InternalMessageInfo

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

func (m *NodeError) GetConnectionError() string {
	if m != nil {
		return m.ConnectionError
	}
	return ""
}

type NodeDetectJobInfo struct {
	NodeId               string               `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	PlatformName         string               `protobuf:"bytes,2,opt,name=platform_name,json=platformName,proto3" json:"platform_name,omitempty"`
	PlatformRelease      string               `protobuf:"bytes,3,opt,name=platform_release,json=platformRelease,proto3" json:"platform_release,omitempty"`
	NodeStatus           string               `protobuf:"bytes,4,opt,name=node_status,json=nodeStatus,proto3" json:"node_status,omitempty"`
	JobEndTime           *timestamp.Timestamp `protobuf:"bytes,5,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty"`
	JobId                string               `protobuf:"bytes,6,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	NodeState            string               `protobuf:"bytes,7,opt,name=node_state,json=nodeState,proto3" json:"node_state,omitempty"`
	JobType              string               `protobuf:"bytes,8,opt,name=job_type,json=jobType,proto3" json:"job_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *NodeDetectJobInfo) Reset()         { *m = NodeDetectJobInfo{} }
func (m *NodeDetectJobInfo) String() string { return proto.CompactTextString(m) }
func (*NodeDetectJobInfo) ProtoMessage()    {}
func (*NodeDetectJobInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{1}
}
func (m *NodeDetectJobInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeDetectJobInfo.Unmarshal(m, b)
}
func (m *NodeDetectJobInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeDetectJobInfo.Marshal(b, m, deterministic)
}
func (dst *NodeDetectJobInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeDetectJobInfo.Merge(dst, src)
}
func (m *NodeDetectJobInfo) XXX_Size() int {
	return xxx_messageInfo_NodeDetectJobInfo.Size(m)
}
func (m *NodeDetectJobInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeDetectJobInfo.DiscardUnknown(m)
}

var xxx_messageInfo_NodeDetectJobInfo proto.InternalMessageInfo

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

func (m *NodeDetectJobInfo) GetPlatformName() string {
	if m != nil {
		return m.PlatformName
	}
	return ""
}

func (m *NodeDetectJobInfo) GetPlatformRelease() string {
	if m != nil {
		return m.PlatformRelease
	}
	return ""
}

func (m *NodeDetectJobInfo) GetNodeStatus() string {
	if m != nil {
		return m.NodeStatus
	}
	return ""
}

func (m *NodeDetectJobInfo) GetJobEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.JobEndTime
	}
	return nil
}

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

func (m *NodeDetectJobInfo) GetNodeState() string {
	if m != nil {
		return m.NodeState
	}
	return ""
}

func (m *NodeDetectJobInfo) GetJobType() string {
	if m != nil {
		return m.JobType
	}
	return ""
}

type RerunResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RerunResponse) Reset()         { *m = RerunResponse{} }
func (m *RerunResponse) String() string { return proto.CompactTextString(m) }
func (*RerunResponse) ProtoMessage()    {}
func (*RerunResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{2}
}
func (m *RerunResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RerunResponse.Unmarshal(m, b)
}
func (m *RerunResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RerunResponse.Marshal(b, m, deterministic)
}
func (dst *RerunResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RerunResponse.Merge(dst, src)
}
func (m *RerunResponse) XXX_Size() int {
	return xxx_messageInfo_RerunResponse.Size(m)
}
func (m *RerunResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_RerunResponse.DiscardUnknown(m)
}

var xxx_messageInfo_RerunResponse proto.InternalMessageInfo

type Ids struct {
	Ids                  []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Ids) Reset()         { *m = Ids{} }
func (m *Ids) String() string { return proto.CompactTextString(m) }
func (*Ids) ProtoMessage()    {}
func (*Ids) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{3}
}
func (m *Ids) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ids.Unmarshal(m, b)
}
func (m *Ids) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ids.Marshal(b, m, deterministic)
}
func (dst *Ids) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ids.Merge(dst, src)
}
func (m *Ids) XXX_Size() int {
	return xxx_messageInfo_Ids.Size(m)
}
func (m *Ids) XXX_DiscardUnknown() {
	xxx_messageInfo_Ids.DiscardUnknown(m)
}

var xxx_messageInfo_Ids proto.InternalMessageInfo

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

type Id struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Id) Reset()         { *m = Id{} }
func (m *Id) String() string { return proto.CompactTextString(m) }
func (*Id) ProtoMessage()    {}
func (*Id) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{4}
}
func (m *Id) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Id.Unmarshal(m, b)
}
func (m *Id) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Id.Marshal(b, m, deterministic)
}
func (dst *Id) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Id.Merge(dst, src)
}
func (m *Id) XXX_Size() int {
	return xxx_messageInfo_Id.Size(m)
}
func (m *Id) XXX_DiscardUnknown() {
	xxx_messageInfo_Id.DiscardUnknown(m)
}

var xxx_messageInfo_Id proto.InternalMessageInfo

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

type Query struct {
	Filters              []*common.Filter `protobuf:"bytes,20,rep,name=filters,proto3" json:"filters,omitempty"`
	Order                Query_OrderType  `protobuf:"varint,21,opt,name=order,proto3,enum=chef.automate.domain.nodemanager.api.nodes.Query_OrderType" json:"order,omitempty"`
	Sort                 string           `protobuf:"bytes,22,opt,name=sort,proto3" json:"sort,omitempty"`
	Page                 int32            `protobuf:"varint,23,opt,name=page,proto3" json:"page,omitempty"`
	PerPage              int32            `protobuf:"varint,24,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *Query) Reset()         { *m = Query{} }
func (m *Query) String() string { return proto.CompactTextString(m) }
func (*Query) ProtoMessage()    {}
func (*Query) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{5}
}
func (m *Query) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Query.Unmarshal(m, b)
}
func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Query.Marshal(b, m, deterministic)
}
func (dst *Query) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Query.Merge(dst, src)
}
func (m *Query) XXX_Size() int {
	return xxx_messageInfo_Query.Size(m)
}
func (m *Query) XXX_DiscardUnknown() {
	xxx_messageInfo_Query.DiscardUnknown(m)
}

var xxx_messageInfo_Query proto.InternalMessageInfo

func (m *Query) GetFilters() []*common.Filter {
	if m != nil {
		return m.Filters
	}
	return nil
}

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

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

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

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

type TargetConfig struct {
	Secrets              []string       `protobuf:"bytes,20,rep,name=secrets,proto3" json:"secrets,omitempty"`
	Format               string         `protobuf:"bytes,21,opt,name=format,proto3" json:"format,omitempty"`
	Backend              string         `protobuf:"bytes,22,opt,name=backend,proto3" json:"backend,omitempty"`
	Host                 string         `protobuf:"bytes,23,opt,name=host,proto3" json:"host,omitempty"`
	Port                 int32          `protobuf:"varint,24,opt,name=port,proto3" json:"port,omitempty"`
	Path                 string         `protobuf:"bytes,25,opt,name=path,proto3" json:"path,omitempty"`
	Sudo                 bool           `protobuf:"varint,26,opt,name=sudo,proto3" json:"sudo,omitempty"`
	Ssl                  bool           `protobuf:"varint,27,opt,name=ssl,proto3" json:"ssl,omitempty"`
	SelfSigned           bool           `protobuf:"varint,28,opt,name=self_signed,json=selfSigned,proto3" json:"self_signed,omitempty"`
	User                 string         `protobuf:"bytes,29,opt,name=user,proto3" json:"user,omitempty"`
	Password             string         `protobuf:"bytes,30,opt,name=password,proto3" json:"password,omitempty"`
	KeyFiles             []string       `protobuf:"bytes,31,rep,name=key_files,json=keyFiles,proto3" json:"key_files,omitempty"`
	SudoPassword         string         `protobuf:"bytes,32,opt,name=sudo_password,json=sudoPassword,proto3" json:"sudo_password,omitempty"`
	SudoOptions          string         `protobuf:"bytes,33,opt,name=sudo_options,json=sudoOptions,proto3" json:"sudo_options,omitempty"`
	Region               string         `protobuf:"bytes,34,opt,name=region,proto3" json:"region,omitempty"`
	SubscriptionId       string         `protobuf:"bytes,35,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
	AwsUser              string         `protobuf:"bytes,36,opt,name=aws_user,json=awsUser,proto3" json:"aws_user,omitempty"`
	AwsPassword          string         `protobuf:"bytes,37,opt,name=aws_password,json=awsPassword,proto3" json:"aws_password,omitempty"`
	SecretsArr           []*NodeSecrets `protobuf:"bytes,38,rep,name=secrets_arr,json=secretsArr,proto3" json:"secrets_arr,omitempty"`
	GcpCredsJson         string         `protobuf:"bytes,39,opt,name=gcp_creds_json,json=gcpCredsJson,proto3" json:"gcp_creds_json,omitempty"`
	Hosts                []string       `protobuf:"bytes,40,rep,name=hosts,proto3" json:"hosts,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *TargetConfig) Reset()         { *m = TargetConfig{} }
func (m *TargetConfig) String() string { return proto.CompactTextString(m) }
func (*TargetConfig) ProtoMessage()    {}
func (*TargetConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{6}
}
func (m *TargetConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TargetConfig.Unmarshal(m, b)
}
func (m *TargetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TargetConfig.Marshal(b, m, deterministic)
}
func (dst *TargetConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TargetConfig.Merge(dst, src)
}
func (m *TargetConfig) XXX_Size() int {
	return xxx_messageInfo_TargetConfig.Size(m)
}
func (m *TargetConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_TargetConfig.DiscardUnknown(m)
}

var xxx_messageInfo_TargetConfig proto.InternalMessageInfo

func (m *TargetConfig) GetSecrets() []string {
	if m != nil {
		return m.Secrets
	}
	return nil
}

func (m *TargetConfig) GetFormat() string {
	if m != nil {
		return m.Format
	}
	return ""
}

func (m *TargetConfig) GetBackend() string {
	if m != nil {
		return m.Backend
	}
	return ""
}

func (m *TargetConfig) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

func (m *TargetConfig) GetPort() int32 {
	if m != nil {
		return m.Port
	}
	return 0
}

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

func (m *TargetConfig) GetSudo() bool {
	if m != nil {
		return m.Sudo
	}
	return false
}

func (m *TargetConfig) GetSsl() bool {
	if m != nil {
		return m.Ssl
	}
	return false
}

func (m *TargetConfig) GetSelfSigned() bool {
	if m != nil {
		return m.SelfSigned
	}
	return false
}

func (m *TargetConfig) GetUser() string {
	if m != nil {
		return m.User
	}
	return ""
}

func (m *TargetConfig) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *TargetConfig) GetKeyFiles() []string {
	if m != nil {
		return m.KeyFiles
	}
	return nil
}

func (m *TargetConfig) GetSudoPassword() string {
	if m != nil {
		return m.SudoPassword
	}
	return ""
}

func (m *TargetConfig) GetSudoOptions() string {
	if m != nil {
		return m.SudoOptions
	}
	return ""
}

func (m *TargetConfig) GetRegion() string {
	if m != nil {
		return m.Region
	}
	return ""
}

func (m *TargetConfig) GetSubscriptionId() string {
	if m != nil {
		return m.SubscriptionId
	}
	return ""
}

func (m *TargetConfig) GetAwsUser() string {
	if m != nil {
		return m.AwsUser
	}
	return ""
}

func (m *TargetConfig) GetAwsPassword() string {
	if m != nil {
		return m.AwsPassword
	}
	return ""
}

func (m *TargetConfig) GetSecretsArr() []*NodeSecrets {
	if m != nil {
		return m.SecretsArr
	}
	return nil
}

func (m *TargetConfig) GetGcpCredsJson() string {
	if m != nil {
		return m.GcpCredsJson
	}
	return ""
}

func (m *TargetConfig) GetHosts() []string {
	if m != nil {
		return m.Hosts
	}
	return nil
}

type NodeSecrets struct {
	User                 string   `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	Password             string   `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	KeyFiles             []string `protobuf:"bytes,3,rep,name=key_files,json=keyFiles,proto3" json:"key_files,omitempty"`
	SudoPassword         string   `protobuf:"bytes,4,opt,name=sudo_password,json=sudoPassword,proto3" json:"sudo_password,omitempty"`
	SudoOptions          string   `protobuf:"bytes,5,opt,name=sudo_options,json=sudoOptions,proto3" json:"sudo_options,omitempty"`
	AwsUser              string   `protobuf:"bytes,6,opt,name=aws_user,json=awsUser,proto3" json:"aws_user,omitempty"`
	AwsPassword          string   `protobuf:"bytes,7,opt,name=aws_password,json=awsPassword,proto3" json:"aws_password,omitempty"`
	AzureClientId        string   `protobuf:"bytes,8,opt,name=azure_client_id,json=azureClientId,proto3" json:"azure_client_id,omitempty"`
	AzureClientSecret    string   `protobuf:"bytes,9,opt,name=azure_client_secret,json=azureClientSecret,proto3" json:"azure_client_secret,omitempty"`
	AzureTenantId        string   `protobuf:"bytes,10,opt,name=azure_tenant_id,json=azureTenantId,proto3" json:"azure_tenant_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NodeSecrets) Reset()         { *m = NodeSecrets{} }
func (m *NodeSecrets) String() string { return proto.CompactTextString(m) }
func (*NodeSecrets) ProtoMessage()    {}
func (*NodeSecrets) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{7}
}
func (m *NodeSecrets) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeSecrets.Unmarshal(m, b)
}
func (m *NodeSecrets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeSecrets.Marshal(b, m, deterministic)
}
func (dst *NodeSecrets) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeSecrets.Merge(dst, src)
}
func (m *NodeSecrets) XXX_Size() int {
	return xxx_messageInfo_NodeSecrets.Size(m)
}
func (m *NodeSecrets) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeSecrets.DiscardUnknown(m)
}

var xxx_messageInfo_NodeSecrets proto.InternalMessageInfo

func (m *NodeSecrets) GetUser() string {
	if m != nil {
		return m.User
	}
	return ""
}

func (m *NodeSecrets) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *NodeSecrets) GetKeyFiles() []string {
	if m != nil {
		return m.KeyFiles
	}
	return nil
}

func (m *NodeSecrets) GetSudoPassword() string {
	if m != nil {
		return m.SudoPassword
	}
	return ""
}

func (m *NodeSecrets) GetSudoOptions() string {
	if m != nil {
		return m.SudoOptions
	}
	return ""
}

func (m *NodeSecrets) GetAwsUser() string {
	if m != nil {
		return m.AwsUser
	}
	return ""
}

func (m *NodeSecrets) GetAwsPassword() string {
	if m != nil {
		return m.AwsPassword
	}
	return ""
}

func (m *NodeSecrets) GetAzureClientId() string {
	if m != nil {
		return m.AzureClientId
	}
	return ""
}

func (m *NodeSecrets) GetAzureClientSecret() string {
	if m != nil {
		return m.AzureClientSecret
	}
	return ""
}

func (m *NodeSecrets) GetAzureTenantId() string {
	if m != nil {
		return m.AzureTenantId
	}
	return ""
}

type Node struct {
	Id                   string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                 string               `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Platform             string               `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	PlatformVersion      string               `protobuf:"bytes,4,opt,name=platform_version,json=platformVersion,proto3" json:"platform_version,omitempty"`
	Manager              string               `protobuf:"bytes,5,opt,name=manager,proto3" json:"manager,omitempty"`
	Tags                 []*common.Kv         `protobuf:"bytes,20,rep,name=tags,proto3" json:"tags,omitempty"`
	LastContact          *timestamp.Timestamp `protobuf:"bytes,21,opt,name=last_contact,json=lastContact,proto3" json:"last_contact,omitempty"`
	Status               string               `protobuf:"bytes,22,opt,name=status,proto3" json:"status,omitempty"`
	LastJob              *ResultsRow          `protobuf:"bytes,23,opt,name=last_job,json=lastJob,proto3" json:"last_job,omitempty"`
	TargetConfig         *TargetConfig        `protobuf:"bytes,99,opt,name=target_config,json=targetConfig,proto3" json:"target_config,omitempty"`
	ManagerIds           []string             `protobuf:"bytes,24,rep,name=manager_ids,json=managerIds,proto3" json:"manager_ids,omitempty"`
	ConnectionError      string               `protobuf:"bytes,25,opt,name=connection_error,json=connectionError,proto3" json:"connection_error,omitempty"`
	State                string               `protobuf:"bytes,26,opt,name=state,proto3" json:"state,omitempty"`
	NamePrefix           string               `protobuf:"bytes,27,opt,name=name_prefix,json=namePrefix,proto3" json:"name_prefix,omitempty"`
	Projects             []string             `protobuf:"bytes,28,rep,name=projects,proto3" json:"projects,omitempty"`
	RunData              *LastContactData     `protobuf:"bytes,29,opt,name=run_data,json=runData,proto3" json:"run_data,omitempty"`
	ScanData             *LastContactData     `protobuf:"bytes,30,opt,name=scan_data,json=scanData,proto3" json:"scan_data,omitempty"`
	ProjectsData         []*ProjectsData      `protobuf:"bytes,31,rep,name=projects_data,json=projectsData,proto3" json:"projects_data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Node) Reset()         { *m = Node{} }
func (m *Node) String() string { return proto.CompactTextString(m) }
func (*Node) ProtoMessage()    {}
func (*Node) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{8}
}
func (m *Node) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Node.Unmarshal(m, b)
}
func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Node.Marshal(b, m, deterministic)
}
func (dst *Node) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Node.Merge(dst, src)
}
func (m *Node) XXX_Size() int {
	return xxx_messageInfo_Node.Size(m)
}
func (m *Node) XXX_DiscardUnknown() {
	xxx_messageInfo_Node.DiscardUnknown(m)
}

var xxx_messageInfo_Node proto.InternalMessageInfo

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

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

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

func (m *Node) GetPlatformVersion() string {
	if m != nil {
		return m.PlatformVersion
	}
	return ""
}

func (m *Node) GetManager() string {
	if m != nil {
		return m.Manager
	}
	return ""
}

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

func (m *Node) GetLastContact() *timestamp.Timestamp {
	if m != nil {
		return m.LastContact
	}
	return nil
}

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

func (m *Node) GetLastJob() *ResultsRow {
	if m != nil {
		return m.LastJob
	}
	return nil
}

func (m *Node) GetTargetConfig() *TargetConfig {
	if m != nil {
		return m.TargetConfig
	}
	return nil
}

func (m *Node) GetManagerIds() []string {
	if m != nil {
		return m.ManagerIds
	}
	return nil
}

func (m *Node) GetConnectionError() string {
	if m != nil {
		return m.ConnectionError
	}
	return ""
}

func (m *Node) GetState() string {
	if m != nil {
		return m.State
	}
	return ""
}

func (m *Node) GetNamePrefix() string {
	if m != nil {
		return m.NamePrefix
	}
	return ""
}

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

func (m *Node) GetRunData() *LastContactData {
	if m != nil {
		return m.RunData
	}
	return nil
}

func (m *Node) GetScanData() *LastContactData {
	if m != nil {
		return m.ScanData
	}
	return nil
}

func (m *Node) GetProjectsData() []*ProjectsData {
	if m != nil {
		return m.ProjectsData
	}
	return nil
}

type ProjectsData struct {
	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Values               []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ProjectsData) Reset()         { *m = ProjectsData{} }
func (m *ProjectsData) String() string { return proto.CompactTextString(m) }
func (*ProjectsData) ProtoMessage()    {}
func (*ProjectsData) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{9}
}
func (m *ProjectsData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProjectsData.Unmarshal(m, b)
}
func (m *ProjectsData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProjectsData.Marshal(b, m, deterministic)
}
func (dst *ProjectsData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProjectsData.Merge(dst, src)
}
func (m *ProjectsData) XXX_Size() int {
	return xxx_messageInfo_ProjectsData.Size(m)
}
func (m *ProjectsData) XXX_DiscardUnknown() {
	xxx_messageInfo_ProjectsData.DiscardUnknown(m)
}

var xxx_messageInfo_ProjectsData proto.InternalMessageInfo

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

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

type LastContactData struct {
	Id                   string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Status               LastContactData_Status `protobuf:"varint,2,opt,name=status,proto3,enum=chef.automate.domain.nodemanager.api.nodes.LastContactData_Status" json:"status,omitempty"`
	PenultimateStatus    LastContactData_Status `protobuf:"varint,3,opt,name=penultimate_status,json=penultimateStatus,proto3,enum=chef.automate.domain.nodemanager.api.nodes.LastContactData_Status" json:"penultimate_status,omitempty"`
	EndTime              *timestamp.Timestamp   `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *LastContactData) Reset()         { *m = LastContactData{} }
func (m *LastContactData) String() string { return proto.CompactTextString(m) }
func (*LastContactData) ProtoMessage()    {}
func (*LastContactData) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{10}
}
func (m *LastContactData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LastContactData.Unmarshal(m, b)
}
func (m *LastContactData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LastContactData.Marshal(b, m, deterministic)
}
func (dst *LastContactData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LastContactData.Merge(dst, src)
}
func (m *LastContactData) XXX_Size() int {
	return xxx_messageInfo_LastContactData.Size(m)
}
func (m *LastContactData) XXX_DiscardUnknown() {
	xxx_messageInfo_LastContactData.DiscardUnknown(m)
}

var xxx_messageInfo_LastContactData proto.InternalMessageInfo

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

func (m *LastContactData) GetStatus() LastContactData_Status {
	if m != nil {
		return m.Status
	}
	return LastContactData_UNKNOWN
}

func (m *LastContactData) GetPenultimateStatus() LastContactData_Status {
	if m != nil {
		return m.PenultimateStatus
	}
	return LastContactData_UNKNOWN
}

func (m *LastContactData) GetEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.EndTime
	}
	return nil
}

type Nodes struct {
	Nodes                []*Node  `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Total                int32    `protobuf:"varint,20,opt,name=total,proto3" json:"total,omitempty"`
	TotalUnreachable     int32    `protobuf:"varint,21,opt,name=total_unreachable,json=totalUnreachable,proto3" json:"total_unreachable,omitempty"`
	TotalReachable       int32    `protobuf:"varint,22,opt,name=total_reachable,json=totalReachable,proto3" json:"total_reachable,omitempty"`
	TotalUnknown         int32    `protobuf:"varint,23,opt,name=total_unknown,json=totalUnknown,proto3" json:"total_unknown,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Nodes) Reset()         { *m = Nodes{} }
func (m *Nodes) String() string { return proto.CompactTextString(m) }
func (*Nodes) ProtoMessage()    {}
func (*Nodes) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{11}
}
func (m *Nodes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Nodes.Unmarshal(m, b)
}
func (m *Nodes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Nodes.Marshal(b, m, deterministic)
}
func (dst *Nodes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Nodes.Merge(dst, src)
}
func (m *Nodes) XXX_Size() int {
	return xxx_messageInfo_Nodes.Size(m)
}
func (m *Nodes) XXX_DiscardUnknown() {
	xxx_messageInfo_Nodes.DiscardUnknown(m)
}

var xxx_messageInfo_Nodes proto.InternalMessageInfo

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

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

func (m *Nodes) GetTotalUnreachable() int32 {
	if m != nil {
		return m.TotalUnreachable
	}
	return 0
}

func (m *Nodes) GetTotalReachable() int32 {
	if m != nil {
		return m.TotalReachable
	}
	return 0
}

func (m *Nodes) GetTotalUnknown() int32 {
	if m != nil {
		return m.TotalUnknown
	}
	return 0
}

type ResultsRow struct {
	NodeId               string               `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	ReportId             string               `protobuf:"bytes,2,opt,name=report_id,json=reportId,proto3" json:"report_id,omitempty"`
	Status               string               `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	Result               string               `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"`
	JobId                string               `protobuf:"bytes,5,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	StartTime            *timestamp.Timestamp `protobuf:"bytes,20,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime              *timestamp.Timestamp `protobuf:"bytes,21,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ResultsRow) Reset()         { *m = ResultsRow{} }
func (m *ResultsRow) String() string { return proto.CompactTextString(m) }
func (*ResultsRow) ProtoMessage()    {}
func (*ResultsRow) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{12}
}
func (m *ResultsRow) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResultsRow.Unmarshal(m, b)
}
func (m *ResultsRow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResultsRow.Marshal(b, m, deterministic)
}
func (dst *ResultsRow) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResultsRow.Merge(dst, src)
}
func (m *ResultsRow) XXX_Size() int {
	return xxx_messageInfo_ResultsRow.Size(m)
}
func (m *ResultsRow) XXX_DiscardUnknown() {
	xxx_messageInfo_ResultsRow.DiscardUnknown(m)
}

var xxx_messageInfo_ResultsRow proto.InternalMessageInfo

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

func (m *ResultsRow) GetReportId() string {
	if m != nil {
		return m.ReportId
	}
	return ""
}

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

func (m *ResultsRow) GetResult() string {
	if m != nil {
		return m.Result
	}
	return ""
}

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

func (m *ResultsRow) GetStartTime() *timestamp.Timestamp {
	if m != nil {
		return m.StartTime
	}
	return nil
}

func (m *ResultsRow) GetEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.EndTime
	}
	return nil
}

type BulkDeleteResponse struct {
	Names                []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BulkDeleteResponse) Reset()         { *m = BulkDeleteResponse{} }
func (m *BulkDeleteResponse) String() string { return proto.CompactTextString(m) }
func (*BulkDeleteResponse) ProtoMessage()    {}
func (*BulkDeleteResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{13}
}
func (m *BulkDeleteResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BulkDeleteResponse.Unmarshal(m, b)
}
func (m *BulkDeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BulkDeleteResponse.Marshal(b, m, deterministic)
}
func (dst *BulkDeleteResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BulkDeleteResponse.Merge(dst, src)
}
func (m *BulkDeleteResponse) XXX_Size() int {
	return xxx_messageInfo_BulkDeleteResponse.Size(m)
}
func (m *BulkDeleteResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_BulkDeleteResponse.DiscardUnknown(m)
}

var xxx_messageInfo_BulkDeleteResponse proto.InternalMessageInfo

func (m *BulkDeleteResponse) GetNames() []string {
	if m != nil {
		return m.Names
	}
	return nil
}

func init() {
	proto.RegisterType((*NodeError)(nil), "chef.automate.domain.nodemanager.api.nodes.NodeError")
	proto.RegisterType((*NodeDetectJobInfo)(nil), "chef.automate.domain.nodemanager.api.nodes.NodeDetectJobInfo")
	proto.RegisterType((*RerunResponse)(nil), "chef.automate.domain.nodemanager.api.nodes.RerunResponse")
	proto.RegisterType((*Ids)(nil), "chef.automate.domain.nodemanager.api.nodes.Ids")
	proto.RegisterType((*Id)(nil), "chef.automate.domain.nodemanager.api.nodes.Id")
	proto.RegisterType((*Query)(nil), "chef.automate.domain.nodemanager.api.nodes.Query")
	proto.RegisterType((*TargetConfig)(nil), "chef.automate.domain.nodemanager.api.nodes.TargetConfig")
	proto.RegisterType((*NodeSecrets)(nil), "chef.automate.domain.nodemanager.api.nodes.NodeSecrets")
	proto.RegisterType((*Node)(nil), "chef.automate.domain.nodemanager.api.nodes.Node")
	proto.RegisterType((*ProjectsData)(nil), "chef.automate.domain.nodemanager.api.nodes.ProjectsData")
	proto.RegisterType((*LastContactData)(nil), "chef.automate.domain.nodemanager.api.nodes.LastContactData")
	proto.RegisterType((*Nodes)(nil), "chef.automate.domain.nodemanager.api.nodes.Nodes")
	proto.RegisterType((*ResultsRow)(nil), "chef.automate.domain.nodemanager.api.nodes.ResultsRow")
	proto.RegisterType((*BulkDeleteResponse)(nil), "chef.automate.domain.nodemanager.api.nodes.BulkDeleteResponse")
	proto.RegisterEnum("chef.automate.domain.nodemanager.api.nodes.Query_OrderType", Query_OrderType_name, Query_OrderType_value)
	proto.RegisterEnum("chef.automate.domain.nodemanager.api.nodes.LastContactData_Status", LastContactData_Status_name, LastContactData_Status_value)
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type NodesServiceClient interface {
	Create(ctx context.Context, in *Node, opts ...grpc.CallOption) (*Id, error)
	Read(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Node, error)
	Update(ctx context.Context, in *Node, opts ...grpc.CallOption) (*empty.Empty, error)
	Delete(ctx context.Context, in *Id, opts ...grpc.CallOption) (*empty.Empty, error)
	List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Nodes, error)
	BulkDelete(ctx context.Context, in *Query, opts ...grpc.CallOption) (*BulkDeleteResponse, error)
	BulkCreate(ctx context.Context, in *Nodes, opts ...grpc.CallOption) (*Ids, error)
	UpdateNodeDetectInfo(ctx context.Context, in *NodeDetectJobInfo, opts ...grpc.CallOption) (*empty.Empty, error)
	UpdateNodeConnectionError(ctx context.Context, in *NodeError, opts ...grpc.CallOption) (*empty.Empty, error)
	BulkDeleteById(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*BulkDeleteResponse, error)
}

type nodesServiceClient struct {
	cc *grpc.ClientConn
}

func NewNodesServiceClient(cc *grpc.ClientConn) NodesServiceClient {
	return &nodesServiceClient{cc}
}

func (c *nodesServiceClient) Create(ctx context.Context, in *Node, opts ...grpc.CallOption) (*Id, error) {
	out := new(Id)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) Read(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Node, error) {
	out := new(Node)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Read", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) Update(ctx context.Context, in *Node, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) Delete(ctx context.Context, in *Id, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Nodes, error) {
	out := new(Nodes)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) BulkDelete(ctx context.Context, in *Query, opts ...grpc.CallOption) (*BulkDeleteResponse, error) {
	out := new(BulkDeleteResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDelete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) BulkCreate(ctx context.Context, in *Nodes, opts ...grpc.CallOption) (*Ids, error) {
	out := new(Ids)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkCreate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) UpdateNodeDetectInfo(ctx context.Context, in *NodeDetectJobInfo, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeDetectInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) UpdateNodeConnectionError(ctx context.Context, in *NodeError, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeConnectionError", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) BulkDeleteById(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*BulkDeleteResponse, error) {
	out := new(BulkDeleteResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDeleteById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type NodesServiceServer interface {
	Create(context.Context, *Node) (*Id, error)
	Read(context.Context, *Id) (*Node, error)
	Update(context.Context, *Node) (*empty.Empty, error)
	Delete(context.Context, *Id) (*empty.Empty, error)
	List(context.Context, *Query) (*Nodes, error)
	BulkDelete(context.Context, *Query) (*BulkDeleteResponse, error)
	BulkCreate(context.Context, *Nodes) (*Ids, error)
	UpdateNodeDetectInfo(context.Context, *NodeDetectJobInfo) (*empty.Empty, error)
	UpdateNodeConnectionError(context.Context, *NodeError) (*empty.Empty, error)
	BulkDeleteById(context.Context, *Ids) (*BulkDeleteResponse, error)
}

func RegisterNodesServiceServer(s *grpc.Server, srv NodesServiceServer) {
	s.RegisterService(&_NodesService_serviceDesc, srv)
}

func _NodesService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Node)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Create(ctx, req.(*Node))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Id)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Read(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Read",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Read(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Node)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Update(ctx, req.(*Node))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Id)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Delete(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Query)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).List(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_BulkDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Query)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).BulkDelete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDelete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).BulkDelete(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_BulkCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Nodes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).BulkCreate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkCreate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).BulkCreate(ctx, req.(*Nodes))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_UpdateNodeDetectInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeDetectJobInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).UpdateNodeDetectInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeDetectInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).UpdateNodeDetectInfo(ctx, req.(*NodeDetectJobInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_UpdateNodeConnectionError_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeError)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).UpdateNodeConnectionError(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeConnectionError",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).UpdateNodeConnectionError(ctx, req.(*NodeError))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_BulkDeleteById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Ids)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).BulkDeleteById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDeleteById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).BulkDeleteById(ctx, req.(*Ids))
	}
	return interceptor(ctx, in, info, handler)
}

var _NodesService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.domain.nodemanager.api.nodes.NodesService",
	HandlerType: (*NodesServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _NodesService_Create_Handler,
		},
		{
			MethodName: "Read",
			Handler:    _NodesService_Read_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _NodesService_Update_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _NodesService_Delete_Handler,
		},
		{
			MethodName: "List",
			Handler:    _NodesService_List_Handler,
		},
		{
			MethodName: "BulkDelete",
			Handler:    _NodesService_BulkDelete_Handler,
		},
		{
			MethodName: "BulkCreate",
			Handler:    _NodesService_BulkCreate_Handler,
		},
		{
			MethodName: "UpdateNodeDetectInfo",
			Handler:    _NodesService_UpdateNodeDetectInfo_Handler,
		},
		{
			MethodName: "UpdateNodeConnectionError",
			Handler:    _NodesService_UpdateNodeConnectionError_Handler,
		},
		{
			MethodName: "BulkDeleteById",
			Handler:    _NodesService_BulkDeleteById_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "components/nodemanager-service/api/nodes/nodes.proto",
}

func init() {
	proto.RegisterFile("components/nodemanager-service/api/nodes/nodes.proto", fileDescriptor_nodes_b1bc466bae1b1a8d)
}

var fileDescriptor_nodes_b1bc466bae1b1a8d = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdd, 0x6f, 0xdb, 0xc8,
	0x11, 0xb7, 0xbe, 0xa5, 0x91, 0xfc, 0x91, 0xad, 0x93, 0x30, 0x4a, 0x2e, 0x76, 0x98, 0xeb, 0x9d,
	0x7b, 0x45, 0xe5, 0x9e, 0xdb, 0xb4, 0xd7, 0x8f, 0x2b, 0xe0, 0xaf, 0x00, 0x4a, 0x02, 0xc7, 0xa1,
	0x9d, 0xeb, 0xe1, 0x80, 0x03, 0xb1, 0x22, 0x57, 0x32, 0x6d, 0x8a, 0xcb, 0xee, 0xae, 0xe2, 0xba,
	0x6f, 0x45, 0x1f, 0x5a, 0xa0, 0xff, 0x4a, 0xff, 0xa7, 0x1e, 0xd0, 0x3f, 0xa3, 0x2f, 0xc5, 0xcc,
	0x92, 0x92, 0x1c, 0x27, 0x4e, 0x98, 0xf4, 0x49, 0x3b, 0xc3, 0x99, 0xdf, 0xce, 0xce, 0xcc, 0xce,
	0xcc, 0x0a, 0x7e, 0x19, 0xc8, 0x71, 0x2a, 0x13, 0x91, 0x18, 0xbd, 0x99, 0xc8, 0x50, 0x8c, 0x79,
	0xc2, 0x47, 0x42, 0xfd, 0x4c, 0x0b, 0xf5, 0x2a, 0x0a, 0xc4, 0x26, 0x4f, 0x23, 0xe2, 0xdb, 0xaf,
	0xba, 0x97, 0x2a, 0x69, 0x24, 0xfb, 0x22, 0x38, 0x11, 0xc3, 0x1e, 0x9f, 0x18, 0x39, 0xe6, 0x46,
	0xf4, 0x42, 0x39, 0xe6, 0x51, 0xd2, 0x9b, 0xd3, 0xef, 0xf1, 0x34, 0x22, 0x5a, 0x77, 0xd7, 0x46,
	0x52, 0x8e, 0x62, 0xb1, 0x49, 0x9a, 0x83, 0xc9, 0x70, 0xd3, 0x44, 0x63, 0xa1, 0x0d, 0x1f, 0xa7,
	0x16, 0xac, 0x7b, 0x2f, 0x13, 0xc0, 0xad, 0x78, 0x92, 0x48, 0xc3, 0x4d, 0x24, 0x93, 0x6c, 0xab,
	0xee, 0xdd, 0xd7, 0xd5, 0xc5, 0x38, 0x35, 0x17, 0xd9, 0xc7, 0x47, 0x73, 0xd6, 0xe3, 0x32, 0x8e,
	0x78, 0x12, 0x88, 0x4b, 0xc6, 0x07, 0x72, 0x3c, 0x96, 0x49, 0xf6, 0x63, 0xd5, 0xdc, 0xe7, 0xd0,
	0x3a, 0x90, 0xa1, 0xd8, 0x57, 0x4a, 0x2a, 0x76, 0x1b, 0x1a, 0x68, 0xa8, 0x1f, 0x85, 0x4e, 0x69,
	0xbd, 0xb4, 0xd1, 0xf2, 0xea, 0x48, 0xf6, 0x43, 0xf6, 0x13, 0x58, 0x09, 0x64, 0x92, 0x88, 0x00,
	0xcd, 0xf1, 0x05, 0x0a, 0x3b, 0x65, 0x92, 0x58, 0x9e, 0xf1, 0x09, 0xc3, 0xfd, 0x57, 0x19, 0x6e,
	0x20, 0xe2, 0x9e, 0x30, 0x22, 0x30, 0x4f, 0xe4, 0xa0, 0x9f, 0x0c, 0xe5, 0xdb, 0x91, 0x1f, 0xc2,
	0x62, 0x1a, 0x73, 0x33, 0x94, 0x6a, 0xec, 0x27, 0x7c, 0x2c, 0x32, 0xd8, 0x4e, 0xce, 0x3c, 0xe0,
	0x63, 0x81, 0xdb, 0x4f, 0x85, 0x94, 0x88, 0x05, 0xd7, 0xc2, 0xa9, 0xd8, 0xed, 0x73, 0xbe, 0x67,
	0xd9, 0x6c, 0x0d, 0xda, 0xb4, 0x91, 0x36, 0xdc, 0x4c, 0xb4, 0x53, 0x25, 0x29, 0x40, 0xd6, 0x11,
	0x71, 0xd8, 0xef, 0xa1, 0x73, 0x2a, 0x07, 0xbe, 0x48, 0x42, 0x1f, 0xbd, 0xef, 0xd4, 0xd6, 0x4b,
	0x1b, 0xed, 0xad, 0x6e, 0xcf, 0xfa, 0xb6, 0x97, 0xfb, 0xb6, 0x77, 0x9c, 0x87, 0xc6, 0x83, 0x53,
	0x39, 0xd8, 0x4f, 0x42, 0x64, 0xb0, 0x9b, 0x50, 0x47, 0xed, 0x28, 0x74, 0xea, 0x84, 0x5c, 0x3b,
	0x95, 0x83, 0x7e, 0xc8, 0x3e, 0x01, 0x98, 0xee, 0x2a, 0x9c, 0x06, 0x7d, 0x6a, 0xe5, 0x9b, 0x0a,
	0x76, 0x07, 0x9a, 0xa8, 0x65, 0x2e, 0x52, 0xe1, 0x34, 0xe9, 0x63, 0xe3, 0x54, 0x0e, 0x8e, 0x2f,
	0x52, 0xe1, 0x2e, 0xc3, 0xa2, 0x27, 0xd4, 0x24, 0xf1, 0x84, 0x4e, 0x65, 0xa2, 0x85, 0x7b, 0x1b,
	0x2a, 0xfd, 0x50, 0xb3, 0x15, 0xa8, 0x44, 0xa1, 0x76, 0x4a, 0xeb, 0x95, 0x8d, 0x96, 0x87, 0x4b,
	0x77, 0x15, 0xca, 0xfd, 0x90, 0x2d, 0x41, 0x79, 0xea, 0xc3, 0x72, 0x14, 0xba, 0xff, 0x2c, 0x43,
	0xed, 0xc5, 0x44, 0xa8, 0x0b, 0xf6, 0x0c, 0x1a, 0xc3, 0x28, 0x36, 0x42, 0x69, 0x67, 0x75, 0xbd,
	0xb2, 0xd1, 0xde, 0xda, 0xea, 0xbd, 0x31, 0x35, 0x67, 0xc9, 0x41, 0x99, 0x99, 0x65, 0xc3, 0x63,
	0x52, 0xf5, 0x72, 0x08, 0xf6, 0x02, 0x6a, 0x52, 0x85, 0x42, 0x39, 0x37, 0xd7, 0x4b, 0x1b, 0x4b,
	0x5b, 0xbf, 0xeb, 0xbd, 0x7f, 0x9a, 0xf7, 0xc8, 0x9e, 0xde, 0x73, 0x54, 0xc7, 0x33, 0x7a, 0x16,
	0x89, 0x31, 0xa8, 0x6a, 0xa9, 0x8c, 0x73, 0x8b, 0x8c, 0xa7, 0x35, 0xf2, 0x52, 0x3e, 0x12, 0xce,
	0xed, 0xf5, 0xd2, 0x46, 0xcd, 0xa3, 0x35, 0x7a, 0x2b, 0x15, 0xca, 0x27, 0xbe, 0x43, 0xfc, 0x46,
	0x2a, 0xd4, 0x21, 0x1f, 0x09, 0xf7, 0x3e, 0xb4, 0xa6, 0xb0, 0xac, 0x01, 0x95, 0xed, 0xa3, 0xdd,
	0x95, 0x05, 0xd6, 0x84, 0xea, 0xde, 0xfe, 0xd1, 0xee, 0x4a, 0xc9, 0xfd, 0x7b, 0x0d, 0x3a, 0xc7,
	0x5c, 0x8d, 0x84, 0xd9, 0x95, 0xc9, 0x30, 0x1a, 0x31, 0x07, 0x1a, 0x5a, 0x04, 0x4a, 0x18, 0xeb,
	0x94, 0x96, 0x97, 0x93, 0xec, 0x16, 0xd4, 0x31, 0x6f, 0xb8, 0xa1, 0x13, 0xb6, 0xbc, 0x8c, 0x42,
	0x8d, 0x01, 0x0f, 0xce, 0x44, 0x12, 0x66, 0x86, 0xe6, 0x24, 0xda, 0x7a, 0x22, 0xb5, 0x21, 0x5b,
	0x5b, 0x1e, 0xad, 0xc9, 0x7e, 0x3c, 0x93, 0x93, 0xd9, 0x3f, 0x3d, 0x93, 0x39, 0x71, 0xee, 0x58,
	0x39, 0x5c, 0xd3, 0xd9, 0x27, 0xa1, 0x74, 0xba, 0xeb, 0xa5, 0x8d, 0xa6, 0x47, 0x6b, 0x0c, 0xb1,
	0xd6, 0xb1, 0x73, 0x97, 0x58, 0xb8, 0xc4, 0xe4, 0xd5, 0x22, 0x1e, 0xfa, 0x3a, 0x1a, 0x25, 0x22,
	0x74, 0xee, 0xd1, 0x17, 0x40, 0xd6, 0x11, 0x71, 0x10, 0x66, 0xa2, 0x85, 0x72, 0x3e, 0xb1, 0xd0,
	0xb8, 0x66, 0x5d, 0x68, 0xa6, 0x5c, 0xeb, 0x73, 0xa9, 0x42, 0xe7, 0x3e, 0xf1, 0xa7, 0x34, 0xbb,
	0x0b, 0xad, 0x33, 0x71, 0xe1, 0x0f, 0xa3, 0x58, 0x68, 0x67, 0x8d, 0x1c, 0xd0, 0x3c, 0x13, 0x17,
	0x8f, 0x91, 0xc6, 0xab, 0x87, 0x76, 0xf8, 0x53, 0xed, 0x75, 0x7b, 0xf5, 0x90, 0x79, 0x98, 0x23,
	0x3c, 0x00, 0xa2, 0x7d, 0x99, 0x52, 0x25, 0x72, 0x1e, 0x90, 0x4c, 0x1b, 0x79, 0xcf, 0x2d, 0x0b,
	0x3d, 0xa9, 0xc4, 0x28, 0x92, 0x89, 0xe3, 0x5a, 0x4f, 0x5a, 0x8a, 0x7d, 0x0e, 0xcb, 0x7a, 0x32,
	0xd0, 0x81, 0x8a, 0x48, 0x10, 0x2f, 0xcd, 0x43, 0x12, 0x58, 0x9a, 0x67, 0xf7, 0x43, 0x0c, 0x38,
	0x3f, 0xd7, 0x3e, 0x9d, 0xec, 0x53, 0xeb, 0x73, 0x7e, 0xae, 0x5f, 0xe2, 0xe1, 0x1e, 0x40, 0x07,
	0x3f, 0x4d, 0x4d, 0xfc, 0xb1, 0xdd, 0x9e, 0x9f, 0xeb, 0xa9, 0x85, 0xdf, 0xa2, 0xd3, 0x28, 0xa6,
	0x3e, 0x57, 0xca, 0xf9, 0x8c, 0x72, 0xff, 0xd7, 0x45, 0xf2, 0x15, 0xcb, 0xd5, 0x91, 0x85, 0x40,
	0x6f, 0xd3, 0x62, 0x5b, 0x29, 0xf6, 0x29, 0x2c, 0x8d, 0x82, 0xd4, 0x0f, 0x94, 0x08, 0xb5, 0x7f,
	0xaa, 0x65, 0xe2, 0x7c, 0x6e, 0x3d, 0x34, 0x0a, 0xd2, 0x5d, 0x64, 0x3e, 0xd1, 0x32, 0x61, 0xab,
	0x50, 0xc3, 0x54, 0xd0, 0xce, 0x06, 0xf9, 0xd7, 0x12, 0xee, 0x0f, 0x65, 0x68, 0xcf, 0xe1, 0x4e,
	0x23, 0x57, 0x7a, 0x4b, 0xe4, 0xca, 0xd7, 0x45, 0xae, 0xf2, 0xae, 0xc8, 0x55, 0xdf, 0x23, 0x72,
	0xb5, 0xab, 0x91, 0x9b, 0x77, 0x7c, 0xfd, 0x7a, 0xc7, 0x37, 0xae, 0x3a, 0xfe, 0x33, 0x58, 0xe6,
	0x7f, 0x99, 0x28, 0xe1, 0x07, 0x71, 0x24, 0x12, 0x83, 0xf1, 0xb5, 0xc5, 0x6d, 0x91, 0xd8, 0xbb,
	0xc4, 0xed, 0x87, 0xac, 0x07, 0x3f, 0xba, 0x24, 0x67, 0x3d, 0xec, 0xb4, 0x48, 0xf6, 0xc6, 0x9c,
	0xac, 0xf5, 0xd5, 0x0c, 0xd7, 0x88, 0x84, 0x5b, 0x5c, 0x98, 0xc3, 0x3d, 0x26, 0x6e, 0x3f, 0x74,
	0xff, 0xd1, 0x80, 0x2a, 0xba, 0xf8, 0xf5, 0x9a, 0x88, 0xbe, 0x9e, 0x6b, 0x25, 0xb4, 0x26, 0x5f,
	0x67, 0xad, 0x22, 0x6b, 0x1d, 0x53, 0xfa, 0x52, 0x7b, 0x79, 0x25, 0x94, 0xc6, 0x54, 0xae, 0x5e,
	0x6e, 0x2f, 0xdf, 0x58, 0x36, 0x56, 0x87, 0x2c, 0x7f, 0x32, 0x7f, 0xe6, 0x24, 0xdb, 0x81, 0xaa,
	0xe1, 0xa3, 0xbc, 0xf6, 0xf6, 0x8a, 0xd4, 0xde, 0xa7, 0xaf, 0x3c, 0xd2, 0x65, 0x5f, 0x43, 0x27,
	0xe6, 0xda, 0xf8, 0x81, 0x4c, 0x0c, 0x0f, 0x6c, 0x65, 0xba, 0xbe, 0x37, 0xb5, 0x51, 0x7e, 0xd7,
	0x8a, 0xe3, 0x45, 0xcc, 0xda, 0x9e, 0xad, 0x5c, 0x19, 0xc5, 0x5e, 0x40, 0x93, 0x60, 0x4f, 0xe5,
	0x80, 0x8a, 0x57, 0x7b, 0xeb, 0x57, 0x45, 0xae, 0x87, 0x27, 0xf4, 0x24, 0x36, 0xda, 0x93, 0xe7,
	0x5e, 0x03, 0x71, 0x9e, 0xc8, 0x01, 0xfb, 0x1e, 0x16, 0x0d, 0xd5, 0x59, 0xb4, 0x75, 0x18, 0x8d,
	0x9c, 0x80, 0x70, 0xbf, 0x2a, 0x82, 0x3b, 0x5f, 0xa8, 0xbd, 0x8e, 0x99, 0x2f, 0xdb, 0x6b, 0xd0,
	0xce, 0xe4, 0x7d, 0xec, 0x82, 0x0e, 0xe5, 0x3f, 0x64, 0x2c, 0x6c, 0x8f, 0x6f, 0x1a, 0x48, 0xee,
	0xbc, 0x71, 0x20, 0xc1, 0xfb, 0x69, 0xdb, 0x72, 0xd7, 0x76, 0x6c, 0x22, 0x68, 0x4e, 0xe0, 0x63,
	0xe1, 0xa7, 0x4a, 0x0c, 0xa3, 0x3f, 0x53, 0x11, 0xc6, 0x39, 0x81, 0x8f, 0xc5, 0x21, 0x71, 0x28,
	0x61, 0x94, 0x3c, 0x15, 0x81, 0xd1, 0xce, 0x3d, 0x7b, 0xff, 0x72, 0x9a, 0x7d, 0x03, 0x4d, 0x35,
	0x49, 0xfc, 0x90, 0x1b, 0x4e, 0xa5, 0xb8, 0x5d, 0xac, 0x3f, 0x3e, 0x9b, 0xc5, 0x6c, 0x8f, 0x1b,
	0xee, 0x35, 0xd4, 0x24, 0xc1, 0x05, 0xfb, 0x16, 0x5a, 0x3a, 0xe0, 0x19, 0xf0, 0xfd, 0x8f, 0x07,
	0x6e, 0x22, 0x1a, 0x21, 0x7f, 0x0f, 0x8b, 0xb9, 0xf5, 0x16, 0x7d, 0x8d, 0xd2, 0xb4, 0x50, 0xbc,
	0x0e, 0x33, 0x00, 0x82, 0xee, 0xa4, 0x73, 0x94, 0xfb, 0x15, 0x74, 0xe6, 0xbf, 0x62, 0x6b, 0x3b,
	0x13, 0x17, 0xd9, 0x95, 0xc4, 0x25, 0xe6, 0xe6, 0x2b, 0x1e, 0x4f, 0x84, 0x76, 0xca, 0xe4, 0xcc,
	0x8c, 0x72, 0xff, 0x53, 0x86, 0xe5, 0xd7, 0xcc, 0xbe, 0x72, 0x9f, 0xbf, 0x9b, 0xe6, 0x75, 0x99,
	0x86, 0x91, 0x9d, 0x8f, 0xf0, 0x49, 0xcf, 0x8e, 0x81, 0xd3, 0xbb, 0xf1, 0x27, 0x60, 0xa9, 0x48,
	0x26, 0xb1, 0x89, 0x10, 0x2a, 0x1f, 0x1b, 0x2b, 0xff, 0xb7, 0x7d, 0x6e, 0xcc, 0xa1, 0x67, 0x13,
	0xe8, 0x23, 0x68, 0x4e, 0xa7, 0xcf, 0xea, 0x3b, 0x6f, 0x78, 0x43, 0xd8, 0xd1, 0xd3, 0xfd, 0x2d,
	0xd4, 0x33, 0x80, 0x36, 0x34, 0x5e, 0x1e, 0x3c, 0x3d, 0x78, 0xfe, 0xc7, 0x83, 0x95, 0x05, 0x06,
	0x50, 0x3f, 0xdc, 0x3e, 0x3a, 0xda, 0xdf, 0x5b, 0x29, 0xe1, 0xfa, 0xf1, 0x76, 0xff, 0xd9, 0xfe,
	0xde, 0x4a, 0x19, 0x85, 0x8e, 0x9e, 0xf6, 0x0f, 0x0f, 0xf7, 0xf7, 0x56, 0x2a, 0xee, 0x0f, 0x25,
	0xa8, 0x61, 0xa9, 0xd4, 0xec, 0x31, 0xd4, 0xc8, 0x5e, 0x9a, 0x2c, 0xdb, 0x5b, 0x3f, 0x2f, 0xda,
	0x27, 0x3d, 0xab, 0x8e, 0xb7, 0xca, 0x48, 0xc3, 0x63, 0x67, 0x95, 0x26, 0x1f, 0x4b, 0xb0, 0x9f,
	0xc2, 0x0d, 0x5a, 0xf8, 0x93, 0x44, 0x09, 0x1e, 0x9c, 0xf0, 0x41, 0x2c, 0xa8, 0x8a, 0xd5, 0xbc,
	0x15, 0xfa, 0xf0, 0x72, 0xc6, 0xc7, 0xf9, 0xc0, 0x0a, 0xcf, 0x44, 0x6f, 0x91, 0xe8, 0x12, 0xb1,
	0xbd, 0xa9, 0xe0, 0x43, 0x58, 0xcc, 0x51, 0xcf, 0x12, 0x79, 0x9e, 0x64, 0xd3, 0x62, 0x27, 0x43,
	0x24, 0x9e, 0xfb, 0xdf, 0x12, 0xc0, 0xac, 0x52, 0xbd, 0xfd, 0xc1, 0x71, 0x17, 0x5a, 0x4a, 0xe0,
	0x9c, 0x86, 0x9f, 0xb2, 0xae, 0x6b, 0x19, 0xfd, 0x70, 0xae, 0x82, 0x56, 0x2e, 0x55, 0x50, 0x1a,
	0x71, 0x10, 0x3b, 0xeb, 0x0b, 0x19, 0x35, 0xf7, 0x1c, 0xa8, 0xcd, 0x3f, 0x07, 0x7e, 0x03, 0xa0,
	0x0d, 0x57, 0xc6, 0xc6, 0x78, 0xf5, 0x9d, 0x31, 0x6e, 0x91, 0x34, 0x3d, 0x30, 0xe6, 0x93, 0xe3,
	0xe6, 0xfb, 0x27, 0xc7, 0x17, 0xc0, 0x76, 0x26, 0xf1, 0xd9, 0x9e, 0x88, 0x85, 0x11, 0xf9, 0x5b,
	0x02, 0x83, 0x84, 0x15, 0x2d, 0x7f, 0x46, 0x58, 0x62, 0xeb, 0xdf, 0x4d, 0xe8, 0x50, 0x32, 0x1c,
	0xd9, 0xb7, 0x21, 0x8b, 0xa1, 0xbe, 0xab, 0x04, 0x56, 0xc5, 0xc2, 0xe9, 0xd0, 0xed, 0x15, 0xd1,
	0xe8, 0x87, 0xee, 0x02, 0x3b, 0x85, 0xaa, 0x27, 0x78, 0xc8, 0x0a, 0x6a, 0x76, 0x0b, 0xdb, 0xe6,
	0x2e, 0xb0, 0x63, 0xa8, 0xbf, 0x4c, 0xc3, 0x0f, 0x3b, 0xd9, 0xad, 0x2b, 0x7e, 0xdf, 0xc7, 0xe7,
	0xb6, 0xbb, 0xc0, 0x3c, 0xa8, 0x5b, 0x47, 0x17, 0x3e, 0xc3, 0xdb, 0x31, 0x13, 0xa8, 0x3e, 0x8b,
	0xb4, 0x61, 0x5f, 0x16, 0x7e, 0x68, 0x75, 0xbf, 0x2c, 0x7a, 0x34, 0xed, 0x2e, 0xb0, 0xbf, 0x96,
	0x00, 0x66, 0x19, 0xf3, 0x21, 0xdb, 0xfe, 0xa1, 0x88, 0xca, 0xd5, 0xe4, 0x74, 0x17, 0x98, 0xb2,
	0x26, 0x64, 0xb9, 0x57, 0xfc, 0x18, 0xdd, 0xcd, 0x62, 0xee, 0xc7, 0x73, 0x4b, 0x58, 0xb5, 0x19,
	0x31, 0xfb, 0x8f, 0x82, 0xfe, 0xa0, 0xf8, 0xba, 0xe8, 0xee, 0x97, 0xfe, 0xdf, 0xb8, 0x26, 0xb0,
	0x31, 0xdc, 0x99, 0x6d, 0xb8, 0xfb, 0xda, 0x6c, 0xf2, 0xa8, 0xe8, 0xae, 0xa4, 0x76, 0xcd, 0x6e,
	0x7f, 0x2b, 0xc1, 0xd2, 0xcc, 0xd7, 0x3b, 0x17, 0xfd, 0x90, 0x15, 0x75, 0xd2, 0xc7, 0x07, 0x76,
	0x67, 0xf7, 0xbb, 0xed, 0x51, 0x64, 0x4e, 0x26, 0x03, 0x9c, 0x70, 0x37, 0x11, 0x6d, 0x33, 0x47,
	0xdb, 0x7c, 0xdf, 0x3f, 0xd9, 0x06, 0x75, 0x3a, 0xdc, 0x2f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff,
	0xc5, 0x2e, 0xec, 0xdf, 0x97, 0x13, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: components/nodemanager-service/api/nodes/nodes.proto

package nodes // import "github.com/chef/automate/components/nodemanager-service/api/nodes"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import common "github.com/chef/automate/components/compliance-service/api/common"
import empty "github.com/golang/protobuf/ptypes/empty"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type Query_OrderType int32

const (
	Query_ASC  Query_OrderType = 0
	Query_DESC Query_OrderType = 1
)

var Query_OrderType_name = map[int32]string{
	0: "ASC",
	1: "DESC",
}
var Query_OrderType_value = map[string]int32{
	"ASC":  0,
	"DESC": 1,
}

func (x Query_OrderType) String() string {
	return proto.EnumName(Query_OrderType_name, int32(x))
}
func (Query_OrderType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{5, 0}
}

type LastContactData_Status int32

const (
	LastContactData_UNKNOWN LastContactData_Status = 0
	LastContactData_PASSED  LastContactData_Status = 1
	LastContactData_FAILED  LastContactData_Status = 2
	LastContactData_SKIPPED LastContactData_Status = 3
)

var LastContactData_Status_name = map[int32]string{
	0: "UNKNOWN",
	1: "PASSED",
	2: "FAILED",
	3: "SKIPPED",
}
var LastContactData_Status_value = map[string]int32{
	"UNKNOWN": 0,
	"PASSED":  1,
	"FAILED":  2,
	"SKIPPED": 3,
}

func (x LastContactData_Status) String() string {
	return proto.EnumName(LastContactData_Status_name, int32(x))
}
func (LastContactData_Status) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{10, 0}
}

type NodeError struct {
	NodeId               string   `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	ConnectionError      string   `protobuf:"bytes,2,opt,name=connection_error,json=connectionError,proto3" json:"connection_error,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NodeError) Reset()         { *m = NodeError{} }
func (m *NodeError) String() string { return proto.CompactTextString(m) }
func (*NodeError) ProtoMessage()    {}
func (*NodeError) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{0}
}
func (m *NodeError) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeError.Unmarshal(m, b)
}
func (m *NodeError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeError.Marshal(b, m, deterministic)
}
func (dst *NodeError) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeError.Merge(dst, src)
}
func (m *NodeError) XXX_Size() int {
	return xxx_messageInfo_NodeError.Size(m)
}
func (m *NodeError) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeError.DiscardUnknown(m)
}

var xxx_messageInfo_NodeError proto.InternalMessageInfo

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

func (m *NodeError) GetConnectionError() string {
	if m != nil {
		return m.ConnectionError
	}
	return ""
}

type NodeDetectJobInfo struct {
	NodeId               string               `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	PlatformName         string               `protobuf:"bytes,2,opt,name=platform_name,json=platformName,proto3" json:"platform_name,omitempty"`
	PlatformRelease      string               `protobuf:"bytes,3,opt,name=platform_release,json=platformRelease,proto3" json:"platform_release,omitempty"`
	NodeStatus           string               `protobuf:"bytes,4,opt,name=node_status,json=nodeStatus,proto3" json:"node_status,omitempty"`
	JobEndTime           *timestamp.Timestamp `protobuf:"bytes,5,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty"`
	JobId                string               `protobuf:"bytes,6,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	NodeState            string               `protobuf:"bytes,7,opt,name=node_state,json=nodeState,proto3" json:"node_state,omitempty"`
	JobType              string               `protobuf:"bytes,8,opt,name=job_type,json=jobType,proto3" json:"job_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *NodeDetectJobInfo) Reset()         { *m = NodeDetectJobInfo{} }
func (m *NodeDetectJobInfo) String() string { return proto.CompactTextString(m) }
func (*NodeDetectJobInfo) ProtoMessage()    {}
func (*NodeDetectJobInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{1}
}
func (m *NodeDetectJobInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeDetectJobInfo.Unmarshal(m, b)
}
func (m *NodeDetectJobInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeDetectJobInfo.Marshal(b, m, deterministic)
}
func (dst *NodeDetectJobInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeDetectJobInfo.Merge(dst, src)
}
func (m *NodeDetectJobInfo) XXX_Size() int {
	return xxx_messageInfo_NodeDetectJobInfo.Size(m)
}
func (m *NodeDetectJobInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeDetectJobInfo.DiscardUnknown(m)
}

var xxx_messageInfo_NodeDetectJobInfo proto.InternalMessageInfo

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

func (m *NodeDetectJobInfo) GetPlatformName() string {
	if m != nil {
		return m.PlatformName
	}
	return ""
}

func (m *NodeDetectJobInfo) GetPlatformRelease() string {
	if m != nil {
		return m.PlatformRelease
	}
	return ""
}

func (m *NodeDetectJobInfo) GetNodeStatus() string {
	if m != nil {
		return m.NodeStatus
	}
	return ""
}

func (m *NodeDetectJobInfo) GetJobEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.JobEndTime
	}
	return nil
}

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

func (m *NodeDetectJobInfo) GetNodeState() string {
	if m != nil {
		return m.NodeState
	}
	return ""
}

func (m *NodeDetectJobInfo) GetJobType() string {
	if m != nil {
		return m.JobType
	}
	return ""
}

type RerunResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RerunResponse) Reset()         { *m = RerunResponse{} }
func (m *RerunResponse) String() string { return proto.CompactTextString(m) }
func (*RerunResponse) ProtoMessage()    {}
func (*RerunResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{2}
}
func (m *RerunResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RerunResponse.Unmarshal(m, b)
}
func (m *RerunResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RerunResponse.Marshal(b, m, deterministic)
}
func (dst *RerunResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RerunResponse.Merge(dst, src)
}
func (m *RerunResponse) XXX_Size() int {
	return xxx_messageInfo_RerunResponse.Size(m)
}
func (m *RerunResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_RerunResponse.DiscardUnknown(m)
}

var xxx_messageInfo_RerunResponse proto.InternalMessageInfo

type Ids struct {
	Ids                  []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Ids) Reset()         { *m = Ids{} }
func (m *Ids) String() string { return proto.CompactTextString(m) }
func (*Ids) ProtoMessage()    {}
func (*Ids) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{3}
}
func (m *Ids) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ids.Unmarshal(m, b)
}
func (m *Ids) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ids.Marshal(b, m, deterministic)
}
func (dst *Ids) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ids.Merge(dst, src)
}
func (m *Ids) XXX_Size() int {
	return xxx_messageInfo_Ids.Size(m)
}
func (m *Ids) XXX_DiscardUnknown() {
	xxx_messageInfo_Ids.DiscardUnknown(m)
}

var xxx_messageInfo_Ids proto.InternalMessageInfo

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

type Id struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Id) Reset()         { *m = Id{} }
func (m *Id) String() string { return proto.CompactTextString(m) }
func (*Id) ProtoMessage()    {}
func (*Id) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{4}
}
func (m *Id) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Id.Unmarshal(m, b)
}
func (m *Id) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Id.Marshal(b, m, deterministic)
}
func (dst *Id) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Id.Merge(dst, src)
}
func (m *Id) XXX_Size() int {
	return xxx_messageInfo_Id.Size(m)
}
func (m *Id) XXX_DiscardUnknown() {
	xxx_messageInfo_Id.DiscardUnknown(m)
}

var xxx_messageInfo_Id proto.InternalMessageInfo

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

type Query struct {
	Filters              []*common.Filter `protobuf:"bytes,20,rep,name=filters,proto3" json:"filters,omitempty"`
	Order                Query_OrderType  `protobuf:"varint,21,opt,name=order,proto3,enum=chef.automate.domain.nodemanager.api.nodes.Query_OrderType" json:"order,omitempty"`
	Sort                 string           `protobuf:"bytes,22,opt,name=sort,proto3" json:"sort,omitempty"`
	Page                 int32            `protobuf:"varint,23,opt,name=page,proto3" json:"page,omitempty"`
	PerPage              int32            `protobuf:"varint,24,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *Query) Reset()         { *m = Query{} }
func (m *Query) String() string { return proto.CompactTextString(m) }
func (*Query) ProtoMessage()    {}
func (*Query) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{5}
}
func (m *Query) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Query.Unmarshal(m, b)
}
func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Query.Marshal(b, m, deterministic)
}
func (dst *Query) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Query.Merge(dst, src)
}
func (m *Query) XXX_Size() int {
	return xxx_messageInfo_Query.Size(m)
}
func (m *Query) XXX_DiscardUnknown() {
	xxx_messageInfo_Query.DiscardUnknown(m)
}

var xxx_messageInfo_Query proto.InternalMessageInfo

func (m *Query) GetFilters() []*common.Filter {
	if m != nil {
		return m.Filters
	}
	return nil
}

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

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

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

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

type TargetConfig struct {
	Secrets              []string       `protobuf:"bytes,20,rep,name=secrets,proto3" json:"secrets,omitempty"`
	Format               string         `protobuf:"bytes,21,opt,name=format,proto3" json:"format,omitempty"`
	Backend              string         `protobuf:"bytes,22,opt,name=backend,proto3" json:"backend,omitempty"`
	Host                 string         `protobuf:"bytes,23,opt,name=host,proto3" json:"host,omitempty"`
	Port                 int32          `protobuf:"varint,24,opt,name=port,proto3" json:"port,omitempty"`
	Path                 string         `protobuf:"bytes,25,opt,name=path,proto3" json:"path,omitempty"`
	Sudo                 bool           `protobuf:"varint,26,opt,name=sudo,proto3" json:"sudo,omitempty"`
	Ssl                  bool           `protobuf:"varint,27,opt,name=ssl,proto3" json:"ssl,omitempty"`
	SelfSigned           bool           `protobuf:"varint,28,opt,name=self_signed,json=selfSigned,proto3" json:"self_signed,omitempty"`
	User                 string         `protobuf:"bytes,29,opt,name=user,proto3" json:"user,omitempty"`
	Password             string         `protobuf:"bytes,30,opt,name=password,proto3" json:"password,omitempty"`
	KeyFiles             []string       `protobuf:"bytes,31,rep,name=key_files,json=keyFiles,proto3" json:"key_files,omitempty"`
	SudoPassword         string         `protobuf:"bytes,32,opt,name=sudo_password,json=sudoPassword,proto3" json:"sudo_password,omitempty"`
	SudoOptions          string         `protobuf:"bytes,33,opt,name=sudo_options,json=sudoOptions,proto3" json:"sudo_options,omitempty"`
	Region               string         `protobuf:"bytes,34,opt,name=region,proto3" json:"region,omitempty"`
	SubscriptionId       string         `protobuf:"bytes,35,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
	AwsUser              string         `protobuf:"bytes,36,opt,name=aws_user,json=awsUser,proto3" json:"aws_user,omitempty"`
	AwsPassword          string         `protobuf:"bytes,37,opt,name=aws_password,json=awsPassword,proto3" json:"aws_password,omitempty"`
	SecretsArr           []*NodeSecrets `protobuf:"bytes,38,rep,name=secrets_arr,json=secretsArr,proto3" json:"secrets_arr,omitempty"`
	GcpCredsJson         string         `protobuf:"bytes,39,opt,name=gcp_creds_json,json=gcpCredsJson,proto3" json:"gcp_creds_json,omitempty"`
	Hosts                []string       `protobuf:"bytes,40,rep,name=hosts,proto3" json:"hosts,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *TargetConfig) Reset()         { *m = TargetConfig{} }
func (m *TargetConfig) String() string { return proto.CompactTextString(m) }
func (*TargetConfig) ProtoMessage()    {}
func (*TargetConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{6}
}
func (m *TargetConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TargetConfig.Unmarshal(m, b)
}
func (m *TargetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TargetConfig.Marshal(b, m, deterministic)
}
func (dst *TargetConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TargetConfig.Merge(dst, src)
}
func (m *TargetConfig) XXX_Size() int {
	return xxx_messageInfo_TargetConfig.Size(m)
}
func (m *TargetConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_TargetConfig.DiscardUnknown(m)
}

var xxx_messageInfo_TargetConfig proto.InternalMessageInfo

func (m *TargetConfig) GetSecrets() []string {
	if m != nil {
		return m.Secrets
	}
	return nil
}

func (m *TargetConfig) GetFormat() string {
	if m != nil {
		return m.Format
	}
	return ""
}

func (m *TargetConfig) GetBackend() string {
	if m != nil {
		return m.Backend
	}
	return ""
}

func (m *TargetConfig) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

func (m *TargetConfig) GetPort() int32 {
	if m != nil {
		return m.Port
	}
	return 0
}

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

func (m *TargetConfig) GetSudo() bool {
	if m != nil {
		return m.Sudo
	}
	return false
}

func (m *TargetConfig) GetSsl() bool {
	if m != nil {
		return m.Ssl
	}
	return false
}

func (m *TargetConfig) GetSelfSigned() bool {
	if m != nil {
		return m.SelfSigned
	}
	return false
}

func (m *TargetConfig) GetUser() string {
	if m != nil {
		return m.User
	}
	return ""
}

func (m *TargetConfig) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *TargetConfig) GetKeyFiles() []string {
	if m != nil {
		return m.KeyFiles
	}
	return nil
}

func (m *TargetConfig) GetSudoPassword() string {
	if m != nil {
		return m.SudoPassword
	}
	return ""
}

func (m *TargetConfig) GetSudoOptions() string {
	if m != nil {
		return m.SudoOptions
	}
	return ""
}

func (m *TargetConfig) GetRegion() string {
	if m != nil {
		return m.Region
	}
	return ""
}

func (m *TargetConfig) GetSubscriptionId() string {
	if m != nil {
		return m.SubscriptionId
	}
	return ""
}

func (m *TargetConfig) GetAwsUser() string {
	if m != nil {
		return m.AwsUser
	}
	return ""
}

func (m *TargetConfig) GetAwsPassword() string {
	if m != nil {
		return m.AwsPassword
	}
	return ""
}

func (m *TargetConfig) GetSecretsArr() []*NodeSecrets {
	if m != nil {
		return m.SecretsArr
	}
	return nil
}

func (m *TargetConfig) GetGcpCredsJson() string {
	if m != nil {
		return m.GcpCredsJson
	}
	return ""
}

func (m *TargetConfig) GetHosts() []string {
	if m != nil {
		return m.Hosts
	}
	return nil
}

// TODO: there is clearly some repetition between these two msg types
// that needs to be addressed; it will involve some refactoring that i'm afraid
// will bloat the current change i am working on, so leaving that for another day
type NodeSecrets struct {
	User                 string   `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	Password             string   `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	KeyFiles             []string `protobuf:"bytes,3,rep,name=key_files,json=keyFiles,proto3" json:"key_files,omitempty"`
	SudoPassword         string   `protobuf:"bytes,4,opt,name=sudo_password,json=sudoPassword,proto3" json:"sudo_password,omitempty"`
	SudoOptions          string   `protobuf:"bytes,5,opt,name=sudo_options,json=sudoOptions,proto3" json:"sudo_options,omitempty"`
	AwsUser              string   `protobuf:"bytes,6,opt,name=aws_user,json=awsUser,proto3" json:"aws_user,omitempty"`
	AwsPassword          string   `protobuf:"bytes,7,opt,name=aws_password,json=awsPassword,proto3" json:"aws_password,omitempty"`
	AzureClientId        string   `protobuf:"bytes,8,opt,name=azure_client_id,json=azureClientId,proto3" json:"azure_client_id,omitempty"`
	AzureClientSecret    string   `protobuf:"bytes,9,opt,name=azure_client_secret,json=azureClientSecret,proto3" json:"azure_client_secret,omitempty"`
	AzureTenantId        string   `protobuf:"bytes,10,opt,name=azure_tenant_id,json=azureTenantId,proto3" json:"azure_tenant_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NodeSecrets) Reset()         { *m = NodeSecrets{} }
func (m *NodeSecrets) String() string { return proto.CompactTextString(m) }
func (*NodeSecrets) ProtoMessage()    {}
func (*NodeSecrets) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{7}
}
func (m *NodeSecrets) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeSecrets.Unmarshal(m, b)
}
func (m *NodeSecrets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeSecrets.Marshal(b, m, deterministic)
}
func (dst *NodeSecrets) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeSecrets.Merge(dst, src)
}
func (m *NodeSecrets) XXX_Size() int {
	return xxx_messageInfo_NodeSecrets.Size(m)
}
func (m *NodeSecrets) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeSecrets.DiscardUnknown(m)
}

var xxx_messageInfo_NodeSecrets proto.InternalMessageInfo

func (m *NodeSecrets) GetUser() string {
	if m != nil {
		return m.User
	}
	return ""
}

func (m *NodeSecrets) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *NodeSecrets) GetKeyFiles() []string {
	if m != nil {
		return m.KeyFiles
	}
	return nil
}

func (m *NodeSecrets) GetSudoPassword() string {
	if m != nil {
		return m.SudoPassword
	}
	return ""
}

func (m *NodeSecrets) GetSudoOptions() string {
	if m != nil {
		return m.SudoOptions
	}
	return ""
}

func (m *NodeSecrets) GetAwsUser() string {
	if m != nil {
		return m.AwsUser
	}
	return ""
}

func (m *NodeSecrets) GetAwsPassword() string {
	if m != nil {
		return m.AwsPassword
	}
	return ""
}

func (m *NodeSecrets) GetAzureClientId() string {
	if m != nil {
		return m.AzureClientId
	}
	return ""
}

func (m *NodeSecrets) GetAzureClientSecret() string {
	if m != nil {
		return m.AzureClientSecret
	}
	return ""
}

func (m *NodeSecrets) GetAzureTenantId() string {
	if m != nil {
		return m.AzureTenantId
	}
	return ""
}

type Node struct {
	Id                   string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                 string               `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Platform             string               `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	PlatformVersion      string               `protobuf:"bytes,4,opt,name=platform_version,json=platformVersion,proto3" json:"platform_version,omitempty"`
	Manager              string               `protobuf:"bytes,5,opt,name=manager,proto3" json:"manager,omitempty"`
	Tags                 []*common.Kv         `protobuf:"bytes,20,rep,name=tags,proto3" json:"tags,omitempty"`
	LastContact          *timestamp.Timestamp `protobuf:"bytes,21,opt,name=last_contact,json=lastContact,proto3" json:"last_contact,omitempty"`
	Status               string               `protobuf:"bytes,22,opt,name=status,proto3" json:"status,omitempty"`
	LastJob              *ResultsRow          `protobuf:"bytes,23,opt,name=last_job,json=lastJob,proto3" json:"last_job,omitempty"`
	TargetConfig         *TargetConfig        `protobuf:"bytes,99,opt,name=target_config,json=targetConfig,proto3" json:"target_config,omitempty"`
	ManagerIds           []string             `protobuf:"bytes,24,rep,name=manager_ids,json=managerIds,proto3" json:"manager_ids,omitempty"`
	ConnectionError      string               `protobuf:"bytes,25,opt,name=connection_error,json=connectionError,proto3" json:"connection_error,omitempty"`
	State                string               `protobuf:"bytes,26,opt,name=state,proto3" json:"state,omitempty"`
	NamePrefix           string               `protobuf:"bytes,27,opt,name=name_prefix,json=namePrefix,proto3" json:"name_prefix,omitempty"`
	Projects             []string             `protobuf:"bytes,28,rep,name=projects,proto3" json:"projects,omitempty"`
	RunData              *LastContactData     `protobuf:"bytes,29,opt,name=run_data,json=runData,proto3" json:"run_data,omitempty"`
	ScanData             *LastContactData     `protobuf:"bytes,30,opt,name=scan_data,json=scanData,proto3" json:"scan_data,omitempty"`
	ProjectsData         []*ProjectsData      `protobuf:"bytes,31,rep,name=projects_data,json=projectsData,proto3" json:"projects_data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *Node) Reset()         { *m = Node{} }
func (m *Node) String() string { return proto.CompactTextString(m) }
func (*Node) ProtoMessage()    {}
func (*Node) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{8}
}
func (m *Node) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Node.Unmarshal(m, b)
}
func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Node.Marshal(b, m, deterministic)
}
func (dst *Node) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Node.Merge(dst, src)
}
func (m *Node) XXX_Size() int {
	return xxx_messageInfo_Node.Size(m)
}
func (m *Node) XXX_DiscardUnknown() {
	xxx_messageInfo_Node.DiscardUnknown(m)
}

var xxx_messageInfo_Node proto.InternalMessageInfo

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

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

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

func (m *Node) GetPlatformVersion() string {
	if m != nil {
		return m.PlatformVersion
	}
	return ""
}

func (m *Node) GetManager() string {
	if m != nil {
		return m.Manager
	}
	return ""
}

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

func (m *Node) GetLastContact() *timestamp.Timestamp {
	if m != nil {
		return m.LastContact
	}
	return nil
}

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

func (m *Node) GetLastJob() *ResultsRow {
	if m != nil {
		return m.LastJob
	}
	return nil
}

func (m *Node) GetTargetConfig() *TargetConfig {
	if m != nil {
		return m.TargetConfig
	}
	return nil
}

func (m *Node) GetManagerIds() []string {
	if m != nil {
		return m.ManagerIds
	}
	return nil
}

func (m *Node) GetConnectionError() string {
	if m != nil {
		return m.ConnectionError
	}
	return ""
}

func (m *Node) GetState() string {
	if m != nil {
		return m.State
	}
	return ""
}

func (m *Node) GetNamePrefix() string {
	if m != nil {
		return m.NamePrefix
	}
	return ""
}

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

func (m *Node) GetRunData() *LastContactData {
	if m != nil {
		return m.RunData
	}
	return nil
}

func (m *Node) GetScanData() *LastContactData {
	if m != nil {
		return m.ScanData
	}
	return nil
}

func (m *Node) GetProjectsData() []*ProjectsData {
	if m != nil {
		return m.ProjectsData
	}
	return nil
}

type ProjectsData struct {
	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Values               []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ProjectsData) Reset()         { *m = ProjectsData{} }
func (m *ProjectsData) String() string { return proto.CompactTextString(m) }
func (*ProjectsData) ProtoMessage()    {}
func (*ProjectsData) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{9}
}
func (m *ProjectsData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProjectsData.Unmarshal(m, b)
}
func (m *ProjectsData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProjectsData.Marshal(b, m, deterministic)
}
func (dst *ProjectsData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProjectsData.Merge(dst, src)
}
func (m *ProjectsData) XXX_Size() int {
	return xxx_messageInfo_ProjectsData.Size(m)
}
func (m *ProjectsData) XXX_DiscardUnknown() {
	xxx_messageInfo_ProjectsData.DiscardUnknown(m)
}

var xxx_messageInfo_ProjectsData proto.InternalMessageInfo

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

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

type LastContactData struct {
	Id                   string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Status               LastContactData_Status `protobuf:"varint,2,opt,name=status,proto3,enum=chef.automate.domain.nodemanager.api.nodes.LastContactData_Status" json:"status,omitempty"`
	PenultimateStatus    LastContactData_Status `protobuf:"varint,3,opt,name=penultimate_status,json=penultimateStatus,proto3,enum=chef.automate.domain.nodemanager.api.nodes.LastContactData_Status" json:"penultimate_status,omitempty"`
	EndTime              *timestamp.Timestamp   `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *LastContactData) Reset()         { *m = LastContactData{} }
func (m *LastContactData) String() string { return proto.CompactTextString(m) }
func (*LastContactData) ProtoMessage()    {}
func (*LastContactData) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{10}
}
func (m *LastContactData) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LastContactData.Unmarshal(m, b)
}
func (m *LastContactData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LastContactData.Marshal(b, m, deterministic)
}
func (dst *LastContactData) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LastContactData.Merge(dst, src)
}
func (m *LastContactData) XXX_Size() int {
	return xxx_messageInfo_LastContactData.Size(m)
}
func (m *LastContactData) XXX_DiscardUnknown() {
	xxx_messageInfo_LastContactData.DiscardUnknown(m)
}

var xxx_messageInfo_LastContactData proto.InternalMessageInfo

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

func (m *LastContactData) GetStatus() LastContactData_Status {
	if m != nil {
		return m.Status
	}
	return LastContactData_UNKNOWN
}

func (m *LastContactData) GetPenultimateStatus() LastContactData_Status {
	if m != nil {
		return m.PenultimateStatus
	}
	return LastContactData_UNKNOWN
}

func (m *LastContactData) GetEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.EndTime
	}
	return nil
}

type Nodes struct {
	Nodes                []*Node  `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	Total                int32    `protobuf:"varint,20,opt,name=total,proto3" json:"total,omitempty"`
	TotalUnreachable     int32    `protobuf:"varint,21,opt,name=total_unreachable,json=totalUnreachable,proto3" json:"total_unreachable,omitempty"`
	TotalReachable       int32    `protobuf:"varint,22,opt,name=total_reachable,json=totalReachable,proto3" json:"total_reachable,omitempty"`
	TotalUnknown         int32    `protobuf:"varint,23,opt,name=total_unknown,json=totalUnknown,proto3" json:"total_unknown,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Nodes) Reset()         { *m = Nodes{} }
func (m *Nodes) String() string { return proto.CompactTextString(m) }
func (*Nodes) ProtoMessage()    {}
func (*Nodes) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{11}
}
func (m *Nodes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Nodes.Unmarshal(m, b)
}
func (m *Nodes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Nodes.Marshal(b, m, deterministic)
}
func (dst *Nodes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Nodes.Merge(dst, src)
}
func (m *Nodes) XXX_Size() int {
	return xxx_messageInfo_Nodes.Size(m)
}
func (m *Nodes) XXX_DiscardUnknown() {
	xxx_messageInfo_Nodes.DiscardUnknown(m)
}

var xxx_messageInfo_Nodes proto.InternalMessageInfo

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

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

func (m *Nodes) GetTotalUnreachable() int32 {
	if m != nil {
		return m.TotalUnreachable
	}
	return 0
}

func (m *Nodes) GetTotalReachable() int32 {
	if m != nil {
		return m.TotalReachable
	}
	return 0
}

func (m *Nodes) GetTotalUnknown() int32 {
	if m != nil {
		return m.TotalUnknown
	}
	return 0
}

type ResultsRow struct {
	NodeId               string               `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	ReportId             string               `protobuf:"bytes,2,opt,name=report_id,json=reportId,proto3" json:"report_id,omitempty"`
	Status               string               `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	Result               string               `protobuf:"bytes,4,opt,name=result,proto3" json:"result,omitempty"`
	JobId                string               `protobuf:"bytes,5,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	StartTime            *timestamp.Timestamp `protobuf:"bytes,20,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	EndTime              *timestamp.Timestamp `protobuf:"bytes,21,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ResultsRow) Reset()         { *m = ResultsRow{} }
func (m *ResultsRow) String() string { return proto.CompactTextString(m) }
func (*ResultsRow) ProtoMessage()    {}
func (*ResultsRow) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{12}
}
func (m *ResultsRow) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ResultsRow.Unmarshal(m, b)
}
func (m *ResultsRow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ResultsRow.Marshal(b, m, deterministic)
}
func (dst *ResultsRow) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ResultsRow.Merge(dst, src)
}
func (m *ResultsRow) XXX_Size() int {
	return xxx_messageInfo_ResultsRow.Size(m)
}
func (m *ResultsRow) XXX_DiscardUnknown() {
	xxx_messageInfo_ResultsRow.DiscardUnknown(m)
}

var xxx_messageInfo_ResultsRow proto.InternalMessageInfo

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

func (m *ResultsRow) GetReportId() string {
	if m != nil {
		return m.ReportId
	}
	return ""
}

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

func (m *ResultsRow) GetResult() string {
	if m != nil {
		return m.Result
	}
	return ""
}

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

func (m *ResultsRow) GetStartTime() *timestamp.Timestamp {
	if m != nil {
		return m.StartTime
	}
	return nil
}

func (m *ResultsRow) GetEndTime() *timestamp.Timestamp {
	if m != nil {
		return m.EndTime
	}
	return nil
}

type BulkDeleteResponse struct {
	Names                []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BulkDeleteResponse) Reset()         { *m = BulkDeleteResponse{} }
func (m *BulkDeleteResponse) String() string { return proto.CompactTextString(m) }
func (*BulkDeleteResponse) ProtoMessage()    {}
func (*BulkDeleteResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_nodes_b1bc466bae1b1a8d, []int{13}
}
func (m *BulkDeleteResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BulkDeleteResponse.Unmarshal(m, b)
}
func (m *BulkDeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BulkDeleteResponse.Marshal(b, m, deterministic)
}
func (dst *BulkDeleteResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BulkDeleteResponse.Merge(dst, src)
}
func (m *BulkDeleteResponse) XXX_Size() int {
	return xxx_messageInfo_BulkDeleteResponse.Size(m)
}
func (m *BulkDeleteResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_BulkDeleteResponse.DiscardUnknown(m)
}

var xxx_messageInfo_BulkDeleteResponse proto.InternalMessageInfo

func (m *BulkDeleteResponse) GetNames() []string {
	if m != nil {
		return m.Names
	}
	return nil
}

func init() {
	proto.RegisterType((*NodeError)(nil), "chef.automate.domain.nodemanager.api.nodes.NodeError")
	proto.RegisterType((*NodeDetectJobInfo)(nil), "chef.automate.domain.nodemanager.api.nodes.NodeDetectJobInfo")
	proto.RegisterType((*RerunResponse)(nil), "chef.automate.domain.nodemanager.api.nodes.RerunResponse")
	proto.RegisterType((*Ids)(nil), "chef.automate.domain.nodemanager.api.nodes.Ids")
	proto.RegisterType((*Id)(nil), "chef.automate.domain.nodemanager.api.nodes.Id")
	proto.RegisterType((*Query)(nil), "chef.automate.domain.nodemanager.api.nodes.Query")
	proto.RegisterType((*TargetConfig)(nil), "chef.automate.domain.nodemanager.api.nodes.TargetConfig")
	proto.RegisterType((*NodeSecrets)(nil), "chef.automate.domain.nodemanager.api.nodes.NodeSecrets")
	proto.RegisterType((*Node)(nil), "chef.automate.domain.nodemanager.api.nodes.Node")
	proto.RegisterType((*ProjectsData)(nil), "chef.automate.domain.nodemanager.api.nodes.ProjectsData")
	proto.RegisterType((*LastContactData)(nil), "chef.automate.domain.nodemanager.api.nodes.LastContactData")
	proto.RegisterType((*Nodes)(nil), "chef.automate.domain.nodemanager.api.nodes.Nodes")
	proto.RegisterType((*ResultsRow)(nil), "chef.automate.domain.nodemanager.api.nodes.ResultsRow")
	proto.RegisterType((*BulkDeleteResponse)(nil), "chef.automate.domain.nodemanager.api.nodes.BulkDeleteResponse")
	proto.RegisterEnum("chef.automate.domain.nodemanager.api.nodes.Query_OrderType", Query_OrderType_name, Query_OrderType_value)
	proto.RegisterEnum("chef.automate.domain.nodemanager.api.nodes.LastContactData_Status", LastContactData_Status_name, LastContactData_Status_value)
}

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

// 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.SupportPackageIsVersion4

// NodesServiceClient is the client API for NodesService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NodesServiceClient interface {
	Create(ctx context.Context, in *Node, opts ...grpc.CallOption) (*Id, error)
	Read(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Node, error)
	Update(ctx context.Context, in *Node, opts ...grpc.CallOption) (*empty.Empty, error)
	Delete(ctx context.Context, in *Id, opts ...grpc.CallOption) (*empty.Empty, error)
	List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Nodes, error)
	BulkDelete(ctx context.Context, in *Query, opts ...grpc.CallOption) (*BulkDeleteResponse, error)
	BulkCreate(ctx context.Context, in *Nodes, opts ...grpc.CallOption) (*Ids, error)
	UpdateNodeDetectInfo(ctx context.Context, in *NodeDetectJobInfo, opts ...grpc.CallOption) (*empty.Empty, error)
	UpdateNodeConnectionError(ctx context.Context, in *NodeError, opts ...grpc.CallOption) (*empty.Empty, error)
	BulkDeleteById(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*BulkDeleteResponse, error)
}

type nodesServiceClient struct {
	cc *grpc.ClientConn
}

func NewNodesServiceClient(cc *grpc.ClientConn) NodesServiceClient {
	return &nodesServiceClient{cc}
}

func (c *nodesServiceClient) Create(ctx context.Context, in *Node, opts ...grpc.CallOption) (*Id, error) {
	out := new(Id)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) Read(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Node, error) {
	out := new(Node)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Read", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) Update(ctx context.Context, in *Node, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) Delete(ctx context.Context, in *Id, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*Nodes, error) {
	out := new(Nodes)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) BulkDelete(ctx context.Context, in *Query, opts ...grpc.CallOption) (*BulkDeleteResponse, error) {
	out := new(BulkDeleteResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDelete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) BulkCreate(ctx context.Context, in *Nodes, opts ...grpc.CallOption) (*Ids, error) {
	out := new(Ids)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkCreate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) UpdateNodeDetectInfo(ctx context.Context, in *NodeDetectJobInfo, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeDetectInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) UpdateNodeConnectionError(ctx context.Context, in *NodeError, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeConnectionError", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodesServiceClient) BulkDeleteById(ctx context.Context, in *Ids, opts ...grpc.CallOption) (*BulkDeleteResponse, error) {
	out := new(BulkDeleteResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDeleteById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NodesServiceServer is the server API for NodesService service.
type NodesServiceServer interface {
	Create(context.Context, *Node) (*Id, error)
	Read(context.Context, *Id) (*Node, error)
	Update(context.Context, *Node) (*empty.Empty, error)
	Delete(context.Context, *Id) (*empty.Empty, error)
	List(context.Context, *Query) (*Nodes, error)
	BulkDelete(context.Context, *Query) (*BulkDeleteResponse, error)
	BulkCreate(context.Context, *Nodes) (*Ids, error)
	UpdateNodeDetectInfo(context.Context, *NodeDetectJobInfo) (*empty.Empty, error)
	UpdateNodeConnectionError(context.Context, *NodeError) (*empty.Empty, error)
	BulkDeleteById(context.Context, *Ids) (*BulkDeleteResponse, error)
}

func RegisterNodesServiceServer(s *grpc.Server, srv NodesServiceServer) {
	s.RegisterService(&_NodesService_serviceDesc, srv)
}

func _NodesService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Node)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Create(ctx, req.(*Node))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Id)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Read(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Read",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Read(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Node)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Update(ctx, req.(*Node))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Id)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).Delete(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Query)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).List(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_BulkDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Query)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).BulkDelete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDelete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).BulkDelete(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_BulkCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Nodes)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).BulkCreate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkCreate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).BulkCreate(ctx, req.(*Nodes))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_UpdateNodeDetectInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeDetectJobInfo)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).UpdateNodeDetectInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeDetectInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).UpdateNodeDetectInfo(ctx, req.(*NodeDetectJobInfo))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_UpdateNodeConnectionError_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeError)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).UpdateNodeConnectionError(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/UpdateNodeConnectionError",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).UpdateNodeConnectionError(ctx, req.(*NodeError))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodesService_BulkDeleteById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Ids)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodesServiceServer).BulkDeleteById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.domain.nodemanager.api.nodes.NodesService/BulkDeleteById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodesServiceServer).BulkDeleteById(ctx, req.(*Ids))
	}
	return interceptor(ctx, in, info, handler)
}

var _NodesService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.domain.nodemanager.api.nodes.NodesService",
	HandlerType: (*NodesServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _NodesService_Create_Handler,
		},
		{
			MethodName: "Read",
			Handler:    _NodesService_Read_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _NodesService_Update_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _NodesService_Delete_Handler,
		},
		{
			MethodName: "List",
			Handler:    _NodesService_List_Handler,
		},
		{
			MethodName: "BulkDelete",
			Handler:    _NodesService_BulkDelete_Handler,
		},
		{
			MethodName: "BulkCreate",
			Handler:    _NodesService_BulkCreate_Handler,
		},
		{
			MethodName: "UpdateNodeDetectInfo",
			Handler:    _NodesService_UpdateNodeDetectInfo_Handler,
		},
		{
			MethodName: "UpdateNodeConnectionError",
			Handler:    _NodesService_UpdateNodeConnectionError_Handler,
		},
		{
			MethodName: "BulkDeleteById",
			Handler:    _NodesService_BulkDeleteById_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "components/nodemanager-service/api/nodes/nodes.proto",
}

func init() {
	proto.RegisterFile("components/nodemanager-service/api/nodes/nodes.proto", fileDescriptor_nodes_b1bc466bae1b1a8d)
}

var fileDescriptor_nodes_b1bc466bae1b1a8d = []byte{
	// 1752 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdd, 0x6f, 0xdb, 0xc8,
	0x11, 0xb7, 0xbe, 0xa5, 0x91, 0xfc, 0x91, 0xad, 0x93, 0x30, 0x4a, 0x2e, 0x76, 0x98, 0xeb, 0x9d,
	0x7b, 0x45, 0xe5, 0x9e, 0xdb, 0xb4, 0xd7, 0x8f, 0x2b, 0xe0, 0xaf, 0x00, 0x4a, 0x02, 0xc7, 0xa1,
	0x9d, 0xeb, 0xe1, 0x80, 0x03, 0xb1, 0x22, 0x57, 0x32, 0x6d, 0x8a, 0xcb, 0xee, 0xae, 0xe2, 0xba,
	0x6f, 0x45, 0x1f, 0x5a, 0xa0, 0xff, 0x4a, 0xff, 0xa7, 0x1e, 0xd0, 0x3f, 0xa3, 0x2f, 0xc5, 0xcc,
	0x92, 0x92, 0x1c, 0x27, 0x4e, 0x98, 0xf4, 0x49, 0x3b, 0xc3, 0x99, 0xdf, 0xce, 0xce, 0xcc, 0xce,
	0xcc, 0x0a, 0x7e, 0x19, 0xc8, 0x71, 0x2a, 0x13, 0x91, 0x18, 0xbd, 0x99, 0xc8, 0x50, 0x8c, 0x79,
	0xc2, 0x47, 0x42, 0xfd, 0x4c, 0x0b, 0xf5, 0x2a, 0x0a, 0xc4, 0x26, 0x4f, 0x23, 0xe2, 0xdb, 0xaf,
	0xba, 0x97, 0x2a, 0x69, 0x24, 0xfb, 0x22, 0x38, 0x11, 0xc3, 0x1e, 0x9f, 0x18, 0x39, 0xe6, 0x46,
	0xf4, 0x42, 0x39, 0xe6, 0x51, 0xd2, 0x9b, 0xd3, 0xef, 0xf1, 0x34, 0x22, 0x5a, 0x77, 0xd7, 0x46,
	0x52, 0x8e, 0x62, 0xb1, 0x49, 0x9a, 0x83, 0xc9, 0x70, 0xd3, 0x44, 0x63, 0xa1, 0x0d, 0x1f, 0xa7,
	0x16, 0xac, 0x7b, 0x2f, 0x13, 0xc0, 0xad, 0x78, 0x92, 0x48, 0xc3, 0x4d, 0x24, 0x93, 0x6c, 0xab,
	0xee, 0xdd, 0xd7, 0xd5, 0xc5, 0x38, 0x35, 0x17, 0xd9, 0xc7, 0x47, 0x73, 0xd6, 0xe3, 0x32, 0x8e,
	0x78, 0x12, 0x88, 0x4b, 0xc6, 0x07, 0x72, 0x3c, 0x96, 0x49, 0xf6, 0x63, 0xd5, 0xdc, 0xe7, 0xd0,
	0x3a, 0x90, 0xa1, 0xd8, 0x57, 0x4a, 0x2a, 0x76, 0x1b, 0x1a, 0x68, 0xa8, 0x1f, 0x85, 0x4e, 0x69,
	0xbd, 0xb4, 0xd1, 0xf2, 0xea, 0x48, 0xf6, 0x43, 0xf6, 0x13, 0x58, 0x09, 0x64, 0x92, 0x88, 0x00,
	0xcd, 0xf1, 0x05, 0x0a, 0x3b, 0x65, 0x92, 0x58, 0x9e, 0xf1, 0x09, 0xc3, 0xfd, 0x57, 0x19, 0x6e,
	0x20, 0xe2, 0x9e, 0x30, 0x22, 0x30, 0x4f, 0xe4, 0xa0, 0x9f, 0x0c, 0xe5, 0xdb, 0x91, 0x1f, 0xc2,
	0x62, 0x1a, 0x73, 0x33, 0x94, 0x6a, 0xec, 0x27, 0x7c, 0x2c, 0x32, 0xd8, 0x4e, 0xce, 0x3c, 0xe0,
	0x63, 0x81, 0xdb, 0x4f, 0x85, 0x94, 0x88, 0x05, 0xd7, 0xc2, 0xa9, 0xd8, 0xed, 0x73, 0xbe, 0x67,
	0xd9, 0x6c, 0x0d, 0xda, 0xb4, 0x91, 0x36, 0xdc, 0x4c, 0xb4, 0x53, 0x25, 0x29, 0x40, 0xd6, 0x11,
	0x71, 0xd8, 0xef, 0xa1, 0x73, 0x2a, 0x07, 0xbe, 0x48, 0x42, 0x1f, 0xbd, 0xef, 0xd4, 0xd6, 0x4b,
	0x1b, 0xed, 0xad, 0x6e, 0xcf, 0xfa, 0xb6, 0x97, 0xfb, 0xb6, 0x77, 0x9c, 0x87, 0xc6, 0x83, 0x53,
	0x39, 0xd8, 0x4f, 0x42, 0x64, 0xb0, 0x9b, 0x50, 0x47, 0xed, 0x28, 0x74, 0xea, 0x84, 0x5c, 0x3b,
	0x95, 0x83, 0x7e, 0xc8, 0x3e, 0x01, 0x98, 0xee, 0x2a, 0x9c, 0x06, 0x7d, 0x6a, 0xe5, 0x9b, 0x0a,
	0x76, 0x07, 0x9a, 0xa8, 0x65, 0x2e, 0x52, 0xe1, 0x34, 0xe9, 0x63, 0xe3, 0x54, 0x0e, 0x8e, 0x2f,
	0x52, 0xe1, 0x2e, 0xc3, 0xa2, 0x27, 0xd4, 0x24, 0xf1, 0x84, 0x4e, 0x65, 0xa2, 0x85, 0x7b, 0x1b,
	0x2a, 0xfd, 0x50, 0xb3, 0x15, 0xa8, 0x44, 0xa1, 0x76, 0x4a, 0xeb, 0x95, 0x8d, 0x96, 0x87, 0x4b,
	0x77, 0x15, 0xca, 0xfd, 0x90, 0x2d, 0x41, 0x79, 0xea, 0xc3, 0x72, 0x14, 0xba, 0xff, 0x2c, 0x43,
	0xed, 0xc5, 0x44, 0xa8, 0x0b, 0xf6, 0x0c, 0x1a, 0xc3, 0x28, 0x36, 0x42, 0x69, 0x67, 0x75, 0xbd,
	0xb2, 0xd1, 0xde, 0xda, 0xea, 0xbd, 0x31, 0x35, 0x67, 0xc9, 0x41, 0x99, 0x99, 0x65, 0xc3, 0x63,
	0x52, 0xf5, 0x72, 0x08, 0xf6, 0x02, 0x6a, 0x52, 0x85, 0x42, 0x39, 0x37, 0xd7, 0x4b, 0x1b, 0x4b,
	0x5b, 0xbf, 0xeb, 0xbd, 0x7f, 0x9a, 0xf7, 0xc8, 0x9e, 0xde, 0x73, 0x54, 0xc7, 0x33, 0x7a, 0x16,
	0x89, 0x31, 0xa8, 0x6a, 0xa9, 0x8c, 0x73, 0x8b, 0x8c, 0xa7, 0x35, 0xf2, 0x52, 0x3e, 0x12, 0xce,
	0xed, 0xf5, 0xd2, 0x46, 0xcd, 0xa3, 0x35, 0x7a, 0x2b, 0x15, 0xca, 0x27, 0xbe, 0x43, 0xfc, 0x46,
	0x2a, 0xd4, 0x21, 0x1f, 0x09, 0xf7, 0x3e, 0xb4, 0xa6, 0xb0, 0xac, 0x01, 0x95, 0xed, 0xa3, 0xdd,
	0x95, 0x05, 0xd6, 0x84, 0xea, 0xde, 0xfe, 0xd1, 0xee, 0x4a, 0xc9, 0xfd, 0x7b, 0x0d, 0x3a, 0xc7,
	0x5c, 0x8d, 0x84, 0xd9, 0x95, 0xc9, 0x30, 0x1a, 0x31, 0x07, 0x1a, 0x5a, 0x04, 0x4a, 0x18, 0xeb,
	0x94, 0x96, 0x97, 0x93, 0xec, 0x16, 0xd4, 0x31, 0x6f, 0xb8, 0xa1, 0x13, 0xb6, 0xbc, 0x8c, 0x42,
	0x8d, 0x01, 0x0f, 0xce, 0x44, 0x12, 0x66, 0x86, 0xe6, 0x24, 0xda, 0x7a, 0x22, 0xb5, 0x21, 0x5b,
	0x5b, 0x1e, 0xad, 0xc9, 0x7e, 0x3c, 0x93, 0x93, 0xd9, 0x3f, 0x3d, 0x93, 0x39, 0x71, 0xee, 0x58,
	0x39, 0x5c, 0xd3, 0xd9, 0x27, 0xa1, 0x74, 0xba, 0xeb, 0xa5, 0x8d, 0xa6, 0x47, 0x6b, 0x0c, 0xb1,
	0xd6, 0xb1, 0x73, 0x97, 0x58, 0xb8, 0xc4, 0xe4, 0xd5, 0x22, 0x1e, 0xfa, 0x3a, 0x1a, 0x25, 0x22,
	0x74, 0xee, 0xd1, 0x17, 0x40, 0xd6, 0x11, 0x71, 0x10, 0x66, 0xa2, 0x85, 0x72, 0x3e, 0xb1, 0xd0,
	0xb8, 0x66, 0x5d, 0x68, 0xa6, 0x5c, 0xeb, 0x73, 0xa9, 0x42, 0xe7, 0x3e, 0xf1, 0xa7, 0x34, 0xbb,
	0x0b, 0xad, 0x33, 0x71, 0xe1, 0x0f, 0xa3, 0x58, 0x68, 0x67, 0x8d, 0x1c, 0xd0, 0x3c, 0x13, 0x17,
	0x8f, 0x91, 0xc6, 0xab, 0x87, 0x76, 0xf8, 0x53, 0xed, 0x75, 0x7b, 0xf5, 0x90, 0x79, 0x98, 0x23,
	0x3c, 0x00, 0xa2, 0x7d, 0x99, 0x52, 0x25, 0x72, 0x1e, 0x90, 0x4c, 0x1b, 0x79, 0xcf, 0x2d, 0x0b,
	0x3d, 0xa9, 0xc4, 0x28, 0x92, 0x89, 0xe3, 0x5a, 0x4f, 0x5a, 0x8a, 0x7d, 0x0e, 0xcb, 0x7a, 0x32,
	0xd0, 0x81, 0x8a, 0x48, 0x10, 0x2f, 0xcd, 0x43, 0x12, 0x58, 0x9a, 0x67, 0xf7, 0x43, 0x0c, 0x38,
	0x3f, 0xd7, 0x3e, 0x9d, 0xec, 0x53, 0xeb, 0x73, 0x7e, 0xae, 0x5f, 0xe2, 0xe1, 0x1e, 0x40, 0x07,
	0x3f, 0x4d, 0x4d, 0xfc, 0xb1, 0xdd, 0x9e, 0x9f, 0xeb, 0xa9, 0x85, 0xdf, 0xa2, 0xd3, 0x28, 0xa6,
	0x3e, 0x57, 0xca, 0xf9, 0x8c, 0x72, 0xff, 0xd7, 0x45, 0xf2, 0x15, 0xcb, 0xd5, 0x91, 0x85, 0x40,
	0x6f, 0xd3, 0x62, 0x5b, 0x29, 0xf6, 0x29, 0x2c, 0x8d, 0x82, 0xd4, 0x0f, 0x94, 0x08, 0xb5, 0x7f,
	0xaa, 0x65, 0xe2, 0x7c, 0x6e, 0x3d, 0x34, 0x0a, 0xd2, 0x5d, 0x64, 0x3e, 0xd1, 0x32, 0x61, 0xab,
	0x50, 0xc3, 0x54, 0xd0, 0xce, 0x06, 0xf9, 0xd7, 0x12, 0xee, 0x0f, 0x65, 0x68, 0xcf, 0xe1, 0x4e,
	0x23, 0x57, 0x7a, 0x4b, 0xe4, 0xca, 0xd7, 0x45, 0xae, 0xf2, 0xae, 0xc8, 0x55, 0xdf, 0x23, 0x72,
	0xb5, 0xab, 0x91, 0x9b, 0x77, 0x7c, 0xfd, 0x7a, 0xc7, 0x37, 0xae, 0x3a, 0xfe, 0x33, 0x58, 0xe6,
	0x7f, 0x99, 0x28, 0xe1, 0x07, 0x71, 0x24, 0x12, 0x83, 0xf1, 0xb5, 0xc5, 0x6d, 0x91, 0xd8, 0xbb,
	0xc4, 0xed, 0x87, 0xac, 0x07, 0x3f, 0xba, 0x24, 0x67, 0x3d, 0xec, 0xb4, 0x48, 0xf6, 0xc6, 0x9c,
	0xac, 0xf5, 0xd5, 0x0c, 0xd7, 0x88, 0x84, 0x5b, 0x5c, 0x98, 0xc3, 0x3d, 0x26, 0x6e, 0x3f, 0x74,
	0xff, 0xd1, 0x80, 0x2a, 0xba, 0xf8, 0xf5, 0x9a, 0x88, 0xbe, 0x9e, 0x6b, 0x25, 0xb4, 0x26, 0x5f,
	0x67, 0xad, 0x22, 0x6b, 0x1d, 0x53, 0xfa, 0x52, 0x7b, 0x79, 0x25, 0x94, 0xc6, 0x54, 0xae, 0x5e,
	0x6e, 0x2f, 0xdf, 0x58, 0x36, 0x56, 0x87, 0x2c, 0x7f, 0x32, 0x7f, 0xe6, 0x24, 0xdb, 0x81, 0xaa,
	0xe1, 0xa3, 0xbc, 0xf6, 0xf6, 0x8a, 0xd4, 0xde, 0xa7, 0xaf, 0x3c, 0xd2, 0x65, 0x5f, 0x43, 0x27,
	0xe6, 0xda, 0xf8, 0x81, 0x4c, 0x0c, 0x0f, 0x6c, 0x65, 0xba, 0xbe, 0x37, 0xb5, 0x51, 0x7e, 0xd7,
	0x8a, 0xe3, 0x45, 0xcc, 0xda, 0x9e, 0xad, 0x5c, 0x19, 0xc5, 0x5e, 0x40, 0x93, 0x60, 0x4f, 0xe5,
	0x80, 0x8a, 0x57, 0x7b, 0xeb, 0x57, 0x45, 0xae, 0x87, 0x27, 0xf4, 0x24, 0x36, 0xda, 0x93, 0xe7,
	0x5e, 0x03, 0x71, 0x9e, 0xc8, 0x01, 0xfb, 0x1e, 0x16, 0x0d, 0xd5, 0x59, 0xb4, 0x75, 0x18, 0x8d,
	0x9c, 0x80, 0x70, 0xbf, 0x2a, 0x82, 0x3b, 0x5f, 0xa8, 0xbd, 0x8e, 0x99, 0x2f, 0xdb, 0x6b, 0xd0,
	0xce, 0xe4, 0x7d, 0xec, 0x82, 0x0e, 0xe5, 0x3f, 0x64, 0x2c, 0x6c, 0x8f, 0x6f, 0x1a, 0x48, 0xee,
	0xbc, 0x71, 0x20, 0xc1, 0xfb, 0x69, 0xdb, 0x72, 0xd7, 0x76, 0x6c, 0x22, 0x68, 0x4e, 0xe0, 0x63,
	0xe1, 0xa7, 0x4a, 0x0c, 0xa3, 0x3f, 0x53, 0x11, 0xc6, 0x39, 0x81, 0x8f, 0xc5, 0x21, 0x71, 0x28,
	0x61, 0x94, 0x3c, 0x15, 0x81, 0xd1, 0xce, 0x3d, 0x7b, 0xff, 0x72, 0x9a, 0x7d, 0x03, 0x4d, 0x35,
	0x49, 0xfc, 0x90, 0x1b, 0x4e, 0xa5, 0xb8, 0x5d, 0xac, 0x3f, 0x3e, 0x9b, 0xc5, 0x6c, 0x8f, 0x1b,
	0xee, 0x35, 0xd4, 0x24, 0xc1, 0x05, 0xfb, 0x16, 0x5a, 0x3a, 0xe0, 0x19, 0xf0, 0xfd, 0x8f, 0x07,
	0x6e, 0x22, 0x1a, 0x21, 0x7f, 0x0f, 0x8b, 0xb9, 0xf5, 0x16, 0x7d, 0x8d, 0xd2, 0xb4, 0x50, 0xbc,
	0x0e, 0x33, 0x00, 0x82, 0xee, 0xa4, 0x73, 0x94, 0xfb, 0x15, 0x74, 0xe6, 0xbf, 0x62, 0x6b, 0x3b,
	0x13, 0x17, 0xd9, 0x95, 0xc4, 0x25, 0xe6, 0xe6, 0x2b, 0x1e, 0x4f, 0x84, 0x76, 0xca, 0xe4, 0xcc,
	0x8c, 0x72, 0xff, 0x53, 0x86, 0xe5, 0xd7, 0xcc, 0xbe, 0x72, 0x9f, 0xbf, 0x9b, 0xe6, 0x75, 0x99,
	0x86, 0x91, 0x9d, 0x8f, 0xf0, 0x49, 0xcf, 0x8e, 0x81, 0xd3, 0xbb, 0xf1, 0x27, 0x60, 0xa9, 0x48,
	0x26, 0xb1, 0x89, 0x10, 0x2a, 0x1f, 0x1b, 0x2b, 0xff, 0xb7, 0x7d, 0x6e, 0xcc, 0xa1, 0x67, 0x13,
	0xe8, 0x23, 0x68, 0x4e, 0xa7, 0xcf, 0xea, 0x3b, 0x6f, 0x78, 0x43, 0xd8, 0xd1, 0xd3, 0xfd, 0x2d,
	0xd4, 0x33, 0x80, 0x36, 0x34, 0x5e, 0x1e, 0x3c, 0x3d, 0x78, 0xfe, 0xc7, 0x83, 0x95, 0x05, 0x06,
	0x50, 0x3f, 0xdc, 0x3e, 0x3a, 0xda, 0xdf, 0x5b, 0x29, 0xe1, 0xfa, 0xf1, 0x76, 0xff, 0xd9, 0xfe,
	0xde, 0x4a, 0x19, 0x85, 0x8e, 0x9e, 0xf6, 0x0f, 0x0f, 0xf7, 0xf7, 0x56, 0x2a, 0xee, 0x0f, 0x25,
	0xa8, 0x61, 0xa9, 0xd4, 0xec, 0x31, 0xd4, 0xc8, 0x5e, 0x9a, 0x2c, 0xdb, 0x5b, 0x3f, 0x2f, 0xda,
	0x27, 0x3d, 0xab, 0x8e, 0xb7, 0xca, 0x48, 0xc3, 0x63, 0x67, 0x95, 0x26, 0x1f, 0x4b, 0xb0, 0x9f,
	0xc2, 0x0d, 0x5a, 0xf8, 0x93, 0x44, 0x09, 0x1e, 0x9c, 0xf0, 0x41, 0x2c, 0xa8, 0x8a, 0xd5, 0xbc,
	0x15, 0xfa, 0xf0, 0x72, 0xc6, 0xc7, 0xf9, 0xc0, 0x0a, 0xcf, 0x44, 0x6f, 0x91, 0xe8, 0x12, 0xb1,
	0xbd, 0xa9, 0xe0, 0x43, 0x58, 0xcc, 0x51, 0xcf, 0x12, 0x79, 0x9e, 0x64, 0xd3, 0x62, 0x27, 0x43,
	0x24, 0x9e, 0xfb, 0xdf, 0x12, 0xc0, 0xac, 0x52, 0xbd, 0xfd, 0xc1, 0x71, 0x17, 0x5a, 0x4a, 0xe0,
	0x9c, 0x86, 0x9f, 0xb2, 0xae, 0x6b, 0x19, 0xfd, 0x70, 0xae, 0x82, 0x56, 0x2e, 0x55, 0x50, 0x1a,
	0x71, 0x10, 0x3b, 0xeb, 0x0b, 0x19, 0x35, 0xf7, 0x1c, 0xa8, 0xcd, 0x3f, 0x07, 0x7e, 0x03, 0xa0,
	0x0d, 0x57, 0xc6, 0xc6, 0x78, 0xf5, 0x9d, 0x31, 0x6e, 0x91, 0x34, 0x3d, 0x30, 0xe6, 0x93, 0xe3,
	0xe6, 0xfb, 0x27, 0xc7, 0x17, 0xc0, 0x76, 0x26, 0xf1, 0xd9, 0x9e, 0x88, 0x85, 0x11, 0xf9, 0x5b,
	0x02, 0x83, 0x84, 0x15, 0x2d, 0x7f, 0x46, 0x58, 0x62, 0xeb, 0xdf, 0x4d, 0xe8, 0x50, 0x32, 0x1c,
	0xd9, 0xb7, 0x21, 0x8b, 0xa1, 0xbe, 0xab, 0x04, 0x56, 0xc5, 0xc2, 0xe9, 0xd0, 0xed, 0x15, 0xd1,
	0xe8, 0x87, 0xee, 0x02, 0x3b, 0x85, 0xaa, 0x27, 0x78, 0xc8, 0x0a, 0x6a, 0x76, 0x0b, 0xdb, 0xe6,
	0x2e, 0xb0, 0x63, 0xa8, 0xbf, 0x4c, 0xc3, 0x0f, 0x3b, 0xd9, 0xad, 0x2b, 0x7e, 0xdf, 0xc7, 0xe7,
	0xb6, 0xbb, 0xc0, 0x3c, 0xa8, 0x5b, 0x47, 0x17, 0x3e, 0xc3, 0xdb, 0x31, 0x13, 0xa8, 0x3e, 0x8b,
	0xb4, 0x61, 0x5f, 0x16, 0x7e, 0x68, 0x75, 0xbf, 0x2c, 0x7a, 0x34, 0xed, 0x2e, 0xb0, 0xbf, 0x96,
	0x00, 0x66, 0x19, 0xf3, 0x21, 0xdb, 0xfe, 0xa1, 0x88, 0xca, 0xd5, 0xe4, 0x74, 0x17, 0x98, 0xb2,
	0x26, 0x64, 0xb9, 0x57, 0xfc, 0x18, 0xdd, 0xcd, 0x62, 0xee, 0xc7, 0x73, 0x4b, 0x58, 0xb5, 0x19,
	0x31, 0xfb, 0x8f, 0x82, 0xfe, 0xa0, 0xf8, 0xba, 0xe8, 0xee, 0x97, 0xfe, 0xdf, 0xb8, 0x26, 0xb0,
	0x31, 0xdc, 0x99, 0x6d, 0xb8, 0xfb, 0xda, 0x6c, 0xf2, 0xa8, 0xe8, 0xae, 0xa4, 0x76, 0xcd, 0x6e,
	0x7f, 0x2b, 0xc1, 0xd2, 0xcc, 0xd7, 0x3b, 0x17, 0xfd, 0x90, 0x15, 0x75, 0xd2, 0xc7, 0x07, 0x76,
	0x67, 0xf7, 0xbb, 0xed, 0x51, 0x64, 0x4e, 0x26, 0x03, 0x9c, 0x70, 0x37, 0x11, 0x6d, 0x33, 0x47,
	0xdb, 0x7c, 0xdf, 0x3f, 0xd9, 0x06, 0x75, 0x3a, 0xdc, 0x2f, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff,
	0xc5, 0x2e, 0xec, 0xdf, 0x97, 0x13, 0x00, 0x00,
}
