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

package manager

import (
	context "context"
	_ "github.com/chef/automate/api/external/annotations/iam"
	query "github.com/chef/automate/api/external/common/query"
	_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Sort the results in ascending or descending order.
type Query_OrderType int32

const (
	Query_ASC  Query_OrderType = 0
	Query_DESC Query_OrderType = 1
)

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

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

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

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

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

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

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

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

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

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

func (*ConnectResponse) ProtoMessage() {}

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

// Deprecated: Use ConnectResponse.ProtoReflect.Descriptor instead.
func (*ConnectResponse) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{0}
}

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

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

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

func (*Id) ProtoMessage() {}

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

// Deprecated: Use Id.ProtoReflect.Descriptor instead.
func (*Id) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{1}
}

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

type Ids struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of node manager UUIDs.
	Ids           []*Id `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Ids) ProtoMessage() {}

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

// Deprecated: Use Ids.ProtoReflect.Descriptor instead.
func (*Ids) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{2}
}

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

type Query struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Filters for the query: "manager_type".
	FilterMap []*query.Filter `protobuf:"bytes,25,rep,name=filter_map,json=filterMap,proto3" json:"filter_map,omitempty"`
	Order     Query_OrderType `protobuf:"varint,21,opt,name=order,proto3,enum=chef.automate.api.nodes.manager.v1.Query_OrderType" json:"order,omitempty"`
	// Field to use for sorting.
	// Valid fields are: name, type, status, status_message, date_added.
	Sort string `protobuf:"bytes,22,opt,name=sort,proto3" json:"sort,omitempty"`
	// Starting page for the list. For example, if your query returns 100 pages,
	// and you know you're looking for a node manager somewhere in the middle,
	// you might want to start on page 50.
	Page int32 `protobuf:"varint,23,opt,name=page,proto3" json:"page,omitempty"`
	// Number of results on each page.
	PerPage       int32 `protobuf:"varint,24,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Query) ProtoMessage() {}

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

// Deprecated: Use Query.ProtoReflect.Descriptor instead.
func (*Query) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{3}
}

func (x *Query) GetFilterMap() []*query.Filter {
	if x != nil {
		return x.FilterMap
	}
	return nil
}

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

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

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

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

type Fields struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// One or more fields: regions, tags, name, subscription_id.
	Fields        []string `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Fields) ProtoMessage() {}

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

// Deprecated: Use Fields.ProtoReflect.Descriptor instead.
func (*Fields) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{4}
}

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

type FieldQuery struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Query details (filters) to be applied to the results.
	Query *Query `protobuf:"bytes,20,opt,name=query,proto3" json:"query,omitempty"`
	// Possible search fields: regions, tags, name, subscription_id.
	Field string `protobuf:"bytes,21,opt,name=field,proto3" json:"field,omitempty"`
	// Node manager ID.
	NodeManagerId string `protobuf:"bytes,22,opt,name=node_manager_id,json=nodeManagerId,proto3" json:"node_manager_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FieldQuery) ProtoMessage() {}

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

// Deprecated: Use FieldQuery.ProtoReflect.Descriptor instead.
func (*FieldQuery) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{5}
}

func (x *FieldQuery) GetQuery() *Query {
	if x != nil {
		return x.Query
	}
	return nil
}

func (x *FieldQuery) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

func (x *FieldQuery) GetNodeManagerId() string {
	if x != nil {
		return x.NodeManagerId
	}
	return ""
}

type Nodes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of node names matching the request.
	Nodes []string `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	// Total count of node names matching the request.
	Total         int32 `protobuf:"varint,20,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Nodes) ProtoMessage() {}

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

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

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

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

type NodeQuery struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Valid search filters: manager_type.
	Query *Query `protobuf:"bytes,20,opt,name=query,proto3" json:"query,omitempty"`
	// Node manager ID.
	NodeManagerId string `protobuf:"bytes,21,opt,name=node_manager_id,json=nodeManagerId,proto3" json:"node_manager_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NodeQuery) ProtoMessage() {}

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

// Deprecated: Use NodeQuery.ProtoReflect.Descriptor instead.
func (*NodeQuery) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{7}
}

func (x *NodeQuery) GetQuery() *Query {
	if x != nil {
		return x.Query
	}
	return nil
}

func (x *NodeQuery) GetNodeManagerId() string {
	if x != nil {
		return x.NodeManagerId
	}
	return ""
}

type NodeManager struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// UUID for the nodemanager.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// User defined name for the node manager.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Type of nodemanager (aws-ec2, azure-vm, aws-api, azure-api, gcp).
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// Use either 'credential_id' OR 'credential_data'.
	// 'credential_data' will overwrite values in 'credential_id'.
	// The 'credential_id' is the UUID of credential with the information
	// you need to connect to aws, azure, or gcp.
	CredentialId string `protobuf:"bytes,20,opt,name=credential_id,json=credentialId,proto3" json:"credential_id,omitempty"`
	// List of tag and credential UUID associations for making node managers.
	// These are ssh, winrm, and sudo creds used to access instances.
	InstanceCredentials []*CredentialsByTags `protobuf:"bytes,21,rep,name=instance_credentials,json=instanceCredentials,proto3" json:"instance_credentials,omitempty"`
	// Status of the nodemanager (reachable, unreachable).
	Status string `protobuf:"bytes,22,opt,name=status,proto3" json:"status,omitempty"`
	// Account id associated with the nodemanager.
	AccountId string `protobuf:"bytes,24,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	// Date the nodemanager was created.
	DateAdded *timestamppb.Timestamp `protobuf:"bytes,25,opt,name=date_added,json=dateAdded,proto3" json:"date_added,omitempty"`
	// Use either 'credential_data' OR 'credential_id'.
	// 'credential_data' will overwrite values in 'credential_id'.
	// Use 'credential_data' when you have not yet created node credentials
	// and provide credential data (such as AWS_ACCESS_KEY) inline.
	CredentialData []*query.Kv `protobuf:"bytes,26,rep,name=credential_data,json=credentialData,proto3" json:"credential_data,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*NodeManager) ProtoMessage() {}

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

// Deprecated: Use NodeManager.ProtoReflect.Descriptor instead.
func (*NodeManager) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{8}
}

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

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

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

func (x *NodeManager) GetCredentialId() string {
	if x != nil {
		return x.CredentialId
	}
	return ""
}

func (x *NodeManager) GetInstanceCredentials() []*CredentialsByTags {
	if x != nil {
		return x.InstanceCredentials
	}
	return nil
}

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

func (x *NodeManager) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

func (x *NodeManager) GetDateAdded() *timestamppb.Timestamp {
	if x != nil {
		return x.DateAdded
	}
	return nil
}

func (x *NodeManager) GetCredentialData() []*query.Kv {
	if x != nil {
		return x.CredentialData
	}
	return nil
}

type CredentialsByTags struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Tag key to match on.
	TagKey string `protobuf:"bytes,20,opt,name=tag_key,json=tagKey,proto3" json:"tag_key,omitempty"`
	// Tag value to match on.
	TagValue string `protobuf:"bytes,21,opt,name=tag_value,json=tagValue,proto3" json:"tag_value,omitempty"`
	// List of credential ids to associate with the key/value pair.
	CredentialIds []string `protobuf:"bytes,22,rep,name=credential_ids,json=credentialIds,proto3" json:"credential_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CredentialsByTags) ProtoMessage() {}

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

// Deprecated: Use CredentialsByTags.ProtoReflect.Descriptor instead.
func (*CredentialsByTags) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{9}
}

func (x *CredentialsByTags) GetTagKey() string {
	if x != nil {
		return x.TagKey
	}
	return ""
}

func (x *CredentialsByTags) GetTagValue() string {
	if x != nil {
		return x.TagValue
	}
	return ""
}

func (x *CredentialsByTags) GetCredentialIds() []string {
	if x != nil {
		return x.CredentialIds
	}
	return nil
}

type NodeManagers struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of nodemanagers.
	Managers []*NodeManager `protobuf:"bytes,1,rep,name=managers,proto3" json:"managers,omitempty"`
	// Total count of nodemanagers.
	Total         int32 `protobuf:"varint,20,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NodeManagers) ProtoMessage() {}

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

// Deprecated: Use NodeManagers.ProtoReflect.Descriptor instead.
func (*NodeManagers) Descriptor() ([]byte, []int) {
	return file_external_nodes_manager_manager_proto_rawDescGZIP(), []int{10}
}

func (x *NodeManagers) GetManagers() []*NodeManager {
	if x != nil {
		return x.Managers
	}
	return nil
}

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

var File_external_nodes_manager_manager_proto protoreflect.FileDescriptor

const file_external_nodes_manager_manager_proto_rawDesc = "" +
	"\n" +
	"$external/nodes/manager/manager.proto\x12\"chef.automate.api.nodes.manager.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a*external/annotations/iam/annotations.proto\x1a&external/common/query/parameters.proto\x1a,protoc-gen-swagger/options/annotations.proto\"\x11\n" +
	"\x0fConnectResponse\"T\n" +
	"\x02Id\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id:>\x92A;\n" +
	"\x05\xd2\x01\x02id22\x120{\"uuid\": \"cd3ad3d9-2776-4ef1-a904-4c229d1642ee\"}\"?\n" +
	"\x03Ids\x128\n" +
	"\x03ids\x18\x01 \x03(\v2&.chef.automate.api.nodes.manager.v1.IdR\x03ids\"\xe7\x02\n" +
	"\x05Query\x12E\n" +
	"\n" +
	"filter_map\x18\x19 \x03(\v2&.chef.automate.api.common.query.FilterR\tfilterMap\x12I\n" +
	"\x05order\x18\x15 \x01(\x0e23.chef.automate.api.nodes.manager.v1.Query.OrderTypeR\x05order\x12\x12\n" +
	"\x04sort\x18\x16 \x01(\tR\x04sort\x12\x12\n" +
	"\x04page\x18\x17 \x01(\x05R\x04page\x12\x19\n" +
	"\bper_page\x18\x18 \x01(\x05R\aperPage\"\x1e\n" +
	"\tOrderType\x12\a\n" +
	"\x03ASC\x10\x00\x12\b\n" +
	"\x04DESC\x10\x01:i\x92Af\n" +
	"\r\xd2\x01\n" +
	"filter_map2U\x12S{\"filter_map\": [{\"key\": \"manager_type\",\"values\":[\"aws-ec2\"]}],\"sort\": \"date_added\"}\" \n" +
	"\x06Fields\x12\x16\n" +
	"\x06fields\x18\x01 \x03(\tR\x06fields\"\xa4\x01\n" +
	"\n" +
	"FieldQuery\x12?\n" +
	"\x05query\x18\x14 \x01(\v2).chef.automate.api.nodes.manager.v1.QueryR\x05query\x12\x14\n" +
	"\x05field\x18\x15 \x01(\tR\x05field\x12&\n" +
	"\x0fnode_manager_id\x18\x16 \x01(\tR\rnodeManagerId:\x17\x92A\x14\n" +
	"\x12\xd2\x01\x0fnode_manager_id\"3\n" +
	"\x05Nodes\x12\x14\n" +
	"\x05nodes\x18\x01 \x03(\tR\x05nodes\x12\x14\n" +
	"\x05total\x18\x14 \x01(\x05R\x05total\"\x8d\x01\n" +
	"\tNodeQuery\x12?\n" +
	"\x05query\x18\x14 \x01(\v2).chef.automate.api.nodes.manager.v1.QueryR\x05query\x12&\n" +
	"\x0fnode_manager_id\x18\x15 \x01(\tR\rnodeManagerId:\x17\x92A\x14\n" +
	"\x12\xd2\x01\x0fnode_manager_id\"\x92\a\n" +
	"\vNodeManager\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
	"\x04type\x18\x03 \x01(\tR\x04type\x12#\n" +
	"\rcredential_id\x18\x14 \x01(\tR\fcredentialId\x12h\n" +
	"\x14instance_credentials\x18\x15 \x03(\v25.chef.automate.api.nodes.manager.v1.CredentialsByTagsR\x13instanceCredentials\x12\x16\n" +
	"\x06status\x18\x16 \x01(\tR\x06status\x12\x1d\n" +
	"\n" +
	"account_id\x18\x18 \x01(\tR\taccountId\x129\n" +
	"\n" +
	"date_added\x18\x19 \x01(\v2\x1a.google.protobuf.TimestampR\tdateAdded\x12K\n" +
	"\x0fcredential_data\x18\x1a \x03(\v2\".chef.automate.api.common.query.KvR\x0ecredentialData:\xfc\x03\x92A\xf8\x03\n" +
	".\xd2\x01\x02id\xd2\x01\rcredential_id\xd2\x01\x0fcredential_data\xd2\x01\x04type2\xc5\x03\x12\xc2\x03{\"account_id\": \"12345EXAMPLE\",\"credential_data\": [{\"key\": \"AWS_ACCESS_KEY_ID\",\"value\": \"AKIAIOSFODNN7EXAMPLE\"},{\"key\": \"AWS_SECRET_ACCESS_KEY\",\"value\": \"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\"},{\"key\": \"AWS_SESSION_TOKEN\",\"value\": \"AQoDYXdzEPT//////////wEXAMPLEt==\"}],\"credential_ID\": \"my-credential-UUID\",\"id\": \"cd3ad3d9-2776-4ef1-a904-1EXAMPLEUUID\",\"instance_credentials\": [],\"name\": \"my aws api integration with session token\",\"type\": \"aws-ec2\"}\"\x9e\x01\n" +
	"\x11CredentialsByTags\x12\x17\n" +
	"\atag_key\x18\x14 \x01(\tR\x06tagKey\x12\x1b\n" +
	"\ttag_value\x18\x15 \x01(\tR\btagValue\x12%\n" +
	"\x0ecredential_ids\x18\x16 \x03(\tR\rcredentialIds:,\x92A)\n" +
	"'\xd2\x01\atag_key\xd2\x01\ttag_value\xd2\x01\x0ecredential_ids\"\x88\x01\n" +
	"\fNodeManagers\x12K\n" +
	"\bmanagers\x18\x01 \x03(\v2/.chef.automate.api.nodes.manager.v1.NodeManagerR\bmanagers\x12\x14\n" +
	"\x05total\x18\x14 \x01(\x05R\x05total:\x15\x92A\x122\x10\x12\x0e{\"total\": \"1\"}2\xf1\x11\n" +
	"\x12NodeManagerService\x12\xb6\x01\n" +
	"\x06Create\x12/.chef.automate.api.nodes.manager.v1.NodeManager\x1a'.chef.automate.api.nodes.manager.v1.Ids\"R\x8a\xb5\x18/\n" +
	"\x12infra:nodeManagers\x12\x19infra:nodeManagers:create\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v0/nodemanagers\x12\xba\x01\n" +
	"\x04Read\x12&.chef.automate.api.nodes.manager.v1.Id\x1a/.chef.automate.api.nodes.manager.v1.NodeManager\"Y\x8a\xb5\x181\n" +
	"\x17infra:nodeManagers:{id}\x12\x16infra:nodeManagers:get\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v0/nodemanagers/id/{id}\x12\xb2\x01\n" +
	"\x06Update\x12/.chef.automate.api.nodes.manager.v1.NodeManager\x1a\x16.google.protobuf.Empty\"_\x8a\xb5\x184\n" +
	"\x17infra:nodeManagers:{id}\x12\x19infra:nodeManagers:update\x82\xd3\xe4\x93\x02!:\x01*\x1a\x1c/api/v0/nodemanagers/id/{id}\x12\xa6\x01\n" +
	"\x06Delete\x12&.chef.automate.api.nodes.manager.v1.Id\x1a\x16.google.protobuf.Empty\"\\\x8a\xb5\x184\n" +
	"\x17infra:nodeManagers:{id}\x12\x19infra:nodeManagers:delete\x82\xd3\xe4\x93\x02\x1e*\x1c/api/v0/nodemanagers/id/{id}\x12\xcb\x01\n" +
	"\x0fDeleteWithNodes\x12&.chef.automate.api.nodes.manager.v1.Id\x1a'.chef.automate.api.nodes.manager.v1.Ids\"g\x8a\xb5\x184\n" +
	"\x17infra:nodeManagers:{id}\x12\x19infra:nodeManagers:delete\x82\xd3\xe4\x93\x02)*'/api/v0/nodemanagers/id/{id}/with-nodes\x12\xd2\x01\n" +
	"\x1aDeleteWithNodeStateStopped\x12&.chef.automate.api.nodes.manager.v1.Id\x1a\x16.google.protobuf.Empty\"t\x8a\xb5\x184\n" +
	"\x17infra:nodeManagers:{id}\x12\x19infra:nodeManagers:delete\x82\xd3\xe4\x93\x026*4/api/v0/nodemanagers/id/{id}/with-node-state/stopped\x12\xd8\x01\n" +
	"\x1dDeleteWithNodeStateTerminated\x12&.chef.automate.api.nodes.manager.v1.Id\x1a\x16.google.protobuf.Empty\"w\x8a\xb5\x184\n" +
	"\x17infra:nodeManagers:{id}\x12\x19infra:nodeManagers:delete\x82\xd3\xe4\x93\x029*7/api/v0/nodemanagers/id/{id}/with-node-state/terminated\x12\xbc\x01\n" +
	"\x04List\x12).chef.automate.api.nodes.manager.v1.Query\x1a0.chef.automate.api.nodes.manager.v1.NodeManagers\"W\x8a\xb5\x18-\n" +
	"\x12infra:nodeManagers\x12\x17infra:nodeManagers:list\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/api/v0/nodemanagers/search\x12\xfd\x01\n" +
	"\x10SearchNodeFields\x12..chef.automate.api.nodes.manager.v1.FieldQuery\x1a*.chef.automate.api.nodes.manager.v1.Fields\"\x8c\x01\x8a\xb5\x18F\n" +
	"+infra:nodeManagers:{node_manager_id}:fields\x12\x17infra:nodeManagers:list\x82\xd3\xe4\x93\x02<:\x01*\"7/api/v0/nodemanagers/id/{node_manager_id}/search-fields\x12\xf4\x01\n" +
	"\vSearchNodes\x12-.chef.automate.api.nodes.manager.v1.NodeQuery\x1a).chef.automate.api.nodes.manager.v1.Nodes\"\x8a\x01\x8a\xb5\x18E\n" +
	"*infra:nodeManagers:{node_manager_id}:nodes\x12\x17infra:nodeManagers:list\x82\xd3\xe4\x93\x02;:\x01*\"6/api/v0/nodemanagers/id/{node_manager_id}/search-nodes\x12\xd2\x01\n" +
	"\aConnect\x12&.chef.automate.api.nodes.manager.v1.Id\x1a3.chef.automate.api.nodes.manager.v1.ConnectResponse\"j\x8a\xb5\x189\n" +
	"\x1dinfra:nodeManagers:{id}:nodes\x12\x18infra:nodeManagers:rerun\x82\xd3\xe4\x93\x02':\x01*\"\"/api/v0/nodemanagers/rerun/id/{id}B5Z3github.com/chef/automate/api/external/nodes/managerb\x06proto3"

var (
	file_external_nodes_manager_manager_proto_rawDescOnce sync.Once
	file_external_nodes_manager_manager_proto_rawDescData []byte
)

func file_external_nodes_manager_manager_proto_rawDescGZIP() []byte {
	file_external_nodes_manager_manager_proto_rawDescOnce.Do(func() {
		file_external_nodes_manager_manager_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_external_nodes_manager_manager_proto_rawDesc), len(file_external_nodes_manager_manager_proto_rawDesc)))
	})
	return file_external_nodes_manager_manager_proto_rawDescData
}

var file_external_nodes_manager_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_external_nodes_manager_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_external_nodes_manager_manager_proto_goTypes = []any{
	(Query_OrderType)(0),          // 0: chef.automate.api.nodes.manager.v1.Query.OrderType
	(*ConnectResponse)(nil),       // 1: chef.automate.api.nodes.manager.v1.ConnectResponse
	(*Id)(nil),                    // 2: chef.automate.api.nodes.manager.v1.Id
	(*Ids)(nil),                   // 3: chef.automate.api.nodes.manager.v1.Ids
	(*Query)(nil),                 // 4: chef.automate.api.nodes.manager.v1.Query
	(*Fields)(nil),                // 5: chef.automate.api.nodes.manager.v1.Fields
	(*FieldQuery)(nil),            // 6: chef.automate.api.nodes.manager.v1.FieldQuery
	(*Nodes)(nil),                 // 7: chef.automate.api.nodes.manager.v1.Nodes
	(*NodeQuery)(nil),             // 8: chef.automate.api.nodes.manager.v1.NodeQuery
	(*NodeManager)(nil),           // 9: chef.automate.api.nodes.manager.v1.NodeManager
	(*CredentialsByTags)(nil),     // 10: chef.automate.api.nodes.manager.v1.CredentialsByTags
	(*NodeManagers)(nil),          // 11: chef.automate.api.nodes.manager.v1.NodeManagers
	(*query.Filter)(nil),          // 12: chef.automate.api.common.query.Filter
	(*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
	(*query.Kv)(nil),              // 14: chef.automate.api.common.query.Kv
	(*emptypb.Empty)(nil),         // 15: google.protobuf.Empty
}
var file_external_nodes_manager_manager_proto_depIdxs = []int32{
	2,  // 0: chef.automate.api.nodes.manager.v1.Ids.ids:type_name -> chef.automate.api.nodes.manager.v1.Id
	12, // 1: chef.automate.api.nodes.manager.v1.Query.filter_map:type_name -> chef.automate.api.common.query.Filter
	0,  // 2: chef.automate.api.nodes.manager.v1.Query.order:type_name -> chef.automate.api.nodes.manager.v1.Query.OrderType
	4,  // 3: chef.automate.api.nodes.manager.v1.FieldQuery.query:type_name -> chef.automate.api.nodes.manager.v1.Query
	4,  // 4: chef.automate.api.nodes.manager.v1.NodeQuery.query:type_name -> chef.automate.api.nodes.manager.v1.Query
	10, // 5: chef.automate.api.nodes.manager.v1.NodeManager.instance_credentials:type_name -> chef.automate.api.nodes.manager.v1.CredentialsByTags
	13, // 6: chef.automate.api.nodes.manager.v1.NodeManager.date_added:type_name -> google.protobuf.Timestamp
	14, // 7: chef.automate.api.nodes.manager.v1.NodeManager.credential_data:type_name -> chef.automate.api.common.query.Kv
	9,  // 8: chef.automate.api.nodes.manager.v1.NodeManagers.managers:type_name -> chef.automate.api.nodes.manager.v1.NodeManager
	9,  // 9: chef.automate.api.nodes.manager.v1.NodeManagerService.Create:input_type -> chef.automate.api.nodes.manager.v1.NodeManager
	2,  // 10: chef.automate.api.nodes.manager.v1.NodeManagerService.Read:input_type -> chef.automate.api.nodes.manager.v1.Id
	9,  // 11: chef.automate.api.nodes.manager.v1.NodeManagerService.Update:input_type -> chef.automate.api.nodes.manager.v1.NodeManager
	2,  // 12: chef.automate.api.nodes.manager.v1.NodeManagerService.Delete:input_type -> chef.automate.api.nodes.manager.v1.Id
	2,  // 13: chef.automate.api.nodes.manager.v1.NodeManagerService.DeleteWithNodes:input_type -> chef.automate.api.nodes.manager.v1.Id
	2,  // 14: chef.automate.api.nodes.manager.v1.NodeManagerService.DeleteWithNodeStateStopped:input_type -> chef.automate.api.nodes.manager.v1.Id
	2,  // 15: chef.automate.api.nodes.manager.v1.NodeManagerService.DeleteWithNodeStateTerminated:input_type -> chef.automate.api.nodes.manager.v1.Id
	4,  // 16: chef.automate.api.nodes.manager.v1.NodeManagerService.List:input_type -> chef.automate.api.nodes.manager.v1.Query
	6,  // 17: chef.automate.api.nodes.manager.v1.NodeManagerService.SearchNodeFields:input_type -> chef.automate.api.nodes.manager.v1.FieldQuery
	8,  // 18: chef.automate.api.nodes.manager.v1.NodeManagerService.SearchNodes:input_type -> chef.automate.api.nodes.manager.v1.NodeQuery
	2,  // 19: chef.automate.api.nodes.manager.v1.NodeManagerService.Connect:input_type -> chef.automate.api.nodes.manager.v1.Id
	3,  // 20: chef.automate.api.nodes.manager.v1.NodeManagerService.Create:output_type -> chef.automate.api.nodes.manager.v1.Ids
	9,  // 21: chef.automate.api.nodes.manager.v1.NodeManagerService.Read:output_type -> chef.automate.api.nodes.manager.v1.NodeManager
	15, // 22: chef.automate.api.nodes.manager.v1.NodeManagerService.Update:output_type -> google.protobuf.Empty
	15, // 23: chef.automate.api.nodes.manager.v1.NodeManagerService.Delete:output_type -> google.protobuf.Empty
	3,  // 24: chef.automate.api.nodes.manager.v1.NodeManagerService.DeleteWithNodes:output_type -> chef.automate.api.nodes.manager.v1.Ids
	15, // 25: chef.automate.api.nodes.manager.v1.NodeManagerService.DeleteWithNodeStateStopped:output_type -> google.protobuf.Empty
	15, // 26: chef.automate.api.nodes.manager.v1.NodeManagerService.DeleteWithNodeStateTerminated:output_type -> google.protobuf.Empty
	11, // 27: chef.automate.api.nodes.manager.v1.NodeManagerService.List:output_type -> chef.automate.api.nodes.manager.v1.NodeManagers
	5,  // 28: chef.automate.api.nodes.manager.v1.NodeManagerService.SearchNodeFields:output_type -> chef.automate.api.nodes.manager.v1.Fields
	7,  // 29: chef.automate.api.nodes.manager.v1.NodeManagerService.SearchNodes:output_type -> chef.automate.api.nodes.manager.v1.Nodes
	1,  // 30: chef.automate.api.nodes.manager.v1.NodeManagerService.Connect:output_type -> chef.automate.api.nodes.manager.v1.ConnectResponse
	20, // [20:31] is the sub-list for method output_type
	9,  // [9:20] is the sub-list for method input_type
	9,  // [9:9] is the sub-list for extension type_name
	9,  // [9:9] is the sub-list for extension extendee
	0,  // [0:9] is the sub-list for field type_name
}

func init() { file_external_nodes_manager_manager_proto_init() }
func file_external_nodes_manager_manager_proto_init() {
	if File_external_nodes_manager_manager_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_external_nodes_manager_manager_proto_rawDesc), len(file_external_nodes_manager_manager_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   11,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_external_nodes_manager_manager_proto_goTypes,
		DependencyIndexes: file_external_nodes_manager_manager_proto_depIdxs,
		EnumInfos:         file_external_nodes_manager_manager_proto_enumTypes,
		MessageInfos:      file_external_nodes_manager_manager_proto_msgTypes,
	}.Build()
	File_external_nodes_manager_manager_proto = out.File
	file_external_nodes_manager_manager_proto_goTypes = nil
	file_external_nodes_manager_manager_proto_depIdxs = nil
}

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

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// NodeManagerServiceClient is the client API for NodeManagerService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NodeManagerServiceClient interface {
	// Create a Node Manager
	//
	// Creates a node manager given a name, credential id *or* credential data, and type.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:create
	Create(ctx context.Context, in *NodeManager, opts ...grpc.CallOption) (*Ids, error)
	// View a Node Manager
	//
	// List the details of a node manager.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:get
	Read(ctx context.Context, in *Id, opts ...grpc.CallOption) (*NodeManager, error)
	// Update a Node Manager
	//
	// Update a node manager's metadata, such as its name, associated credential id, or data.
	// This is a PUT operation and it overwrites ALL of the existing node manager metadata. Include all fields, because a PUT operation overwrites any missing fields to empty ("").
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:update
	Update(ctx context.Context, in *NodeManager, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Delete a Node Manager
	//
	// Delete a single node manager. This deletes the node manager itself and
	// reassigns its associated nodes to the Automate node manager.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	Delete(ctx context.Context, in *Id, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Delete a Node Manager and Delete Nodes
	//
	// Delete a node manager and all of its associated nodes.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	DeleteWithNodes(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Ids, error)
	// Delete a Node Manager and Stop Nodes
	//
	// Delete a node manager and update its associated nodes to `stopped`.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	DeleteWithNodeStateStopped(ctx context.Context, in *Id, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Delete a Node Manager and Terminate Nodes
	//
	// Delete a node manager and update its associated nodes to `terminated`.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	DeleteWithNodeStateTerminated(ctx context.Context, in *Id, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// List all Node Managers
	//
	// Returns a list of node managers.
	// Supports filtering, sorting, and pagination.
	//
	// Valid filtering fields: manager_type
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:list
	List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*NodeManagers, error)
	// Search Node Fields
	//
	// Searches the available values for a given field across all nodes associated with the nodemanager id.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:list
	SearchNodeFields(ctx context.Context, in *FieldQuery, opts ...grpc.CallOption) (*Fields, error)
	// Search nodes
	//
	// Searches the available nodes for a single node manager by id.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:list
	SearchNodes(ctx context.Context, in *NodeQuery, opts ...grpc.CallOption) (*Nodes, error)
	// Connect
	//
	// Attempts to reach the API for the given nodemanager id to validate the
	// credentials associated with the nodemanager.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:rerun
	Connect(ctx context.Context, in *Id, opts ...grpc.CallOption) (*ConnectResponse, error)
}

type nodeManagerServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewNodeManagerServiceClient(cc grpc.ClientConnInterface) NodeManagerServiceClient {
	return &nodeManagerServiceClient{cc}
}

func (c *nodeManagerServiceClient) Create(ctx context.Context, in *NodeManager, opts ...grpc.CallOption) (*Ids, error) {
	out := new(Ids)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) Read(ctx context.Context, in *Id, opts ...grpc.CallOption) (*NodeManager, error) {
	out := new(NodeManager)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/Read", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) Update(ctx context.Context, in *NodeManager, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) Delete(ctx context.Context, in *Id, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) DeleteWithNodes(ctx context.Context, in *Id, opts ...grpc.CallOption) (*Ids, error) {
	out := new(Ids)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/DeleteWithNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) DeleteWithNodeStateStopped(ctx context.Context, in *Id, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/DeleteWithNodeStateStopped", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) DeleteWithNodeStateTerminated(ctx context.Context, in *Id, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/DeleteWithNodeStateTerminated", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) List(ctx context.Context, in *Query, opts ...grpc.CallOption) (*NodeManagers, error) {
	out := new(NodeManagers)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) SearchNodeFields(ctx context.Context, in *FieldQuery, opts ...grpc.CallOption) (*Fields, error) {
	out := new(Fields)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/SearchNodeFields", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) SearchNodes(ctx context.Context, in *NodeQuery, opts ...grpc.CallOption) (*Nodes, error) {
	out := new(Nodes)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/SearchNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nodeManagerServiceClient) Connect(ctx context.Context, in *Id, opts ...grpc.CallOption) (*ConnectResponse, error) {
	out := new(ConnectResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.nodes.manager.v1.NodeManagerService/Connect", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NodeManagerServiceServer is the server API for NodeManagerService service.
type NodeManagerServiceServer interface {
	// Create a Node Manager
	//
	// Creates a node manager given a name, credential id *or* credential data, and type.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:create
	Create(context.Context, *NodeManager) (*Ids, error)
	// View a Node Manager
	//
	// List the details of a node manager.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:get
	Read(context.Context, *Id) (*NodeManager, error)
	// Update a Node Manager
	//
	// Update a node manager's metadata, such as its name, associated credential id, or data.
	// This is a PUT operation and it overwrites ALL of the existing node manager metadata. Include all fields, because a PUT operation overwrites any missing fields to empty ("").
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:update
	Update(context.Context, *NodeManager) (*emptypb.Empty, error)
	// Delete a Node Manager
	//
	// Delete a single node manager. This deletes the node manager itself and
	// reassigns its associated nodes to the Automate node manager.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	Delete(context.Context, *Id) (*emptypb.Empty, error)
	// Delete a Node Manager and Delete Nodes
	//
	// Delete a node manager and all of its associated nodes.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	DeleteWithNodes(context.Context, *Id) (*Ids, error)
	// Delete a Node Manager and Stop Nodes
	//
	// Delete a node manager and update its associated nodes to `stopped`.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	DeleteWithNodeStateStopped(context.Context, *Id) (*emptypb.Empty, error)
	// Delete a Node Manager and Terminate Nodes
	//
	// Delete a node manager and update its associated nodes to `terminated`.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:delete
	DeleteWithNodeStateTerminated(context.Context, *Id) (*emptypb.Empty, error)
	// List all Node Managers
	//
	// Returns a list of node managers.
	// Supports filtering, sorting, and pagination.
	//
	// Valid filtering fields: manager_type
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:list
	List(context.Context, *Query) (*NodeManagers, error)
	// Search Node Fields
	//
	// Searches the available values for a given field across all nodes associated with the nodemanager id.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:list
	SearchNodeFields(context.Context, *FieldQuery) (*Fields, error)
	// Search nodes
	//
	// Searches the available nodes for a single node manager by id.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:list
	SearchNodes(context.Context, *NodeQuery) (*Nodes, error)
	// Connect
	//
	// Attempts to reach the API for the given nodemanager id to validate the
	// credentials associated with the nodemanager.
	//
	// Authorization Action:
	//
	// ```
	// ```
	//
	//infra:nodeManagers:rerun
	Connect(context.Context, *Id) (*ConnectResponse, error)
}

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

func (*UnimplementedNodeManagerServiceServer) Create(context.Context, *NodeManager) (*Ids, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
}
func (*UnimplementedNodeManagerServiceServer) Read(context.Context, *Id) (*NodeManager, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Read not implemented")
}
func (*UnimplementedNodeManagerServiceServer) Update(context.Context, *NodeManager) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
}
func (*UnimplementedNodeManagerServiceServer) Delete(context.Context, *Id) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (*UnimplementedNodeManagerServiceServer) DeleteWithNodes(context.Context, *Id) (*Ids, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteWithNodes not implemented")
}
func (*UnimplementedNodeManagerServiceServer) DeleteWithNodeStateStopped(context.Context, *Id) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteWithNodeStateStopped not implemented")
}
func (*UnimplementedNodeManagerServiceServer) DeleteWithNodeStateTerminated(context.Context, *Id) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteWithNodeStateTerminated not implemented")
}
func (*UnimplementedNodeManagerServiceServer) List(context.Context, *Query) (*NodeManagers, error) {
	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (*UnimplementedNodeManagerServiceServer) SearchNodeFields(context.Context, *FieldQuery) (*Fields, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SearchNodeFields not implemented")
}
func (*UnimplementedNodeManagerServiceServer) SearchNodes(context.Context, *NodeQuery) (*Nodes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SearchNodes not implemented")
}
func (*UnimplementedNodeManagerServiceServer) Connect(context.Context, *Id) (*ConnectResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Connect not implemented")
}

func RegisterNodeManagerServiceServer(s *grpc.Server, srv NodeManagerServiceServer) {
	s.RegisterService(&_NodeManagerService_serviceDesc, srv)
}

func _NodeManagerService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeManager)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeManagerServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).Create(ctx, req.(*NodeManager))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_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.(NodeManagerServiceServer).Read(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/Read",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).Read(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeManager)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeManagerServiceServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).Update(ctx, req.(*NodeManager))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_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.(NodeManagerServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).Delete(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_DeleteWithNodes_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.(NodeManagerServiceServer).DeleteWithNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/DeleteWithNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).DeleteWithNodes(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_DeleteWithNodeStateStopped_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.(NodeManagerServiceServer).DeleteWithNodeStateStopped(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/DeleteWithNodeStateStopped",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).DeleteWithNodeStateStopped(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_DeleteWithNodeStateTerminated_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.(NodeManagerServiceServer).DeleteWithNodeStateTerminated(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/DeleteWithNodeStateTerminated",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).DeleteWithNodeStateTerminated(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_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.(NodeManagerServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).List(ctx, req.(*Query))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_SearchNodeFields_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FieldQuery)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeManagerServiceServer).SearchNodeFields(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/SearchNodeFields",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).SearchNodeFields(ctx, req.(*FieldQuery))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_SearchNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeQuery)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NodeManagerServiceServer).SearchNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/SearchNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).SearchNodes(ctx, req.(*NodeQuery))
	}
	return interceptor(ctx, in, info, handler)
}

func _NodeManagerService_Connect_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.(NodeManagerServiceServer).Connect(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.nodes.manager.v1.NodeManagerService/Connect",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NodeManagerServiceServer).Connect(ctx, req.(*Id))
	}
	return interceptor(ctx, in, info, handler)
}

var _NodeManagerService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.api.nodes.manager.v1.NodeManagerService",
	HandlerType: (*NodeManagerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Create",
			Handler:    _NodeManagerService_Create_Handler,
		},
		{
			MethodName: "Read",
			Handler:    _NodeManagerService_Read_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _NodeManagerService_Update_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _NodeManagerService_Delete_Handler,
		},
		{
			MethodName: "DeleteWithNodes",
			Handler:    _NodeManagerService_DeleteWithNodes_Handler,
		},
		{
			MethodName: "DeleteWithNodeStateStopped",
			Handler:    _NodeManagerService_DeleteWithNodeStateStopped_Handler,
		},
		{
			MethodName: "DeleteWithNodeStateTerminated",
			Handler:    _NodeManagerService_DeleteWithNodeStateTerminated_Handler,
		},
		{
			MethodName: "List",
			Handler:    _NodeManagerService_List_Handler,
		},
		{
			MethodName: "SearchNodeFields",
			Handler:    _NodeManagerService_SearchNodeFields_Handler,
		},
		{
			MethodName: "SearchNodes",
			Handler:    _NodeManagerService_SearchNodes_Handler,
		},
		{
			MethodName: "Connect",
			Handler:    _NodeManagerService_Connect_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "external/nodes/manager/manager.proto",
}
