Files
warewulf/internal/pkg/api/routes/wwapiv1/routes.pb.go
Jonathon Anderson a0179f1432 Resolve issues identifies by staticcheck
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-06 22:11:17 -07:00

2315 lines
89 KiB
Go

// Routes for the wwapi (WareWulf API).
// TODO: Try protoc-gen-doc for generating documentation.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.5
// protoc v4.24.0
// source: routes.proto
package wwapiv1
import (
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
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)
)
type GetNodeList_ListType int32
const (
GetNodeList_Simple GetNodeList_ListType = 0
GetNodeList_Ipmi GetNodeList_ListType = 1
GetNodeList_Network GetNodeList_ListType = 2
GetNodeList_Long GetNodeList_ListType = 3
GetNodeList_All GetNodeList_ListType = 4
GetNodeList_YAML GetNodeList_ListType = 6
GetNodeList_JSON GetNodeList_ListType = 7
)
// Enum value maps for GetNodeList_ListType.
var (
GetNodeList_ListType_name = map[int32]string{
0: "Simple",
1: "Ipmi",
2: "Network",
3: "Long",
4: "All",
6: "YAML",
7: "JSON",
}
GetNodeList_ListType_value = map[string]int32{
"Simple": 0,
"Ipmi": 1,
"Network": 2,
"Long": 3,
"All": 4,
"YAML": 6,
"JSON": 7,
}
)
func (x GetNodeList_ListType) Enum() *GetNodeList_ListType {
p := new(GetNodeList_ListType)
*p = x
return p
}
func (x GetNodeList_ListType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GetNodeList_ListType) Descriptor() protoreflect.EnumDescriptor {
return file_routes_proto_enumTypes[0].Descriptor()
}
func (GetNodeList_ListType) Type() protoreflect.EnumType {
return &file_routes_proto_enumTypes[0]
}
func (x GetNodeList_ListType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GetNodeList_ListType.Descriptor instead.
func (GetNodeList_ListType) EnumDescriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{16, 0}
}
type NodeDBHash struct {
state protoimpl.MessageState `protogen:"open.v1"`
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeDBHash) Reset() {
*x = NodeDBHash{}
mi := &file_routes_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeDBHash) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeDBHash) ProtoMessage() {}
func (x *NodeDBHash) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 NodeDBHash.ProtoReflect.Descriptor instead.
func (*NodeDBHash) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{0}
}
func (x *NodeDBHash) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
// ImageBuildParameter contains input for building zero or more images.
type ImageBuildParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
ImageNames []string `protobuf:"bytes,1,rep,name=imageNames,proto3" json:"imageNames,omitempty"`
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
All bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"` // bool default = 4;
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageBuildParameter) Reset() {
*x = ImageBuildParameter{}
mi := &file_routes_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageBuildParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageBuildParameter) ProtoMessage() {}
func (x *ImageBuildParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageBuildParameter.ProtoReflect.Descriptor instead.
func (*ImageBuildParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{1}
}
func (x *ImageBuildParameter) GetImageNames() []string {
if x != nil {
return x.ImageNames
}
return nil
}
func (x *ImageBuildParameter) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
func (x *ImageBuildParameter) GetAll() bool {
if x != nil {
return x.All
}
return false
}
// ImageDeleteParameter contains input for removing images from Warewulf
// management.
type ImageDeleteParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
ImageNames []string `protobuf:"bytes,1,rep,name=imageNames,proto3" json:"imageNames,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageDeleteParameter) Reset() {
*x = ImageDeleteParameter{}
mi := &file_routes_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageDeleteParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageDeleteParameter) ProtoMessage() {}
func (x *ImageDeleteParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageDeleteParameter.ProtoReflect.Descriptor instead.
func (*ImageDeleteParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{2}
}
func (x *ImageDeleteParameter) GetImageNames() []string {
if x != nil {
return x.ImageNames
}
return nil
}
// ImageCopyParameter contains 2 inputs : first one for the image source name and second one for the duplicated image name.
type ImageCopyParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
ImageSource string `protobuf:"bytes,1,opt,name=imageSource,proto3" json:"imageSource,omitempty"`
ImageDestination string `protobuf:"bytes,2,opt,name=imageDestination,proto3" json:"imageDestination,omitempty"`
Build bool `protobuf:"varint,3,opt,name=build,proto3" json:"build,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageCopyParameter) Reset() {
*x = ImageCopyParameter{}
mi := &file_routes_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageCopyParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageCopyParameter) ProtoMessage() {}
func (x *ImageCopyParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageCopyParameter.ProtoReflect.Descriptor instead.
func (*ImageCopyParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{3}
}
func (x *ImageCopyParameter) GetImageSource() string {
if x != nil {
return x.ImageSource
}
return ""
}
func (x *ImageCopyParameter) GetImageDestination() string {
if x != nil {
return x.ImageDestination
}
return ""
}
func (x *ImageCopyParameter) GetBuild() bool {
if x != nil {
return x.Build
}
return false
}
// ImageImportParameter has all input for importing an image.
type ImageImportParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` // image source uri
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // image name
Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"`
Update bool `protobuf:"varint,4,opt,name=update,proto3" json:"update,omitempty"`
Build bool `protobuf:"varint,5,opt,name=build,proto3" json:"build,omitempty"`
// bool default = 6;
SyncUser bool `protobuf:"varint,7,opt,name=syncUser,proto3" json:"syncUser,omitempty"`
OciNoHttps bool `protobuf:"varint,8,opt,name=ociNoHttps,proto3" json:"ociNoHttps,omitempty"`
OciUsername string `protobuf:"bytes,9,opt,name=ociUsername,proto3" json:"ociUsername,omitempty"`
OciPassword string `protobuf:"bytes,10,opt,name=ociPassword,proto3" json:"ociPassword,omitempty"`
Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageImportParameter) Reset() {
*x = ImageImportParameter{}
mi := &file_routes_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageImportParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageImportParameter) ProtoMessage() {}
func (x *ImageImportParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageImportParameter.ProtoReflect.Descriptor instead.
func (*ImageImportParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{4}
}
func (x *ImageImportParameter) GetSource() string {
if x != nil {
return x.Source
}
return ""
}
func (x *ImageImportParameter) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ImageImportParameter) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
func (x *ImageImportParameter) GetUpdate() bool {
if x != nil {
return x.Update
}
return false
}
func (x *ImageImportParameter) GetBuild() bool {
if x != nil {
return x.Build
}
return false
}
func (x *ImageImportParameter) GetSyncUser() bool {
if x != nil {
return x.SyncUser
}
return false
}
func (x *ImageImportParameter) GetOciNoHttps() bool {
if x != nil {
return x.OciNoHttps
}
return false
}
func (x *ImageImportParameter) GetOciUsername() string {
if x != nil {
return x.OciUsername
}
return ""
}
func (x *ImageImportParameter) GetOciPassword() string {
if x != nil {
return x.OciPassword
}
return ""
}
func (x *ImageImportParameter) GetPlatform() string {
if x != nil {
return x.Platform
}
return ""
}
// ImageInfo has data on each image. This is emitted in the
// ImageListResponse.
type ImageInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
NodeCount uint32 `protobuf:"varint,2,opt,name=nodeCount,proto3" json:"nodeCount,omitempty"`
KernelVersion string `protobuf:"bytes,3,opt,name=kernelVersion,proto3" json:"kernelVersion,omitempty"`
CreateDate uint64 `protobuf:"varint,4,opt,name=createDate,proto3" json:"createDate,omitempty"` // creation date in unix time
ModDate uint64 `protobuf:"varint,5,opt,name=modDate,proto3" json:"modDate,omitempty"` // date of last modification in unix time
// uint64 size = 6; // size of chroot and images in bytes
ImgSize uint64 `protobuf:"varint,7,opt,name=imgSize,proto3" json:"imgSize,omitempty"`
ImgSizeComp uint64 `protobuf:"varint,8,opt,name=imgSizeComp,proto3" json:"imgSizeComp,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageInfo) Reset() {
*x = ImageInfo{}
mi := &file_routes_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageInfo) ProtoMessage() {}
func (x *ImageInfo) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageInfo.ProtoReflect.Descriptor instead.
func (*ImageInfo) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{5}
}
func (x *ImageInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ImageInfo) GetNodeCount() uint32 {
if x != nil {
return x.NodeCount
}
return 0
}
func (x *ImageInfo) GetKernelVersion() string {
if x != nil {
return x.KernelVersion
}
return ""
}
func (x *ImageInfo) GetCreateDate() uint64 {
if x != nil {
return x.CreateDate
}
return 0
}
func (x *ImageInfo) GetModDate() uint64 {
if x != nil {
return x.ModDate
}
return 0
}
func (x *ImageInfo) GetImgSize() uint64 {
if x != nil {
return x.ImgSize
}
return 0
}
func (x *ImageInfo) GetImgSizeComp() uint64 {
if x != nil {
return x.ImgSizeComp
}
return 0
}
// ImageListResponse has all information that ImageList provides.
type ImageListResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Images []*ImageInfo `protobuf:"bytes,1,rep,name=images,proto3" json:"images,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageListResponse) Reset() {
*x = ImageListResponse{}
mi := &file_routes_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageListResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageListResponse) ProtoMessage() {}
func (x *ImageListResponse) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageListResponse.ProtoReflect.Descriptor instead.
func (*ImageListResponse) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{6}
}
func (x *ImageListResponse) GetImages() []*ImageInfo {
if x != nil {
return x.Images
}
return nil
}
// ImageShowParameter is the input for ImageShow.
type ImageShowParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
ImageName string `protobuf:"bytes,1,opt,name=imageName,proto3" json:"imageName,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageShowParameter) Reset() {
*x = ImageShowParameter{}
mi := &file_routes_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageShowParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageShowParameter) ProtoMessage() {}
func (x *ImageShowParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageShowParameter.ProtoReflect.Descriptor instead.
func (*ImageShowParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{7}
}
func (x *ImageShowParameter) GetImageName() string {
if x != nil {
return x.ImageName
}
return ""
}
// ImageShowResponse has all information emitted on ImageShow.
type ImageShowResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"`
Rootfs string `protobuf:"bytes,2,opt,name=Rootfs,proto3" json:"Rootfs,omitempty"`
Nodes []string `protobuf:"bytes,3,rep,name=Nodes,proto3" json:"Nodes,omitempty"`
KernelVersion string `protobuf:"bytes,4,opt,name=KernelVersion,proto3" json:"KernelVersion,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageShowResponse) Reset() {
*x = ImageShowResponse{}
mi := &file_routes_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageShowResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageShowResponse) ProtoMessage() {}
func (x *ImageShowResponse) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageShowResponse.ProtoReflect.Descriptor instead.
func (*ImageShowResponse) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{8}
}
func (x *ImageShowResponse) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ImageShowResponse) GetRootfs() string {
if x != nil {
return x.Rootfs
}
return ""
}
func (x *ImageShowResponse) GetNodes() []string {
if x != nil {
return x.Nodes
}
return nil
}
func (x *ImageShowResponse) GetKernelVersion() string {
if x != nil {
return x.KernelVersion
}
return ""
}
// ImageSyncUserParameter is the input for ImageSyncUser.
type ImageSyncUserParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
ImageName string `protobuf:"bytes,1,opt,name=imageName,proto3" json:"imageName,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageSyncUserParameter) Reset() {
*x = ImageSyncUserParameter{}
mi := &file_routes_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageSyncUserParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageSyncUserParameter) ProtoMessage() {}
func (x *ImageSyncUserParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageSyncUserParameter.ProtoReflect.Descriptor instead.
func (*ImageSyncUserParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{9}
}
func (x *ImageSyncUserParameter) GetImageName() string {
if x != nil {
return x.ImageName
}
return ""
}
// ImageRenameParameter is the input for ImageRename
type ImageRenameParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
ImageName string `protobuf:"bytes,1,opt,name=imageName,proto3" json:"imageName,omitempty"`
TargetName string `protobuf:"bytes,2,opt,name=targetName,proto3" json:"targetName,omitempty"`
Build bool `protobuf:"varint,3,opt,name=build,proto3" json:"build,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ImageRenameParameter) Reset() {
*x = ImageRenameParameter{}
mi := &file_routes_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ImageRenameParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImageRenameParameter) ProtoMessage() {}
func (x *ImageRenameParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_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 ImageRenameParameter.ProtoReflect.Descriptor instead.
func (*ImageRenameParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{10}
}
func (x *ImageRenameParameter) GetImageName() string {
if x != nil {
return x.ImageName
}
return ""
}
func (x *ImageRenameParameter) GetTargetName() string {
if x != nil {
return x.TargetName
}
return ""
}
func (x *ImageRenameParameter) GetBuild() bool {
if x != nil {
return x.Build
}
return false
}
// NodeNames is an array of node ids.
type NodeNames struct {
state protoimpl.MessageState `protogen:"open.v1"`
NodeNames []string `protobuf:"bytes,1,rep,name=nodeNames,proto3" json:"nodeNames,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeNames) Reset() {
*x = NodeNames{}
mi := &file_routes_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeNames) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeNames) ProtoMessage() {}
func (x *NodeNames) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeNames.ProtoReflect.Descriptor instead.
func (*NodeNames) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{11}
}
func (x *NodeNames) GetNodeNames() []string {
if x != nil {
return x.NodeNames
}
return nil
}
// NodeField contains data output on NodeList.
type NodeField struct {
state protoimpl.MessageState `protogen:"open.v1"`
Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // TODO: Variable name okay?
Print string `protobuf:"bytes,3,opt,name=print,proto3" json:"print,omitempty"` // Empty values printed as -- in wwctl.
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeField) Reset() {
*x = NodeField{}
mi := &file_routes_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeField) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeField) ProtoMessage() {}
func (x *NodeField) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeField.ProtoReflect.Descriptor instead.
func (*NodeField) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{12}
}
func (x *NodeField) GetSource() string {
if x != nil {
return x.Source
}
return ""
}
func (x *NodeField) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *NodeField) GetPrint() string {
if x != nil {
return x.Print
}
return ""
}
// NetDev is network devices (NICs) on a node.
type NetDev struct {
state protoimpl.MessageState `protogen:"open.v1"`
Field map[string]*NodeField `protobuf:"bytes,1,rep,name=Field,proto3" json:"Field,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Tags map[string]*NodeField `protobuf:"bytes,9,rep,name=Tags,proto3" json:"Tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NetDev) Reset() {
*x = NetDev{}
mi := &file_routes_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NetDev) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NetDev) ProtoMessage() {}
func (x *NetDev) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NetDev.ProtoReflect.Descriptor instead.
func (*NetDev) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{13}
}
func (x *NetDev) GetField() map[string]*NodeField {
if x != nil {
return x.Field
}
return nil
}
func (x *NetDev) GetTags() map[string]*NodeField {
if x != nil {
return x.Tags
}
return nil
}
// NodeInfo contains details about a node managed by Warewulf/
type NodeInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Fields map[string]*NodeField `protobuf:"bytes,1,rep,name=Fields,proto3" json:"Fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
NetDevs map[string]*NetDev `protobuf:"bytes,23,rep,name=NetDevs,proto3" json:"NetDevs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Tags map[string]*NodeField `protobuf:"bytes,24,rep,name=Tags,proto3" json:"Tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
Keys map[string]*NodeField `protobuf:"bytes,25,rep,name=Keys,proto3" json:"Keys,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // TODO: We may not need this. Tags may be it. Ask Greg.
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeInfo) Reset() {
*x = NodeInfo{}
mi := &file_routes_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeInfo) ProtoMessage() {}
func (x *NodeInfo) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead.
func (*NodeInfo) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{14}
}
func (x *NodeInfo) GetFields() map[string]*NodeField {
if x != nil {
return x.Fields
}
return nil
}
func (x *NodeInfo) GetNetDevs() map[string]*NetDev {
if x != nil {
return x.NetDevs
}
return nil
}
func (x *NodeInfo) GetTags() map[string]*NodeField {
if x != nil {
return x.Tags
}
return nil
}
func (x *NodeInfo) GetKeys() map[string]*NodeField {
if x != nil {
return x.Keys
}
return nil
}
// NodeListResponse is the output of NodeList.
type NodeListResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Nodes []*NodeInfo `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeListResponse) Reset() {
*x = NodeListResponse{}
mi := &file_routes_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeListResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeListResponse) ProtoMessage() {}
func (x *NodeListResponse) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeListResponse.ProtoReflect.Descriptor instead.
func (*NodeListResponse) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{15}
}
func (x *NodeListResponse) GetNodes() []*NodeInfo {
if x != nil {
return x.Nodes
}
return nil
}
// Request a node list
type GetNodeList struct {
state protoimpl.MessageState `protogen:"open.v1"`
Type GetNodeList_ListType `protobuf:"varint,8,opt,name=type,proto3,enum=wwapi.v1.GetNodeList_ListType" json:"type,omitempty"`
Nodes []string `protobuf:"bytes,9,rep,name=Nodes,proto3" json:"Nodes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetNodeList) Reset() {
*x = GetNodeList{}
mi := &file_routes_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetNodeList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetNodeList) ProtoMessage() {}
func (x *GetNodeList) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetNodeList.ProtoReflect.Descriptor instead.
func (*GetNodeList) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{16}
}
func (x *GetNodeList) GetType() GetNodeList_ListType {
if x != nil {
return x.Type
}
return GetNodeList_Simple
}
func (x *GetNodeList) GetNodes() []string {
if x != nil {
return x.Nodes
}
return nil
}
// Get the formated output as string
type NodeList struct {
state protoimpl.MessageState `protogen:"open.v1"`
Output []string `protobuf:"bytes,1,rep,name=Output,proto3" json:"Output,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeList) Reset() {
*x = NodeList{}
mi := &file_routes_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeList) ProtoMessage() {}
func (x *NodeList) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeList.ProtoReflect.Descriptor instead.
func (*NodeList) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{17}
}
func (x *NodeList) GetOutput() []string {
if x != nil {
return x.Output
}
return nil
}
// Request a profile list view
type GetProfileList struct {
state protoimpl.MessageState `protogen:"open.v1"`
ShowAll bool `protobuf:"varint,1,opt,name=ShowAll,proto3" json:"ShowAll,omitempty"`
ShowYaml bool `protobuf:"varint,3,opt,name=ShowYaml,proto3" json:"ShowYaml,omitempty"`
ShowJson bool `protobuf:"varint,4,opt,name=ShowJson,proto3" json:"ShowJson,omitempty"`
Profiles []string `protobuf:"bytes,5,rep,name=Profiles,proto3" json:"Profiles,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetProfileList) Reset() {
*x = GetProfileList{}
mi := &file_routes_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetProfileList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetProfileList) ProtoMessage() {}
func (x *GetProfileList) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetProfileList.ProtoReflect.Descriptor instead.
func (*GetProfileList) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{18}
}
func (x *GetProfileList) GetShowAll() bool {
if x != nil {
return x.ShowAll
}
return false
}
func (x *GetProfileList) GetShowYaml() bool {
if x != nil {
return x.ShowYaml
}
return false
}
func (x *GetProfileList) GetShowJson() bool {
if x != nil {
return x.ShowJson
}
return false
}
func (x *GetProfileList) GetProfiles() []string {
if x != nil {
return x.Profiles
}
return nil
}
// Get the formated output as string
type ProfileList struct {
state protoimpl.MessageState `protogen:"open.v1"`
Output []string `protobuf:"bytes,1,rep,name=Output,proto3" json:"Output,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ProfileList) Reset() {
*x = ProfileList{}
mi := &file_routes_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ProfileList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProfileList) ProtoMessage() {}
func (x *ProfileList) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProfileList.ProtoReflect.Descriptor instead.
func (*ProfileList) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{19}
}
func (x *ProfileList) GetOutput() []string {
if x != nil {
return x.Output
}
return nil
}
// NodeAddParameter contains all input for adding a node to be managed by
// Warewulf. Only adds nodes if the hash matches the actual hash of the
// configuration.
type NodeAddParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
NodeConfYaml string `protobuf:"bytes,1,opt,name=nodeConfYaml,proto3" json:"nodeConfYaml,omitempty"`
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
NodeNames []string `protobuf:"bytes,10,rep,name=nodeNames,proto3" json:"nodeNames,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeAddParameter) Reset() {
*x = NodeAddParameter{}
mi := &file_routes_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeAddParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeAddParameter) ProtoMessage() {}
func (x *NodeAddParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeAddParameter.ProtoReflect.Descriptor instead.
func (*NodeAddParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{20}
}
func (x *NodeAddParameter) GetNodeConfYaml() string {
if x != nil {
return x.NodeConfYaml
}
return ""
}
func (x *NodeAddParameter) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
func (x *NodeAddParameter) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *NodeAddParameter) GetNodeNames() []string {
if x != nil {
return x.NodeNames
}
return nil
}
// NodeYaml is just the updated YAML config which will be added
// to nodes.conf (is resused for profile edit)
type NodeYaml struct {
state protoimpl.MessageState `protogen:"open.v1"`
NodeConfMapYaml string `protobuf:"bytes,1,opt,name=nodeConfMapYaml,proto3" json:"nodeConfMapYaml,omitempty"`
Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeYaml) Reset() {
*x = NodeYaml{}
mi := &file_routes_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeYaml) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeYaml) ProtoMessage() {}
func (x *NodeYaml) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeYaml.ProtoReflect.Descriptor instead.
func (*NodeYaml) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{21}
}
func (x *NodeYaml) GetNodeConfMapYaml() string {
if x != nil {
return x.NodeConfMapYaml
}
return ""
}
func (x *NodeYaml) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
// NodeDeleteParameter contains input for removing nodes from Warewulf
// management. If the given hash differs with the actual hash of the
// configuration, no node is deleted. The force option allows the deletion
// of nodes with a correct hash.
type NodeDeleteParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"`
NodeNames []string `protobuf:"bytes,2,rep,name=nodeNames,proto3" json:"nodeNames,omitempty"`
Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeDeleteParameter) Reset() {
*x = NodeDeleteParameter{}
mi := &file_routes_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeDeleteParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeDeleteParameter) ProtoMessage() {}
func (x *NodeDeleteParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeDeleteParameter.ProtoReflect.Descriptor instead.
func (*NodeDeleteParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{22}
}
func (x *NodeDeleteParameter) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
func (x *NodeDeleteParameter) GetNodeNames() []string {
if x != nil {
return x.NodeNames
}
return nil
}
func (x *NodeDeleteParameter) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
// NodeSetParameter contains all fields for updating aspects of nodes managed
// by Warewulf.
type ConfSetParameter struct {
state protoimpl.MessageState `protogen:"open.v1"`
NodeConfYaml string `protobuf:"bytes,1,opt,name=nodeConfYaml,proto3" json:"nodeConfYaml,omitempty"`
NetdevDelete string `protobuf:"bytes,2,opt,name=netdevDelete,proto3" json:"netdevDelete,omitempty"`
DiskDelete string `protobuf:"bytes,3,opt,name=diskDelete,proto3" json:"diskDelete,omitempty"`
PartitionDelete string `protobuf:"bytes,4,opt,name=partitionDelete,proto3" json:"partitionDelete,omitempty"`
FilesystemDelete string `protobuf:"bytes,5,opt,name=filesystemDelete,proto3" json:"filesystemDelete,omitempty"`
AllConfs bool `protobuf:"varint,6,opt,name=allConfs,proto3" json:"allConfs,omitempty"`
Force bool `protobuf:"varint,7,opt,name=force,proto3" json:"force,omitempty"`
ConfList []string `protobuf:"bytes,8,rep,name=confList,proto3" json:"confList,omitempty"`
TagAdd map[string]string `protobuf:"bytes,9,rep,name=tagAdd,proto3" json:"tagAdd,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
NetTagAdd map[string]string `protobuf:"bytes,10,rep,name=netTagAdd,proto3" json:"netTagAdd,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
IpmiTagAdd map[string]string `protobuf:"bytes,11,rep,name=ipmiTagAdd,proto3" json:"ipmiTagAdd,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
TagDel []string `protobuf:"bytes,12,rep,name=tagDel,proto3" json:"tagDel,omitempty"`
NetTagDel []string `protobuf:"bytes,13,rep,name=netTagDel,proto3" json:"netTagDel,omitempty"`
IpmiTagDel []string `protobuf:"bytes,14,rep,name=ipmiTagDel,proto3" json:"ipmiTagDel,omitempty"`
Netdev string `protobuf:"bytes,15,opt,name=netdev,proto3" json:"netdev,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ConfSetParameter) Reset() {
*x = ConfSetParameter{}
mi := &file_routes_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ConfSetParameter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ConfSetParameter) ProtoMessage() {}
func (x *ConfSetParameter) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ConfSetParameter.ProtoReflect.Descriptor instead.
func (*ConfSetParameter) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{23}
}
func (x *ConfSetParameter) GetNodeConfYaml() string {
if x != nil {
return x.NodeConfYaml
}
return ""
}
func (x *ConfSetParameter) GetNetdevDelete() string {
if x != nil {
return x.NetdevDelete
}
return ""
}
func (x *ConfSetParameter) GetDiskDelete() string {
if x != nil {
return x.DiskDelete
}
return ""
}
func (x *ConfSetParameter) GetPartitionDelete() string {
if x != nil {
return x.PartitionDelete
}
return ""
}
func (x *ConfSetParameter) GetFilesystemDelete() string {
if x != nil {
return x.FilesystemDelete
}
return ""
}
func (x *ConfSetParameter) GetAllConfs() bool {
if x != nil {
return x.AllConfs
}
return false
}
func (x *ConfSetParameter) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
func (x *ConfSetParameter) GetConfList() []string {
if x != nil {
return x.ConfList
}
return nil
}
func (x *ConfSetParameter) GetTagAdd() map[string]string {
if x != nil {
return x.TagAdd
}
return nil
}
func (x *ConfSetParameter) GetNetTagAdd() map[string]string {
if x != nil {
return x.NetTagAdd
}
return nil
}
func (x *ConfSetParameter) GetIpmiTagAdd() map[string]string {
if x != nil {
return x.IpmiTagAdd
}
return nil
}
func (x *ConfSetParameter) GetTagDel() []string {
if x != nil {
return x.TagDel
}
return nil
}
func (x *ConfSetParameter) GetNetTagDel() []string {
if x != nil {
return x.NetTagDel
}
return nil
}
func (x *ConfSetParameter) GetIpmiTagDel() []string {
if x != nil {
return x.IpmiTagDel
}
return nil
}
func (x *ConfSetParameter) GetNetdev() string {
if x != nil {
return x.Netdev
}
return ""
}
// NodeStatus contains information about the imaging status per node.
type NodeStatus struct {
state protoimpl.MessageState `protogen:"open.v1"`
NodeName string `protobuf:"bytes,1,opt,name=nodeName,proto3" json:"nodeName,omitempty"` // Name (Id) of the node.
Stage string `protobuf:"bytes,2,opt,name=stage,proto3" json:"stage,omitempty"` // Stage of imaging.
Sent string `protobuf:"bytes,3,opt,name=sent,proto3" json:"sent,omitempty"` // Last overlay sent.
Ipaddr string `protobuf:"bytes,4,opt,name=ipaddr,proto3" json:"ipaddr,omitempty"` // Node IP address.
Lastseen int64 `protobuf:"varint,5,opt,name=lastseen,proto3" json:"lastseen,omitempty"` // Time in seconds since the node was last seen.
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeStatus) Reset() {
*x = NodeStatus{}
mi := &file_routes_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeStatus) ProtoMessage() {}
func (x *NodeStatus) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeStatus.ProtoReflect.Descriptor instead.
func (*NodeStatus) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{24}
}
func (x *NodeStatus) GetNodeName() string {
if x != nil {
return x.NodeName
}
return ""
}
func (x *NodeStatus) GetStage() string {
if x != nil {
return x.Stage
}
return ""
}
func (x *NodeStatus) GetSent() string {
if x != nil {
return x.Sent
}
return ""
}
func (x *NodeStatus) GetIpaddr() string {
if x != nil {
return x.Ipaddr
}
return ""
}
func (x *NodeStatus) GetLastseen() int64 {
if x != nil {
return x.Lastseen
}
return 0
}
// NodeStatusResponse contains NodeStatus for zero or more nodes.
type NodeStatusResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
NodeStatus []*NodeStatus `protobuf:"bytes,1,rep,name=nodeStatus,proto3" json:"nodeStatus,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NodeStatusResponse) Reset() {
*x = NodeStatusResponse{}
mi := &file_routes_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NodeStatusResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeStatusResponse) ProtoMessage() {}
func (x *NodeStatusResponse) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NodeStatusResponse.ProtoReflect.Descriptor instead.
func (*NodeStatusResponse) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{25}
}
func (x *NodeStatusResponse) GetNodeStatus() []*NodeStatus {
if x != nil {
return x.NodeStatus
}
return nil
}
// VersionReponse contains versions of the software.
type VersionResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
ApiPrefix string `protobuf:"bytes,1,opt,name=apiPrefix,proto3" json:"apiPrefix,omitempty"`
ApiVersion string `protobuf:"bytes,2,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"`
WarewulfVersion string `protobuf:"bytes,3,opt,name=warewulfVersion,proto3" json:"warewulfVersion,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *VersionResponse) Reset() {
*x = VersionResponse{}
mi := &file_routes_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *VersionResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*VersionResponse) ProtoMessage() {}
func (x *VersionResponse) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead.
func (*VersionResponse) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{26}
}
func (x *VersionResponse) GetApiPrefix() string {
if x != nil {
return x.ApiPrefix
}
return ""
}
func (x *VersionResponse) GetApiVersion() string {
if x != nil {
return x.ApiVersion
}
return ""
}
func (x *VersionResponse) GetWarewulfVersion() string {
if x != nil {
return x.WarewulfVersion
}
return ""
}
// Check if config is writeable
type CanWriteConfig struct {
state protoimpl.MessageState `protogen:"open.v1"`
CanWriteConfig bool `protobuf:"varint,1,opt,name=canWriteConfig,proto3" json:"canWriteConfig,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CanWriteConfig) Reset() {
*x = CanWriteConfig{}
mi := &file_routes_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CanWriteConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CanWriteConfig) ProtoMessage() {}
func (x *CanWriteConfig) ProtoReflect() protoreflect.Message {
mi := &file_routes_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CanWriteConfig.ProtoReflect.Descriptor instead.
func (*CanWriteConfig) Descriptor() ([]byte, []int) {
return file_routes_proto_rawDescGZIP(), []int{27}
}
func (x *CanWriteConfig) GetCanWriteConfig() bool {
if x != nil {
return x.CanWriteConfig
}
return false
}
var File_routes_proto protoreflect.FileDescriptor
var file_routes_proto_rawDesc = string([]byte{
0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08,
0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x42, 0x48, 0x61, 0x73,
0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x5d, 0x0a, 0x13, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x75,
0x69, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05,
0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72,
0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x03, 0x61, 0x6c, 0x6c, 0x22, 0x36, 0x0a, 0x14, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
0x52, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x12,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73,
0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, 0xa2, 0x02, 0x0a, 0x14, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12,
0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66,
0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x08, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69,
0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x55, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28,
0x08, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f,
0x63, 0x69, 0x4e, 0x6f, 0x48, 0x74, 0x74, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0a, 0x6f, 0x63, 0x69, 0x4e, 0x6f, 0x48, 0x74, 0x74, 0x70, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6f,
0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x6f, 0x63, 0x69, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
0x0b, 0x6f, 0x63, 0x69, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x6f, 0x63, 0x69, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12,
0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xd9, 0x01, 0x0a, 0x09,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a,
0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6b,
0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x04, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69,
0x6d, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x69, 0x6d,
0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x67, 0x53, 0x69, 0x7a, 0x65,
0x43, 0x6f, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6d, 0x67, 0x53,
0x69, 0x7a, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x22, 0x40, 0x0a, 0x11, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77,
0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x12, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12,
0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7b, 0x0a,
0x11, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x74, 0x66, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x74, 0x66, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x4e,
0x6f, 0x64, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4b, 0x65, 0x72,
0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x16, 0x49, 0x6d,
0x61, 0x67, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
0x65, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61,
0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x14, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x61, 0x6d,
0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69,
0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67,
0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, 0x29,
0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e,
0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x4f, 0x0a, 0x09, 0x4e, 0x6f, 0x64,
0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x88, 0x02, 0x0a, 0x06, 0x4e,
0x65, 0x74, 0x44, 0x65, 0x76, 0x12, 0x31, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e,
0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73,
0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x04, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x4d, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e,
0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x04, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x36, 0x0a, 0x06, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f,
0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x52, 0x06, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x4e, 0x65,
0x74, 0x44, 0x65, 0x76, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x77,
0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x4e, 0x65,
0x74, 0x44, 0x65, 0x76, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x18, 0x18, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e,
0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x04, 0x54, 0x61, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x18,
0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x04, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x4e, 0x0a, 0x0b, 0x46, 0x69, 0x65,
0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x0c, 0x4e, 0x65, 0x74,
0x44, 0x65, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x77, 0x61,
0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e,
0x6f, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65,
0x73, 0x22, 0xad, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73,
0x74, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x1e, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f,
0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x09,
0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x54, 0x0a, 0x08, 0x4c,
0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x69, 0x6d, 0x70, 0x6c,
0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x70, 0x6d, 0x69, 0x10, 0x01, 0x12, 0x0b, 0x0a,
0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x6f,
0x6e, 0x67, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x10, 0x04, 0x12, 0x08, 0x0a,
0x04, 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10,
0x07, 0x22, 0x22, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a,
0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x4f,
0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x7e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66,
0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x41,
0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c,
0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x1a, 0x0a,
0x08, 0x53, 0x68, 0x6f, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
0x08, 0x53, 0x68, 0x6f, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f,
0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x50, 0x72, 0x6f,
0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x25, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01,
0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x7e, 0x0a, 0x10,
0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x59, 0x61, 0x6d, 0x6c,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x59, 0x61, 0x6d, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61,
0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c,
0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
0x09, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x48, 0x0a, 0x08,
0x4e, 0x6f, 0x64, 0x65, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65,
0x43, 0x6f, 0x6e, 0x66, 0x4d, 0x61, 0x70, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x4d, 0x61, 0x70, 0x59, 0x61,
0x6d, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x5d, 0x0a, 0x13, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a,
0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f,
0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73,
0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65,
0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x99, 0x06, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x53, 0x65,
0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x6f,
0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x59, 0x61, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x22,
0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x64, 0x65, 0x76, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x64, 0x65, 0x76, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72,
0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10,
0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x43,
0x6f, 0x6e, 0x66, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43,
0x6f, 0x6e, 0x66, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f,
0x6e, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f,
0x6e, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x74, 0x61, 0x67, 0x41, 0x64, 0x64,
0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
0x74, 0x61, 0x67, 0x41, 0x64, 0x64, 0x12, 0x47, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67,
0x41, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x77, 0x77, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61,
0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64, 0x12,
0x4a, 0x0a, 0x0a, 0x69, 0x70, 0x6d, 0x69, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64, 0x18, 0x0b, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x6f, 0x6e, 0x66, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e,
0x49, 0x70, 0x6d, 0x69, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0a, 0x69, 0x70, 0x6d, 0x69, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74,
0x61, 0x67, 0x44, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67,
0x44, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x44, 0x65, 0x6c,
0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x44, 0x65,
0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x70, 0x6d, 0x69, 0x54, 0x61, 0x67, 0x44, 0x65, 0x6c, 0x18,
0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x70, 0x6d, 0x69, 0x54, 0x61, 0x67, 0x44, 0x65,
0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x74, 0x64, 0x65, 0x76, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x6e, 0x65, 0x74, 0x64, 0x65, 0x76, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x61, 0x67,
0x41, 0x64, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x41, 0x64,
0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x70, 0x6d, 0x69, 0x54, 0x61, 0x67, 0x41, 0x64, 0x64,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
0x01, 0x22, 0x86, 0x01, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61,
0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x70, 0x61, 0x64, 0x64, 0x72,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x70, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1a,
0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x73, 0x65, 0x65, 0x6e, 0x22, 0x4a, 0x0a, 0x12, 0x4e, 0x6f,
0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x34, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e,
0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x79, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x69,
0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70,
0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x65, 0x77,
0x75, 0x6c, 0x66, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0f, 0x77, 0x61, 0x72, 0x65, 0x77, 0x75, 0x6c, 0x66, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x22, 0x38, 0x0a, 0x0e, 0x43, 0x61, 0x6e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x61, 0x6e,
0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x9e, 0x09, 0x0a, 0x05,
0x57, 0x57, 0x41, 0x70, 0x69, 0x12, 0x63, 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x75,
0x69, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
0x65, 0x72, 0x1a, 0x1b, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d,
0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x76, 0x31, 0x2f,
0x69, 0x6d, 0x61, 0x67, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x49, 0x6d,
0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x77, 0x77, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x2a, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x69,
0x6d, 0x61, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x70,
0x79, 0x12, 0x1c, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a,
0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x63, 0x6f, 0x70,
0x79, 0x12, 0x60, 0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x12, 0x1e, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
0x1a, 0x1b, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74,
0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f,
0x76, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1c, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
0x74, 0x65, 0x72, 0x1a, 0x1b, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6d,
0x61, 0x67, 0x65, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x61, 0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1a,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x76, 0x31, 0x2f, 0x69,
0x6d, 0x61, 0x67, 0x65, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x07, 0x4e, 0x6f,
0x64, 0x65, 0x41, 0x64, 0x64, 0x12, 0x1a, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
0x72, 0x1a, 0x1a, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64,
0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x3a, 0x01, 0x2a, 0x22, 0x08, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f,
0x64, 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x12, 0x1d, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x2a,
0x08, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x08, 0x4e, 0x6f, 0x64,
0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x1a, 0x2e, 0x77, 0x77, 0x61,
0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08,
0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x59, 0x0a, 0x07, 0x4e, 0x6f, 0x64, 0x65,
0x53, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x6f, 0x6e, 0x66, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x1a,
0x1a, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x10, 0x3a, 0x01, 0x2a, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65,
0x73, 0x65, 0x74, 0x12, 0x57, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
0x73, 0x12, 0x13, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64,
0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x1c, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76,
0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4e, 0x0a, 0x07,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
0x19, 0x2e, 0x77, 0x77, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x0a, 0x12, 0x08, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x29, 0x5a, 0x27,
0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x77, 0x77, 0x61, 0x70, 0x69, 0x76, 0x31, 0x3b,
0x77, 0x77, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
file_routes_proto_rawDescOnce sync.Once
file_routes_proto_rawDescData []byte
)
func file_routes_proto_rawDescGZIP() []byte {
file_routes_proto_rawDescOnce.Do(func() {
file_routes_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_routes_proto_rawDesc), len(file_routes_proto_rawDesc)))
})
return file_routes_proto_rawDescData
}
var file_routes_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_routes_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
var file_routes_proto_goTypes = []any{
(GetNodeList_ListType)(0), // 0: wwapi.v1.GetNodeList.ListType
(*NodeDBHash)(nil), // 1: wwapi.v1.NodeDBHash
(*ImageBuildParameter)(nil), // 2: wwapi.v1.ImageBuildParameter
(*ImageDeleteParameter)(nil), // 3: wwapi.v1.ImageDeleteParameter
(*ImageCopyParameter)(nil), // 4: wwapi.v1.ImageCopyParameter
(*ImageImportParameter)(nil), // 5: wwapi.v1.ImageImportParameter
(*ImageInfo)(nil), // 6: wwapi.v1.ImageInfo
(*ImageListResponse)(nil), // 7: wwapi.v1.ImageListResponse
(*ImageShowParameter)(nil), // 8: wwapi.v1.ImageShowParameter
(*ImageShowResponse)(nil), // 9: wwapi.v1.ImageShowResponse
(*ImageSyncUserParameter)(nil), // 10: wwapi.v1.ImageSyncUserParameter
(*ImageRenameParameter)(nil), // 11: wwapi.v1.ImageRenameParameter
(*NodeNames)(nil), // 12: wwapi.v1.NodeNames
(*NodeField)(nil), // 13: wwapi.v1.NodeField
(*NetDev)(nil), // 14: wwapi.v1.NetDev
(*NodeInfo)(nil), // 15: wwapi.v1.NodeInfo
(*NodeListResponse)(nil), // 16: wwapi.v1.NodeListResponse
(*GetNodeList)(nil), // 17: wwapi.v1.GetNodeList
(*NodeList)(nil), // 18: wwapi.v1.NodeList
(*GetProfileList)(nil), // 19: wwapi.v1.GetProfileList
(*ProfileList)(nil), // 20: wwapi.v1.ProfileList
(*NodeAddParameter)(nil), // 21: wwapi.v1.NodeAddParameter
(*NodeYaml)(nil), // 22: wwapi.v1.NodeYaml
(*NodeDeleteParameter)(nil), // 23: wwapi.v1.NodeDeleteParameter
(*ConfSetParameter)(nil), // 24: wwapi.v1.ConfSetParameter
(*NodeStatus)(nil), // 25: wwapi.v1.NodeStatus
(*NodeStatusResponse)(nil), // 26: wwapi.v1.NodeStatusResponse
(*VersionResponse)(nil), // 27: wwapi.v1.VersionResponse
(*CanWriteConfig)(nil), // 28: wwapi.v1.CanWriteConfig
nil, // 29: wwapi.v1.NetDev.FieldEntry
nil, // 30: wwapi.v1.NetDev.TagsEntry
nil, // 31: wwapi.v1.NodeInfo.FieldsEntry
nil, // 32: wwapi.v1.NodeInfo.NetDevsEntry
nil, // 33: wwapi.v1.NodeInfo.TagsEntry
nil, // 34: wwapi.v1.NodeInfo.KeysEntry
nil, // 35: wwapi.v1.ConfSetParameter.TagAddEntry
nil, // 36: wwapi.v1.ConfSetParameter.NetTagAddEntry
nil, // 37: wwapi.v1.ConfSetParameter.IpmiTagAddEntry
(*emptypb.Empty)(nil), // 38: google.protobuf.Empty
}
var file_routes_proto_depIdxs = []int32{
6, // 0: wwapi.v1.ImageListResponse.images:type_name -> wwapi.v1.ImageInfo
29, // 1: wwapi.v1.NetDev.Field:type_name -> wwapi.v1.NetDev.FieldEntry
30, // 2: wwapi.v1.NetDev.Tags:type_name -> wwapi.v1.NetDev.TagsEntry
31, // 3: wwapi.v1.NodeInfo.Fields:type_name -> wwapi.v1.NodeInfo.FieldsEntry
32, // 4: wwapi.v1.NodeInfo.NetDevs:type_name -> wwapi.v1.NodeInfo.NetDevsEntry
33, // 5: wwapi.v1.NodeInfo.Tags:type_name -> wwapi.v1.NodeInfo.TagsEntry
34, // 6: wwapi.v1.NodeInfo.Keys:type_name -> wwapi.v1.NodeInfo.KeysEntry
15, // 7: wwapi.v1.NodeListResponse.nodes:type_name -> wwapi.v1.NodeInfo
0, // 8: wwapi.v1.GetNodeList.type:type_name -> wwapi.v1.GetNodeList.ListType
35, // 9: wwapi.v1.ConfSetParameter.tagAdd:type_name -> wwapi.v1.ConfSetParameter.TagAddEntry
36, // 10: wwapi.v1.ConfSetParameter.netTagAdd:type_name -> wwapi.v1.ConfSetParameter.NetTagAddEntry
37, // 11: wwapi.v1.ConfSetParameter.ipmiTagAdd:type_name -> wwapi.v1.ConfSetParameter.IpmiTagAddEntry
25, // 12: wwapi.v1.NodeStatusResponse.nodeStatus:type_name -> wwapi.v1.NodeStatus
13, // 13: wwapi.v1.NetDev.FieldEntry.value:type_name -> wwapi.v1.NodeField
13, // 14: wwapi.v1.NetDev.TagsEntry.value:type_name -> wwapi.v1.NodeField
13, // 15: wwapi.v1.NodeInfo.FieldsEntry.value:type_name -> wwapi.v1.NodeField
14, // 16: wwapi.v1.NodeInfo.NetDevsEntry.value:type_name -> wwapi.v1.NetDev
13, // 17: wwapi.v1.NodeInfo.TagsEntry.value:type_name -> wwapi.v1.NodeField
13, // 18: wwapi.v1.NodeInfo.KeysEntry.value:type_name -> wwapi.v1.NodeField
2, // 19: wwapi.v1.WWApi.ImageBuild:input_type -> wwapi.v1.ImageBuildParameter
3, // 20: wwapi.v1.WWApi.ImageDelete:input_type -> wwapi.v1.ImageDeleteParameter
4, // 21: wwapi.v1.WWApi.ImageCopy:input_type -> wwapi.v1.ImageCopyParameter
5, // 22: wwapi.v1.WWApi.ImageImport:input_type -> wwapi.v1.ImageImportParameter
38, // 23: wwapi.v1.WWApi.ImageList:input_type -> google.protobuf.Empty
8, // 24: wwapi.v1.WWApi.ImageShow:input_type -> wwapi.v1.ImageShowParameter
11, // 25: wwapi.v1.WWApi.ImageRename:input_type -> wwapi.v1.ImageRenameParameter
21, // 26: wwapi.v1.WWApi.NodeAdd:input_type -> wwapi.v1.NodeAddParameter
23, // 27: wwapi.v1.WWApi.NodeDelete:input_type -> wwapi.v1.NodeDeleteParameter
12, // 28: wwapi.v1.WWApi.NodeList:input_type -> wwapi.v1.NodeNames
24, // 29: wwapi.v1.WWApi.NodeSet:input_type -> wwapi.v1.ConfSetParameter
12, // 30: wwapi.v1.WWApi.NodeStatus:input_type -> wwapi.v1.NodeNames
38, // 31: wwapi.v1.WWApi.Version:input_type -> google.protobuf.Empty
7, // 32: wwapi.v1.WWApi.ImageBuild:output_type -> wwapi.v1.ImageListResponse
38, // 33: wwapi.v1.WWApi.ImageDelete:output_type -> google.protobuf.Empty
38, // 34: wwapi.v1.WWApi.ImageCopy:output_type -> google.protobuf.Empty
7, // 35: wwapi.v1.WWApi.ImageImport:output_type -> wwapi.v1.ImageListResponse
7, // 36: wwapi.v1.WWApi.ImageList:output_type -> wwapi.v1.ImageListResponse
9, // 37: wwapi.v1.WWApi.ImageShow:output_type -> wwapi.v1.ImageShowResponse
38, // 38: wwapi.v1.WWApi.ImageRename:output_type -> google.protobuf.Empty
16, // 39: wwapi.v1.WWApi.NodeAdd:output_type -> wwapi.v1.NodeListResponse
38, // 40: wwapi.v1.WWApi.NodeDelete:output_type -> google.protobuf.Empty
16, // 41: wwapi.v1.WWApi.NodeList:output_type -> wwapi.v1.NodeListResponse
16, // 42: wwapi.v1.WWApi.NodeSet:output_type -> wwapi.v1.NodeListResponse
26, // 43: wwapi.v1.WWApi.NodeStatus:output_type -> wwapi.v1.NodeStatusResponse
27, // 44: wwapi.v1.WWApi.Version:output_type -> wwapi.v1.VersionResponse
32, // [32:45] is the sub-list for method output_type
19, // [19:32] is the sub-list for method input_type
19, // [19:19] is the sub-list for extension type_name
19, // [19:19] is the sub-list for extension extendee
0, // [0:19] is the sub-list for field type_name
}
func init() { file_routes_proto_init() }
func file_routes_proto_init() {
if File_routes_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_routes_proto_rawDesc), len(file_routes_proto_rawDesc)),
NumEnums: 1,
NumMessages: 37,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_routes_proto_goTypes,
DependencyIndexes: file_routes_proto_depIdxs,
EnumInfos: file_routes_proto_enumTypes,
MessageInfos: file_routes_proto_msgTypes,
}.Build()
File_routes_proto = out.File
file_routes_proto_goTypes = nil
file_routes_proto_depIdxs = nil
}