diff --git a/api/api.descriptors b/api/api.descriptors index 5056ae5712..1628d6c0a5 100644 Binary files a/api/api.descriptors and b/api/api.descriptors differ diff --git a/api/resource/definitions/enums/enums.proto b/api/resource/definitions/enums/enums.proto old mode 100644 new mode 100755 index fcfc6c3079..8b581aea91 --- a/api/resource/definitions/enums/enums.proto +++ b/api/resource/definitions/enums/enums.proto @@ -19,42 +19,21 @@ enum MachineType { TYPE_WORKER = 3; } -// KubespanPeerState is KubeSpan peer current state. -enum KubespanPeerState { - PEER_STATE_UNKNOWN = 0; - PEER_STATE_UP = 1; - PEER_STATE_DOWN = 2; -} - -// NetworkConfigLayer describes network configuration layers, with lowest priority first. -enum NetworkConfigLayer { - CONFIG_DEFAULT = 0; - CONFIG_CMDLINE = 1; - CONFIG_PLATFORM = 2; - CONFIG_OPERATOR = 3; - CONFIG_MACHINE_CONFIGURATION = 4; -} - -// NetworkOperator enumerates Talos network operators. -enum NetworkOperator { - OPERATOR_DHCP_4 = 0; - OPERATOR_DHCP_6 = 1; - OPERATOR_VIP = 2; -} - -// NethelpersFamily is a network family. -enum NethelpersFamily { - FAMILY_INET_4 = 0; - FAMILY_INET_6 = 1; -} - -// NethelpersScope is an address scope. -enum NethelpersScope { - SCOPE_GLOBAL = 0; - SCOPE_SITE = 200; - SCOPE_LINK = 253; - SCOPE_HOST = 254; - SCOPE_NOWHERE = 255; +// NethelpersAddressFlag wraps IFF_* constants. +enum NethelpersAddressFlag { + NETHELPERS_ADDRESSFLAG_UNSPECIFIED = 0; + ADDRESS_TEMPORARY = 1; + ADDRESS_NO_DAD = 2; + ADDRESS_OPTIMISTIC = 4; + ADDRESS_DAD_FAILED = 8; + ADDRESS_HOME = 16; + ADDRESS_DEPRECATED = 32; + ADDRESS_TENTATIVE = 64; + ADDRESS_PERMANENT = 128; + ADDRESS_MANAGEMENT_TEMP = 256; + ADDRESS_NO_PREFIX_ROUTE = 512; + ADDRESS_MC_AUTO_JOIN = 1024; + ADDRESS_STABLE_PRIVACY = 2048; } // NethelpersADSelect is ADSelect. @@ -78,53 +57,56 @@ enum NethelpersARPValidate { ARP_VALIDATE_ALL = 3; } -// NethelpersFailOverMAC is a MAC failover mode. -enum NethelpersFailOverMAC { - FAIL_OVER_MAC_NONE = 0; - FAIL_OVER_MAC_ACTIVE = 1; - FAIL_OVER_MAC_FOLLOW = 2; +// NethelpersBondMode is a bond mode. +enum NethelpersBondMode { + BOND_MODE_ROUNDROBIN = 0; + BOND_MODE_ACTIVE_BACKUP = 1; + BOND_MODE_XOR = 2; + BOND_MODE_BROADCAST = 3; + BOND_MODE8023_AD = 4; + BOND_MODE_TLB = 5; + BOND_MODE_ALB = 6; } // NethelpersBondXmitHashPolicy is a bond hash policy. enum NethelpersBondXmitHashPolicy { - // layer2 BOND_XMIT_POLICY_LAYER2 = 0; - // layer3+4 BOND_XMIT_POLICY_LAYER34 = 1; - // layer2+3 BOND_XMIT_POLICY_LAYER23 = 2; - // encap2+3 BOND_XMIT_POLICY_ENCAP23 = 3; - // encap3+4 BOND_XMIT_POLICY_ENCAP34 = 4; } -// NethelpersLACPRate is a LACP rate. -enum NethelpersLACPRate { - LACP_RATE_SLOW = 0; - LACP_RATE_FAST = 1; +// NethelpersDuplex wraps ethtool.Duplex for YAML marshaling. +enum NethelpersDuplex { + HALF = 0; + FULL = 1; + UNKNOWN = 255; } -// NethelpersBondMode is a bond mode. -enum NethelpersBondMode { - BOND_MODE_ROUNDROBIN = 0; - BOND_MODE_ACTIVE_BACKUP = 1; - BOND_MODE_XOR = 2; - BOND_MODE_BROADCAST = 3; - BOND_MODE8023_AD = 4; - BOND_MODE_TLB = 5; - BOND_MODE_ALB = 6; +// NethelpersFailOverMAC is a MAC failover mode. +enum NethelpersFailOverMAC { + FAIL_OVER_MAC_NONE = 0; + FAIL_OVER_MAC_ACTIVE = 1; + FAIL_OVER_MAC_FOLLOW = 2; } -// NethelpersPrimaryReselect is an ARP targets mode. -enum NethelpersPrimaryReselect { - PRIMARY_RESELECT_ALWAYS = 0; - PRIMARY_RESELECT_BETTER = 1; - PRIMARY_RESELECT_FAILURE = 2; +// NethelpersFamily is a network family. +enum NethelpersFamily { + NETHELPERS_FAMILY_UNSPECIFIED = 0; + FAMILY_INET4 = 2; + FAMILY_INET6 = 10; +} + +// NethelpersLACPRate is a LACP rate. +enum NethelpersLACPRate { + LACP_RATE_SLOW = 0; + LACP_RATE_FAST = 1; } // NethelpersLinkType is a link type. enum NethelpersLinkType { + option allow_alias = true; LINK_NETROM = 0; LINK_ETHER = 1; LINK_EETHER = 2; @@ -151,7 +133,8 @@ enum NethelpersLinkType { LINK_HWX25 = 272; LINK_CAN = 280; LINK_PPP = 512; - LINK_CISCO_HDLC = 513; + LINK_CISCO = 513; + LINK_HDLC = 513; LINK_LAPB = 516; LINK_DDCMP = 517; LINK_RAWHDLC = 518; @@ -187,29 +170,22 @@ enum NethelpersLinkType { LINK_FCFABRIC10 = 797; LINK_FCFABRIC11 = 798; LINK_FCFABRIC12 = 799; - LINK_IEE802_TR = 800; + LINK_IEE802TR = 800; LINK_IEE80211 = 801; - LINK_IEE80211_PRISM = 802; + LINK_IEE80211PRISM = 802; LINK_IEE80211_RADIOTAP = 803; LINK_IEE8021154 = 804; - LINK_IEE8021154_MONITOR = 805; + LINK_IEE8021154MONITOR = 805; LINK_PHONET = 820; LINK_PHONETPIPE = 821; LINK_CAIF = 822; - LINK_IP6_GRE = 823; + LINK_IP6GRE = 823; LINK_NETLINK = 824; LINK6_LOWPAN = 825; LINK_VOID = 65535; LINK_NONE = 65534; } -// NethelpersDuplex wraps ethtool.Duplex for YAML marshaling. -enum NethelpersDuplex { - HALF = 0; - FULL = 1; - UNKNOWN = 255; -} - // NethelpersOperationalState wraps rtnetlink.OperationalState for YAML marshaling. enum NethelpersOperationalState { OPER_STATE_UNKNOWN = 0; @@ -233,6 +209,26 @@ enum NethelpersPort { OTHER = 255; } +// NethelpersPrimaryReselect is an ARP targets mode. +enum NethelpersPrimaryReselect { + PRIMARY_RESELECT_ALWAYS = 0; + PRIMARY_RESELECT_BETTER = 1; + PRIMARY_RESELECT_FAILURE = 2; +} + +// NethelpersRouteFlag wraps RTM_F_* constants. +enum NethelpersRouteFlag { + NETHELPERS_ROUTEFLAG_UNSPECIFIED = 0; + ROUTE_NOTIFY = 256; + ROUTE_CLONED = 512; + ROUTE_EQUALIZE = 1024; + ROUTE_PREFIX = 2048; + ROUTE_LOOKUP_TABLE = 4096; + ROUTE_FIB_MATCH = 8192; + ROUTE_OFFLOAD = 16384; + ROUTE_TRAP = 32768; +} + // NethelpersRouteProtocol is a routing protocol. enum NethelpersRouteProtocol { PROTOCOL_UNSPEC = 0; @@ -259,14 +255,6 @@ enum NethelpersRouteProtocol { PROTOCOL_EIGRP = 192; } -// NethelpersRoutingTable is a routing table ID. -enum NethelpersRoutingTable { - TABLE_UNSPEC = 0; - TABLE_DEFAULT = 253; - TABLE_MAIN = 254; - TABLE_LOCAL = 255; -} - // NethelpersRouteType is a route type. enum NethelpersRouteType { TYPE_UNSPEC = 0; @@ -283,10 +271,51 @@ enum NethelpersRouteType { TYPE_X_RESOLVE = 11; } +// NethelpersRoutingTable is a routing table ID. +enum NethelpersRoutingTable { + TABLE_UNSPEC = 0; + TABLE_DEFAULT = 253; + TABLE_MAIN = 254; + TABLE_LOCAL = 255; +} + +// NethelpersScope is an address scope. +enum NethelpersScope { + SCOPE_GLOBAL = 0; + SCOPE_SITE = 200; + SCOPE_LINK = 253; + SCOPE_HOST = 254; + SCOPE_NOWHERE = 255; +} + // NethelpersVLANProtocol is a VLAN protocol. enum NethelpersVLANProtocol { - VLAN_PROTOCOL8021_Q = 0; - VLAN_PROTOCOL8021_AD = 1; + NETHELPERS_VLANPROTOCOL_UNSPECIFIED = 0; + VLAN_PROTOCOL8021_Q = 33024; + VLAN_PROTOCOL8021_AD = 34984; +} + +// KubespanPeerState is KubeSpan peer current state. +enum KubespanPeerState { + PEER_STATE_UNKNOWN = 0; + PEER_STATE_UP = 1; + PEER_STATE_DOWN = 2; +} + +// NetworkConfigLayer describes network configuration layers, with lowest priority first. +enum NetworkConfigLayer { + CONFIG_DEFAULT = 0; + CONFIG_CMDLINE = 1; + CONFIG_PLATFORM = 2; + CONFIG_OPERATOR = 3; + CONFIG_MACHINE_CONFIGURATION = 4; +} + +// NetworkOperator enumerates Talos network operators. +enum NetworkOperator { + OPERATOR_DHCP4 = 0; + OPERATOR_DHCP6 = 1; + OPERATOR_VIP = 2; } // RuntimeMachineStage describes the stage of the machine boot/run process. @@ -301,3 +330,4 @@ enum RuntimeMachineStage { MACHINE_STAGE_RESETTING = 7; MACHINE_STAGE_UPGRADING = 8; } + diff --git a/hack/structprotogen/consts/consts.go b/hack/structprotogen/consts/consts.go new file mode 100644 index 0000000000..b063a36f3d --- /dev/null +++ b/hack/structprotogen/consts/consts.go @@ -0,0 +1,329 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +// Package consts is used to find all consts with expected tag in the given AST. +package consts + +import ( + "fmt" + "go/ast" + "go/token" + "go/types" + "io" + "regexp" + "strconv" + "strings" + + "golang.org/x/tools/go/packages" +) + +const tag = "structprotogen:gen_enum" + +// FindIn looks up all const blocks with the specific comment in the given packages. +// +//nolint:gocyclo +func FindIn(pkgs []*packages.Package) (ConstBlocks, error) { + var result ConstBlocks + + for _, pkg := range pkgs { + for _, f := range pkg.Syntax { + for _, constBlock := range findGenDecls(f.Decls) { + var consts []Constant + + var typeData typeData + + valueSpecs := filter(constBlock.Specs, func(spec ast.Spec) (*ast.ValueSpec, bool) { + valueSpec, ok := spec.(*ast.ValueSpec) + + return valueSpec, ok + }) + + for _, valueSpec := range valueSpecs { + for _, name := range valueSpec.Names { + def := pkg.TypesInfo.Defs[name] + + if !def.Exported() { + continue + } + + td, err := getTypeData(pkg.Syntax, def.Type()) + if err != nil { + return nil, fmt.Errorf("%s: const named '%s': %w", pkg.PkgPath, def.Name(), err) + } + + if typeData.name == "" { + typeData = td + } else if typeData.name != td.name { + return nil, fmt.Errorf("const type mismatch: %s != %s", typeData.name, def.Type().String()) + } + + val, err := getValue(def) + if err != nil { + return nil, err + } + + consts = append(consts, Constant{ + Name: name.Name, + Value: val, + CommentLines: commentToStrings(valueSpec.Doc), + }) + } + } + + if len(consts) == 0 { + return nil, fmt.Errorf("%s: const block with no exported consts", pkg.PkgPath) + } + + result = append(result, ConstBlock{ + TypeName: typeData.name, + TypePkg: typeData.pkgName, + TypePath: typeData.pkgPath, + CommentLines: typeData.comments, + Consts: consts, + }) + } + } + } + + return result, nil +} + +func getValue(obj types.Object) (string, error) { + result := obj.(*types.Const).Val().String() + + _, err := strconv.Atoi(result) + if err != nil { + return "", fmt.Errorf("value %s is not an integer: %s", obj.Name(), result) + } + + return result, nil +} + +func findGenDecls(decl []ast.Decl) []*ast.GenDecl { + return filter(decl, func(decl ast.Decl) (*ast.GenDecl, bool) { + genDecl, ok := decl.(*ast.GenDecl) + if !ok || + genDecl.Tok != token.CONST || + genDecl.Lparen == token.NoPos || // single const declaration, ignore + len(genDecl.Specs) == 0 { + return nil, false + } + + strs := commentToStrings(genDecl.Doc) + if len(strs) == 0 { + return nil, false + } + + if findInStrings(strs, tag) == -1 { + return nil, false + } + + return genDecl, true + }) +} + +// findInStrings finds a string in a list of strings. +func findInStrings(strs []string, find string) int { + for i, str := range strs { + if strings.Contains(str, find) { + return i + } + } + + return -1 +} + +func getTypeData(files []*ast.File, t types.Type) (typeData, error) { + switch t := t.(type) { + case *types.Named: + commentGroup, err := findTypeComment(files, t.Obj().Name()) + if err != nil { + return typeData{}, err + } + + return typeData{ + name: t.Obj().Name(), + pkgName: t.Obj().Pkg().Name(), + pkgPath: t.Obj().Pkg().Path(), + comments: commentToStrings(commentGroup), + }, nil + default: + return typeData{}, fmt.Errorf("unsupported type: %s", t.String()) + } +} + +type typeData struct { + name string + pkgName string + pkgPath string + comments []string +} + +func findTypeComment(files []*ast.File, typeName string) (*ast.CommentGroup, error) { + for _, f := range files { + for _, decl := range f.Decls { + genDecl, ok := decl.(*ast.GenDecl) + if !ok || + genDecl.Tok != token.TYPE || + len(genDecl.Specs) == 0 { + continue + } + + for _, spec := range genDecl.Specs { + typeSpec, ok := spec.(*ast.TypeSpec) + if !ok { + continue + } + + if typeSpec.Name.Name == typeName { + return genDecl.Doc, nil + } + } + } + } + + return nil, fmt.Errorf("type %s not found", typeName) +} + +// commentToStrings converts a list of comments to a list of strings. +func commentToStrings(doc *ast.CommentGroup) []string { + if doc == nil { + return nil + } + + result := make([]string, 0, len(doc.List)) + for _, c := range doc.List { + result = append(result, c.Text) + } + + return result +} + +// ConstBlock is a block of constants. +type ConstBlock struct { + TypeName string + TypePkg string + TypePath string + CommentLines []string + Consts []Constant +} + +// ProtoMessageName returns the name of the proto message for this const block. +func (b *ConstBlock) ProtoMessageName() string { + return strings.Title(b.TypePkg) + strings.Title(b.TypeName) //nolint:staticcheck +} + +// Constant represents a constant. +type Constant struct { + Name string + Value string + CommentLines []string +} + +// ConstBlocks is a slice of ConstBlock. +type ConstBlocks []ConstBlock + +// FormatProtoFile generates proto file from the list of ConstBlocks. +func (b *ConstBlocks) FormatProtoFile(w io.Writer) error { + fmt.Fprint(w, "syntax = \"proto3\";\n\n") + fmt.Fprint(w, "package talos.resource.definitions.enums;\n\n") + fmt.Fprint(w, `option go_package = "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/enums";`+"\n\n") + + for _, block := range *b { + for _, comment := range block.CommentLines { + fmt.Fprintln(w, strings.ReplaceAll(comment, " "+block.TypeName+" ", " "+block.ProtoMessageName()+" ")) + } + + fmt.Fprintf(w, "enum %s {\n", block.ProtoMessageName()) + + if hasDuplicates(block.Consts, func(c Constant) string { return c.Value }) { + fmt.Fprintln(w, " option allow_alias = true;") + } + + for i, constant := range block.Consts { + for _, comment := range constant.CommentLines { + fmt.Fprintln(w, " ", comment) + } + + if i == 0 && constant.Value != "0" { + fmt.Fprintf(w, + " %s_%s_UNSPECIFIED = 0;\n", + strings.ToUpper(block.TypePkg), + strings.ToUpper(block.TypeName), + ) + } + + fmt.Fprintf(w, " %s = %s;\n", toCapitalSnakeCase(constant.Name), constant.Value) + } + + fmt.Fprintf(w, "}\n\n") + } + + return nil +} + +// HaveType returns true if the list of ConstBlocks contains a block with the given type. +func (b *ConstBlocks) HaveType(pkgPath, typeName string) bool { + _, ok := b.Get(pkgPath, typeName) + + return ok +} + +// Get returns a ConstBlock for a given type. +func (b *ConstBlocks) Get(pkgPath, typeName string) (ConstBlock, bool) { + for _, block := range *b { + if block.TypePath == pkgPath && block.TypeName == typeName { + return block, true + } + } + + return ConstBlock{}, false +} + +func hasDuplicates[T any, K comparable](slc []T, fn func(T) K) bool { + seen := make(map[K]struct{}, len(slc)) + + for _, elem := range slc { + k := fn(elem) + if _, ok := seen[k]; ok { + return true + } + + seen[k] = struct{}{} + } + + return false +} + +// toCapitalSnakeCase converts a string to a capital snake case. +func toCapitalSnakeCase(str string) string { + snake := matchFirstCap.ReplaceAllString(str, "${1}_${2}") + snake = matchAllCap.ReplaceAllString(snake, "${1}_${2}") + snake = strings.ToUpper(snake) + + // special case for "SomethingsIps" + if strings.HasSuffix(snake, "_i_ps") { + snake = strings.TrimSuffix(snake, "_i_ps") + "_ips" + } + + return snake +} + +var ( + matchFirstCap = regexp.MustCompile("(.)([A-Z][a-z]+)") + matchAllCap = regexp.MustCompile("([a-z0-9])([A-Z])") +) + +func filter[T, V any](slc []T, f func(n T) (V, bool)) []V { + var result []V + + for _, v := range slc { + res, ok := f(v) + if ok { + result = append(result, res) + } + } + + return result +} diff --git a/hack/structprotogen/main.go b/hack/structprotogen/main.go index 5c40554d42..94abffac13 100644 --- a/hack/structprotogen/main.go +++ b/hack/structprotogen/main.go @@ -7,17 +7,18 @@ package main //nolint:gci import ( - "bytes" "fmt" "os" "path" "path/filepath" + "github.com/spf13/cobra" + "github.com/siderolabs/structprotogen/ast" + "github.com/siderolabs/structprotogen/consts" "github.com/siderolabs/structprotogen/loader" "github.com/siderolabs/structprotogen/proto" "github.com/siderolabs/structprotogen/types" - "github.com/spf13/cobra" ) // rootCmd represents the base command when called without any subcommands. @@ -50,6 +51,11 @@ func run(pkgPath, dst string) error { return err } + constants, err := consts.FindIn(loadedPkgs) + if err != nil { + return err + } + taggedStructs := ast.FindAllTaggedStructs(loadedPkgs) printFoundStructs(taggedStructs) @@ -67,12 +73,16 @@ func run(pkgPath, dst string) error { for i := 0; i < externalTypes.Len(); i++ { externalType := externalTypes.Get(i) + if constants.HaveType(externalType.Pkg, externalType.Name) { + continue + } + if !proto.IsSupportedExternalType(externalType) { return fmt.Errorf("external type '%s.%s' is not supported", externalType.Pkg, externalType.Name) } } - data := proto.PrepareProtoData(pkgsTypes) + data := proto.PrepareProtoData(pkgsTypes, constants) for i := 0; i < data.Len(); i++ { protoData := data.Get(i) @@ -86,6 +96,15 @@ func run(pkgPath, dst string) error { return fmt.Errorf("failed to create directory for proto files: %w", err) } + if len(constants) > 0 { + err = withFile(filepath.Join(dst, "enums", "enums.proto"), func(f *os.File) error { + return constants.FormatProtoFile(f) + }) + if err != nil { + return fmt.Errorf("failed to write enums proto file: %w", err) + } + } + for i := 0; i < data.Len(); i++ { protoData := data.Get(i) @@ -106,11 +125,12 @@ func run(pkgPath, dst string) error { fmt.Println("writing file", dstFile) - var buf bytes.Buffer - - protoData.Format(&buf) + err = withFile(dstFile, func(f *os.File) error { + protoData.Format(f) - if err := os.WriteFile(dstFile, buf.Bytes(), os.ModePerm); err != nil { + return nil + }) + if err != nil { return fmt.Errorf("failed to write file '%s': %w", dstFile, err) } } @@ -123,3 +143,31 @@ func printFoundStructs(structs ast.TaggedStructs) { fmt.Printf("found tagged struct '%s' in pkg '%s'\n", decl.Name, decl.Pkg) } } + +func withFile(filename string, fn func(f *os.File) error) error { + dir := filepath.Dir(filename) + + _, err := os.Stat(dir) + if os.IsNotExist(err) { + err = os.MkdirAll(dir, 0o755) + if err != nil { + return err + } + } else if err != nil { + return err + } + + file, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) + if err != nil { + return err + } + + defer func() { + err := file.Close() + if err != nil { + fmt.Println("failed to close file:", err) + } + }() + + return fn(file) +} diff --git a/hack/structprotogen/proto/proto.go b/hack/structprotogen/proto/proto.go index bd7739a37b..dbd4374fc4 100644 --- a/hack/structprotogen/proto/proto.go +++ b/hack/structprotogen/proto/proto.go @@ -12,9 +12,11 @@ import ( "regexp" "strings" + "gopkg.in/typ.v4/slices" + + "github.com/siderolabs/structprotogen/consts" "github.com/siderolabs/structprotogen/sliceutil" "github.com/siderolabs/structprotogen/types" - "gopkg.in/typ.v4/slices" ) // Pkg represents a protobuf package. @@ -202,7 +204,7 @@ func (pf protoField) Format(w io.Writer) { // PrepareProtoData prepares the data for the protobuf generation. // //nolint:gocyclo,cyclop -func PrepareProtoData(pkgsTypes slices.Sorted[*types.Type]) slices.Sorted[*Pkg] { +func PrepareProtoData(pkgsTypes slices.Sorted[*types.Type], constants consts.ConstBlocks) slices.Sorted[*Pkg] { result := slices.NewSortedCompare([]*Pkg{}, protoPkgsCmp) for i := 0; i < pkgsTypes.Len(); i++ { @@ -242,7 +244,14 @@ func PrepareProtoData(pkgsTypes slices.Sorted[*types.Type]) slices.Sorted[*Pkg] } if fieldTyp, ok := types.MatchTypeData[types.Basic](fieldTypeData); ok { - importName, typeName := mustFormatBasicTypeName(fieldTyp.Pkg, fieldTyp.Name) + var importName, typeName string + + if block, ok := constants.Get(fieldTyp.Pkg, fieldTyp.Name); ok { + importName = "resource/definitions/enums/enums.proto" + typeName = "talos.resource.definitions.enums." + block.ProtoMessageName() + } else { + importName, typeName = mustFormatBasicTypeName(fieldTyp.Pkg, fieldTyp.Name) + } if importName != "" { sliceutil.AddIfNotFound(protoPkg.Imports(), importName) @@ -419,65 +428,17 @@ func formatBasicTypeName(typPkg string, typ string) (importPath, fullName string pkg: typPkg, } - const enumsProto = "resource/definitions/enums/enums.proto" - switch td { case typeData{"time", "Duration"}: return "google/protobuf/duration.proto", "google.protobuf.Duration" case typeData{"io/fs", "FileMode"}: return "", "uint32" //nolint:goconst - case typeData{"github.com/siderolabs/talos/pkg/machinery/config/types/v1alpha1/machine", "Type"}: - return enumsProto, "talos.resource.definitions.enums.MachineType" - case typeData{"github.com/siderolabs/talos/pkg/machinery/resources/kubespan", "PeerState"}: - return enumsProto, "talos.resource.definitions.enums.KubespanPeerState" - case typeData{"github.com/siderolabs/talos/pkg/machinery/resources/network", "ConfigLayer"}: - return enumsProto, "talos.resource.definitions.enums.NetworkConfigLayer" - case typeData{"github.com/siderolabs/talos/pkg/machinery/resources/network", "Operator"}: - return enumsProto, "talos.resource.definitions.enums.NetworkOperator" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "Family"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersFamily" case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "AddressFlags"}: return "", "uint32" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "Scope"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersScope" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "ADSelect"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersADSelect" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "ARPAllTargets"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersARPAllTargets" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "ARPValidate"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersARPValidate" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "FailOverMAC"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersFailOverMAC" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "BondXmitHashPolicy"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersBondXmitHashPolicy" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "LACPRate"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersLACPRate" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "BondMode"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersBondMode" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "PrimaryReselect"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersPrimaryReselect" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "LinkType"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersLinkType" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "Duplex"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersDuplex" case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "LinkFlags"}: return "", "uint32" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "OperationalState"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersOperationalState" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "Port"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersPort" case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "RouteFlags"}: return "", "uint32" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "RouteProtocol"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersRouteProtocol" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "RoutingTable"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersRoutingTable" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "RouteType"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersRouteType" - case typeData{"github.com/siderolabs/talos/pkg/machinery/nethelpers", "VLANProtocol"}: - return enumsProto, "talos.resource.definitions.enums.NethelpersVLANProtocol" - case typeData{"github.com/siderolabs/talos/pkg/machinery/resources/runtime", "MachineStage"}: - return enumsProto, "talos.resource.definitions.enums.RuntimeMachineStage" default: return "", "" } diff --git a/hack/structprotogen/types/types.go b/hack/structprotogen/types/types.go index 9fe086bae0..e4ee07651c 100644 --- a/hack/structprotogen/types/types.go +++ b/hack/structprotogen/types/types.go @@ -12,10 +12,11 @@ import ( "path" "strings" - "github.com/siderolabs/structprotogen/ast" - "github.com/siderolabs/structprotogen/sliceutil" "golang.org/x/tools/go/packages" "gopkg.in/typ.v4/slices" + + "github.com/siderolabs/structprotogen/ast" + "github.com/siderolabs/structprotogen/sliceutil" ) // PkgDecl is a struct which contains package path and tagged struct declarations. @@ -45,7 +46,7 @@ func FindPkgDecls(taggedStructs ast.TaggedStructs, loadedPkgs []*packages.Packag return slices.Sorted[*PkgDecl]{}, fmt.Errorf("no definitions found") } - return result, error(nil) + return result, nil } func forEachTaggedStruct(taggedStructs ast.TaggedStructs, pkg *packages.Package, f func(decl types.Object)) { diff --git a/pkg/machinery/api/resource/definitions/enums/enums.pb.go b/pkg/machinery/api/resource/definitions/enums/enums.pb.go index 649d851e59..4590b11aa1 100644 --- a/pkg/machinery/api/resource/definitions/enums/enums.pb.go +++ b/pkg/machinery/api/resource/definitions/enums/enums.pb.go @@ -81,265 +81,86 @@ func (MachineType) EnumDescriptor() ([]byte, []int) { return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{0} } -// KubespanPeerState is KubeSpan peer current state. -type KubespanPeerState int32 +// NethelpersAddressFlag wraps IFF_* constants. +type NethelpersAddressFlag int32 const ( - KubespanPeerState_PEER_STATE_UNKNOWN KubespanPeerState = 0 - KubespanPeerState_PEER_STATE_UP KubespanPeerState = 1 - KubespanPeerState_PEER_STATE_DOWN KubespanPeerState = 2 + NethelpersAddressFlag_NETHELPERS_ADDRESSFLAG_UNSPECIFIED NethelpersAddressFlag = 0 + NethelpersAddressFlag_ADDRESS_TEMPORARY NethelpersAddressFlag = 1 + NethelpersAddressFlag_ADDRESS_NO_DAD NethelpersAddressFlag = 2 + NethelpersAddressFlag_ADDRESS_OPTIMISTIC NethelpersAddressFlag = 4 + NethelpersAddressFlag_ADDRESS_DAD_FAILED NethelpersAddressFlag = 8 + NethelpersAddressFlag_ADDRESS_HOME NethelpersAddressFlag = 16 + NethelpersAddressFlag_ADDRESS_DEPRECATED NethelpersAddressFlag = 32 + NethelpersAddressFlag_ADDRESS_TENTATIVE NethelpersAddressFlag = 64 + NethelpersAddressFlag_ADDRESS_PERMANENT NethelpersAddressFlag = 128 + NethelpersAddressFlag_ADDRESS_MANAGEMENT_TEMP NethelpersAddressFlag = 256 + NethelpersAddressFlag_ADDRESS_NO_PREFIX_ROUTE NethelpersAddressFlag = 512 + NethelpersAddressFlag_ADDRESS_MC_AUTO_JOIN NethelpersAddressFlag = 1024 + NethelpersAddressFlag_ADDRESS_STABLE_PRIVACY NethelpersAddressFlag = 2048 ) -// Enum value maps for KubespanPeerState. +// Enum value maps for NethelpersAddressFlag. var ( - KubespanPeerState_name = map[int32]string{ - 0: "PEER_STATE_UNKNOWN", - 1: "PEER_STATE_UP", - 2: "PEER_STATE_DOWN", + NethelpersAddressFlag_name = map[int32]string{ + 0: "NETHELPERS_ADDRESSFLAG_UNSPECIFIED", + 1: "ADDRESS_TEMPORARY", + 2: "ADDRESS_NO_DAD", + 4: "ADDRESS_OPTIMISTIC", + 8: "ADDRESS_DAD_FAILED", + 16: "ADDRESS_HOME", + 32: "ADDRESS_DEPRECATED", + 64: "ADDRESS_TENTATIVE", + 128: "ADDRESS_PERMANENT", + 256: "ADDRESS_MANAGEMENT_TEMP", + 512: "ADDRESS_NO_PREFIX_ROUTE", + 1024: "ADDRESS_MC_AUTO_JOIN", + 2048: "ADDRESS_STABLE_PRIVACY", } - KubespanPeerState_value = map[string]int32{ - "PEER_STATE_UNKNOWN": 0, - "PEER_STATE_UP": 1, - "PEER_STATE_DOWN": 2, + NethelpersAddressFlag_value = map[string]int32{ + "NETHELPERS_ADDRESSFLAG_UNSPECIFIED": 0, + "ADDRESS_TEMPORARY": 1, + "ADDRESS_NO_DAD": 2, + "ADDRESS_OPTIMISTIC": 4, + "ADDRESS_DAD_FAILED": 8, + "ADDRESS_HOME": 16, + "ADDRESS_DEPRECATED": 32, + "ADDRESS_TENTATIVE": 64, + "ADDRESS_PERMANENT": 128, + "ADDRESS_MANAGEMENT_TEMP": 256, + "ADDRESS_NO_PREFIX_ROUTE": 512, + "ADDRESS_MC_AUTO_JOIN": 1024, + "ADDRESS_STABLE_PRIVACY": 2048, } ) -func (x KubespanPeerState) Enum() *KubespanPeerState { - p := new(KubespanPeerState) +func (x NethelpersAddressFlag) Enum() *NethelpersAddressFlag { + p := new(NethelpersAddressFlag) *p = x return p } -func (x KubespanPeerState) String() string { +func (x NethelpersAddressFlag) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (KubespanPeerState) Descriptor() protoreflect.EnumDescriptor { +func (NethelpersAddressFlag) Descriptor() protoreflect.EnumDescriptor { return file_resource_definitions_enums_enums_proto_enumTypes[1].Descriptor() } -func (KubespanPeerState) Type() protoreflect.EnumType { +func (NethelpersAddressFlag) Type() protoreflect.EnumType { return &file_resource_definitions_enums_enums_proto_enumTypes[1] } -func (x KubespanPeerState) Number() protoreflect.EnumNumber { +func (x NethelpersAddressFlag) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use KubespanPeerState.Descriptor instead. -func (KubespanPeerState) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use NethelpersAddressFlag.Descriptor instead. +func (NethelpersAddressFlag) EnumDescriptor() ([]byte, []int) { return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{1} } -// NetworkConfigLayer describes network configuration layers, with lowest priority first. -type NetworkConfigLayer int32 - -const ( - NetworkConfigLayer_CONFIG_DEFAULT NetworkConfigLayer = 0 - NetworkConfigLayer_CONFIG_CMDLINE NetworkConfigLayer = 1 - NetworkConfigLayer_CONFIG_PLATFORM NetworkConfigLayer = 2 - NetworkConfigLayer_CONFIG_OPERATOR NetworkConfigLayer = 3 - NetworkConfigLayer_CONFIG_MACHINE_CONFIGURATION NetworkConfigLayer = 4 -) - -// Enum value maps for NetworkConfigLayer. -var ( - NetworkConfigLayer_name = map[int32]string{ - 0: "CONFIG_DEFAULT", - 1: "CONFIG_CMDLINE", - 2: "CONFIG_PLATFORM", - 3: "CONFIG_OPERATOR", - 4: "CONFIG_MACHINE_CONFIGURATION", - } - NetworkConfigLayer_value = map[string]int32{ - "CONFIG_DEFAULT": 0, - "CONFIG_CMDLINE": 1, - "CONFIG_PLATFORM": 2, - "CONFIG_OPERATOR": 3, - "CONFIG_MACHINE_CONFIGURATION": 4, - } -) - -func (x NetworkConfigLayer) Enum() *NetworkConfigLayer { - p := new(NetworkConfigLayer) - *p = x - return p -} - -func (x NetworkConfigLayer) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NetworkConfigLayer) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[2].Descriptor() -} - -func (NetworkConfigLayer) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[2] -} - -func (x NetworkConfigLayer) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NetworkConfigLayer.Descriptor instead. -func (NetworkConfigLayer) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{2} -} - -// NetworkOperator enumerates Talos network operators. -type NetworkOperator int32 - -const ( - NetworkOperator_OPERATOR_DHCP_4 NetworkOperator = 0 - NetworkOperator_OPERATOR_DHCP_6 NetworkOperator = 1 - NetworkOperator_OPERATOR_VIP NetworkOperator = 2 -) - -// Enum value maps for NetworkOperator. -var ( - NetworkOperator_name = map[int32]string{ - 0: "OPERATOR_DHCP_4", - 1: "OPERATOR_DHCP_6", - 2: "OPERATOR_VIP", - } - NetworkOperator_value = map[string]int32{ - "OPERATOR_DHCP_4": 0, - "OPERATOR_DHCP_6": 1, - "OPERATOR_VIP": 2, - } -) - -func (x NetworkOperator) Enum() *NetworkOperator { - p := new(NetworkOperator) - *p = x - return p -} - -func (x NetworkOperator) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NetworkOperator) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[3].Descriptor() -} - -func (NetworkOperator) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[3] -} - -func (x NetworkOperator) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NetworkOperator.Descriptor instead. -func (NetworkOperator) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{3} -} - -// NethelpersFamily is a network family. -type NethelpersFamily int32 - -const ( - NethelpersFamily_FAMILY_INET_4 NethelpersFamily = 0 - NethelpersFamily_FAMILY_INET_6 NethelpersFamily = 1 -) - -// Enum value maps for NethelpersFamily. -var ( - NethelpersFamily_name = map[int32]string{ - 0: "FAMILY_INET_4", - 1: "FAMILY_INET_6", - } - NethelpersFamily_value = map[string]int32{ - "FAMILY_INET_4": 0, - "FAMILY_INET_6": 1, - } -) - -func (x NethelpersFamily) Enum() *NethelpersFamily { - p := new(NethelpersFamily) - *p = x - return p -} - -func (x NethelpersFamily) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NethelpersFamily) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[4].Descriptor() -} - -func (NethelpersFamily) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[4] -} - -func (x NethelpersFamily) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NethelpersFamily.Descriptor instead. -func (NethelpersFamily) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{4} -} - -// NethelpersScope is an address scope. -type NethelpersScope int32 - -const ( - NethelpersScope_SCOPE_GLOBAL NethelpersScope = 0 - NethelpersScope_SCOPE_SITE NethelpersScope = 200 - NethelpersScope_SCOPE_LINK NethelpersScope = 253 - NethelpersScope_SCOPE_HOST NethelpersScope = 254 - NethelpersScope_SCOPE_NOWHERE NethelpersScope = 255 -) - -// Enum value maps for NethelpersScope. -var ( - NethelpersScope_name = map[int32]string{ - 0: "SCOPE_GLOBAL", - 200: "SCOPE_SITE", - 253: "SCOPE_LINK", - 254: "SCOPE_HOST", - 255: "SCOPE_NOWHERE", - } - NethelpersScope_value = map[string]int32{ - "SCOPE_GLOBAL": 0, - "SCOPE_SITE": 200, - "SCOPE_LINK": 253, - "SCOPE_HOST": 254, - "SCOPE_NOWHERE": 255, - } -) - -func (x NethelpersScope) Enum() *NethelpersScope { - p := new(NethelpersScope) - *p = x - return p -} - -func (x NethelpersScope) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NethelpersScope) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[5].Descriptor() -} - -func (NethelpersScope) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[5] -} - -func (x NethelpersScope) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NethelpersScope.Descriptor instead. -func (NethelpersScope) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{5} -} - // NethelpersADSelect is ADSelect. type NethelpersADSelect int32 @@ -374,11 +195,11 @@ func (x NethelpersADSelect) String() string { } func (NethelpersADSelect) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[6].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[2].Descriptor() } func (NethelpersADSelect) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[6] + return &file_resource_definitions_enums_enums_proto_enumTypes[2] } func (x NethelpersADSelect) Number() protoreflect.EnumNumber { @@ -387,7 +208,7 @@ func (x NethelpersADSelect) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersADSelect.Descriptor instead. func (NethelpersADSelect) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{6} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{2} } // NethelpersARPAllTargets is an ARP targets mode. @@ -421,11 +242,11 @@ func (x NethelpersARPAllTargets) String() string { } func (NethelpersARPAllTargets) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[7].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[3].Descriptor() } func (NethelpersARPAllTargets) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[7] + return &file_resource_definitions_enums_enums_proto_enumTypes[3] } func (x NethelpersARPAllTargets) Number() protoreflect.EnumNumber { @@ -434,7 +255,7 @@ func (x NethelpersARPAllTargets) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersARPAllTargets.Descriptor instead. func (NethelpersARPAllTargets) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{7} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{3} } // NethelpersARPValidate is an ARP Validation mode. @@ -474,11 +295,11 @@ func (x NethelpersARPValidate) String() string { } func (NethelpersARPValidate) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[8].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[4].Descriptor() } func (NethelpersARPValidate) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[8] + return &file_resource_definitions_enums_enums_proto_enumTypes[4] } func (x NethelpersARPValidate) Number() protoreflect.EnumNumber { @@ -487,72 +308,79 @@ func (x NethelpersARPValidate) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersARPValidate.Descriptor instead. func (NethelpersARPValidate) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{8} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{4} } -// NethelpersFailOverMAC is a MAC failover mode. -type NethelpersFailOverMAC int32 +// NethelpersBondMode is a bond mode. +type NethelpersBondMode int32 const ( - NethelpersFailOverMAC_FAIL_OVER_MAC_NONE NethelpersFailOverMAC = 0 - NethelpersFailOverMAC_FAIL_OVER_MAC_ACTIVE NethelpersFailOverMAC = 1 - NethelpersFailOverMAC_FAIL_OVER_MAC_FOLLOW NethelpersFailOverMAC = 2 + NethelpersBondMode_BOND_MODE_ROUNDROBIN NethelpersBondMode = 0 + NethelpersBondMode_BOND_MODE_ACTIVE_BACKUP NethelpersBondMode = 1 + NethelpersBondMode_BOND_MODE_XOR NethelpersBondMode = 2 + NethelpersBondMode_BOND_MODE_BROADCAST NethelpersBondMode = 3 + NethelpersBondMode_BOND_MODE8023_AD NethelpersBondMode = 4 + NethelpersBondMode_BOND_MODE_TLB NethelpersBondMode = 5 + NethelpersBondMode_BOND_MODE_ALB NethelpersBondMode = 6 ) -// Enum value maps for NethelpersFailOverMAC. +// Enum value maps for NethelpersBondMode. var ( - NethelpersFailOverMAC_name = map[int32]string{ - 0: "FAIL_OVER_MAC_NONE", - 1: "FAIL_OVER_MAC_ACTIVE", - 2: "FAIL_OVER_MAC_FOLLOW", + NethelpersBondMode_name = map[int32]string{ + 0: "BOND_MODE_ROUNDROBIN", + 1: "BOND_MODE_ACTIVE_BACKUP", + 2: "BOND_MODE_XOR", + 3: "BOND_MODE_BROADCAST", + 4: "BOND_MODE8023_AD", + 5: "BOND_MODE_TLB", + 6: "BOND_MODE_ALB", } - NethelpersFailOverMAC_value = map[string]int32{ - "FAIL_OVER_MAC_NONE": 0, - "FAIL_OVER_MAC_ACTIVE": 1, - "FAIL_OVER_MAC_FOLLOW": 2, + NethelpersBondMode_value = map[string]int32{ + "BOND_MODE_ROUNDROBIN": 0, + "BOND_MODE_ACTIVE_BACKUP": 1, + "BOND_MODE_XOR": 2, + "BOND_MODE_BROADCAST": 3, + "BOND_MODE8023_AD": 4, + "BOND_MODE_TLB": 5, + "BOND_MODE_ALB": 6, } ) -func (x NethelpersFailOverMAC) Enum() *NethelpersFailOverMAC { - p := new(NethelpersFailOverMAC) +func (x NethelpersBondMode) Enum() *NethelpersBondMode { + p := new(NethelpersBondMode) *p = x return p } -func (x NethelpersFailOverMAC) String() string { +func (x NethelpersBondMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NethelpersFailOverMAC) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[9].Descriptor() +func (NethelpersBondMode) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[5].Descriptor() } -func (NethelpersFailOverMAC) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[9] +func (NethelpersBondMode) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[5] } -func (x NethelpersFailOverMAC) Number() protoreflect.EnumNumber { +func (x NethelpersBondMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NethelpersFailOverMAC.Descriptor instead. -func (NethelpersFailOverMAC) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{9} +// Deprecated: Use NethelpersBondMode.Descriptor instead. +func (NethelpersBondMode) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{5} } // NethelpersBondXmitHashPolicy is a bond hash policy. type NethelpersBondXmitHashPolicy int32 const ( - // layer2 - NethelpersBondXmitHashPolicy_BOND_XMIT_POLICY_LAYER2 NethelpersBondXmitHashPolicy = 0 - // layer3+4 + NethelpersBondXmitHashPolicy_BOND_XMIT_POLICY_LAYER2 NethelpersBondXmitHashPolicy = 0 NethelpersBondXmitHashPolicy_BOND_XMIT_POLICY_LAYER34 NethelpersBondXmitHashPolicy = 1 - // layer2+3 NethelpersBondXmitHashPolicy_BOND_XMIT_POLICY_LAYER23 NethelpersBondXmitHashPolicy = 2 - // encap2+3 NethelpersBondXmitHashPolicy_BOND_XMIT_POLICY_ENCAP23 NethelpersBondXmitHashPolicy = 3 - // encap3+4 NethelpersBondXmitHashPolicy_BOND_XMIT_POLICY_ENCAP34 NethelpersBondXmitHashPolicy = 4 ) @@ -585,11 +413,11 @@ func (x NethelpersBondXmitHashPolicy) String() string { } func (NethelpersBondXmitHashPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[10].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[6].Descriptor() } func (NethelpersBondXmitHashPolicy) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[10] + return &file_resource_definitions_enums_enums_proto_enumTypes[6] } func (x NethelpersBondXmitHashPolicy) Number() protoreflect.EnumNumber { @@ -598,280 +426,320 @@ func (x NethelpersBondXmitHashPolicy) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersBondXmitHashPolicy.Descriptor instead. func (NethelpersBondXmitHashPolicy) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{10} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{6} } -// NethelpersLACPRate is a LACP rate. -type NethelpersLACPRate int32 +// NethelpersDuplex wraps ethtool.Duplex for YAML marshaling. +type NethelpersDuplex int32 const ( - NethelpersLACPRate_LACP_RATE_SLOW NethelpersLACPRate = 0 - NethelpersLACPRate_LACP_RATE_FAST NethelpersLACPRate = 1 + NethelpersDuplex_HALF NethelpersDuplex = 0 + NethelpersDuplex_FULL NethelpersDuplex = 1 + NethelpersDuplex_UNKNOWN NethelpersDuplex = 255 ) -// Enum value maps for NethelpersLACPRate. +// Enum value maps for NethelpersDuplex. var ( - NethelpersLACPRate_name = map[int32]string{ - 0: "LACP_RATE_SLOW", - 1: "LACP_RATE_FAST", + NethelpersDuplex_name = map[int32]string{ + 0: "HALF", + 1: "FULL", + 255: "UNKNOWN", } - NethelpersLACPRate_value = map[string]int32{ - "LACP_RATE_SLOW": 0, - "LACP_RATE_FAST": 1, + NethelpersDuplex_value = map[string]int32{ + "HALF": 0, + "FULL": 1, + "UNKNOWN": 255, } ) -func (x NethelpersLACPRate) Enum() *NethelpersLACPRate { - p := new(NethelpersLACPRate) +func (x NethelpersDuplex) Enum() *NethelpersDuplex { + p := new(NethelpersDuplex) *p = x return p } -func (x NethelpersLACPRate) String() string { +func (x NethelpersDuplex) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NethelpersLACPRate) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[11].Descriptor() +func (NethelpersDuplex) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[7].Descriptor() } -func (NethelpersLACPRate) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[11] +func (NethelpersDuplex) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[7] } -func (x NethelpersLACPRate) Number() protoreflect.EnumNumber { +func (x NethelpersDuplex) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NethelpersLACPRate.Descriptor instead. -func (NethelpersLACPRate) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{11} +// Deprecated: Use NethelpersDuplex.Descriptor instead. +func (NethelpersDuplex) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{7} } -// NethelpersBondMode is a bond mode. -type NethelpersBondMode int32 +// NethelpersFailOverMAC is a MAC failover mode. +type NethelpersFailOverMAC int32 const ( - NethelpersBondMode_BOND_MODE_ROUNDROBIN NethelpersBondMode = 0 - NethelpersBondMode_BOND_MODE_ACTIVE_BACKUP NethelpersBondMode = 1 - NethelpersBondMode_BOND_MODE_XOR NethelpersBondMode = 2 - NethelpersBondMode_BOND_MODE_BROADCAST NethelpersBondMode = 3 - NethelpersBondMode_BOND_MODE8023_AD NethelpersBondMode = 4 - NethelpersBondMode_BOND_MODE_TLB NethelpersBondMode = 5 - NethelpersBondMode_BOND_MODE_ALB NethelpersBondMode = 6 + NethelpersFailOverMAC_FAIL_OVER_MAC_NONE NethelpersFailOverMAC = 0 + NethelpersFailOverMAC_FAIL_OVER_MAC_ACTIVE NethelpersFailOverMAC = 1 + NethelpersFailOverMAC_FAIL_OVER_MAC_FOLLOW NethelpersFailOverMAC = 2 ) -// Enum value maps for NethelpersBondMode. +// Enum value maps for NethelpersFailOverMAC. var ( - NethelpersBondMode_name = map[int32]string{ - 0: "BOND_MODE_ROUNDROBIN", - 1: "BOND_MODE_ACTIVE_BACKUP", - 2: "BOND_MODE_XOR", - 3: "BOND_MODE_BROADCAST", - 4: "BOND_MODE8023_AD", - 5: "BOND_MODE_TLB", - 6: "BOND_MODE_ALB", + NethelpersFailOverMAC_name = map[int32]string{ + 0: "FAIL_OVER_MAC_NONE", + 1: "FAIL_OVER_MAC_ACTIVE", + 2: "FAIL_OVER_MAC_FOLLOW", } - NethelpersBondMode_value = map[string]int32{ - "BOND_MODE_ROUNDROBIN": 0, - "BOND_MODE_ACTIVE_BACKUP": 1, - "BOND_MODE_XOR": 2, - "BOND_MODE_BROADCAST": 3, - "BOND_MODE8023_AD": 4, - "BOND_MODE_TLB": 5, - "BOND_MODE_ALB": 6, + NethelpersFailOverMAC_value = map[string]int32{ + "FAIL_OVER_MAC_NONE": 0, + "FAIL_OVER_MAC_ACTIVE": 1, + "FAIL_OVER_MAC_FOLLOW": 2, } ) -func (x NethelpersBondMode) Enum() *NethelpersBondMode { - p := new(NethelpersBondMode) +func (x NethelpersFailOverMAC) Enum() *NethelpersFailOverMAC { + p := new(NethelpersFailOverMAC) *p = x return p } -func (x NethelpersBondMode) String() string { +func (x NethelpersFailOverMAC) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NethelpersBondMode) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[12].Descriptor() +func (NethelpersFailOverMAC) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[8].Descriptor() } -func (NethelpersBondMode) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[12] +func (NethelpersFailOverMAC) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[8] } -func (x NethelpersBondMode) Number() protoreflect.EnumNumber { +func (x NethelpersFailOverMAC) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NethelpersBondMode.Descriptor instead. -func (NethelpersBondMode) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{12} +// Deprecated: Use NethelpersFailOverMAC.Descriptor instead. +func (NethelpersFailOverMAC) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{8} } -// NethelpersPrimaryReselect is an ARP targets mode. -type NethelpersPrimaryReselect int32 +// NethelpersFamily is a network family. +type NethelpersFamily int32 const ( - NethelpersPrimaryReselect_PRIMARY_RESELECT_ALWAYS NethelpersPrimaryReselect = 0 - NethelpersPrimaryReselect_PRIMARY_RESELECT_BETTER NethelpersPrimaryReselect = 1 - NethelpersPrimaryReselect_PRIMARY_RESELECT_FAILURE NethelpersPrimaryReselect = 2 + NethelpersFamily_NETHELPERS_FAMILY_UNSPECIFIED NethelpersFamily = 0 + NethelpersFamily_FAMILY_INET4 NethelpersFamily = 2 + NethelpersFamily_FAMILY_INET6 NethelpersFamily = 10 ) -// Enum value maps for NethelpersPrimaryReselect. +// Enum value maps for NethelpersFamily. var ( - NethelpersPrimaryReselect_name = map[int32]string{ - 0: "PRIMARY_RESELECT_ALWAYS", - 1: "PRIMARY_RESELECT_BETTER", - 2: "PRIMARY_RESELECT_FAILURE", + NethelpersFamily_name = map[int32]string{ + 0: "NETHELPERS_FAMILY_UNSPECIFIED", + 2: "FAMILY_INET4", + 10: "FAMILY_INET6", + } + NethelpersFamily_value = map[string]int32{ + "NETHELPERS_FAMILY_UNSPECIFIED": 0, + "FAMILY_INET4": 2, + "FAMILY_INET6": 10, + } +) + +func (x NethelpersFamily) Enum() *NethelpersFamily { + p := new(NethelpersFamily) + *p = x + return p +} + +func (x NethelpersFamily) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NethelpersFamily) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[9].Descriptor() +} + +func (NethelpersFamily) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[9] +} + +func (x NethelpersFamily) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NethelpersFamily.Descriptor instead. +func (NethelpersFamily) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{9} +} + +// NethelpersLACPRate is a LACP rate. +type NethelpersLACPRate int32 + +const ( + NethelpersLACPRate_LACP_RATE_SLOW NethelpersLACPRate = 0 + NethelpersLACPRate_LACP_RATE_FAST NethelpersLACPRate = 1 +) + +// Enum value maps for NethelpersLACPRate. +var ( + NethelpersLACPRate_name = map[int32]string{ + 0: "LACP_RATE_SLOW", + 1: "LACP_RATE_FAST", } - NethelpersPrimaryReselect_value = map[string]int32{ - "PRIMARY_RESELECT_ALWAYS": 0, - "PRIMARY_RESELECT_BETTER": 1, - "PRIMARY_RESELECT_FAILURE": 2, + NethelpersLACPRate_value = map[string]int32{ + "LACP_RATE_SLOW": 0, + "LACP_RATE_FAST": 1, } ) -func (x NethelpersPrimaryReselect) Enum() *NethelpersPrimaryReselect { - p := new(NethelpersPrimaryReselect) +func (x NethelpersLACPRate) Enum() *NethelpersLACPRate { + p := new(NethelpersLACPRate) *p = x return p } -func (x NethelpersPrimaryReselect) String() string { +func (x NethelpersLACPRate) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NethelpersPrimaryReselect) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[13].Descriptor() +func (NethelpersLACPRate) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[10].Descriptor() } -func (NethelpersPrimaryReselect) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[13] +func (NethelpersLACPRate) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[10] } -func (x NethelpersPrimaryReselect) Number() protoreflect.EnumNumber { +func (x NethelpersLACPRate) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NethelpersPrimaryReselect.Descriptor instead. -func (NethelpersPrimaryReselect) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{13} +// Deprecated: Use NethelpersLACPRate.Descriptor instead. +func (NethelpersLACPRate) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{10} } // NethelpersLinkType is a link type. type NethelpersLinkType int32 const ( - NethelpersLinkType_LINK_NETROM NethelpersLinkType = 0 - NethelpersLinkType_LINK_ETHER NethelpersLinkType = 1 - NethelpersLinkType_LINK_EETHER NethelpersLinkType = 2 - NethelpersLinkType_LINK_AX25 NethelpersLinkType = 3 - NethelpersLinkType_LINK_PRONET NethelpersLinkType = 4 - NethelpersLinkType_LINK_CHAOS NethelpersLinkType = 5 - NethelpersLinkType_LINK_IEE802 NethelpersLinkType = 6 - NethelpersLinkType_LINK_ARCNET NethelpersLinkType = 7 - NethelpersLinkType_LINK_ATALK NethelpersLinkType = 8 - NethelpersLinkType_LINK_DLCI NethelpersLinkType = 15 - NethelpersLinkType_LINK_ATM NethelpersLinkType = 19 - NethelpersLinkType_LINK_METRICOM NethelpersLinkType = 23 - NethelpersLinkType_LINK_IEEE1394 NethelpersLinkType = 24 - NethelpersLinkType_LINK_EUI64 NethelpersLinkType = 27 - NethelpersLinkType_LINK_INFINIBAND NethelpersLinkType = 32 - NethelpersLinkType_LINK_SLIP NethelpersLinkType = 256 - NethelpersLinkType_LINK_CSLIP NethelpersLinkType = 257 - NethelpersLinkType_LINK_SLIP6 NethelpersLinkType = 258 - NethelpersLinkType_LINK_CSLIP6 NethelpersLinkType = 259 - NethelpersLinkType_LINK_RSRVD NethelpersLinkType = 260 - NethelpersLinkType_LINK_ADAPT NethelpersLinkType = 264 - NethelpersLinkType_LINK_ROSE NethelpersLinkType = 270 - NethelpersLinkType_LINK_X25 NethelpersLinkType = 271 - NethelpersLinkType_LINK_HWX25 NethelpersLinkType = 272 - NethelpersLinkType_LINK_CAN NethelpersLinkType = 280 - NethelpersLinkType_LINK_PPP NethelpersLinkType = 512 - NethelpersLinkType_LINK_CISCO_HDLC NethelpersLinkType = 513 - NethelpersLinkType_LINK_LAPB NethelpersLinkType = 516 - NethelpersLinkType_LINK_DDCMP NethelpersLinkType = 517 - NethelpersLinkType_LINK_RAWHDLC NethelpersLinkType = 518 - NethelpersLinkType_LINK_TUNNEL NethelpersLinkType = 768 - NethelpersLinkType_LINK_TUNNEL6 NethelpersLinkType = 769 - NethelpersLinkType_LINK_FRAD NethelpersLinkType = 770 - NethelpersLinkType_LINK_SKIP NethelpersLinkType = 771 - NethelpersLinkType_LINK_LOOPBCK NethelpersLinkType = 772 - NethelpersLinkType_LINK_LOCALTLK NethelpersLinkType = 773 - NethelpersLinkType_LINK_FDDI NethelpersLinkType = 774 - NethelpersLinkType_LINK_BIF NethelpersLinkType = 775 - NethelpersLinkType_LINK_SIT NethelpersLinkType = 776 - NethelpersLinkType_LINK_IPDDP NethelpersLinkType = 777 - NethelpersLinkType_LINK_IPGRE NethelpersLinkType = 778 - NethelpersLinkType_LINK_PIMREG NethelpersLinkType = 779 - NethelpersLinkType_LINK_HIPPI NethelpersLinkType = 780 - NethelpersLinkType_LINK_ASH NethelpersLinkType = 781 - NethelpersLinkType_LINK_ECONET NethelpersLinkType = 782 - NethelpersLinkType_LINK_IRDA NethelpersLinkType = 783 - NethelpersLinkType_LINK_FCPP NethelpersLinkType = 784 - NethelpersLinkType_LINK_FCAL NethelpersLinkType = 785 - NethelpersLinkType_LINK_FCPL NethelpersLinkType = 786 - NethelpersLinkType_LINK_FCFABRIC NethelpersLinkType = 787 - NethelpersLinkType_LINK_FCFABRIC1 NethelpersLinkType = 788 - NethelpersLinkType_LINK_FCFABRIC2 NethelpersLinkType = 789 - NethelpersLinkType_LINK_FCFABRIC3 NethelpersLinkType = 790 - NethelpersLinkType_LINK_FCFABRIC4 NethelpersLinkType = 791 - NethelpersLinkType_LINK_FCFABRIC5 NethelpersLinkType = 792 - NethelpersLinkType_LINK_FCFABRIC6 NethelpersLinkType = 793 - NethelpersLinkType_LINK_FCFABRIC7 NethelpersLinkType = 794 - NethelpersLinkType_LINK_FCFABRIC8 NethelpersLinkType = 795 - NethelpersLinkType_LINK_FCFABRIC9 NethelpersLinkType = 796 - NethelpersLinkType_LINK_FCFABRIC10 NethelpersLinkType = 797 - NethelpersLinkType_LINK_FCFABRIC11 NethelpersLinkType = 798 - NethelpersLinkType_LINK_FCFABRIC12 NethelpersLinkType = 799 - NethelpersLinkType_LINK_IEE802_TR NethelpersLinkType = 800 - NethelpersLinkType_LINK_IEE80211 NethelpersLinkType = 801 - NethelpersLinkType_LINK_IEE80211_PRISM NethelpersLinkType = 802 - NethelpersLinkType_LINK_IEE80211_RADIOTAP NethelpersLinkType = 803 - NethelpersLinkType_LINK_IEE8021154 NethelpersLinkType = 804 - NethelpersLinkType_LINK_IEE8021154_MONITOR NethelpersLinkType = 805 - NethelpersLinkType_LINK_PHONET NethelpersLinkType = 820 - NethelpersLinkType_LINK_PHONETPIPE NethelpersLinkType = 821 - NethelpersLinkType_LINK_CAIF NethelpersLinkType = 822 - NethelpersLinkType_LINK_IP6_GRE NethelpersLinkType = 823 - NethelpersLinkType_LINK_NETLINK NethelpersLinkType = 824 - NethelpersLinkType_LINK6_LOWPAN NethelpersLinkType = 825 - NethelpersLinkType_LINK_VOID NethelpersLinkType = 65535 - NethelpersLinkType_LINK_NONE NethelpersLinkType = 65534 + NethelpersLinkType_LINK_NETROM NethelpersLinkType = 0 + NethelpersLinkType_LINK_ETHER NethelpersLinkType = 1 + NethelpersLinkType_LINK_EETHER NethelpersLinkType = 2 + NethelpersLinkType_LINK_AX25 NethelpersLinkType = 3 + NethelpersLinkType_LINK_PRONET NethelpersLinkType = 4 + NethelpersLinkType_LINK_CHAOS NethelpersLinkType = 5 + NethelpersLinkType_LINK_IEE802 NethelpersLinkType = 6 + NethelpersLinkType_LINK_ARCNET NethelpersLinkType = 7 + NethelpersLinkType_LINK_ATALK NethelpersLinkType = 8 + NethelpersLinkType_LINK_DLCI NethelpersLinkType = 15 + NethelpersLinkType_LINK_ATM NethelpersLinkType = 19 + NethelpersLinkType_LINK_METRICOM NethelpersLinkType = 23 + NethelpersLinkType_LINK_IEEE1394 NethelpersLinkType = 24 + NethelpersLinkType_LINK_EUI64 NethelpersLinkType = 27 + NethelpersLinkType_LINK_INFINIBAND NethelpersLinkType = 32 + NethelpersLinkType_LINK_SLIP NethelpersLinkType = 256 + NethelpersLinkType_LINK_CSLIP NethelpersLinkType = 257 + NethelpersLinkType_LINK_SLIP6 NethelpersLinkType = 258 + NethelpersLinkType_LINK_CSLIP6 NethelpersLinkType = 259 + NethelpersLinkType_LINK_RSRVD NethelpersLinkType = 260 + NethelpersLinkType_LINK_ADAPT NethelpersLinkType = 264 + NethelpersLinkType_LINK_ROSE NethelpersLinkType = 270 + NethelpersLinkType_LINK_X25 NethelpersLinkType = 271 + NethelpersLinkType_LINK_HWX25 NethelpersLinkType = 272 + NethelpersLinkType_LINK_CAN NethelpersLinkType = 280 + NethelpersLinkType_LINK_PPP NethelpersLinkType = 512 + NethelpersLinkType_LINK_CISCO NethelpersLinkType = 513 + NethelpersLinkType_LINK_HDLC NethelpersLinkType = 513 + NethelpersLinkType_LINK_LAPB NethelpersLinkType = 516 + NethelpersLinkType_LINK_DDCMP NethelpersLinkType = 517 + NethelpersLinkType_LINK_RAWHDLC NethelpersLinkType = 518 + NethelpersLinkType_LINK_TUNNEL NethelpersLinkType = 768 + NethelpersLinkType_LINK_TUNNEL6 NethelpersLinkType = 769 + NethelpersLinkType_LINK_FRAD NethelpersLinkType = 770 + NethelpersLinkType_LINK_SKIP NethelpersLinkType = 771 + NethelpersLinkType_LINK_LOOPBCK NethelpersLinkType = 772 + NethelpersLinkType_LINK_LOCALTLK NethelpersLinkType = 773 + NethelpersLinkType_LINK_FDDI NethelpersLinkType = 774 + NethelpersLinkType_LINK_BIF NethelpersLinkType = 775 + NethelpersLinkType_LINK_SIT NethelpersLinkType = 776 + NethelpersLinkType_LINK_IPDDP NethelpersLinkType = 777 + NethelpersLinkType_LINK_IPGRE NethelpersLinkType = 778 + NethelpersLinkType_LINK_PIMREG NethelpersLinkType = 779 + NethelpersLinkType_LINK_HIPPI NethelpersLinkType = 780 + NethelpersLinkType_LINK_ASH NethelpersLinkType = 781 + NethelpersLinkType_LINK_ECONET NethelpersLinkType = 782 + NethelpersLinkType_LINK_IRDA NethelpersLinkType = 783 + NethelpersLinkType_LINK_FCPP NethelpersLinkType = 784 + NethelpersLinkType_LINK_FCAL NethelpersLinkType = 785 + NethelpersLinkType_LINK_FCPL NethelpersLinkType = 786 + NethelpersLinkType_LINK_FCFABRIC NethelpersLinkType = 787 + NethelpersLinkType_LINK_FCFABRIC1 NethelpersLinkType = 788 + NethelpersLinkType_LINK_FCFABRIC2 NethelpersLinkType = 789 + NethelpersLinkType_LINK_FCFABRIC3 NethelpersLinkType = 790 + NethelpersLinkType_LINK_FCFABRIC4 NethelpersLinkType = 791 + NethelpersLinkType_LINK_FCFABRIC5 NethelpersLinkType = 792 + NethelpersLinkType_LINK_FCFABRIC6 NethelpersLinkType = 793 + NethelpersLinkType_LINK_FCFABRIC7 NethelpersLinkType = 794 + NethelpersLinkType_LINK_FCFABRIC8 NethelpersLinkType = 795 + NethelpersLinkType_LINK_FCFABRIC9 NethelpersLinkType = 796 + NethelpersLinkType_LINK_FCFABRIC10 NethelpersLinkType = 797 + NethelpersLinkType_LINK_FCFABRIC11 NethelpersLinkType = 798 + NethelpersLinkType_LINK_FCFABRIC12 NethelpersLinkType = 799 + NethelpersLinkType_LINK_IEE802TR NethelpersLinkType = 800 + NethelpersLinkType_LINK_IEE80211 NethelpersLinkType = 801 + NethelpersLinkType_LINK_IEE80211PRISM NethelpersLinkType = 802 + NethelpersLinkType_LINK_IEE80211_RADIOTAP NethelpersLinkType = 803 + NethelpersLinkType_LINK_IEE8021154 NethelpersLinkType = 804 + NethelpersLinkType_LINK_IEE8021154MONITOR NethelpersLinkType = 805 + NethelpersLinkType_LINK_PHONET NethelpersLinkType = 820 + NethelpersLinkType_LINK_PHONETPIPE NethelpersLinkType = 821 + NethelpersLinkType_LINK_CAIF NethelpersLinkType = 822 + NethelpersLinkType_LINK_IP6GRE NethelpersLinkType = 823 + NethelpersLinkType_LINK_NETLINK NethelpersLinkType = 824 + NethelpersLinkType_LINK6_LOWPAN NethelpersLinkType = 825 + NethelpersLinkType_LINK_VOID NethelpersLinkType = 65535 + NethelpersLinkType_LINK_NONE NethelpersLinkType = 65534 ) // Enum value maps for NethelpersLinkType. var ( NethelpersLinkType_name = map[int32]string{ - 0: "LINK_NETROM", - 1: "LINK_ETHER", - 2: "LINK_EETHER", - 3: "LINK_AX25", - 4: "LINK_PRONET", - 5: "LINK_CHAOS", - 6: "LINK_IEE802", - 7: "LINK_ARCNET", - 8: "LINK_ATALK", - 15: "LINK_DLCI", - 19: "LINK_ATM", - 23: "LINK_METRICOM", - 24: "LINK_IEEE1394", - 27: "LINK_EUI64", - 32: "LINK_INFINIBAND", - 256: "LINK_SLIP", - 257: "LINK_CSLIP", - 258: "LINK_SLIP6", - 259: "LINK_CSLIP6", - 260: "LINK_RSRVD", - 264: "LINK_ADAPT", - 270: "LINK_ROSE", - 271: "LINK_X25", - 272: "LINK_HWX25", - 280: "LINK_CAN", - 512: "LINK_PPP", - 513: "LINK_CISCO_HDLC", + 0: "LINK_NETROM", + 1: "LINK_ETHER", + 2: "LINK_EETHER", + 3: "LINK_AX25", + 4: "LINK_PRONET", + 5: "LINK_CHAOS", + 6: "LINK_IEE802", + 7: "LINK_ARCNET", + 8: "LINK_ATALK", + 15: "LINK_DLCI", + 19: "LINK_ATM", + 23: "LINK_METRICOM", + 24: "LINK_IEEE1394", + 27: "LINK_EUI64", + 32: "LINK_INFINIBAND", + 256: "LINK_SLIP", + 257: "LINK_CSLIP", + 258: "LINK_SLIP6", + 259: "LINK_CSLIP6", + 260: "LINK_RSRVD", + 264: "LINK_ADAPT", + 270: "LINK_ROSE", + 271: "LINK_X25", + 272: "LINK_HWX25", + 280: "LINK_CAN", + 512: "LINK_PPP", + 513: "LINK_CISCO", + // Duplicate value: 513: "LINK_HDLC", 516: "LINK_LAPB", 517: "LINK_DDCMP", 518: "LINK_RAWHDLC", @@ -907,98 +775,99 @@ var ( 797: "LINK_FCFABRIC10", 798: "LINK_FCFABRIC11", 799: "LINK_FCFABRIC12", - 800: "LINK_IEE802_TR", + 800: "LINK_IEE802TR", 801: "LINK_IEE80211", - 802: "LINK_IEE80211_PRISM", + 802: "LINK_IEE80211PRISM", 803: "LINK_IEE80211_RADIOTAP", 804: "LINK_IEE8021154", - 805: "LINK_IEE8021154_MONITOR", + 805: "LINK_IEE8021154MONITOR", 820: "LINK_PHONET", 821: "LINK_PHONETPIPE", 822: "LINK_CAIF", - 823: "LINK_IP6_GRE", + 823: "LINK_IP6GRE", 824: "LINK_NETLINK", 825: "LINK6_LOWPAN", 65535: "LINK_VOID", 65534: "LINK_NONE", } NethelpersLinkType_value = map[string]int32{ - "LINK_NETROM": 0, - "LINK_ETHER": 1, - "LINK_EETHER": 2, - "LINK_AX25": 3, - "LINK_PRONET": 4, - "LINK_CHAOS": 5, - "LINK_IEE802": 6, - "LINK_ARCNET": 7, - "LINK_ATALK": 8, - "LINK_DLCI": 15, - "LINK_ATM": 19, - "LINK_METRICOM": 23, - "LINK_IEEE1394": 24, - "LINK_EUI64": 27, - "LINK_INFINIBAND": 32, - "LINK_SLIP": 256, - "LINK_CSLIP": 257, - "LINK_SLIP6": 258, - "LINK_CSLIP6": 259, - "LINK_RSRVD": 260, - "LINK_ADAPT": 264, - "LINK_ROSE": 270, - "LINK_X25": 271, - "LINK_HWX25": 272, - "LINK_CAN": 280, - "LINK_PPP": 512, - "LINK_CISCO_HDLC": 513, - "LINK_LAPB": 516, - "LINK_DDCMP": 517, - "LINK_RAWHDLC": 518, - "LINK_TUNNEL": 768, - "LINK_TUNNEL6": 769, - "LINK_FRAD": 770, - "LINK_SKIP": 771, - "LINK_LOOPBCK": 772, - "LINK_LOCALTLK": 773, - "LINK_FDDI": 774, - "LINK_BIF": 775, - "LINK_SIT": 776, - "LINK_IPDDP": 777, - "LINK_IPGRE": 778, - "LINK_PIMREG": 779, - "LINK_HIPPI": 780, - "LINK_ASH": 781, - "LINK_ECONET": 782, - "LINK_IRDA": 783, - "LINK_FCPP": 784, - "LINK_FCAL": 785, - "LINK_FCPL": 786, - "LINK_FCFABRIC": 787, - "LINK_FCFABRIC1": 788, - "LINK_FCFABRIC2": 789, - "LINK_FCFABRIC3": 790, - "LINK_FCFABRIC4": 791, - "LINK_FCFABRIC5": 792, - "LINK_FCFABRIC6": 793, - "LINK_FCFABRIC7": 794, - "LINK_FCFABRIC8": 795, - "LINK_FCFABRIC9": 796, - "LINK_FCFABRIC10": 797, - "LINK_FCFABRIC11": 798, - "LINK_FCFABRIC12": 799, - "LINK_IEE802_TR": 800, - "LINK_IEE80211": 801, - "LINK_IEE80211_PRISM": 802, - "LINK_IEE80211_RADIOTAP": 803, - "LINK_IEE8021154": 804, - "LINK_IEE8021154_MONITOR": 805, - "LINK_PHONET": 820, - "LINK_PHONETPIPE": 821, - "LINK_CAIF": 822, - "LINK_IP6_GRE": 823, - "LINK_NETLINK": 824, - "LINK6_LOWPAN": 825, - "LINK_VOID": 65535, - "LINK_NONE": 65534, + "LINK_NETROM": 0, + "LINK_ETHER": 1, + "LINK_EETHER": 2, + "LINK_AX25": 3, + "LINK_PRONET": 4, + "LINK_CHAOS": 5, + "LINK_IEE802": 6, + "LINK_ARCNET": 7, + "LINK_ATALK": 8, + "LINK_DLCI": 15, + "LINK_ATM": 19, + "LINK_METRICOM": 23, + "LINK_IEEE1394": 24, + "LINK_EUI64": 27, + "LINK_INFINIBAND": 32, + "LINK_SLIP": 256, + "LINK_CSLIP": 257, + "LINK_SLIP6": 258, + "LINK_CSLIP6": 259, + "LINK_RSRVD": 260, + "LINK_ADAPT": 264, + "LINK_ROSE": 270, + "LINK_X25": 271, + "LINK_HWX25": 272, + "LINK_CAN": 280, + "LINK_PPP": 512, + "LINK_CISCO": 513, + "LINK_HDLC": 513, + "LINK_LAPB": 516, + "LINK_DDCMP": 517, + "LINK_RAWHDLC": 518, + "LINK_TUNNEL": 768, + "LINK_TUNNEL6": 769, + "LINK_FRAD": 770, + "LINK_SKIP": 771, + "LINK_LOOPBCK": 772, + "LINK_LOCALTLK": 773, + "LINK_FDDI": 774, + "LINK_BIF": 775, + "LINK_SIT": 776, + "LINK_IPDDP": 777, + "LINK_IPGRE": 778, + "LINK_PIMREG": 779, + "LINK_HIPPI": 780, + "LINK_ASH": 781, + "LINK_ECONET": 782, + "LINK_IRDA": 783, + "LINK_FCPP": 784, + "LINK_FCAL": 785, + "LINK_FCPL": 786, + "LINK_FCFABRIC": 787, + "LINK_FCFABRIC1": 788, + "LINK_FCFABRIC2": 789, + "LINK_FCFABRIC3": 790, + "LINK_FCFABRIC4": 791, + "LINK_FCFABRIC5": 792, + "LINK_FCFABRIC6": 793, + "LINK_FCFABRIC7": 794, + "LINK_FCFABRIC8": 795, + "LINK_FCFABRIC9": 796, + "LINK_FCFABRIC10": 797, + "LINK_FCFABRIC11": 798, + "LINK_FCFABRIC12": 799, + "LINK_IEE802TR": 800, + "LINK_IEE80211": 801, + "LINK_IEE80211PRISM": 802, + "LINK_IEE80211_RADIOTAP": 803, + "LINK_IEE8021154": 804, + "LINK_IEE8021154MONITOR": 805, + "LINK_PHONET": 820, + "LINK_PHONETPIPE": 821, + "LINK_CAIF": 822, + "LINK_IP6GRE": 823, + "LINK_NETLINK": 824, + "LINK6_LOWPAN": 825, + "LINK_VOID": 65535, + "LINK_NONE": 65534, } ) @@ -1013,11 +882,11 @@ func (x NethelpersLinkType) String() string { } func (NethelpersLinkType) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[14].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[11].Descriptor() } func (NethelpersLinkType) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[14] + return &file_resource_definitions_enums_enums_proto_enumTypes[11] } func (x NethelpersLinkType) Number() protoreflect.EnumNumber { @@ -1026,57 +895,7 @@ func (x NethelpersLinkType) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersLinkType.Descriptor instead. func (NethelpersLinkType) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{14} -} - -// NethelpersDuplex wraps ethtool.Duplex for YAML marshaling. -type NethelpersDuplex int32 - -const ( - NethelpersDuplex_HALF NethelpersDuplex = 0 - NethelpersDuplex_FULL NethelpersDuplex = 1 - NethelpersDuplex_UNKNOWN NethelpersDuplex = 255 -) - -// Enum value maps for NethelpersDuplex. -var ( - NethelpersDuplex_name = map[int32]string{ - 0: "HALF", - 1: "FULL", - 255: "UNKNOWN", - } - NethelpersDuplex_value = map[string]int32{ - "HALF": 0, - "FULL": 1, - "UNKNOWN": 255, - } -) - -func (x NethelpersDuplex) Enum() *NethelpersDuplex { - p := new(NethelpersDuplex) - *p = x - return p -} - -func (x NethelpersDuplex) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NethelpersDuplex) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[15].Descriptor() -} - -func (NethelpersDuplex) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[15] -} - -func (x NethelpersDuplex) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NethelpersDuplex.Descriptor instead. -func (NethelpersDuplex) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{15} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{11} } // NethelpersOperationalState wraps rtnetlink.OperationalState for YAML marshaling. @@ -1125,11 +944,11 @@ func (x NethelpersOperationalState) String() string { } func (NethelpersOperationalState) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[16].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[12].Descriptor() } func (NethelpersOperationalState) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[16] + return &file_resource_definitions_enums_enums_proto_enumTypes[12] } func (x NethelpersOperationalState) Number() protoreflect.EnumNumber { @@ -1138,7 +957,7 @@ func (x NethelpersOperationalState) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersOperationalState.Descriptor instead. func (NethelpersOperationalState) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{16} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{12} } // NethelpersPort wraps ethtool.Port for YAML marshaling. @@ -1190,11 +1009,11 @@ func (x NethelpersPort) String() string { } func (NethelpersPort) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[17].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[13].Descriptor() } func (NethelpersPort) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[17] + return &file_resource_definitions_enums_enums_proto_enumTypes[13] } func (x NethelpersPort) Number() protoreflect.EnumNumber { @@ -1203,7 +1022,125 @@ func (x NethelpersPort) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersPort.Descriptor instead. func (NethelpersPort) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{17} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{13} +} + +// NethelpersPrimaryReselect is an ARP targets mode. +type NethelpersPrimaryReselect int32 + +const ( + NethelpersPrimaryReselect_PRIMARY_RESELECT_ALWAYS NethelpersPrimaryReselect = 0 + NethelpersPrimaryReselect_PRIMARY_RESELECT_BETTER NethelpersPrimaryReselect = 1 + NethelpersPrimaryReselect_PRIMARY_RESELECT_FAILURE NethelpersPrimaryReselect = 2 +) + +// Enum value maps for NethelpersPrimaryReselect. +var ( + NethelpersPrimaryReselect_name = map[int32]string{ + 0: "PRIMARY_RESELECT_ALWAYS", + 1: "PRIMARY_RESELECT_BETTER", + 2: "PRIMARY_RESELECT_FAILURE", + } + NethelpersPrimaryReselect_value = map[string]int32{ + "PRIMARY_RESELECT_ALWAYS": 0, + "PRIMARY_RESELECT_BETTER": 1, + "PRIMARY_RESELECT_FAILURE": 2, + } +) + +func (x NethelpersPrimaryReselect) Enum() *NethelpersPrimaryReselect { + p := new(NethelpersPrimaryReselect) + *p = x + return p +} + +func (x NethelpersPrimaryReselect) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NethelpersPrimaryReselect) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[14].Descriptor() +} + +func (NethelpersPrimaryReselect) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[14] +} + +func (x NethelpersPrimaryReselect) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NethelpersPrimaryReselect.Descriptor instead. +func (NethelpersPrimaryReselect) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{14} +} + +// NethelpersRouteFlag wraps RTM_F_* constants. +type NethelpersRouteFlag int32 + +const ( + NethelpersRouteFlag_NETHELPERS_ROUTEFLAG_UNSPECIFIED NethelpersRouteFlag = 0 + NethelpersRouteFlag_ROUTE_NOTIFY NethelpersRouteFlag = 256 + NethelpersRouteFlag_ROUTE_CLONED NethelpersRouteFlag = 512 + NethelpersRouteFlag_ROUTE_EQUALIZE NethelpersRouteFlag = 1024 + NethelpersRouteFlag_ROUTE_PREFIX NethelpersRouteFlag = 2048 + NethelpersRouteFlag_ROUTE_LOOKUP_TABLE NethelpersRouteFlag = 4096 + NethelpersRouteFlag_ROUTE_FIB_MATCH NethelpersRouteFlag = 8192 + NethelpersRouteFlag_ROUTE_OFFLOAD NethelpersRouteFlag = 16384 + NethelpersRouteFlag_ROUTE_TRAP NethelpersRouteFlag = 32768 +) + +// Enum value maps for NethelpersRouteFlag. +var ( + NethelpersRouteFlag_name = map[int32]string{ + 0: "NETHELPERS_ROUTEFLAG_UNSPECIFIED", + 256: "ROUTE_NOTIFY", + 512: "ROUTE_CLONED", + 1024: "ROUTE_EQUALIZE", + 2048: "ROUTE_PREFIX", + 4096: "ROUTE_LOOKUP_TABLE", + 8192: "ROUTE_FIB_MATCH", + 16384: "ROUTE_OFFLOAD", + 32768: "ROUTE_TRAP", + } + NethelpersRouteFlag_value = map[string]int32{ + "NETHELPERS_ROUTEFLAG_UNSPECIFIED": 0, + "ROUTE_NOTIFY": 256, + "ROUTE_CLONED": 512, + "ROUTE_EQUALIZE": 1024, + "ROUTE_PREFIX": 2048, + "ROUTE_LOOKUP_TABLE": 4096, + "ROUTE_FIB_MATCH": 8192, + "ROUTE_OFFLOAD": 16384, + "ROUTE_TRAP": 32768, + } +) + +func (x NethelpersRouteFlag) Enum() *NethelpersRouteFlag { + p := new(NethelpersRouteFlag) + *p = x + return p +} + +func (x NethelpersRouteFlag) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NethelpersRouteFlag) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[15].Descriptor() +} + +func (NethelpersRouteFlag) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[15] +} + +func (x NethelpersRouteFlag) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NethelpersRouteFlag.Descriptor instead. +func (NethelpersRouteFlag) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{15} } // NethelpersRouteProtocol is a routing protocol. @@ -1297,20 +1234,97 @@ func (x NethelpersRouteProtocol) String() string { } func (NethelpersRouteProtocol) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[18].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[16].Descriptor() +} + +func (NethelpersRouteProtocol) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[16] +} + +func (x NethelpersRouteProtocol) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NethelpersRouteProtocol.Descriptor instead. +func (NethelpersRouteProtocol) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{16} +} + +// NethelpersRouteType is a route type. +type NethelpersRouteType int32 + +const ( + NethelpersRouteType_TYPE_UNSPEC NethelpersRouteType = 0 + NethelpersRouteType_TYPE_UNICAST NethelpersRouteType = 1 + NethelpersRouteType_TYPE_LOCAL NethelpersRouteType = 2 + NethelpersRouteType_TYPE_BROADCAST NethelpersRouteType = 3 + NethelpersRouteType_TYPE_ANYCAST NethelpersRouteType = 4 + NethelpersRouteType_TYPE_MULTICAST NethelpersRouteType = 5 + NethelpersRouteType_TYPE_BLACKHOLE NethelpersRouteType = 6 + NethelpersRouteType_TYPE_UNREACHABLE NethelpersRouteType = 7 + NethelpersRouteType_TYPE_PROHIBIT NethelpersRouteType = 8 + NethelpersRouteType_TYPE_THROW NethelpersRouteType = 9 + NethelpersRouteType_TYPE_NAT NethelpersRouteType = 10 + NethelpersRouteType_TYPE_X_RESOLVE NethelpersRouteType = 11 +) + +// Enum value maps for NethelpersRouteType. +var ( + NethelpersRouteType_name = map[int32]string{ + 0: "TYPE_UNSPEC", + 1: "TYPE_UNICAST", + 2: "TYPE_LOCAL", + 3: "TYPE_BROADCAST", + 4: "TYPE_ANYCAST", + 5: "TYPE_MULTICAST", + 6: "TYPE_BLACKHOLE", + 7: "TYPE_UNREACHABLE", + 8: "TYPE_PROHIBIT", + 9: "TYPE_THROW", + 10: "TYPE_NAT", + 11: "TYPE_X_RESOLVE", + } + NethelpersRouteType_value = map[string]int32{ + "TYPE_UNSPEC": 0, + "TYPE_UNICAST": 1, + "TYPE_LOCAL": 2, + "TYPE_BROADCAST": 3, + "TYPE_ANYCAST": 4, + "TYPE_MULTICAST": 5, + "TYPE_BLACKHOLE": 6, + "TYPE_UNREACHABLE": 7, + "TYPE_PROHIBIT": 8, + "TYPE_THROW": 9, + "TYPE_NAT": 10, + "TYPE_X_RESOLVE": 11, + } +) + +func (x NethelpersRouteType) Enum() *NethelpersRouteType { + p := new(NethelpersRouteType) + *p = x + return p +} + +func (x NethelpersRouteType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NethelpersRouteType) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[17].Descriptor() } -func (NethelpersRouteProtocol) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[18] +func (NethelpersRouteType) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[17] } -func (x NethelpersRouteProtocol) Number() protoreflect.EnumNumber { +func (x NethelpersRouteType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NethelpersRouteProtocol.Descriptor instead. -func (NethelpersRouteProtocol) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{18} +// Deprecated: Use NethelpersRouteType.Descriptor instead. +func (NethelpersRouteType) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{17} } // NethelpersRoutingTable is a routing table ID. @@ -1350,11 +1364,11 @@ func (x NethelpersRoutingTable) String() string { } func (NethelpersRoutingTable) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[19].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[18].Descriptor() } func (NethelpersRoutingTable) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[19] + return &file_resource_definitions_enums_enums_proto_enumTypes[18] } func (x NethelpersRoutingTable) Number() protoreflect.EnumNumber { @@ -1363,103 +1377,85 @@ func (x NethelpersRoutingTable) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersRoutingTable.Descriptor instead. func (NethelpersRoutingTable) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{19} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{18} } -// NethelpersRouteType is a route type. -type NethelpersRouteType int32 +// NethelpersScope is an address scope. +type NethelpersScope int32 const ( - NethelpersRouteType_TYPE_UNSPEC NethelpersRouteType = 0 - NethelpersRouteType_TYPE_UNICAST NethelpersRouteType = 1 - NethelpersRouteType_TYPE_LOCAL NethelpersRouteType = 2 - NethelpersRouteType_TYPE_BROADCAST NethelpersRouteType = 3 - NethelpersRouteType_TYPE_ANYCAST NethelpersRouteType = 4 - NethelpersRouteType_TYPE_MULTICAST NethelpersRouteType = 5 - NethelpersRouteType_TYPE_BLACKHOLE NethelpersRouteType = 6 - NethelpersRouteType_TYPE_UNREACHABLE NethelpersRouteType = 7 - NethelpersRouteType_TYPE_PROHIBIT NethelpersRouteType = 8 - NethelpersRouteType_TYPE_THROW NethelpersRouteType = 9 - NethelpersRouteType_TYPE_NAT NethelpersRouteType = 10 - NethelpersRouteType_TYPE_X_RESOLVE NethelpersRouteType = 11 + NethelpersScope_SCOPE_GLOBAL NethelpersScope = 0 + NethelpersScope_SCOPE_SITE NethelpersScope = 200 + NethelpersScope_SCOPE_LINK NethelpersScope = 253 + NethelpersScope_SCOPE_HOST NethelpersScope = 254 + NethelpersScope_SCOPE_NOWHERE NethelpersScope = 255 ) -// Enum value maps for NethelpersRouteType. +// Enum value maps for NethelpersScope. var ( - NethelpersRouteType_name = map[int32]string{ - 0: "TYPE_UNSPEC", - 1: "TYPE_UNICAST", - 2: "TYPE_LOCAL", - 3: "TYPE_BROADCAST", - 4: "TYPE_ANYCAST", - 5: "TYPE_MULTICAST", - 6: "TYPE_BLACKHOLE", - 7: "TYPE_UNREACHABLE", - 8: "TYPE_PROHIBIT", - 9: "TYPE_THROW", - 10: "TYPE_NAT", - 11: "TYPE_X_RESOLVE", + NethelpersScope_name = map[int32]string{ + 0: "SCOPE_GLOBAL", + 200: "SCOPE_SITE", + 253: "SCOPE_LINK", + 254: "SCOPE_HOST", + 255: "SCOPE_NOWHERE", } - NethelpersRouteType_value = map[string]int32{ - "TYPE_UNSPEC": 0, - "TYPE_UNICAST": 1, - "TYPE_LOCAL": 2, - "TYPE_BROADCAST": 3, - "TYPE_ANYCAST": 4, - "TYPE_MULTICAST": 5, - "TYPE_BLACKHOLE": 6, - "TYPE_UNREACHABLE": 7, - "TYPE_PROHIBIT": 8, - "TYPE_THROW": 9, - "TYPE_NAT": 10, - "TYPE_X_RESOLVE": 11, + NethelpersScope_value = map[string]int32{ + "SCOPE_GLOBAL": 0, + "SCOPE_SITE": 200, + "SCOPE_LINK": 253, + "SCOPE_HOST": 254, + "SCOPE_NOWHERE": 255, } ) -func (x NethelpersRouteType) Enum() *NethelpersRouteType { - p := new(NethelpersRouteType) +func (x NethelpersScope) Enum() *NethelpersScope { + p := new(NethelpersScope) *p = x return p } -func (x NethelpersRouteType) String() string { +func (x NethelpersScope) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NethelpersRouteType) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[20].Descriptor() +func (NethelpersScope) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[19].Descriptor() } -func (NethelpersRouteType) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[20] +func (NethelpersScope) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[19] } -func (x NethelpersRouteType) Number() protoreflect.EnumNumber { +func (x NethelpersScope) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NethelpersRouteType.Descriptor instead. -func (NethelpersRouteType) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{20} +// Deprecated: Use NethelpersScope.Descriptor instead. +func (NethelpersScope) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{19} } // NethelpersVLANProtocol is a VLAN protocol. type NethelpersVLANProtocol int32 const ( - NethelpersVLANProtocol_VLAN_PROTOCOL8021_Q NethelpersVLANProtocol = 0 - NethelpersVLANProtocol_VLAN_PROTOCOL8021_AD NethelpersVLANProtocol = 1 + NethelpersVLANProtocol_NETHELPERS_VLANPROTOCOL_UNSPECIFIED NethelpersVLANProtocol = 0 + NethelpersVLANProtocol_VLAN_PROTOCOL8021_Q NethelpersVLANProtocol = 33024 + NethelpersVLANProtocol_VLAN_PROTOCOL8021_AD NethelpersVLANProtocol = 34984 ) // Enum value maps for NethelpersVLANProtocol. var ( NethelpersVLANProtocol_name = map[int32]string{ - 0: "VLAN_PROTOCOL8021_Q", - 1: "VLAN_PROTOCOL8021_AD", + 0: "NETHELPERS_VLANPROTOCOL_UNSPECIFIED", + 33024: "VLAN_PROTOCOL8021_Q", + 34984: "VLAN_PROTOCOL8021_AD", } NethelpersVLANProtocol_value = map[string]int32{ - "VLAN_PROTOCOL8021_Q": 0, - "VLAN_PROTOCOL8021_AD": 1, + "NETHELPERS_VLANPROTOCOL_UNSPECIFIED": 0, + "VLAN_PROTOCOL8021_Q": 33024, + "VLAN_PROTOCOL8021_AD": 34984, } ) @@ -1474,11 +1470,11 @@ func (x NethelpersVLANProtocol) String() string { } func (NethelpersVLANProtocol) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[21].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[20].Descriptor() } func (NethelpersVLANProtocol) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[21] + return &file_resource_definitions_enums_enums_proto_enumTypes[20] } func (x NethelpersVLANProtocol) Number() protoreflect.EnumNumber { @@ -1487,9 +1483,165 @@ func (x NethelpersVLANProtocol) Number() protoreflect.EnumNumber { // Deprecated: Use NethelpersVLANProtocol.Descriptor instead. func (NethelpersVLANProtocol) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{20} +} + +// KubespanPeerState is KubeSpan peer current state. +type KubespanPeerState int32 + +const ( + KubespanPeerState_PEER_STATE_UNKNOWN KubespanPeerState = 0 + KubespanPeerState_PEER_STATE_UP KubespanPeerState = 1 + KubespanPeerState_PEER_STATE_DOWN KubespanPeerState = 2 +) + +// Enum value maps for KubespanPeerState. +var ( + KubespanPeerState_name = map[int32]string{ + 0: "PEER_STATE_UNKNOWN", + 1: "PEER_STATE_UP", + 2: "PEER_STATE_DOWN", + } + KubespanPeerState_value = map[string]int32{ + "PEER_STATE_UNKNOWN": 0, + "PEER_STATE_UP": 1, + "PEER_STATE_DOWN": 2, + } +) + +func (x KubespanPeerState) Enum() *KubespanPeerState { + p := new(KubespanPeerState) + *p = x + return p +} + +func (x KubespanPeerState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (KubespanPeerState) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[21].Descriptor() +} + +func (KubespanPeerState) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[21] +} + +func (x KubespanPeerState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use KubespanPeerState.Descriptor instead. +func (KubespanPeerState) EnumDescriptor() ([]byte, []int) { return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{21} } +// NetworkConfigLayer describes network configuration layers, with lowest priority first. +type NetworkConfigLayer int32 + +const ( + NetworkConfigLayer_CONFIG_DEFAULT NetworkConfigLayer = 0 + NetworkConfigLayer_CONFIG_CMDLINE NetworkConfigLayer = 1 + NetworkConfigLayer_CONFIG_PLATFORM NetworkConfigLayer = 2 + NetworkConfigLayer_CONFIG_OPERATOR NetworkConfigLayer = 3 + NetworkConfigLayer_CONFIG_MACHINE_CONFIGURATION NetworkConfigLayer = 4 +) + +// Enum value maps for NetworkConfigLayer. +var ( + NetworkConfigLayer_name = map[int32]string{ + 0: "CONFIG_DEFAULT", + 1: "CONFIG_CMDLINE", + 2: "CONFIG_PLATFORM", + 3: "CONFIG_OPERATOR", + 4: "CONFIG_MACHINE_CONFIGURATION", + } + NetworkConfigLayer_value = map[string]int32{ + "CONFIG_DEFAULT": 0, + "CONFIG_CMDLINE": 1, + "CONFIG_PLATFORM": 2, + "CONFIG_OPERATOR": 3, + "CONFIG_MACHINE_CONFIGURATION": 4, + } +) + +func (x NetworkConfigLayer) Enum() *NetworkConfigLayer { + p := new(NetworkConfigLayer) + *p = x + return p +} + +func (x NetworkConfigLayer) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NetworkConfigLayer) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[22].Descriptor() +} + +func (NetworkConfigLayer) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[22] +} + +func (x NetworkConfigLayer) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NetworkConfigLayer.Descriptor instead. +func (NetworkConfigLayer) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{22} +} + +// NetworkOperator enumerates Talos network operators. +type NetworkOperator int32 + +const ( + NetworkOperator_OPERATOR_DHCP4 NetworkOperator = 0 + NetworkOperator_OPERATOR_DHCP6 NetworkOperator = 1 + NetworkOperator_OPERATOR_VIP NetworkOperator = 2 +) + +// Enum value maps for NetworkOperator. +var ( + NetworkOperator_name = map[int32]string{ + 0: "OPERATOR_DHCP4", + 1: "OPERATOR_DHCP6", + 2: "OPERATOR_VIP", + } + NetworkOperator_value = map[string]int32{ + "OPERATOR_DHCP4": 0, + "OPERATOR_DHCP6": 1, + "OPERATOR_VIP": 2, + } +) + +func (x NetworkOperator) Enum() *NetworkOperator { + p := new(NetworkOperator) + *p = x + return p +} + +func (x NetworkOperator) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NetworkOperator) Descriptor() protoreflect.EnumDescriptor { + return file_resource_definitions_enums_enums_proto_enumTypes[23].Descriptor() +} + +func (NetworkOperator) Type() protoreflect.EnumType { + return &file_resource_definitions_enums_enums_proto_enumTypes[23] +} + +func (x NetworkOperator) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NetworkOperator.Descriptor instead. +func (NetworkOperator) EnumDescriptor() ([]byte, []int) { + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{23} +} + // RuntimeMachineStage describes the stage of the machine boot/run process. type RuntimeMachineStage int32 @@ -1542,11 +1694,11 @@ func (x RuntimeMachineStage) String() string { } func (RuntimeMachineStage) Descriptor() protoreflect.EnumDescriptor { - return file_resource_definitions_enums_enums_proto_enumTypes[22].Descriptor() + return file_resource_definitions_enums_enums_proto_enumTypes[24].Descriptor() } func (RuntimeMachineStage) Type() protoreflect.EnumType { - return &file_resource_definitions_enums_enums_proto_enumTypes[22] + return &file_resource_definitions_enums_enums_proto_enumTypes[24] } func (x RuntimeMachineStage) Number() protoreflect.EnumNumber { @@ -1555,7 +1707,7 @@ func (x RuntimeMachineStage) Number() protoreflect.EnumNumber { // Deprecated: Use RuntimeMachineStage.Descriptor instead. func (RuntimeMachineStage) EnumDescriptor() ([]byte, []int) { - return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{22} + return file_resource_definitions_enums_enums_proto_rawDescGZIP(), []int{24} } var File_resource_definitions_enums_enums_proto protoreflect.FileDescriptor @@ -1571,285 +1723,327 @@ var file_resource_definitions_enums_enums_proto_rawDesc = []byte{ 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x45, - 0x52, 0x10, 0x03, 0x2a, 0x53, 0x0a, 0x11, 0x4b, 0x75, 0x62, 0x65, 0x73, 0x70, 0x61, 0x6e, 0x50, - 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x45, 0x52, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, - 0x50, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x2a, 0x88, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x43, 0x4d, - 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, - 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x4d, 0x41, 0x43, 0x48, - 0x49, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x04, 0x2a, 0x4d, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, - 0x4f, 0x52, 0x5f, 0x44, 0x48, 0x43, 0x50, 0x5f, 0x34, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, - 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x44, 0x48, 0x43, 0x50, 0x5f, 0x36, 0x10, 0x01, - 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x56, 0x49, 0x50, - 0x10, 0x02, 0x2a, 0x38, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, - 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, - 0x5f, 0x49, 0x4e, 0x45, 0x54, 0x5f, 0x34, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x41, 0x4d, - 0x49, 0x4c, 0x59, 0x5f, 0x49, 0x4e, 0x45, 0x54, 0x5f, 0x36, 0x10, 0x01, 0x2a, 0x6a, 0x0a, 0x0f, - 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, - 0x10, 0x0a, 0x0c, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, - 0x00, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x10, - 0xc8, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, - 0x10, 0xfd, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x48, 0x4f, 0x53, - 0x54, 0x10, 0xfe, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4e, 0x4f, - 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xff, 0x01, 0x2a, 0x58, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x68, - 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x44, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x14, - 0x0a, 0x10, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, - 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x10, 0x01, 0x12, 0x13, 0x0a, - 0x0f, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x10, 0x02, 0x2a, 0x4b, 0x0a, 0x17, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, - 0x41, 0x52, 0x50, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x17, 0x0a, - 0x13, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x53, - 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, - 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x2a, - 0x76, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x52, 0x50, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x52, 0x50, 0x5f, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, - 0x17, 0x0a, 0x13, 0x41, 0x52, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, 0x50, 0x5f, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, - 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x52, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x2a, 0x63, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x68, 0x65, - 0x6c, 0x70, 0x65, 0x72, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x4d, 0x41, 0x43, - 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x41, - 0x43, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x49, 0x4c, - 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, - 0x4d, 0x41, 0x43, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x2a, 0xb3, 0x01, 0x0a, - 0x1c, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x42, 0x6f, 0x6e, 0x64, 0x58, - 0x6d, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, - 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, - 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x32, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, - 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, - 0x41, 0x59, 0x45, 0x52, 0x33, 0x34, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4e, 0x44, - 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x32, 0x33, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, - 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, - 0x32, 0x33, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, - 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x33, 0x34, - 0x10, 0x04, 0x2a, 0x3c, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, - 0x4c, 0x41, 0x43, 0x50, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x43, 0x50, - 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, - 0x4c, 0x41, 0x43, 0x50, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x01, - 0x2a, 0xb3, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x42, - 0x6f, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, - 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x01, 0x12, 0x11, - 0x0a, 0x0d, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x4f, 0x52, 0x10, - 0x02, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, - 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x4f, - 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x38, 0x30, 0x32, 0x33, 0x5f, 0x41, 0x44, 0x10, 0x04, - 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4c, - 0x42, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x41, 0x4c, 0x42, 0x10, 0x06, 0x2a, 0x73, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, - 0x70, 0x65, 0x72, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x52, - 0x45, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x00, - 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, - 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, - 0x18, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x4c, 0x45, 0x43, - 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x2a, 0x88, 0x0b, 0x0a, 0x12, - 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, 0x45, 0x54, 0x52, 0x4f, - 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x45, 0x54, 0x48, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x45, 0x45, 0x54, 0x48, - 0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x58, 0x32, - 0x35, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 0x4e, - 0x45, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x48, 0x41, - 0x4f, 0x53, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, - 0x38, 0x30, 0x32, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x52, - 0x43, 0x4e, 0x45, 0x54, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, - 0x54, 0x41, 0x4c, 0x4b, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x44, - 0x4c, 0x43, 0x49, 0x10, 0x0f, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x54, - 0x4d, 0x10, 0x13, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4d, 0x45, 0x54, 0x52, - 0x49, 0x43, 0x4f, 0x4d, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, - 0x45, 0x45, 0x45, 0x31, 0x33, 0x39, 0x34, 0x10, 0x18, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, - 0x4b, 0x5f, 0x45, 0x55, 0x49, 0x36, 0x34, 0x10, 0x1b, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, - 0x4b, 0x5f, 0x49, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x42, 0x41, 0x4e, 0x44, 0x10, 0x20, 0x12, 0x0e, - 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4c, 0x49, 0x50, 0x10, 0x80, 0x02, 0x12, 0x0f, - 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, 0x49, 0x50, 0x10, 0x81, 0x02, 0x12, - 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4c, 0x49, 0x50, 0x36, 0x10, 0x82, 0x02, - 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, 0x49, 0x50, 0x36, 0x10, - 0x83, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x52, 0x53, 0x52, 0x56, 0x44, - 0x10, 0x84, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x44, 0x41, 0x50, - 0x54, 0x10, 0x88, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x52, 0x4f, 0x53, - 0x45, 0x10, 0x8e, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x58, 0x32, 0x35, - 0x10, 0x8f, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x48, 0x57, 0x58, 0x32, - 0x35, 0x10, 0x90, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x41, 0x4e, - 0x10, 0x98, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x50, 0x50, 0x10, - 0x80, 0x04, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x49, 0x53, 0x43, 0x4f, - 0x5f, 0x48, 0x44, 0x4c, 0x43, 0x10, 0x81, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x4c, 0x41, 0x50, 0x42, 0x10, 0x84, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x44, 0x44, 0x43, 0x4d, 0x50, 0x10, 0x85, 0x04, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, 0x4e, - 0x4b, 0x5f, 0x52, 0x41, 0x57, 0x48, 0x44, 0x4c, 0x43, 0x10, 0x86, 0x04, 0x12, 0x10, 0x0a, 0x0b, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x80, 0x06, 0x12, 0x11, - 0x0a, 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x36, 0x10, 0x81, - 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x52, 0x41, 0x44, 0x10, 0x82, - 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x83, - 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x43, - 0x4b, 0x10, 0x84, 0x06, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, - 0x41, 0x4c, 0x54, 0x4c, 0x4b, 0x10, 0x85, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x46, 0x44, 0x44, 0x49, 0x10, 0x86, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x42, 0x49, 0x46, 0x10, 0x87, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, - 0x53, 0x49, 0x54, 0x10, 0x88, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, - 0x50, 0x44, 0x44, 0x50, 0x10, 0x89, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, - 0x49, 0x50, 0x47, 0x52, 0x45, 0x10, 0x8a, 0x06, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x50, 0x49, 0x4d, 0x52, 0x45, 0x47, 0x10, 0x8b, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x48, 0x49, 0x50, 0x50, 0x49, 0x10, 0x8c, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4c, - 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x53, 0x48, 0x10, 0x8d, 0x06, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x45, 0x43, 0x4f, 0x4e, 0x45, 0x54, 0x10, 0x8e, 0x06, 0x12, 0x0e, 0x0a, 0x09, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x52, 0x44, 0x41, 0x10, 0x8f, 0x06, 0x12, 0x0e, 0x0a, 0x09, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x50, 0x50, 0x10, 0x90, 0x06, 0x12, 0x0e, 0x0a, 0x09, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x41, 0x4c, 0x10, 0x91, 0x06, 0x12, 0x0e, 0x0a, 0x09, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x50, 0x4c, 0x10, 0x92, 0x06, 0x12, 0x12, 0x0a, 0x0d, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x10, 0x93, 0x06, + 0x52, 0x10, 0x03, 0x2a, 0xe7, 0x02, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, + 0x72, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x26, 0x0a, + 0x22, 0x4e, 0x45, 0x54, 0x48, 0x45, 0x4c, 0x50, 0x45, 0x52, 0x53, 0x5f, 0x41, 0x44, 0x44, 0x52, + 0x45, 0x53, 0x53, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, + 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x41, 0x44, 0x10, 0x02, + 0x12, 0x16, 0x0a, 0x12, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x49, + 0x4d, 0x49, 0x53, 0x54, 0x49, 0x43, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x44, 0x44, 0x52, + 0x45, 0x53, 0x53, 0x5f, 0x44, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x08, + 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x48, 0x4f, 0x4d, 0x45, + 0x10, 0x10, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, + 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x44, + 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, + 0x40, 0x12, 0x16, 0x0a, 0x11, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x45, 0x52, + 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x10, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x41, 0x44, 0x44, + 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x54, 0x45, 0x4d, 0x50, 0x10, 0x80, 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x41, 0x44, 0x44, 0x52, 0x45, + 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x10, 0x80, 0x04, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x4d, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x80, 0x08, + 0x12, 0x1b, 0x0a, 0x16, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, 0x10, 0x80, 0x10, 0x2a, 0x58, 0x0a, + 0x12, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x44, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x44, 0x5f, + 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, + 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, + 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x4b, 0x0a, 0x17, 0x4e, 0x65, 0x74, 0x68, 0x65, + 0x6c, 0x70, 0x65, 0x72, 0x73, 0x41, 0x52, 0x50, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x53, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, + 0x52, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x53, 0x5f, 0x41, + 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x76, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, + 0x72, 0x73, 0x41, 0x52, 0x50, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, + 0x11, 0x41, 0x52, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x41, 0x52, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x41, + 0x43, 0x4b, 0x55, 0x50, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x52, 0x50, 0x5f, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x2a, 0xb3, 0x01, 0x0a, + 0x12, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x42, 0x6f, 0x6e, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x1b, 0x0a, + 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4f, + 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x58, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x17, 0x0a, + 0x13, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, + 0x43, 0x41, 0x53, 0x54, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x38, 0x30, 0x32, 0x33, 0x5f, 0x41, 0x44, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, + 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4c, 0x42, 0x10, 0x05, 0x12, + 0x11, 0x0a, 0x0d, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x42, + 0x10, 0x06, 0x2a, 0xb3, 0x01, 0x0a, 0x1c, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, + 0x73, 0x42, 0x6f, 0x6e, 0x64, 0x58, 0x6d, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x32, 0x10, 0x00, + 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x33, 0x34, 0x10, 0x01, 0x12, 0x1c, + 0x0a, 0x18, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, + 0x43, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x32, 0x33, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, + 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x32, 0x33, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, + 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x45, + 0x4e, 0x43, 0x41, 0x50, 0x33, 0x34, 0x10, 0x04, 0x2a, 0x34, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x68, + 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x12, 0x08, 0x0a, 0x04, + 0x48, 0x41, 0x4c, 0x46, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, + 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xff, 0x01, 0x2a, 0x63, + 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x46, 0x61, 0x69, 0x6c, + 0x4f, 0x76, 0x65, 0x72, 0x4d, 0x41, 0x43, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x49, 0x4c, 0x5f, + 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x43, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x49, + 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, + 0x57, 0x10, 0x02, 0x2a, 0x59, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, + 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x54, 0x48, 0x45, + 0x4c, 0x50, 0x45, 0x52, 0x53, 0x5f, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x41, + 0x4d, 0x49, 0x4c, 0x59, 0x5f, 0x49, 0x4e, 0x45, 0x54, 0x34, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, + 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x5f, 0x49, 0x4e, 0x45, 0x54, 0x36, 0x10, 0x0a, 0x2a, 0x3c, + 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x4c, 0x41, 0x43, 0x50, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x43, 0x50, 0x5f, 0x52, 0x41, 0x54, + 0x45, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x43, 0x50, + 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x01, 0x2a, 0x93, 0x0b, 0x0a, + 0x12, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, 0x45, 0x54, 0x52, + 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x45, 0x54, 0x48, + 0x45, 0x52, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x45, 0x45, 0x54, + 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x58, + 0x32, 0x35, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, 0x4f, + 0x4e, 0x45, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x48, + 0x41, 0x4f, 0x53, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, + 0x45, 0x38, 0x30, 0x32, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, + 0x52, 0x43, 0x4e, 0x45, 0x54, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x41, 0x54, 0x41, 0x4c, 0x4b, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x44, 0x4c, 0x43, 0x49, 0x10, 0x0f, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, + 0x54, 0x4d, 0x10, 0x13, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4d, 0x45, 0x54, + 0x52, 0x49, 0x43, 0x4f, 0x4d, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x49, 0x45, 0x45, 0x45, 0x31, 0x33, 0x39, 0x34, 0x10, 0x18, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x49, + 0x4e, 0x4b, 0x5f, 0x45, 0x55, 0x49, 0x36, 0x34, 0x10, 0x1b, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x49, + 0x4e, 0x4b, 0x5f, 0x49, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x42, 0x41, 0x4e, 0x44, 0x10, 0x20, 0x12, + 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4c, 0x49, 0x50, 0x10, 0x80, 0x02, 0x12, + 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, 0x49, 0x50, 0x10, 0x81, 0x02, + 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4c, 0x49, 0x50, 0x36, 0x10, 0x82, + 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, 0x49, 0x50, 0x36, + 0x10, 0x83, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x52, 0x53, 0x52, 0x56, + 0x44, 0x10, 0x84, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x44, 0x41, + 0x50, 0x54, 0x10, 0x88, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x52, 0x4f, + 0x53, 0x45, 0x10, 0x8e, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x58, 0x32, + 0x35, 0x10, 0x8f, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x48, 0x57, 0x58, + 0x32, 0x35, 0x10, 0x90, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x41, + 0x4e, 0x10, 0x98, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x50, 0x50, + 0x10, 0x80, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x49, 0x53, 0x43, + 0x4f, 0x10, 0x81, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x48, 0x44, 0x4c, + 0x43, 0x10, 0x81, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4c, 0x41, 0x50, + 0x42, 0x10, 0x84, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x44, 0x44, 0x43, + 0x4d, 0x50, 0x10, 0x85, 0x04, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x52, 0x41, + 0x57, 0x48, 0x44, 0x4c, 0x43, 0x10, 0x86, 0x04, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, + 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x80, 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, + 0x4e, 0x4b, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x36, 0x10, 0x81, 0x06, 0x12, 0x0e, 0x0a, + 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x52, 0x41, 0x44, 0x10, 0x82, 0x06, 0x12, 0x0e, 0x0a, + 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x83, 0x06, 0x12, 0x11, 0x0a, + 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x43, 0x4b, 0x10, 0x84, 0x06, + 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x4c, + 0x4b, 0x10, 0x85, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x44, 0x44, + 0x49, 0x10, 0x86, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x42, 0x49, 0x46, + 0x10, 0x87, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x49, 0x54, 0x10, + 0x88, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x50, 0x44, 0x44, 0x50, + 0x10, 0x89, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x50, 0x47, 0x52, + 0x45, 0x10, 0x8a, 0x06, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x49, 0x4d, + 0x52, 0x45, 0x47, 0x10, 0x8b, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x48, + 0x49, 0x50, 0x50, 0x49, 0x10, 0x8c, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x41, 0x53, 0x48, 0x10, 0x8d, 0x06, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x45, + 0x43, 0x4f, 0x4e, 0x45, 0x54, 0x10, 0x8e, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, + 0x5f, 0x49, 0x52, 0x44, 0x41, 0x10, 0x8f, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, + 0x5f, 0x46, 0x43, 0x50, 0x50, 0x10, 0x90, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, + 0x5f, 0x46, 0x43, 0x41, 0x4c, 0x10, 0x91, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, + 0x5f, 0x46, 0x43, 0x50, 0x4c, 0x10, 0x92, 0x06, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, + 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x10, 0x93, 0x06, 0x12, 0x13, 0x0a, 0x0e, + 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x31, 0x10, 0x94, + 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, + 0x49, 0x43, 0x32, 0x10, 0x95, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, + 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x33, 0x10, 0x96, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, + 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x34, 0x10, 0x97, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, - 0x43, 0x31, 0x10, 0x94, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, - 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x32, 0x10, 0x95, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x33, 0x10, 0x96, 0x06, 0x12, + 0x43, 0x35, 0x10, 0x98, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, + 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x36, 0x10, 0x99, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, + 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x37, 0x10, 0x9a, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, - 0x34, 0x10, 0x97, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, - 0x41, 0x42, 0x52, 0x49, 0x43, 0x35, 0x10, 0x98, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, - 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x36, 0x10, 0x99, 0x06, 0x12, 0x13, - 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x37, - 0x10, 0x9a, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, - 0x42, 0x52, 0x49, 0x43, 0x38, 0x10, 0x9b, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x39, 0x10, 0x9c, 0x06, 0x12, 0x14, 0x0a, - 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x31, 0x30, - 0x10, 0x9d, 0x06, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, - 0x42, 0x52, 0x49, 0x43, 0x31, 0x31, 0x10, 0x9e, 0x06, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, - 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x31, 0x32, 0x10, 0x9f, 0x06, 0x12, - 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x5f, 0x54, - 0x52, 0x10, 0xa0, 0x06, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, - 0x38, 0x30, 0x32, 0x31, 0x31, 0x10, 0xa1, 0x06, 0x12, 0x18, 0x0a, 0x13, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, 0x5f, 0x50, 0x52, 0x49, 0x53, 0x4d, 0x10, - 0xa2, 0x06, 0x12, 0x1b, 0x0a, 0x16, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, - 0x32, 0x31, 0x31, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, 0x54, 0x41, 0x50, 0x10, 0xa3, 0x06, 0x12, - 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, - 0x35, 0x34, 0x10, 0xa4, 0x06, 0x12, 0x1c, 0x0a, 0x17, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, - 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, 0x35, 0x34, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, - 0x10, 0xa5, 0x06, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x48, 0x4f, 0x4e, - 0x45, 0x54, 0x10, 0xb4, 0x06, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x48, - 0x4f, 0x4e, 0x45, 0x54, 0x50, 0x49, 0x50, 0x45, 0x10, 0xb5, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, - 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x41, 0x49, 0x46, 0x10, 0xb6, 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x4c, - 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x50, 0x36, 0x5f, 0x47, 0x52, 0x45, 0x10, 0xb7, 0x06, 0x12, 0x11, - 0x0a, 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, 0x45, 0x54, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0xb8, - 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x36, 0x5f, 0x4c, 0x4f, 0x57, 0x50, 0x41, - 0x4e, 0x10, 0xb9, 0x06, 0x12, 0x0f, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x56, 0x4f, 0x49, - 0x44, 0x10, 0xff, 0xff, 0x03, 0x12, 0x0f, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0xfe, 0xff, 0x03, 0x2a, 0x34, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, - 0x70, 0x65, 0x72, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x41, - 0x4c, 0x46, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xff, 0x01, 0x2a, 0xc9, 0x01, 0x0a, - 0x1a, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4f, - 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, - 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, - 0x57, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x16, 0x0a, - 0x12, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x52, 0x4d, - 0x41, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x10, 0x06, 0x2a, 0x72, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x68, - 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x57, - 0x49, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, - 0x41, 0x55, 0x49, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x49, 0x10, 0x02, 0x12, 0x09, - 0x0a, 0x05, 0x46, 0x49, 0x42, 0x52, 0x45, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x4e, 0x43, - 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x41, 0x43, 0x48, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xef, 0x01, - 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0xff, 0x01, 0x2a, 0xd2, 0x03, 0x0a, - 0x17, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x00, 0x12, 0x15, 0x0a, - 0x11, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, - 0x43, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, - 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, - 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x41, - 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4d, - 0x52, 0x54, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, - 0x5f, 0x5a, 0x45, 0x42, 0x52, 0x41, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x42, 0x49, 0x52, 0x44, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x50, - 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x4e, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x44, - 0x10, 0x0d, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x58, - 0x4f, 0x52, 0x50, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x4e, 0x54, 0x4b, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x48, 0x43, 0x50, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4d, 0x52, 0x54, 0x44, 0x10, 0x11, 0x12, 0x17, 0x0a, - 0x13, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x41, 0x4c, - 0x49, 0x56, 0x45, 0x44, 0x10, 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x5f, 0x42, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x2a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x52, 0x10, 0x63, 0x12, 0x11, - 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x10, 0xba, - 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, - 0x49, 0x53, 0x10, 0xbb, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, - 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x10, 0xbc, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x49, 0x50, 0x10, 0xbd, 0x01, 0x12, 0x13, 0x0a, 0x0e, - 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x45, 0x49, 0x47, 0x52, 0x50, 0x10, 0xc0, - 0x01, 0x2a, 0x61, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x00, 0x12, 0x12, 0x0a, - 0x0d, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xfd, - 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, - 0xfe, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, - 0x4c, 0x10, 0xff, 0x01, 0x2a, 0xf1, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, - 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, 0x54, 0x10, 0x01, 0x12, - 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, - 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, - 0x54, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x43, - 0x41, 0x53, 0x54, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, - 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x48, 0x4f, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x14, 0x0a, - 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x43, 0x48, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x48, - 0x49, 0x42, 0x49, 0x54, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, - 0x48, 0x52, 0x4f, 0x57, 0x10, 0x09, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, - 0x41, 0x54, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x58, 0x5f, 0x52, - 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x10, 0x0b, 0x2a, 0x4b, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x68, - 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x56, 0x4c, 0x41, 0x4e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, - 0x43, 0x4f, 0x4c, 0x38, 0x30, 0x32, 0x31, 0x5f, 0x51, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x56, - 0x4c, 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x38, 0x30, 0x32, 0x31, - 0x5f, 0x41, 0x44, 0x10, 0x01, 0x2a, 0x9b, 0x02, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, - 0x15, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x43, 0x48, - 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, - 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x47, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, + 0x38, 0x10, 0x9b, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, + 0x41, 0x42, 0x52, 0x49, 0x43, 0x39, 0x10, 0x9c, 0x06, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, + 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x31, 0x30, 0x10, 0x9d, 0x06, 0x12, + 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, + 0x31, 0x31, 0x10, 0x9e, 0x06, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x43, + 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x31, 0x32, 0x10, 0x9f, 0x06, 0x12, 0x12, 0x0a, 0x0d, 0x4c, + 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x54, 0x52, 0x10, 0xa0, 0x06, 0x12, + 0x12, 0x0a, 0x0d, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, + 0x10, 0xa1, 0x06, 0x12, 0x17, 0x0a, 0x12, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, + 0x30, 0x32, 0x31, 0x31, 0x50, 0x52, 0x49, 0x53, 0x4d, 0x10, 0xa2, 0x06, 0x12, 0x1b, 0x0a, 0x16, + 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, 0x5f, 0x52, 0x41, + 0x44, 0x49, 0x4f, 0x54, 0x41, 0x50, 0x10, 0xa3, 0x06, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x49, 0x4e, + 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, 0x35, 0x34, 0x10, 0xa4, 0x06, 0x12, + 0x1b, 0x0a, 0x16, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x45, 0x45, 0x38, 0x30, 0x32, 0x31, 0x31, + 0x35, 0x34, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x10, 0xa5, 0x06, 0x12, 0x10, 0x0a, 0x0b, + 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x54, 0x10, 0xb4, 0x06, 0x12, 0x14, + 0x0a, 0x0f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x54, 0x50, 0x49, 0x50, + 0x45, 0x10, 0xb5, 0x06, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x41, 0x49, + 0x46, 0x10, 0xb6, 0x06, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x49, 0x50, 0x36, + 0x47, 0x52, 0x45, 0x10, 0xb7, 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, + 0x45, 0x54, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0xb8, 0x06, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x49, 0x4e, + 0x4b, 0x36, 0x5f, 0x4c, 0x4f, 0x57, 0x50, 0x41, 0x4e, 0x10, 0xb9, 0x06, 0x12, 0x0f, 0x0a, 0x09, + 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x56, 0x4f, 0x49, 0x44, 0x10, 0xff, 0xff, 0x03, 0x12, 0x0f, 0x0a, + 0x09, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xfe, 0xff, 0x03, 0x1a, 0x02, + 0x10, 0x01, 0x2a, 0xc9, 0x01, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, + 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x45, + 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, + 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x50, + 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4f, + 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x44, 0x4f, 0x52, 0x4d, 0x41, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, + 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x10, 0x06, 0x2a, 0x72, + 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x57, 0x49, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x49, 0x52, + 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x55, 0x49, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d, + 0x49, 0x49, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x42, 0x52, 0x45, 0x10, 0x03, 0x12, + 0x07, 0x0a, 0x03, 0x42, 0x4e, 0x43, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x49, 0x52, 0x45, + 0x43, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0xef, 0x01, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, + 0xff, 0x01, 0x2a, 0x73, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, + 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x4c, + 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, + 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, + 0x5f, 0x42, 0x45, 0x54, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x49, + 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x2a, 0xdf, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x68, + 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, + 0x24, 0x0a, 0x20, 0x4e, 0x45, 0x54, 0x48, 0x45, 0x4c, 0x50, 0x45, 0x52, 0x53, 0x5f, 0x52, 0x4f, + 0x55, 0x54, 0x45, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x59, 0x10, 0x80, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x55, 0x54, + 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x80, 0x04, 0x12, 0x13, 0x0a, 0x0e, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0x80, 0x08, + 0x12, 0x11, 0x0a, 0x0c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, + 0x10, 0x80, 0x10, 0x12, 0x17, 0x0a, 0x12, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x4f, + 0x4b, 0x55, 0x50, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x80, 0x20, 0x12, 0x14, 0x0a, 0x0f, + 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x42, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, + 0x80, 0x40, 0x12, 0x13, 0x0a, 0x0d, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, + 0x4f, 0x41, 0x44, 0x10, 0x80, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x0a, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x5f, 0x54, 0x52, 0x41, 0x50, 0x10, 0x80, 0x80, 0x02, 0x2a, 0xd2, 0x03, 0x0a, 0x17, 0x4e, 0x65, + 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, + 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4b, 0x45, + 0x52, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, + 0x4f, 0x4c, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x04, 0x12, 0x0f, + 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x52, 0x41, 0x10, 0x09, 0x12, + 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4d, 0x52, 0x54, 0x10, + 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x5a, 0x45, + 0x42, 0x52, 0x41, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x5f, 0x42, 0x49, 0x52, 0x44, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x54, + 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x44, 0x4e, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x44, 0x10, 0x0d, 0x12, + 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x58, 0x4f, 0x52, 0x50, + 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4e, + 0x54, 0x4b, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x5f, 0x44, 0x48, 0x43, 0x50, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x5f, 0x4d, 0x52, 0x54, 0x44, 0x10, 0x11, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x41, 0x4c, 0x49, 0x56, 0x45, + 0x44, 0x10, 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, + 0x42, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x2a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x52, 0x10, 0x63, 0x12, 0x11, 0x0a, 0x0c, 0x50, + 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x42, 0x47, 0x50, 0x10, 0xba, 0x01, 0x12, 0x12, + 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, 0x49, 0x53, 0x10, + 0xbb, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, + 0x53, 0x50, 0x46, 0x10, 0xbc, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, + 0x4f, 0x4c, 0x5f, 0x52, 0x49, 0x50, 0x10, 0xbd, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x45, 0x49, 0x47, 0x52, 0x50, 0x10, 0xc0, 0x01, 0x2a, 0xf1, + 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x03, 0x12, 0x10, 0x0a, + 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x43, 0x41, 0x53, 0x54, 0x10, 0x04, 0x12, + 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, + 0x54, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4c, 0x41, 0x43, + 0x4b, 0x48, 0x4f, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x52, 0x45, 0x41, 0x43, 0x48, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x07, 0x12, 0x11, 0x0a, + 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x48, 0x49, 0x42, 0x49, 0x54, 0x10, 0x08, + 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x57, 0x10, 0x09, + 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x0a, 0x12, 0x12, + 0x0a, 0x0e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x58, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, + 0x10, 0x0b, 0x2a, 0x61, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x0c, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0d, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, + 0xfd, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, + 0x10, 0xfe, 0x01, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x43, + 0x41, 0x4c, 0x10, 0xff, 0x01, 0x2a, 0x6a, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, + 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x43, 0x4f, 0x50, + 0x45, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x43, + 0x4f, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x54, 0x45, 0x10, 0xc8, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x53, + 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0xfd, 0x01, 0x12, 0x0f, 0x0a, 0x0a, + 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0xfe, 0x01, 0x12, 0x12, 0x0a, + 0x0d, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xff, + 0x01, 0x2a, 0x78, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x56, + 0x4c, 0x41, 0x4e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x23, 0x4e, + 0x45, 0x54, 0x48, 0x45, 0x4c, 0x50, 0x45, 0x52, 0x53, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x13, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x4f, + 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x38, 0x30, 0x32, 0x31, 0x5f, 0x51, 0x10, 0x80, 0x82, 0x02, 0x12, + 0x1a, 0x0a, 0x14, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, + 0x38, 0x30, 0x32, 0x31, 0x5f, 0x41, 0x44, 0x10, 0xa8, 0x91, 0x02, 0x2a, 0x53, 0x0a, 0x11, 0x4b, + 0x75, 0x62, 0x65, 0x73, 0x70, 0x61, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x16, 0x0a, 0x12, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x45, 0x45, 0x52, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, + 0x45, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, + 0x2a, 0x88, 0x01, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x46, 0x49, + 0x47, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x43, 0x4d, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, + 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, + 0x52, 0x4d, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x4f, + 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, + 0x46, 0x49, 0x47, 0x5f, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x4b, 0x0a, 0x0f, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, + 0x0a, 0x0e, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x44, 0x48, 0x43, 0x50, 0x34, + 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x44, + 0x48, 0x43, 0x50, 0x36, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, + 0x4f, 0x52, 0x5f, 0x56, 0x49, 0x50, 0x10, 0x02, 0x2a, 0x9b, 0x02, 0x0a, 0x13, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x4d, - 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x42, - 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x43, 0x48, - 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x43, - 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, - 0x54, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x08, 0x42, 0x4a, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x72, 0x6f, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x74, 0x61, 0x6c, - 0x6f, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4d, + 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4f, 0x4f, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, + 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, + 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x1b, + 0x0a, 0x17, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, + 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, + 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x48, 0x55, + 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, + 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, + 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x43, + 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x42, 0x4a, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x64, 0x65, 0x72, 0x6f, 0x6c, 0x61, 0x62, 0x73, 0x2f, + 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x72, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x65, 0x6e, 0x75, + 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1864,31 +2058,33 @@ func file_resource_definitions_enums_enums_proto_rawDescGZIP() []byte { return file_resource_definitions_enums_enums_proto_rawDescData } -var file_resource_definitions_enums_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 23) +var file_resource_definitions_enums_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 25) var file_resource_definitions_enums_enums_proto_goTypes = []interface{}{ (MachineType)(0), // 0: talos.resource.definitions.enums.MachineType - (KubespanPeerState)(0), // 1: talos.resource.definitions.enums.KubespanPeerState - (NetworkConfigLayer)(0), // 2: talos.resource.definitions.enums.NetworkConfigLayer - (NetworkOperator)(0), // 3: talos.resource.definitions.enums.NetworkOperator - (NethelpersFamily)(0), // 4: talos.resource.definitions.enums.NethelpersFamily - (NethelpersScope)(0), // 5: talos.resource.definitions.enums.NethelpersScope - (NethelpersADSelect)(0), // 6: talos.resource.definitions.enums.NethelpersADSelect - (NethelpersARPAllTargets)(0), // 7: talos.resource.definitions.enums.NethelpersARPAllTargets - (NethelpersARPValidate)(0), // 8: talos.resource.definitions.enums.NethelpersARPValidate - (NethelpersFailOverMAC)(0), // 9: talos.resource.definitions.enums.NethelpersFailOverMAC - (NethelpersBondXmitHashPolicy)(0), // 10: talos.resource.definitions.enums.NethelpersBondXmitHashPolicy - (NethelpersLACPRate)(0), // 11: talos.resource.definitions.enums.NethelpersLACPRate - (NethelpersBondMode)(0), // 12: talos.resource.definitions.enums.NethelpersBondMode - (NethelpersPrimaryReselect)(0), // 13: talos.resource.definitions.enums.NethelpersPrimaryReselect - (NethelpersLinkType)(0), // 14: talos.resource.definitions.enums.NethelpersLinkType - (NethelpersDuplex)(0), // 15: talos.resource.definitions.enums.NethelpersDuplex - (NethelpersOperationalState)(0), // 16: talos.resource.definitions.enums.NethelpersOperationalState - (NethelpersPort)(0), // 17: talos.resource.definitions.enums.NethelpersPort - (NethelpersRouteProtocol)(0), // 18: talos.resource.definitions.enums.NethelpersRouteProtocol - (NethelpersRoutingTable)(0), // 19: talos.resource.definitions.enums.NethelpersRoutingTable - (NethelpersRouteType)(0), // 20: talos.resource.definitions.enums.NethelpersRouteType - (NethelpersVLANProtocol)(0), // 21: talos.resource.definitions.enums.NethelpersVLANProtocol - (RuntimeMachineStage)(0), // 22: talos.resource.definitions.enums.RuntimeMachineStage + (NethelpersAddressFlag)(0), // 1: talos.resource.definitions.enums.NethelpersAddressFlag + (NethelpersADSelect)(0), // 2: talos.resource.definitions.enums.NethelpersADSelect + (NethelpersARPAllTargets)(0), // 3: talos.resource.definitions.enums.NethelpersARPAllTargets + (NethelpersARPValidate)(0), // 4: talos.resource.definitions.enums.NethelpersARPValidate + (NethelpersBondMode)(0), // 5: talos.resource.definitions.enums.NethelpersBondMode + (NethelpersBondXmitHashPolicy)(0), // 6: talos.resource.definitions.enums.NethelpersBondXmitHashPolicy + (NethelpersDuplex)(0), // 7: talos.resource.definitions.enums.NethelpersDuplex + (NethelpersFailOverMAC)(0), // 8: talos.resource.definitions.enums.NethelpersFailOverMAC + (NethelpersFamily)(0), // 9: talos.resource.definitions.enums.NethelpersFamily + (NethelpersLACPRate)(0), // 10: talos.resource.definitions.enums.NethelpersLACPRate + (NethelpersLinkType)(0), // 11: talos.resource.definitions.enums.NethelpersLinkType + (NethelpersOperationalState)(0), // 12: talos.resource.definitions.enums.NethelpersOperationalState + (NethelpersPort)(0), // 13: talos.resource.definitions.enums.NethelpersPort + (NethelpersPrimaryReselect)(0), // 14: talos.resource.definitions.enums.NethelpersPrimaryReselect + (NethelpersRouteFlag)(0), // 15: talos.resource.definitions.enums.NethelpersRouteFlag + (NethelpersRouteProtocol)(0), // 16: talos.resource.definitions.enums.NethelpersRouteProtocol + (NethelpersRouteType)(0), // 17: talos.resource.definitions.enums.NethelpersRouteType + (NethelpersRoutingTable)(0), // 18: talos.resource.definitions.enums.NethelpersRoutingTable + (NethelpersScope)(0), // 19: talos.resource.definitions.enums.NethelpersScope + (NethelpersVLANProtocol)(0), // 20: talos.resource.definitions.enums.NethelpersVLANProtocol + (KubespanPeerState)(0), // 21: talos.resource.definitions.enums.KubespanPeerState + (NetworkConfigLayer)(0), // 22: talos.resource.definitions.enums.NetworkConfigLayer + (NetworkOperator)(0), // 23: talos.resource.definitions.enums.NetworkOperator + (RuntimeMachineStage)(0), // 24: talos.resource.definitions.enums.RuntimeMachineStage } var file_resource_definitions_enums_enums_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -1908,7 +2104,7 @@ func file_resource_definitions_enums_enums_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_resource_definitions_enums_enums_proto_rawDesc, - NumEnums: 23, + NumEnums: 25, NumMessages: 0, NumExtensions: 0, NumServices: 0, diff --git a/pkg/machinery/config/types/v1alpha1/machine/machine.go b/pkg/machinery/config/types/v1alpha1/machine/machine.go index 9297adb8d5..d65bc62c76 100644 --- a/pkg/machinery/config/types/v1alpha1/machine/machine.go +++ b/pkg/machinery/config/types/v1alpha1/machine/machine.go @@ -13,6 +13,7 @@ import ( // Type represents a machine type. type Type int +//structprotogen:gen_enum const ( // TypeUnknown represents undefined node type, when there is no machine configuration yet. TypeUnknown Type = iota // unknown diff --git a/pkg/machinery/nethelpers/address_flags.go b/pkg/machinery/nethelpers/address_flags.go index 77a4b86a6a..47ec695b97 100644 --- a/pkg/machinery/nethelpers/address_flags.go +++ b/pkg/machinery/nethelpers/address_flags.go @@ -59,6 +59,8 @@ func (flags *AddressFlags) UnmarshalText(b []byte) error { type AddressFlag uint32 // AddressFlag constants. +// +//structprotogen:gen_enum const ( AddressTemporary AddressFlag = 1 << iota // temporary AddressNoDAD // nodad diff --git a/pkg/machinery/nethelpers/adselect.go b/pkg/machinery/nethelpers/adselect.go index 90b03435ce..5f83075f07 100644 --- a/pkg/machinery/nethelpers/adselect.go +++ b/pkg/machinery/nethelpers/adselect.go @@ -12,6 +12,8 @@ import "fmt" type ADSelect uint8 // ADSelect constants. +// +//structprotogen:gen_enum const ( ADSelectStable ADSelect = iota // stable ADSelectBandwidth // bandwidth diff --git a/pkg/machinery/nethelpers/arpalltargets.go b/pkg/machinery/nethelpers/arpalltargets.go index 180187ba62..26b3022471 100644 --- a/pkg/machinery/nethelpers/arpalltargets.go +++ b/pkg/machinery/nethelpers/arpalltargets.go @@ -12,6 +12,8 @@ import "fmt" type ARPAllTargets uint32 // ARPAllTargets contants. +// +//structprotogen:gen_enum const ( ARPAllTargetsAny ARPAllTargets = iota // any ARPAllTargetsAll // all diff --git a/pkg/machinery/nethelpers/arpvalidate.go b/pkg/machinery/nethelpers/arpvalidate.go index 36218d1dca..a4287986e2 100644 --- a/pkg/machinery/nethelpers/arpvalidate.go +++ b/pkg/machinery/nethelpers/arpvalidate.go @@ -12,6 +12,8 @@ import "fmt" type ARPValidate uint32 // ARPValidate constants. +// +//structprotogen:gen_enum const ( ARPValidateNone ARPValidate = iota // none ARPValidateActive // active diff --git a/pkg/machinery/nethelpers/bondmode.go b/pkg/machinery/nethelpers/bondmode.go index 4491d5971b..86d8001a9b 100644 --- a/pkg/machinery/nethelpers/bondmode.go +++ b/pkg/machinery/nethelpers/bondmode.go @@ -14,6 +14,8 @@ type BondMode uint8 // BondMode constants. // // See linux/if_bonding.h. +// +//structprotogen:gen_enum const ( BondModeRoundrobin BondMode = iota // balance-rr BondModeActiveBackup // active-backup diff --git a/pkg/machinery/nethelpers/bondxmithashpolicy.go b/pkg/machinery/nethelpers/bondxmithashpolicy.go index 888f6360f0..f41f213881 100644 --- a/pkg/machinery/nethelpers/bondxmithashpolicy.go +++ b/pkg/machinery/nethelpers/bondxmithashpolicy.go @@ -12,6 +12,8 @@ import "fmt" type BondXmitHashPolicy uint8 // Bond hash policy constants. +// +//structprotogen:gen_enum const ( BondXmitPolicyLayer2 BondXmitHashPolicy = iota // layer2 BondXmitPolicyLayer34 // layer3+4 diff --git a/pkg/machinery/nethelpers/duplex.go b/pkg/machinery/nethelpers/duplex.go index 2e4a2df143..e839d88cad 100644 --- a/pkg/machinery/nethelpers/duplex.go +++ b/pkg/machinery/nethelpers/duplex.go @@ -12,6 +12,8 @@ import "github.com/mdlayher/ethtool" type Duplex ethtool.Duplex // Possible Duplex type values. +// +//structprotogen:gen_enum const ( Half Duplex = Duplex(ethtool.Half) Full Duplex = Duplex(ethtool.Full) diff --git a/pkg/machinery/nethelpers/failovermac.go b/pkg/machinery/nethelpers/failovermac.go index ff076b8d3a..cea0ac67ad 100644 --- a/pkg/machinery/nethelpers/failovermac.go +++ b/pkg/machinery/nethelpers/failovermac.go @@ -12,6 +12,8 @@ import "fmt" type FailOverMAC uint8 // FailOverMAC constants. +// +//structprotogen:gen_enum const ( FailOverMACNone FailOverMAC = iota // none FailOverMACActive // active diff --git a/pkg/machinery/nethelpers/family.go b/pkg/machinery/nethelpers/family.go index 49e4d449e8..b4bfc57761 100644 --- a/pkg/machinery/nethelpers/family.go +++ b/pkg/machinery/nethelpers/family.go @@ -10,6 +10,8 @@ package nethelpers type Family uint8 // Family constants. +// +//structprotogen:gen_enum const ( FamilyInet4 Family = 2 // inet4 FamilyInet6 Family = 10 // inet6 diff --git a/pkg/machinery/nethelpers/lacprate.go b/pkg/machinery/nethelpers/lacprate.go index 79fc531cc4..866540cda6 100644 --- a/pkg/machinery/nethelpers/lacprate.go +++ b/pkg/machinery/nethelpers/lacprate.go @@ -12,6 +12,8 @@ import "fmt" type LACPRate uint8 // LACP rate constants. +// +//structprotogen:gen_enum const ( LACPRateSlow LACPRate = iota // slow LACPRateFast // fast diff --git a/pkg/machinery/nethelpers/linktype.go b/pkg/machinery/nethelpers/linktype.go index 8276c57380..bb256f5e69 100644 --- a/pkg/machinery/nethelpers/linktype.go +++ b/pkg/machinery/nethelpers/linktype.go @@ -10,6 +10,8 @@ package nethelpers type LinkType uint16 // LinkType constants. +// +//structprotogen:gen_enum const ( LinkNetrom LinkType = 0 // netrom LinkEther LinkType = 1 // ether diff --git a/pkg/machinery/nethelpers/operstate.go b/pkg/machinery/nethelpers/operstate.go index 11de845c2c..986601c607 100644 --- a/pkg/machinery/nethelpers/operstate.go +++ b/pkg/machinery/nethelpers/operstate.go @@ -14,6 +14,8 @@ import ( type OperationalState uint8 // Constants copied from rtnetlink to provide Stringer interface. +// +//structprotogen:gen_enum const ( OperStateUnknown OperationalState = OperationalState(rtnetlink.OperStateUnknown) // unknown OperStateNotPresent OperationalState = OperationalState(rtnetlink.OperStateNotPresent) // notPresent diff --git a/pkg/machinery/nethelpers/port.go b/pkg/machinery/nethelpers/port.go index 38728eb2bf..d4f5a5ca85 100644 --- a/pkg/machinery/nethelpers/port.go +++ b/pkg/machinery/nethelpers/port.go @@ -12,6 +12,8 @@ import "github.com/mdlayher/ethtool" type Port ethtool.Port // Possible Port type values. +// +//structprotogen:gen_enum const ( TwistedPair Port = Port(ethtool.TwistedPair) AUI Port = Port(ethtool.AUI) diff --git a/pkg/machinery/nethelpers/primaryreselect.go b/pkg/machinery/nethelpers/primaryreselect.go index 068b49ff6b..4aeb1816ad 100644 --- a/pkg/machinery/nethelpers/primaryreselect.go +++ b/pkg/machinery/nethelpers/primaryreselect.go @@ -12,6 +12,8 @@ import "fmt" type PrimaryReselect uint8 // PrimaryReslect constants. +// +//structprotogen:gen_enum const ( PrimaryReselectAlways PrimaryReselect = iota // always PrimaryReselectBetter // better diff --git a/pkg/machinery/nethelpers/routeflags.go b/pkg/machinery/nethelpers/routeflags.go index 40c1826ef1..154d9f70a7 100644 --- a/pkg/machinery/nethelpers/routeflags.go +++ b/pkg/machinery/nethelpers/routeflags.go @@ -68,6 +68,8 @@ func (flags *RouteFlags) UnmarshalText(b []byte) error { type RouteFlag uint32 // RouteFlag constants. +// +//structprotogen:gen_enum const ( RouteNotify RouteFlag = 256 << iota // notify RouteCloned // cloned diff --git a/pkg/machinery/nethelpers/routeprotocol.go b/pkg/machinery/nethelpers/routeprotocol.go index 38ba077802..48458bc5f7 100644 --- a/pkg/machinery/nethelpers/routeprotocol.go +++ b/pkg/machinery/nethelpers/routeprotocol.go @@ -10,6 +10,8 @@ package nethelpers type RouteProtocol uint8 // RouteType constants. +// +//structprotogen:gen_enum const ( ProtocolUnspec RouteProtocol = 0 // unspec ProtocolRedirect RouteProtocol = 1 // redirect diff --git a/pkg/machinery/nethelpers/routetype.go b/pkg/machinery/nethelpers/routetype.go index d309edaf71..1291145d0d 100644 --- a/pkg/machinery/nethelpers/routetype.go +++ b/pkg/machinery/nethelpers/routetype.go @@ -10,6 +10,8 @@ package nethelpers type RouteType uint8 // RouteType constants. +// +//structprotogen:gen_enum const ( TypeUnspec RouteType = iota // unspec TypeUnicast // unicast diff --git a/pkg/machinery/nethelpers/routingtable.go b/pkg/machinery/nethelpers/routingtable.go index 0f077a5c92..79dab21b88 100644 --- a/pkg/machinery/nethelpers/routingtable.go +++ b/pkg/machinery/nethelpers/routingtable.go @@ -10,6 +10,8 @@ package nethelpers type RoutingTable uint32 // RoutingTable constants. +// +//structprotogen:gen_enum const ( TableUnspec RoutingTable = 0 // unspec TableDefault RoutingTable = 253 // default diff --git a/pkg/machinery/nethelpers/scope.go b/pkg/machinery/nethelpers/scope.go index b1fdbf8af7..9bf0366495 100644 --- a/pkg/machinery/nethelpers/scope.go +++ b/pkg/machinery/nethelpers/scope.go @@ -10,6 +10,8 @@ package nethelpers type Scope uint8 // Scope constants. +// +//structprotogen:gen_enum const ( ScopeGlobal Scope = 0 // global ScopeSite Scope = 200 // site diff --git a/pkg/machinery/nethelpers/vlanprotocol.go b/pkg/machinery/nethelpers/vlanprotocol.go index bf93034291..f4c41c9757 100644 --- a/pkg/machinery/nethelpers/vlanprotocol.go +++ b/pkg/machinery/nethelpers/vlanprotocol.go @@ -10,6 +10,8 @@ package nethelpers type VLANProtocol uint16 // VLANProtocol constants. +// +//structprotogen:gen_enum const ( VLANProtocol8021Q VLANProtocol = 33024 // 802.1q VLANProtocol8021AD VLANProtocol = 34984 // 802.1ad diff --git a/pkg/machinery/resources/kubespan/peer_state.go b/pkg/machinery/resources/kubespan/peer_state.go index 1342871e42..5b8efd87cf 100644 --- a/pkg/machinery/resources/kubespan/peer_state.go +++ b/pkg/machinery/resources/kubespan/peer_state.go @@ -33,6 +33,8 @@ func (v *PeerState) UnmarshalText(b []byte) error { } // PeerState constants. +// +//structprotogen:gen_enum const ( PeerStateUnknown PeerState = iota // unknown PeerStateUp // up diff --git a/pkg/machinery/resources/network/configlayer.go b/pkg/machinery/resources/network/configlayer.go index d20bf97683..6e3f4c4bf6 100644 --- a/pkg/machinery/resources/network/configlayer.go +++ b/pkg/machinery/resources/network/configlayer.go @@ -10,6 +10,8 @@ package network type ConfigLayer int // Configuration layers. +// +//structprotogen:gen_enum const ( ConfigDefault ConfigLayer = iota // default ConfigCmdline // cmdline diff --git a/pkg/machinery/resources/network/operator.go b/pkg/machinery/resources/network/operator.go index 2273419cf6..e5f720ddb9 100644 --- a/pkg/machinery/resources/network/operator.go +++ b/pkg/machinery/resources/network/operator.go @@ -10,6 +10,8 @@ package network type Operator int // Operator list. +// +//structprotogen:gen_enum const ( OperatorDHCP4 Operator = iota // dhcp4 OperatorDHCP6 // dhcp6 diff --git a/pkg/machinery/resources/runtime/machinestage.go b/pkg/machinery/resources/runtime/machinestage.go index ca71e9d661..d71dfb2e9f 100644 --- a/pkg/machinery/resources/runtime/machinestage.go +++ b/pkg/machinery/resources/runtime/machinestage.go @@ -10,6 +10,8 @@ package runtime type MachineStage int // Machine stages. +// +//structprotogen:gen_enum const ( MachineStageUnknown MachineStage = iota // unknown MachineStageBooting // booting diff --git a/website/content/v1.4/reference/api.md b/website/content/v1.4/reference/api.md index 0ddadf02c8..c0efaace3e 100644 --- a/website/content/v1.4/reference/api.md +++ b/website/content/v1.4/reference/api.md @@ -40,6 +40,7 @@ description: Talos gRPC API reference. - [NethelpersADSelect](#talos.resource.definitions.enums.NethelpersADSelect) - [NethelpersARPAllTargets](#talos.resource.definitions.enums.NethelpersARPAllTargets) - [NethelpersARPValidate](#talos.resource.definitions.enums.NethelpersARPValidate) + - [NethelpersAddressFlag](#talos.resource.definitions.enums.NethelpersAddressFlag) - [NethelpersBondMode](#talos.resource.definitions.enums.NethelpersBondMode) - [NethelpersBondXmitHashPolicy](#talos.resource.definitions.enums.NethelpersBondXmitHashPolicy) - [NethelpersDuplex](#talos.resource.definitions.enums.NethelpersDuplex) @@ -50,6 +51,7 @@ description: Talos gRPC API reference. - [NethelpersOperationalState](#talos.resource.definitions.enums.NethelpersOperationalState) - [NethelpersPort](#talos.resource.definitions.enums.NethelpersPort) - [NethelpersPrimaryReselect](#talos.resource.definitions.enums.NethelpersPrimaryReselect) + - [NethelpersRouteFlag](#talos.resource.definitions.enums.NethelpersRouteFlag) - [NethelpersRouteProtocol](#talos.resource.definitions.enums.NethelpersRouteProtocol) - [NethelpersRouteType](#talos.resource.definitions.enums.NethelpersRouteType) - [NethelpersRoutingTable](#talos.resource.definitions.enums.NethelpersRoutingTable) @@ -872,6 +874,29 @@ NethelpersARPValidate is an ARP Validation mode. + + +### NethelpersAddressFlag +NethelpersAddressFlag wraps IFF_* constants. + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NETHELPERS_ADDRESSFLAG_UNSPECIFIED | 0 | | +| ADDRESS_TEMPORARY | 1 | | +| ADDRESS_NO_DAD | 2 | | +| ADDRESS_OPTIMISTIC | 4 | | +| ADDRESS_DAD_FAILED | 8 | | +| ADDRESS_HOME | 16 | | +| ADDRESS_DEPRECATED | 32 | | +| ADDRESS_TENTATIVE | 64 | | +| ADDRESS_PERMANENT | 128 | | +| ADDRESS_MANAGEMENT_TEMP | 256 | | +| ADDRESS_NO_PREFIX_ROUTE | 512 | | +| ADDRESS_MC_AUTO_JOIN | 1024 | | +| ADDRESS_STABLE_PRIVACY | 2048 | | + + + ### NethelpersBondMode @@ -896,11 +921,11 @@ NethelpersBondXmitHashPolicy is a bond hash policy. | Name | Number | Description | | ---- | ------ | ----------- | -| BOND_XMIT_POLICY_LAYER2 | 0 | layer2 | -| BOND_XMIT_POLICY_LAYER34 | 1 | layer3+4 | -| BOND_XMIT_POLICY_LAYER23 | 2 | layer2+3 | -| BOND_XMIT_POLICY_ENCAP23 | 3 | encap2+3 | -| BOND_XMIT_POLICY_ENCAP34 | 4 | encap3+4 | +| BOND_XMIT_POLICY_LAYER2 | 0 | | +| BOND_XMIT_POLICY_LAYER34 | 1 | | +| BOND_XMIT_POLICY_LAYER23 | 2 | | +| BOND_XMIT_POLICY_ENCAP23 | 3 | | +| BOND_XMIT_POLICY_ENCAP34 | 4 | | @@ -937,8 +962,9 @@ NethelpersFamily is a network family. | Name | Number | Description | | ---- | ------ | ----------- | -| FAMILY_INET_4 | 0 | | -| FAMILY_INET_6 | 1 | | +| NETHELPERS_FAMILY_UNSPECIFIED | 0 | | +| FAMILY_INET4 | 2 | | +| FAMILY_INET6 | 10 | | @@ -987,7 +1013,8 @@ NethelpersLinkType is a link type. | LINK_HWX25 | 272 | | | LINK_CAN | 280 | | | LINK_PPP | 512 | | -| LINK_CISCO_HDLC | 513 | | +| LINK_CISCO | 513 | | +| LINK_HDLC | 513 | | | LINK_LAPB | 516 | | | LINK_DDCMP | 517 | | | LINK_RAWHDLC | 518 | | @@ -1023,16 +1050,16 @@ NethelpersLinkType is a link type. | LINK_FCFABRIC10 | 797 | | | LINK_FCFABRIC11 | 798 | | | LINK_FCFABRIC12 | 799 | | -| LINK_IEE802_TR | 800 | | +| LINK_IEE802TR | 800 | | | LINK_IEE80211 | 801 | | -| LINK_IEE80211_PRISM | 802 | | +| LINK_IEE80211PRISM | 802 | | | LINK_IEE80211_RADIOTAP | 803 | | | LINK_IEE8021154 | 804 | | -| LINK_IEE8021154_MONITOR | 805 | | +| LINK_IEE8021154MONITOR | 805 | | | LINK_PHONET | 820 | | | LINK_PHONETPIPE | 821 | | | LINK_CAIF | 822 | | -| LINK_IP6_GRE | 823 | | +| LINK_IP6GRE | 823 | | | LINK_NETLINK | 824 | | | LINK6_LOWPAN | 825 | | | LINK_VOID | 65535 | | @@ -1088,6 +1115,25 @@ NethelpersPrimaryReselect is an ARP targets mode. + + +### NethelpersRouteFlag +NethelpersRouteFlag wraps RTM_F_* constants. + +| Name | Number | Description | +| ---- | ------ | ----------- | +| NETHELPERS_ROUTEFLAG_UNSPECIFIED | 0 | | +| ROUTE_NOTIFY | 256 | | +| ROUTE_CLONED | 512 | | +| ROUTE_EQUALIZE | 1024 | | +| ROUTE_PREFIX | 2048 | | +| ROUTE_LOOKUP_TABLE | 4096 | | +| ROUTE_FIB_MATCH | 8192 | | +| ROUTE_OFFLOAD | 16384 | | +| ROUTE_TRAP | 32768 | | + + + ### NethelpersRouteProtocol @@ -1178,8 +1224,9 @@ NethelpersVLANProtocol is a VLAN protocol. | Name | Number | Description | | ---- | ------ | ----------- | -| VLAN_PROTOCOL8021_Q | 0 | | -| VLAN_PROTOCOL8021_AD | 1 | | +| NETHELPERS_VLANPROTOCOL_UNSPECIFIED | 0 | | +| VLAN_PROTOCOL8021_Q | 33024 | | +| VLAN_PROTOCOL8021_AD | 34984 | | @@ -1205,8 +1252,8 @@ NetworkOperator enumerates Talos network operators. | Name | Number | Description | | ---- | ------ | ----------- | -| OPERATOR_DHCP_4 | 0 | | -| OPERATOR_DHCP_6 | 1 | | +| OPERATOR_DHCP4 | 0 | | +| OPERATOR_DHCP6 | 1 | | | OPERATOR_VIP | 2 | |