syntax = "proto3";
package tests.plugin;
import "patch/go.proto";
import "validate/validate.proto";
option go_package = "github.com/alta/protopatch/tests/plugin";
message Interface {
string name = 1;
enum Status {
option (go.enum).name = "InterfaceStatus";
UNKNOWN = 0 [(go.value).name = "StatusUnknown"];
UP = 1 [(go.value).name = "StatusUp"];
DOWN = 2 [(go.value).name = "StatusDown"];
}
Status status = 2 [(validate.rules).enum = {
defined_only: true,
not_in: [0]
}];
repeated IPAddress addresses = 3;
}
message IPAddress {
oneof Address {
string ipv4 = 3 [(go.field).name = "IPV4", (validate.rules).string.ipv4 = true];
string ipv6 = 4 [(go.field).name = "IPV6", (validate.rules).string.ipv6 = true];
}
}