| images |
FilesystemLayoutConstraints.ImagesEntry |
repeated |
- Images list of images this layout applies to |
+ Images list of images this layout applies to in the following form
+key must be the first part of available images, e.g. the name of the image
+value must be a semver match expression with the constraint and the version separated by space
+this would match all debian images which are greater or equal 12.0
+"debian":">= 12.0" |
diff --git a/go.mod b/go.mod
index beec1a71..147544b8 100644
--- a/go.mod
+++ b/go.mod
@@ -27,10 +27,10 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/stretchr/objx v0.5.3 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
- golang.org/x/exp v0.0.0-20260529124908-c761662dc8c9 // indirect
- golang.org/x/text v0.37.0 // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
+ golang.org/x/exp v0.0.0-20260611194520-c48552f49976 // indirect
+ golang.org/x/text v0.38.0 // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/go.sum b/go.sum
index 7d5c6858..35304b39 100644
--- a/go.sum
+++ b/go.sum
@@ -51,14 +51,14 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
-golang.org/x/exp v0.0.0-20260529124908-c761662dc8c9 h1:4d4PbuBNwaxMXkXI8yiIYjydtMU+04RHeuSxJdgKftM=
-golang.org/x/exp v0.0.0-20260529124908-c761662dc8c9/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw=
-golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
-golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
-google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8=
-google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
+golang.org/x/exp v0.0.0-20260611194520-c48552f49976 h1:X8Hz2ImujgbmetVuW+w2YkyZChE3cBpZi2P158rTG9M=
+golang.org/x/exp v0.0.0-20260611194520-c48552f49976/go.mod h1:vnf4pv9iKZXY58sQE1L86zmNWJ4159e1RkcWiLCkeEY=
+golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE=
+golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4=
+google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad h1:3iLyITS/sySRwbUKoC7ogfj2Yr1Cjs0pfaRKj5U5HEw=
+google.golang.org/genproto/googleapis/api v0.0.0-20260610212136-7ab31c22f7ad/go.mod h1:KdNqO+rCIWgFumrNBSEDlDNrkrQnpkax7Tv1WxNY8V4=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad h1:45WmJvIV6C2+O/jjLkPUH+F3aOj/1miDoU2DD0+NWbg=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20260610212136-7ab31c22f7ad/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/go/metalstack/api/v2/filesystem.pb.go b/go/metalstack/api/v2/filesystem.pb.go
index 60cb7c03..1ab5e186 100644
--- a/go/metalstack/api/v2/filesystem.pb.go
+++ b/go/metalstack/api/v2/filesystem.pb.go
@@ -577,8 +577,13 @@ func (x *FilesystemLayout) GetConstraints() *FilesystemLayoutConstraints {
type FilesystemLayoutConstraints struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Sizes list of sizes this layout applies to
+ // this could either be a concrete size, or a asterisk to match all sizes
Sizes []string `protobuf:"bytes,1,rep,name=sizes,proto3" json:"sizes,omitempty"`
- // Images list of images this layout applies to
+ // Images list of images this layout applies to in the following form
+ // key must be the first part of available images, e.g. the name of the image
+ // value must be a semver match expression with the constraint and the version separated by space
+ // this would match all debian images which are greater or equal 12.0
+ // "debian":">= 12.0"
Images map[string]string `protobuf:"bytes,2,rep,name=images,proto3" json:"images,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -1117,7 +1122,7 @@ const file_metalstack_api_v2_filesystem_proto_rawDesc = "" +
"\x06images\x18\x02 \x03(\v2:.metalstack.api.v2.FilesystemLayoutConstraints.ImagesEntryR\x06images\x1a9\n" +
"\vImagesEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb9\x03\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc2\x03\n" +
"\n" +
"Filesystem\x12#\n" +
"\x06device\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x06device\x12>\n" +
@@ -1125,43 +1130,40 @@ const file_metalstack_api_v2_filesystem_proto_rawDesc = "" +
"\x04name\x18\x03 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x122\n" +
"\vdescription\x18\x04 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x01R\vdescription\x88\x01\x01\x12#\n" +
"\x04path\x18\x05 \x01(\tB\n" +
- "\xbaH\ar\x05\x10\x01\x18\x80 H\x02R\x04path\x88\x01\x01\x12%\n" +
- "\x05label\x18\x06 \x01(\tB\n" +
- "\xbaH\ar\x05\x10\x02\x18\x80\x01H\x03R\x05label\x88\x01\x01\x128\n" +
- "\rmount_options\x18\a \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\ar\x05\x10\x01\x18\x80\x01R\fmountOptions\x12:\n" +
- "\x0ecreate_options\x18\b \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\ar\x05\x10\x01\x18\x80\x01R\rcreateOptionsB\a\n" +
+ "\xbaH\ar\x05\x10\x01\x18\x80 H\x02R\x04path\x88\x01\x01\x12,\n" +
+ "\x05label\x18\x06 \x01(\tB\x11\xbaH\x0er\f\xc0\xb3\xae\xb1\x02\x01\U00033bb1\x02\x01H\x03R\x05label\x88\x01\x01\x129\n" +
+ "\rmount_options\x18\a \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10 \x18\x01\"\br\x06\x80\xb4\xae\xb1\x02\x01R\fmountOptions\x12;\n" +
+ "\x0ecreate_options\x18\b \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10 \x18\x01\"\br\x06\x80\xb4\xae\xb1\x02\x01R\rcreateOptionsB\a\n" +
"\x05_nameB\x0e\n" +
"\f_descriptionB\a\n" +
"\x05_pathB\b\n" +
- "\x06_label\"l\n" +
- "\x04Disk\x12\"\n" +
- "\x06device\x18\x01 \x01(\tB\n" +
- "\xbaH\ar\x05\x10\x02\x18\x80\x01R\x06device\x12@\n" +
+ "\x06_label\"s\n" +
+ "\x04Disk\x12)\n" +
+ "\x06device\x18\x01 \x01(\tB\x11\xbaH\x0er\f\xc0\xb3\xae\xb1\x02\x01\U00033bb1\x02\x01R\x06device\x12@\n" +
"\n" +
"partitions\x18\x02 \x03(\v2 .metalstack.api.v2.DiskPartitionR\n" +
- "partitions\"\xd4\x01\n" +
- "\x04Raid\x12\x1d\n" +
+ "partitions\"\x83\x02\n" +
+ "\x04Raid\x120\n" +
"\n" +
- "array_name\x18\x01 \x01(\tR\tarrayName\x12\x18\n" +
- "\adevices\x18\x02 \x03(\tR\adevices\x12?\n" +
- "\x05level\x18\x03 \x01(\x0e2\x1c.metalstack.api.v2.RaidLevelB\v\xbaH\b\xc8\x01\x01\x82\x01\x02\x10\x01R\x05level\x12:\n" +
- "\x0ecreate_options\x18\x04 \x03(\tB\x13\xbaH\x10\x92\x01\r\x10 \x18\x01\"\ar\x05\x10\x01\x18\x80\x01R\rcreateOptions\x12\x16\n" +
- "\x06spares\x18\x05 \x01(\x05R\x06spares\"\xb6\x01\n" +
+ "array_name\x18\x01 \x01(\tB\x11\xbaH\x0er\f\xc0\xb3\xae\xb1\x02\x01\U00033bb1\x02\x01R\tarrayName\x123\n" +
+ "\adevices\x18\x02 \x03(\tB\x19\xbaH\x16\x92\x01\x13Ф\xb3\xb1\x02\x01\x10\x80\x01\"\br\x06\xc0\xb3\xae\xb1\x02\x01R\adevices\x12?\n" +
+ "\x05level\x18\x03 \x01(\x0e2\x1c.metalstack.api.v2.RaidLevelB\v\xbaH\b\xc8\x01\x01\x82\x01\x02\x10\x01R\x05level\x12;\n" +
+ "\x0ecreate_options\x18\x04 \x03(\tB\x14\xbaH\x11\x92\x01\x0e\x10 \x18\x01\"\br\x06\x80\xb4\xae\xb1\x02\x01R\rcreateOptions\x12\x16\n" +
+ "\x06spares\x18\x05 \x01(\x05R\x06spares\"\xc9\x01\n" +
"\rDiskPartition\x12\x16\n" +
- "\x06number\x18\x01 \x01(\rR\x06number\x12\x19\n" +
- "\x05label\x18\x02 \x01(\tH\x00R\x05label\x88\x01\x01\x12\x12\n" +
+ "\x06number\x18\x01 \x01(\rR\x06number\x12,\n" +
+ "\x05label\x18\x02 \x01(\tB\x11\xbaH\x0er\f\xc0\xb3\xae\xb1\x02\x01\U00033bb1\x02\x01H\x00R\x05label\x88\x01\x01\x12\x12\n" +
"\x04size\x18\x03 \x01(\x04R\x04size\x12G\n" +
"\bgpt_type\x18\x04 \x01(\x0e2\x1a.metalstack.api.v2.GPTTypeB\v\xbaH\b\xc8\x01\x01\x82\x01\x02\x10\x01H\x01R\agptType\x88\x01\x01B\b\n" +
"\x06_labelB\v\n" +
- "\t_gpt_type\"\\\n" +
+ "\t_gpt_type\"\x92\x01\n" +
"\vVolumeGroup\x12\x1f\n" +
- "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12\x18\n" +
- "\adevices\x18\x02 \x03(\tR\adevices\x12\x12\n" +
- "\x04tags\x18\x03 \x03(\tR\x04tags\"\xb4\x01\n" +
+ "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x123\n" +
+ "\adevices\x18\x02 \x03(\tB\x19\xbaH\x16\x92\x01\x13Ф\xb3\xb1\x02\x01\x10\x80\x01\"\br\x06\xc0\xb3\xae\xb1\x02\x01R\adevices\x12-\n" +
+ "\x04tags\x18\x03 \x03(\tB\x19\xbaH\x16\x92\x01\x13Ф\xb3\xb1\x02\x01\x10\x80\x01\"\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04tags\"\xb5\x01\n" +
"\rLogicalVolume\x12\x1f\n" +
- "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12-\n" +
- "\fvolume_group\x18\x02 \x01(\tB\n" +
- "\xbaH\ar\x05\x10\x02\x18\x80\x01R\vvolumeGroup\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04name\x12.\n" +
+ "\fvolume_group\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\vvolumeGroup\x12\x12\n" +
"\x04size\x18\x03 \x01(\x04R\x04size\x12?\n" +
"\blvm_type\x18\x04 \x01(\x0e2\x1a.metalstack.api.v2.LVMTypeB\b\xbaH\x05\x82\x01\x02\x10\x01R\alvmType*\x86\x01\n" +
"\aLVMType\x12\x18\n" +
@@ -1183,11 +1185,11 @@ const file_metalstack_api_v2_filesystem_proto_rawDesc = "" +
"\rGPT_TYPE_BOOT\x10\x01\x1a\b\x82\xb2\x19\x04ef00\x12\x1c\n" +
"\x0eGPT_TYPE_LINUX\x10\x02\x1a\b\x82\xb2\x19\x048300\x12!\n" +
"\x13GPT_TYPE_LINUX_RAID\x10\x03\x1a\b\x82\xb2\x19\x04fd00\x12 \n" +
- "\x12GPT_TYPE_LINUX_LVM\x10\x04\x1a\b\x82\xb2\x19\x048e00*K\n" +
+ "\x12GPT_TYPE_LINUX_LVM\x10\x04\x1a\b\x82\xb2\x19\x048e00*Y\n" +
"\tRaidLevel\x12\x1a\n" +
- "\x16RAID_LEVEL_UNSPECIFIED\x10\x00\x12\x10\n" +
- "\fRAID_LEVEL_0\x10\x01\x12\x10\n" +
- "\fRAID_LEVEL_1\x10\x022\xfa\x01\n" +
+ "\x16RAID_LEVEL_UNSPECIFIED\x10\x00\x12\x17\n" +
+ "\fRAID_LEVEL_0\x10\x01\x1a\x05\x82\xb2\x19\x010\x12\x17\n" +
+ "\fRAID_LEVEL_1\x10\x02\x1a\x05\x82\xb2\x19\x0112\xfa\x01\n" +
"\x11FilesystemService\x12p\n" +
"\x03Get\x12..metalstack.api.v2.FilesystemServiceGetRequest\x1a/.metalstack.api.v2.FilesystemServiceGetResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x02\x12s\n" +
"\x04List\x12/.metalstack.api.v2.FilesystemServiceListRequest\x1a0.metalstack.api.v2.FilesystemServiceListResponse\"\b\xd8\xf3\x18\x02\xe0\xf3\x18\x02B\xc5\x01\n" +
diff --git a/go/metalstack/api/v2/machine.pb.go b/go/metalstack/api/v2/machine.pb.go
index 71fe1033..fa793c0e 100644
--- a/go/metalstack/api/v2/machine.pb.go
+++ b/go/metalstack/api/v2/machine.pb.go
@@ -4183,7 +4183,7 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" +
"\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12\"\n" +
"\aproject\x18\x02 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"Q\n" +
"\x19MachineServiceGetResponse\x124\n" +
- "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine\"\xda\b\n" +
+ "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine\"\xdb\b\n" +
"\x1bMachineServiceCreateRequest\x12\"\n" +
"\aproject\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x12!\n" +
"\x04uuid\x18\x02 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01H\x00R\x04uuid\x88\x01\x01\x12\x1f\n" +
@@ -4193,9 +4193,9 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" +
"\tpartition\x18\x06 \x01(\tB\v\xbaH\br\x06г\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12$\n" +
"\x04size\x18\a \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x04R\x04size\x88\x01\x01\x12!\n" +
"\x05image\x18\b \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x05image\x12=\n" +
- "\x11filesystem_layout\x18\t \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x10filesystemLayout\x88\x01\x01\x12?\n" +
+ "\x11filesystem_layout\x18\t \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x05R\x10filesystemLayout\x88\x01\x01\x12@\n" +
"\x0fssh_public_keys\x18\n" +
- " \x03(\tB\x17\xbaH\x14\x92\x01\x11Ф\xb3\xb1\x02\x01\x102\"\ar\x05\x10\x01\x18\x80@R\rsshPublicKeys\x120\n" +
+ " \x03(\tB\x18\xbaH\x15\x92\x01\x12Ф\xb3\xb1\x02\x01\x102\"\br\x06\x88\xb4\xae\xb1\x02\x01R\rsshPublicKeys\x120\n" +
"\buserdata\x18\v \x01(\tB\x0f\xbaH\fr\n" +
"\U00033bb1\x02\x01\x18\x80\x80\x02H\x06R\buserdata\x88\x01\x01\x121\n" +
"\x06labels\x18\f \x01(\v2\x19.metalstack.api.v2.LabelsR\x06labels\x12Q\n" +
@@ -4219,15 +4219,15 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" +
"\fFirewallSpec\x12G\n" +
"\x0efirewall_rules\x18\x01 \x01(\v2 .metalstack.api.v2.FirewallRulesR\rfirewallRules\"T\n" +
"\x1cMachineServiceCreateResponse\x124\n" +
- "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine\"\xf5\x02\n" +
+ "\amachine\x18\x01 \x01(\v2\x1a.metalstack.api.v2.MachineR\amachine\"\xf6\x02\n" +
"\x1bMachineServiceUpdateRequest\x12\x1c\n" +
"\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12F\n" +
"\vupdate_meta\x18\x02 \x01(\v2\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\n" +
"updateMeta\x12\"\n" +
"\aproject\x18\x03 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\x122\n" +
"\vdescription\x18\x04 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01H\x00R\vdescription\x88\x01\x01\x12<\n" +
- "\x06labels\x18\x05 \x01(\v2\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12?\n" +
- "\x0fssh_public_keys\x18\x06 \x03(\tB\x17\xbaH\x14\x92\x01\x11Ф\xb3\xb1\x02\x01\x102\"\ar\x05\x10\x01\x18\x80@R\rsshPublicKeysB\x0e\n" +
+ "\x06labels\x18\x05 \x01(\v2\x1f.metalstack.api.v2.UpdateLabelsH\x01R\x06labels\x88\x01\x01\x12@\n" +
+ "\x0fssh_public_keys\x18\x06 \x03(\tB\x18\xbaH\x15\x92\x01\x12Ф\xb3\xb1\x02\x01\x102\"\br\x06\x88\xb4\xae\xb1\x02\x01R\rsshPublicKeysB\x0e\n" +
"\f_descriptionB\t\n" +
"\a_labels\"T\n" +
"\x1cMachineServiceUpdateResponse\x124\n" +
@@ -4275,7 +4275,7 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" +
"\x10MachineCondition\x12?\n" +
"\x05state\x18\x01 \x01(\x0e2\x1f.metalstack.api.v2.MachineStateB\b\xbaH\x05\x82\x01\x02\x10\x01R\x05state\x12-\n" +
"\vdescription\x18\x02 \x01(\tB\v\xbaH\br\x06ȳ\xae\xb1\x02\x01R\vdescription\x12 \n" +
- "\x06issuer\x18\x03 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xb8\a\n" +
+ "\x06issuer\x18\x03 \x01(\tB\b\xbaH\x05r\x03\x18\x80\x02R\x06issuer\"\xb9\a\n" +
"\x11MachineAllocation\x12\x1c\n" +
"\x04uuid\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x04uuid\x12+\n" +
"\x04meta\x18\x02 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\x12\x1f\n" +
@@ -4288,8 +4288,8 @@ const file_metalstack_api_v2_machine_proto_rawDesc = "" +
"\x11filesystem_layout\x18\b \x01(\v2#.metalstack.api.v2.FilesystemLayoutR\x10filesystemLayout\x12=\n" +
"\bnetworks\x18\t \x03(\v2!.metalstack.api.v2.MachineNetworkR\bnetworks\x12#\n" +
"\bhostname\x18\n" +
- " \x01(\tB\a\xbaH\x04r\x02h\x01R\bhostname\x12?\n" +
- "\x0fssh_public_keys\x18\v \x03(\tB\x17\xbaH\x14\x92\x01\x11Ф\xb3\xb1\x02\x01\x102\"\ar\x05\x10\x01\x18\x80@R\rsshPublicKeys\x12+\n" +
+ " \x01(\tB\a\xbaH\x04r\x02h\x01R\bhostname\x12@\n" +
+ "\x0fssh_public_keys\x18\v \x03(\tB\x18\xbaH\x15\x92\x01\x12Ф\xb3\xb1\x02\x01\x102\"\br\x06\x88\xb4\xae\xb1\x02\x01R\rsshPublicKeys\x12+\n" +
"\buserdata\x18\f \x01(\tB\x0f\xbaH\fr\n" +
"\U00033bb1\x02\x01\x18\x80\x80\x02R\buserdata\x12[\n" +
"\x0fallocation_type\x18\r \x01(\x0e2(.metalstack.api.v2.MachineAllocationTypeB\b\xbaH\x05\x82\x01\x02\x10\x01R\x0eallocationType\x12G\n" +
diff --git a/go/metalstack/api/v2/predefined_rules.pb.go b/go/metalstack/api/v2/predefined_rules.pb.go
index ba21829b..3adeddf1 100644
--- a/go/metalstack/api/v2/predefined_rules.pb.go
+++ b/go/metalstack/api/v2/predefined_rules.pb.go
@@ -94,6 +94,22 @@ var file_metalstack_api_v2_predefined_rules_proto_extTypes = []protoimpl.Extensi
Tag: "varint,80048959,opt,name=is_user",
Filename: "metalstack/api/v2/predefined_rules.proto",
},
+ {
+ ExtendedType: (*validate.StringRules)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 80048960,
+ Name: "metalstack.api.v2.is_option",
+ Tag: "varint,80048960,opt,name=is_option",
+ Filename: "metalstack/api/v2/predefined_rules.proto",
+ },
+ {
+ ExtendedType: (*validate.StringRules)(nil),
+ ExtensionType: (*bool)(nil),
+ Field: 80048961,
+ Name: "metalstack.api.v2.is_key",
+ Tag: "varint,80048961,opt,name=is_key",
+ Filename: "metalstack/api/v2/predefined_rules.proto",
+ },
{
ExtendedType: (*validate.RepeatedRules)(nil),
ExtensionType: (*bool)(nil),
@@ -182,6 +198,14 @@ var (
//
// optional bool is_user = 80048959;
E_IsUser = &file_metalstack_api_v2_predefined_rules_proto_extTypes[8]
+ // IsOption returns true if name field satisfies our requirements
+ //
+ // optional bool is_option = 80048960;
+ E_IsOption = &file_metalstack_api_v2_predefined_rules_proto_extTypes[9]
+ // IsKey returns true if name field satisfies our requirements
+ //
+ // optional bool is_key = 80048961;
+ E_IsKey = &file_metalstack_api_v2_predefined_rules_proto_extTypes[10]
)
// Extension fields to validate.RepeatedRules.
@@ -189,19 +213,19 @@ var (
// Prefixes validates if a slice of prefixes in string form are valid
//
// optional bool prefixes = 80058951;
- E_Prefixes = &file_metalstack_api_v2_predefined_rules_proto_extTypes[9]
+ E_Prefixes = &file_metalstack_api_v2_predefined_rules_proto_extTypes[11]
// Ips validates if a slice of ips in string form are valid
//
// optional bool ips = 80058952;
- E_Ips = &file_metalstack_api_v2_predefined_rules_proto_extTypes[10]
+ E_Ips = &file_metalstack_api_v2_predefined_rules_proto_extTypes[12]
// AreHostAndPort validates if a slice of strings are all in the form of