diff --git a/doc/index.html b/doc/index.html
index c24b8419..fe335dda 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -7954,14 +7954,14 @@
| type |
NetworkType |
- optional |
+ |
Type of the network |
| nat_type |
NATType |
- optional |
+ |
NATType of this network |
diff --git a/go/metalstack/api/v2/network.pb.go b/go/metalstack/api/v2/network.pb.go
index 7072c082..45c22bde 100644
--- a/go/metalstack/api/v2/network.pb.go
+++ b/go/metalstack/api/v2/network.pb.go
@@ -947,9 +947,9 @@ type Network struct {
// Min Child Prefix length asserts that during child network creation the requested bit length is greater or equal the min child prefix length
MinChildPrefixLength *ChildPrefixLength `protobuf:"bytes,11,opt,name=min_child_prefix_length,json=minChildPrefixLength,proto3" json:"min_child_prefix_length,omitempty"`
// Type of the network
- Type *NetworkType `protobuf:"varint,12,opt,name=type,proto3,enum=metalstack.api.v2.NetworkType,oneof" json:"type,omitempty"`
+ Type NetworkType `protobuf:"varint,12,opt,name=type,proto3,enum=metalstack.api.v2.NetworkType" json:"type,omitempty"`
// NATType of this network
- NatType *NATType `protobuf:"varint,13,opt,name=nat_type,json=natType,proto3,enum=metalstack.api.v2.NATType,oneof" json:"nat_type,omitempty"`
+ NatType NATType `protobuf:"varint,13,opt,name=nat_type,json=natType,proto3,enum=metalstack.api.v2.NATType" json:"nat_type,omitempty"`
// VRF of this network has this VNI.
Vrf *uint32 `protobuf:"varint,14,opt,name=vrf,proto3,oneof" json:"vrf,omitempty"`
// Parent Network points to the id of the parent network if any
@@ -1070,15 +1070,15 @@ func (x *Network) GetMinChildPrefixLength() *ChildPrefixLength {
}
func (x *Network) GetType() NetworkType {
- if x != nil && x.Type != nil {
- return *x.Type
+ if x != nil {
+ return x.Type
}
return NetworkType_NETWORK_TYPE_UNSPECIFIED
}
func (x *Network) GetNatType() NATType {
- if x != nil && x.NatType != nil {
- return *x.NatType
+ if x != nil {
+ return x.NatType
}
return NATType_NAT_TYPE_UNSPECIFIED
}
@@ -1512,7 +1512,7 @@ const file_metalstack_api_v2_network_proto_rawDesc = "" +
"\x02id\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\"\n" +
"\aproject\x18\x02 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\aproject\"T\n" +
"\x1cNetworkServiceDeleteResponse\x124\n" +
- "\anetwork\x18\x01 \x01(\v2\x1a.metalstack.api.v2.NetworkR\anetwork\"\xc4\b\n" +
+ "\anetwork\x18\x01 \x01(\v2\x1a.metalstack.api.v2.NetworkR\anetwork\"\xa4\b\n" +
"\aNetwork\x12\x1b\n" +
"\x02id\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12+\n" +
"\x04meta\x18\x02 \x01(\v2\x17.metalstack.api.v2.MetaR\x04meta\x12$\n" +
@@ -1525,11 +1525,11 @@ const file_metalstack_api_v2_network_proto_rawDesc = "" +
"\x14destination_prefixes\x18\t \x03(\tB\f\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13destinationPrefixes\x12c\n" +
"\x1bdefault_child_prefix_length\x18\n" +
" \x01(\v2$.metalstack.api.v2.ChildPrefixLengthR\x18defaultChildPrefixLength\x12[\n" +
- "\x17min_child_prefix_length\x18\v \x01(\v2$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12A\n" +
- "\x04type\x18\f \x01(\x0e2\x1e.metalstack.api.v2.NetworkTypeB\b\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12D\n" +
- "\bnat_type\x18\r \x01(\x0e2\x1a.metalstack.api.v2.NATTypeB\b\xbaH\x05\x82\x01\x02\x10\x01H\x06R\anatType\x88\x01\x01\x12\x15\n" +
- "\x03vrf\x18\x0e \x01(\rH\aR\x03vrf\x88\x01\x01\x127\n" +
- "\x0eparent_network\x18\x0f \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\bR\rparentNetwork\x88\x01\x01\x12N\n" +
+ "\x17min_child_prefix_length\x18\v \x01(\v2$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12<\n" +
+ "\x04type\x18\f \x01(\x0e2\x1e.metalstack.api.v2.NetworkTypeB\b\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12?\n" +
+ "\bnat_type\x18\r \x01(\x0e2\x1a.metalstack.api.v2.NATTypeB\b\xbaH\x05\x82\x01\x02\x10\x01R\anatType\x12\x15\n" +
+ "\x03vrf\x18\x0e \x01(\rH\x05R\x03vrf\x88\x01\x01\x127\n" +
+ "\x0eparent_network\x18\x0f \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x06R\rparentNetwork\x88\x01\x01\x12N\n" +
"\x1cadditional_announcable_cidrs\x18\x10 \x03(\tB\f\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1aadditionalAnnouncableCidrs\x12G\n" +
"\vconsumption\x18\x11 \x01(\v2%.metalstack.api.v2.NetworkConsumptionR\vconsumptionB\a\n" +
"\x05_nameB\x0e\n" +
@@ -1539,9 +1539,7 @@ const file_metalstack_api_v2_network_proto_rawDesc = "" +
"\n" +
"\b_projectB\f\n" +
"\n" +
- "_namespaceB\a\n" +
- "\x05_typeB\v\n" +
- "\t_nat_typeB\x06\n" +
+ "_namespaceB\x06\n" +
"\x04_vrfB\x11\n" +
"\x0f_parent_network\"\x82\a\n" +
"\fNetworkQuery\x12 \n" +
diff --git a/js/metalstack/api/v2/network_pb.d.ts b/js/metalstack/api/v2/network_pb.d.ts
index 027573a8..b3d5b980 100644
--- a/js/metalstack/api/v2/network_pb.d.ts
+++ b/js/metalstack/api/v2/network_pb.d.ts
@@ -393,15 +393,15 @@ export type Network = Message<"metalstack.api.v2.Network"> & {
/**
* Type of the network
*
- * @generated from field: optional metalstack.api.v2.NetworkType type = 12;
+ * @generated from field: metalstack.api.v2.NetworkType type = 12;
*/
- type?: NetworkType;
+ type: NetworkType;
/**
* NATType of this network
*
- * @generated from field: optional metalstack.api.v2.NATType nat_type = 13;
+ * @generated from field: metalstack.api.v2.NATType nat_type = 13;
*/
- natType?: NATType;
+ natType: NATType;
/**
* VRF of this network has this VNI.
*
diff --git a/js/metalstack/api/v2/network_pb.js b/js/metalstack/api/v2/network_pb.js
index c36c6e9d..548744c1 100644
--- a/js/metalstack/api/v2/network_pb.js
+++ b/js/metalstack/api/v2/network_pb.js
@@ -8,7 +8,7 @@ import { file_metalstack_api_v2_predefined_rules } from "./predefined_rules_pb";
/**
* Describes the file metalstack/api/v2/network.proto.
*/
-export const file_metalstack_api_v2_network = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi7QYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFIBYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAaIAQESEAoDdnJmGA4gASgNSAeIAQESKAoOcGFyZW50X25ldHdvcmsYDyABKAlCC7pICHIGwLOusQIBSAiIAQESMgocYWRkaXRpb25hbF9hbm5vdW5jYWJsZV9jaWRycxgQIAMoCUIMukgJkgEGuKSzsQIBEjoKC2NvbnN1bXB0aW9uGBEgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya0NvbnN1bXB0aW9uQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBwoFX3R5cGVCCwoJX25hdF90eXBlQgYKBF92cmZCEQoPX3BhcmVudF9uZXR3b3JrIvMFCgxOZXR3b3JrUXVlcnkSHAoCaWQYASABKAlCC7pICHIGwLOusQIBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIlCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgFIAogBARIjCglwYXJ0aXRpb24YBCABKAlCC7pICHIG0LOusQIBSAOIAQESHgoHcHJvamVjdBgFIAEoCUIIukgFcgOwAQFIBIgBARIgCgluYW1lc3BhY2UYBiABKAlCCLpIBXIDsAEBSAWIAQESHgoIcHJlZml4ZXMYByADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgIIAMoCUIMukgJkgEGuKSzsQIBEhAKA3ZyZhgJIAEoDUgGiAEBEigKDnBhcmVudF9uZXR3b3JrGAogASgJQgu6SAhyBsCzrrECAUgHiAEBEk4KDmFkZHJlc3NfZmFtaWx5GAsgASgOMicubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya0FkZHJlc3NGYW1pbHlCCLpIBYIBAhABSAiIAQESOwoEdHlwZRgMIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQAUgJiAEBEjsKCG5hdF90eXBlGA0gASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAFICogBARIuCgZsYWJlbHMYDiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIC4gBAUIFCgNfaWRCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29ya0IRCg9fYWRkcmVzc19mYW1pbHlCBwoFX3R5cGVCCwoJX25hdF90eXBlQgkKB19sYWJlbHMiYgoRQ2hpbGRQcmVmaXhMZW5ndGgSHAoEaXB2NBgBIAEoDUIJukgGKgQYICAASACIAQESHQoEaXB2NhgCIAEoDUIKukgHKgUYgAEgAEgBiAEBQgcKBV9pcHY0QgcKBV9pcHY2InIKEk5ldHdvcmtDb25zdW1wdGlvbhItCgRpcHY0GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1VzYWdlEi0KBGlwdjYYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVXNhZ2UiagoMTmV0d29ya1VzYWdlEhUKDWF2YWlsYWJsZV9pcHMYAiABKAQSEAoIdXNlZF9pcHMYAyABKAQSGgoSYXZhaWxhYmxlX3ByZWZpeGVzGAQgASgEEhUKDXVzZWRfcHJlZml4ZXMYBSABKAQqbQoHTkFUVHlwZRIYChROQVRfVFlQRV9VTlNQRUNJRklFRBAAEhsKDU5BVF9UWVBFX05PTkUQARoIgrIZBG5vbmUSKwoYTkFUX1RZUEVfSVBWNF9NQVNRVUVSQURFEAIaDYKyGQlpcHY0LW1hc3EqrQIKC05ldHdvcmtUeXBlEhwKGE5FVFdPUktfVFlQRV9VTlNQRUNJRklFRBAAEicKFU5FVFdPUktfVFlQRV9FWFRFUk5BTBABGgyCshkIZXh0ZXJuYWwSJwoVTkVUV09SS19UWVBFX1VOREVSTEFZEAIaDIKyGQh1bmRlcmxheRIhChJORVRXT1JLX1RZUEVfU1VQRVIQAxoJgrIZBXN1cGVyEjcKHU5FVFdPUktfVFlQRV9TVVBFUl9OQU1FU1BBQ0VEEAQaFIKyGRBzdXBlci1uYW1lc3BhY2VkEiEKEk5FVFdPUktfVFlQRV9DSElMRBAFGgmCshkFY2hpbGQSLwoZTkVUV09SS19UWVBFX0NISUxEX1NIQVJFRBAGGhCCshkMY2hpbGQtc2hhcmVkKscBChROZXR3b3JrQWRkcmVzc0ZhbWlseRImCiJORVRXT1JLX0FERFJFU1NfRkFNSUxZX1VOU1BFQ0lGSUVEEAASJwoZTkVUV09SS19BRERSRVNTX0ZBTUlMWV9WNBABGgiCshkEaXB2NBInChlORVRXT1JLX0FERFJFU1NfRkFNSUxZX1Y2EAIaCIKyGQRpcHY2EjUKIU5FVFdPUktfQUREUkVTU19GQU1JTFlfRFVBTF9TVEFDSxADGg6CshkKZHVhbC1zdGFjazLhBQoOTmV0d29ya1NlcnZpY2USbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAIScQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VDcmVhdGVSZXNwb25zZSIGyvMYAgECEnEKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiBsrzGAIBAhJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhKUAQoQTGlzdEJhc2VOZXR3b3JrcxI4Lm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1JlcXVlc3QaOS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXNwb25zZSILyvMYAwECA+DzGAIScQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZSIGyvMYAgECQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE5ldHdvcmtQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
+export const file_metalstack_api_v2_network = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsizQYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjYKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYDSABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARIQCgN2cmYYDiABKA1IBYgBARIoCg5wYXJlbnRfbmV0d29yaxgPIAEoCUILukgIcgbAs66xAgFIBogBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGBAgAygJQgy6SAmSAQa4pLOxAgESOgoLY29uc3VtcHRpb24YESABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrQ29uc3VtcHRpb25CBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29yayLzBQoMTmV0d29ya1F1ZXJ5EhwKAmlkGAEgASgJQgu6SAhyBsCzrrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESJQoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBSAKIAQESIwoJcGFydGl0aW9uGAQgASgJQgu6SAhyBtCzrrECAUgDiAEBEh4KB3Byb2plY3QYBSABKAlCCLpIBXIDsAEBSASIAQESIAoJbmFtZXNwYWNlGAYgASgJQgi6SAVyA7ABAUgFiAEBEh4KCHByZWZpeGVzGAcgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCCADKAlCDLpICZIBBriks7ECARIQCgN2cmYYCSABKA1IBogBARIoCg5wYXJlbnRfbmV0d29yaxgKIAEoCUILukgIcgbAs66xAgFIB4gBARJOCg5hZGRyZXNzX2ZhbWlseRgLIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgIiAEBEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFICYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAqIAQESLgoGbGFiZWxzGA4gASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAuIAQFCBQoDX2lkQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBgoEX3ZyZkIRCg9fcGFyZW50X25ldHdvcmtCEQoPX2FkZHJlc3NfZmFtaWx5QgcKBV90eXBlQgsKCV9uYXRfdHlwZUIJCgdfbGFiZWxzImIKEUNoaWxkUHJlZml4TGVuZ3RoEhwKBGlwdjQYASABKA1CCbpIBioEGCAgAEgAiAEBEh0KBGlwdjYYAiABKA1CCrpIByoFGIABIABIAYgBAUIHCgVfaXB2NEIHCgVfaXB2NiJyChJOZXR3b3JrQ29uc3VtcHRpb24SLQoEaXB2NBgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtVc2FnZRItCgRpcHY2GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1VzYWdlImoKDE5ldHdvcmtVc2FnZRIVCg1hdmFpbGFibGVfaXBzGAIgASgEEhAKCHVzZWRfaXBzGAMgASgEEhoKEmF2YWlsYWJsZV9wcmVmaXhlcxgEIAEoBBIVCg11c2VkX3ByZWZpeGVzGAUgASgEKm0KB05BVFR5cGUSGAoUTkFUX1RZUEVfVU5TUEVDSUZJRUQQABIbCg1OQVRfVFlQRV9OT05FEAEaCIKyGQRub25lEisKGE5BVF9UWVBFX0lQVjRfTUFTUVVFUkFERRACGg2CshkJaXB2NC1tYXNxKq0CCgtOZXR3b3JrVHlwZRIcChhORVRXT1JLX1RZUEVfVU5TUEVDSUZJRUQQABInChVORVRXT1JLX1RZUEVfRVhURVJOQUwQARoMgrIZCGV4dGVybmFsEicKFU5FVFdPUktfVFlQRV9VTkRFUkxBWRACGgyCshkIdW5kZXJsYXkSIQoSTkVUV09SS19UWVBFX1NVUEVSEAMaCYKyGQVzdXBlchI3Ch1ORVRXT1JLX1RZUEVfU1VQRVJfTkFNRVNQQUNFRBAEGhSCshkQc3VwZXItbmFtZXNwYWNlZBIhChJORVRXT1JLX1RZUEVfQ0hJTEQQBRoJgrIZBWNoaWxkEi8KGU5FVFdPUktfVFlQRV9DSElMRF9TSEFSRUQQBhoQgrIZDGNoaWxkLXNoYXJlZCrHAQoUTmV0d29ya0FkZHJlc3NGYW1pbHkSJgoiTkVUV09SS19BRERSRVNTX0ZBTUlMWV9VTlNQRUNJRklFRBAAEicKGU5FVFdPUktfQUREUkVTU19GQU1JTFlfVjQQARoIgrIZBGlwdjQSJwoZTkVUV09SS19BRERSRVNTX0ZBTUlMWV9WNhACGgiCshkEaXB2NhI1CiFORVRXT1JLX0FERFJFU1NfRkFNSUxZX0RVQUxfU1RBQ0sQAxoOgrIZCmR1YWwtc3RhY2sy4QUKDk5ldHdvcmtTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiBsrzGAIBAhJxCgZVcGRhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZVVwZGF0ZVJlc3BvbnNlIgbK8xgCAQIScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISlAEKEExpc3RCYXNlTmV0d29ya3MSOC5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0GjkubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0QmFzZU5ldHdvcmtzUmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiBsrzGAIBAkLCAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgxOZXR3b3JrUHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
/**
* Describes the message metalstack.api.v2.NetworkServiceGetRequest.
* Use `create(NetworkServiceGetRequestSchema)` to create a new message.
diff --git a/js/metalstack/api/v2/network_pb.ts b/js/metalstack/api/v2/network_pb.ts
index ae4258ed..69a24884 100644
--- a/js/metalstack/api/v2/network_pb.ts
+++ b/js/metalstack/api/v2/network_pb.ts
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
* Describes the file metalstack/api/v2/network.proto.
*/
export const file_metalstack_api_v2_network: GenFile = /*@__PURE__*/
- fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi7QYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFIBYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAaIAQESEAoDdnJmGA4gASgNSAeIAQESKAoOcGFyZW50X25ldHdvcmsYDyABKAlCC7pICHIGwLOusQIBSAiIAQESMgocYWRkaXRpb25hbF9hbm5vdW5jYWJsZV9jaWRycxgQIAMoCUIMukgJkgEGuKSzsQIBEjoKC2NvbnN1bXB0aW9uGBEgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya0NvbnN1bXB0aW9uQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBwoFX3R5cGVCCwoJX25hdF90eXBlQgYKBF92cmZCEQoPX3BhcmVudF9uZXR3b3JrIvMFCgxOZXR3b3JrUXVlcnkSHAoCaWQYASABKAlCC7pICHIGwLOusQIBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIlCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgFIAogBARIjCglwYXJ0aXRpb24YBCABKAlCC7pICHIG0LOusQIBSAOIAQESHgoHcHJvamVjdBgFIAEoCUIIukgFcgOwAQFIBIgBARIgCgluYW1lc3BhY2UYBiABKAlCCLpIBXIDsAEBSAWIAQESHgoIcHJlZml4ZXMYByADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgIIAMoCUIMukgJkgEGuKSzsQIBEhAKA3ZyZhgJIAEoDUgGiAEBEigKDnBhcmVudF9uZXR3b3JrGAogASgJQgu6SAhyBsCzrrECAUgHiAEBEk4KDmFkZHJlc3NfZmFtaWx5GAsgASgOMicubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya0FkZHJlc3NGYW1pbHlCCLpIBYIBAhABSAiIAQESOwoEdHlwZRgMIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQAUgJiAEBEjsKCG5hdF90eXBlGA0gASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAFICogBARIuCgZsYWJlbHMYDiABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIC4gBAUIFCgNfaWRCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29ya0IRCg9fYWRkcmVzc19mYW1pbHlCBwoFX3R5cGVCCwoJX25hdF90eXBlQgkKB19sYWJlbHMiYgoRQ2hpbGRQcmVmaXhMZW5ndGgSHAoEaXB2NBgBIAEoDUIJukgGKgQYICAASACIAQESHQoEaXB2NhgCIAEoDUIKukgHKgUYgAEgAEgBiAEBQgcKBV9pcHY0QgcKBV9pcHY2InIKEk5ldHdvcmtDb25zdW1wdGlvbhItCgRpcHY0GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1VzYWdlEi0KBGlwdjYYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVXNhZ2UiagoMTmV0d29ya1VzYWdlEhUKDWF2YWlsYWJsZV9pcHMYAiABKAQSEAoIdXNlZF9pcHMYAyABKAQSGgoSYXZhaWxhYmxlX3ByZWZpeGVzGAQgASgEEhUKDXVzZWRfcHJlZml4ZXMYBSABKAQqbQoHTkFUVHlwZRIYChROQVRfVFlQRV9VTlNQRUNJRklFRBAAEhsKDU5BVF9UWVBFX05PTkUQARoIgrIZBG5vbmUSKwoYTkFUX1RZUEVfSVBWNF9NQVNRVUVSQURFEAIaDYKyGQlpcHY0LW1hc3EqrQIKC05ldHdvcmtUeXBlEhwKGE5FVFdPUktfVFlQRV9VTlNQRUNJRklFRBAAEicKFU5FVFdPUktfVFlQRV9FWFRFUk5BTBABGgyCshkIZXh0ZXJuYWwSJwoVTkVUV09SS19UWVBFX1VOREVSTEFZEAIaDIKyGQh1bmRlcmxheRIhChJORVRXT1JLX1RZUEVfU1VQRVIQAxoJgrIZBXN1cGVyEjcKHU5FVFdPUktfVFlQRV9TVVBFUl9OQU1FU1BBQ0VEEAQaFIKyGRBzdXBlci1uYW1lc3BhY2VkEiEKEk5FVFdPUktfVFlQRV9DSElMRBAFGgmCshkFY2hpbGQSLwoZTkVUV09SS19UWVBFX0NISUxEX1NIQVJFRBAGGhCCshkMY2hpbGQtc2hhcmVkKscBChROZXR3b3JrQWRkcmVzc0ZhbWlseRImCiJORVRXT1JLX0FERFJFU1NfRkFNSUxZX1VOU1BFQ0lGSUVEEAASJwoZTkVUV09SS19BRERSRVNTX0ZBTUlMWV9WNBABGgiCshkEaXB2NBInChlORVRXT1JLX0FERFJFU1NfRkFNSUxZX1Y2EAIaCIKyGQRpcHY2EjUKIU5FVFdPUktfQUREUkVTU19GQU1JTFlfRFVBTF9TVEFDSxADGg6CshkKZHVhbC1zdGFjazLhBQoOTmV0d29ya1NlcnZpY2USbQoDR2V0EisubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0GiwubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VHZXRSZXNwb25zZSILyvMYAwECA+DzGAIScQoGQ3JlYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VDcmVhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VDcmVhdGVSZXNwb25zZSIGyvMYAgECEnEKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiBsrzGAIBAhJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhKUAQoQTGlzdEJhc2VOZXR3b3JrcxI4Lm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1JlcXVlc3QaOS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXNwb25zZSILyvMYAwECA+DzGAIScQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZSIGyvMYAgECQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE5ldHdvcmtQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
+ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsizQYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjYKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYDSABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARIQCgN2cmYYDiABKA1IBYgBARIoCg5wYXJlbnRfbmV0d29yaxgPIAEoCUILukgIcgbAs66xAgFIBogBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGBAgAygJQgy6SAmSAQa4pLOxAgESOgoLY29uc3VtcHRpb24YESABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrQ29uc3VtcHRpb25CBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29yayLzBQoMTmV0d29ya1F1ZXJ5EhwKAmlkGAEgASgJQgu6SAhyBsCzrrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESJQoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBSAKIAQESIwoJcGFydGl0aW9uGAQgASgJQgu6SAhyBtCzrrECAUgDiAEBEh4KB3Byb2plY3QYBSABKAlCCLpIBXIDsAEBSASIAQESIAoJbmFtZXNwYWNlGAYgASgJQgi6SAVyA7ABAUgFiAEBEh4KCHByZWZpeGVzGAcgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCCADKAlCDLpICZIBBriks7ECARIQCgN2cmYYCSABKA1IBogBARIoCg5wYXJlbnRfbmV0d29yaxgKIAEoCUILukgIcgbAs66xAgFIB4gBARJOCg5hZGRyZXNzX2ZhbWlseRgLIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgIiAEBEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFICYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAqIAQESLgoGbGFiZWxzGA4gASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAuIAQFCBQoDX2lkQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBgoEX3ZyZkIRCg9fcGFyZW50X25ldHdvcmtCEQoPX2FkZHJlc3NfZmFtaWx5QgcKBV90eXBlQgsKCV9uYXRfdHlwZUIJCgdfbGFiZWxzImIKEUNoaWxkUHJlZml4TGVuZ3RoEhwKBGlwdjQYASABKA1CCbpIBioEGCAgAEgAiAEBEh0KBGlwdjYYAiABKA1CCrpIByoFGIABIABIAYgBAUIHCgVfaXB2NEIHCgVfaXB2NiJyChJOZXR3b3JrQ29uc3VtcHRpb24SLQoEaXB2NBgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtVc2FnZRItCgRpcHY2GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1VzYWdlImoKDE5ldHdvcmtVc2FnZRIVCg1hdmFpbGFibGVfaXBzGAIgASgEEhAKCHVzZWRfaXBzGAMgASgEEhoKEmF2YWlsYWJsZV9wcmVmaXhlcxgEIAEoBBIVCg11c2VkX3ByZWZpeGVzGAUgASgEKm0KB05BVFR5cGUSGAoUTkFUX1RZUEVfVU5TUEVDSUZJRUQQABIbCg1OQVRfVFlQRV9OT05FEAEaCIKyGQRub25lEisKGE5BVF9UWVBFX0lQVjRfTUFTUVVFUkFERRACGg2CshkJaXB2NC1tYXNxKq0CCgtOZXR3b3JrVHlwZRIcChhORVRXT1JLX1RZUEVfVU5TUEVDSUZJRUQQABInChVORVRXT1JLX1RZUEVfRVhURVJOQUwQARoMgrIZCGV4dGVybmFsEicKFU5FVFdPUktfVFlQRV9VTkRFUkxBWRACGgyCshkIdW5kZXJsYXkSIQoSTkVUV09SS19UWVBFX1NVUEVSEAMaCYKyGQVzdXBlchI3Ch1ORVRXT1JLX1RZUEVfU1VQRVJfTkFNRVNQQUNFRBAEGhSCshkQc3VwZXItbmFtZXNwYWNlZBIhChJORVRXT1JLX1RZUEVfQ0hJTEQQBRoJgrIZBWNoaWxkEi8KGU5FVFdPUktfVFlQRV9DSElMRF9TSEFSRUQQBhoQgrIZDGNoaWxkLXNoYXJlZCrHAQoUTmV0d29ya0FkZHJlc3NGYW1pbHkSJgoiTkVUV09SS19BRERSRVNTX0ZBTUlMWV9VTlNQRUNJRklFRBAAEicKGU5FVFdPUktfQUREUkVTU19GQU1JTFlfVjQQARoIgrIZBGlwdjQSJwoZTkVUV09SS19BRERSRVNTX0ZBTUlMWV9WNhACGgiCshkEaXB2NhI1CiFORVRXT1JLX0FERFJFU1NfRkFNSUxZX0RVQUxfU1RBQ0sQAxoOgrIZCmR1YWwtc3RhY2sy4QUKDk5ldHdvcmtTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiBsrzGAIBAhJxCgZVcGRhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZVVwZGF0ZVJlc3BvbnNlIgbK8xgCAQIScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISlAEKEExpc3RCYXNlTmV0d29ya3MSOC5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0GjkubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0QmFzZU5ldHdvcmtzUmVzcG9uc2UiC8rzGAMBAgPg8xgCEnEKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiBsrzGAIBAkLCAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgxOZXR3b3JrUHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
/**
* NetworkServiceGetRequest
@@ -467,16 +467,16 @@ export type Network = Message<"metalstack.api.v2.Network"> & {
/**
* Type of the network
*
- * @generated from field: optional metalstack.api.v2.NetworkType type = 12;
+ * @generated from field: metalstack.api.v2.NetworkType type = 12;
*/
- type?: NetworkType;
+ type: NetworkType;
/**
* NATType of this network
*
- * @generated from field: optional metalstack.api.v2.NATType nat_type = 13;
+ * @generated from field: metalstack.api.v2.NATType nat_type = 13;
*/
- natType?: NATType;
+ natType: NATType;
/**
* VRF of this network has this VNI.
diff --git a/proto/metalstack/api/v2/network.proto b/proto/metalstack/api/v2/network.proto
index 8f1f8e15..7352e2f0 100644
--- a/proto/metalstack/api/v2/network.proto
+++ b/proto/metalstack/api/v2/network.proto
@@ -185,9 +185,9 @@ message Network {
// Min Child Prefix length asserts that during child network creation the requested bit length is greater or equal the min child prefix length
ChildPrefixLength min_child_prefix_length = 11;
// Type of the network
- optional NetworkType type = 12 [(buf.validate.field).enum.defined_only = true];
+ NetworkType type = 12 [(buf.validate.field).enum.defined_only = true];
// NATType of this network
- optional NATType nat_type = 13 [(buf.validate.field).enum.defined_only = true];
+ NATType nat_type = 13 [(buf.validate.field).enum.defined_only = true];
// VRF of this network has this VNI.
optional uint32 vrf = 14;
// Parent Network points to the id of the parent network if any
diff --git a/python/metalstack/api/v2/network_pb2.py b/python/metalstack/api/v2/network_pb2.py
index 153685b9..4edc2d6f 100644
--- a/python/metalstack/api/v2/network_pb2.py
+++ b/python/metalstack/api/v2/network_pb2.py
@@ -27,7 +27,7 @@
from metalstack.api.v2 import predefined_rules_pb2 as metalstack_dot_api_dot_v2_dot_predefined__rules__pb2
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/network.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"^\n\x18NetworkServiceGetRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12%\n\x07project\x18\x02 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xb1\x04\n\x1bNetworkServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x37\n\x0eparent_network\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\rparentNetwork\x88\x01\x01\x12\x41\n\x06length\x18\x07 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x08 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xe2\x02\n\x1bNetworkServiceUpdateRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12$\n\x04name\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"y\n\x19NetworkServiceListRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"\x85\x01\n%NetworkServiceListBaseNetworksRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"`\n&NetworkServiceListBaseNetworksResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"^\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xc4\x08\n\x07Network\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\tnamespace\x88\x01\x01\x12(\n\x08prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x63\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\n \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x18\x64\x65\x66\x61ultChildPrefixLength\x12[\n\x17min_child_prefix_length\x18\x0b \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x06R\x07natType\x88\x01\x01\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0f \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x08R\rparentNetwork\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumptionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x07\n\x05_typeB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\x82\x07\n\x0cNetworkQuery\x12 \n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x02id\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\tnamespace\x88\x01\x01\x12(\n\x08prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\n \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x07R\rparentNetwork\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x0b \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\raddressFamily\x88\x01\x01\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\x07natType\x88\x01\x01\x12\x36\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x0bR\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_typeB\t\n\x07_labels\"n\n\x11\x43hildPrefixLength\x12\"\n\x04ipv4\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x18 \x00H\x00R\x04ipv4\x88\x01\x01\x12#\n\x04ipv6\x18\x02 \x01(\rB\n\xbaH\x07*\x05\x18\x80\x01 \x00H\x01R\x04ipv6\x88\x01\x01\x42\x07\n\x05_ipv4B\x07\n\x05_ipv6\"~\n\x12NetworkConsumption\x12\x33\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv4\x12\x33\n\x04ipv6\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv6\"\xa2\x01\n\x0cNetworkUsage\x12#\n\ravailable_ips\x18\x02 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x03 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x04 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x05 \x01(\x04R\x0cusedPrefixes*m\n\x07NATType\x12\x18\n\x14NAT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rNAT_TYPE_NONE\x10\x01\x1a\x08\x82\xb2\x19\x04none\x12+\n\x18NAT_TYPE_IPV4_MASQUERADE\x10\x02\x1a\r\x82\xb2\x19\tipv4-masq*\xad\x02\n\x0bNetworkType\x12\x1c\n\x18NETWORK_TYPE_UNSPECIFIED\x10\x00\x12\'\n\x15NETWORK_TYPE_EXTERNAL\x10\x01\x1a\x0c\x82\xb2\x19\x08\x65xternal\x12\'\n\x15NETWORK_TYPE_UNDERLAY\x10\x02\x1a\x0c\x82\xb2\x19\x08underlay\x12!\n\x12NETWORK_TYPE_SUPER\x10\x03\x1a\t\x82\xb2\x19\x05super\x12\x37\n\x1dNETWORK_TYPE_SUPER_NAMESPACED\x10\x04\x1a\x14\x82\xb2\x19\x10super-namespaced\x12!\n\x12NETWORK_TYPE_CHILD\x10\x05\x1a\t\x82\xb2\x19\x05\x63hild\x12/\n\x19NETWORK_TYPE_CHILD_SHARED\x10\x06\x1a\x10\x82\xb2\x19\x0c\x63hild-shared*\xc7\x01\n\x14NetworkAddressFamily\x12&\n\"NETWORK_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv6\x12\x35\n!NETWORK_ADDRESS_FAMILY_DUAL_STACK\x10\x03\x1a\x0e\x82\xb2\x19\ndual-stack2\xe1\x05\n\x0eNetworkService\x12m\n\x03Get\x12+.metalstack.api.v2.NetworkServiceGetRequest\x1a,.metalstack.api.v2.NetworkServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.NetworkServiceListRequest\x1a-.metalstack.api.v2.NetworkServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x94\x01\n\x10ListBaseNetworks\x12\x38.metalstack.api.v2.NetworkServiceListBaseNetworksRequest\x1a\x39.metalstack.api.v2.NetworkServiceListBaseNetworksResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cNetworkProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/network.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a(metalstack/api/v2/predefined_rules.proto\"^\n\x18NetworkServiceGetRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12%\n\x07project\x18\x02 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xb1\x04\n\x1bNetworkServiceCreateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x37\n\x0eparent_network\x18\x06 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x03R\rparentNetwork\x88\x01\x01\x12\x41\n\x06length\x18\x07 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x08 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\raddressFamily\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xe2\x02\n\x1bNetworkServiceUpdateRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\x46\n\x0bupdate_meta\x18\x02 \x01(\x0b\x32\x1d.metalstack.api.v2.UpdateMetaB\x06\xbaH\x03\xc8\x01\x01R\nupdateMeta\x12\"\n\x07project\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12$\n\x04name\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x06 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labels\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"y\n\x19NetworkServiceListRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"\x85\x01\n%NetworkServiceListBaseNetworksRequest\x12%\n\x07project\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\xb0\x01\x01\xd8\x01\x01R\x07project\x12\x35\n\x05query\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"`\n&NetworkServiceListBaseNetworksResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"^\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xa4\x08\n\x07Network\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12$\n\x04name\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x05 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x03R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x07 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\tnamespace\x88\x01\x01\x12(\n\x08prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\t \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x63\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\n \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x18\x64\x65\x66\x61ultChildPrefixLength\x12[\n\x17min_child_prefix_length\x18\x0b \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthR\x14minChildPrefixLength\x12<\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12?\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07natType\x12\x15\n\x03vrf\x18\x0e \x01(\rH\x05R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0f \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x06R\rparentNetwork\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumptionB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_network\"\x82\x07\n\x0cNetworkQuery\x12 \n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x00R\x02id\x88\x01\x01\x12$\n\x04name\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04name\x88\x01\x01\x12\x32\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xc8\xb3\xae\xb1\x02\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12.\n\tpartition\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x03R\tpartition\x88\x01\x01\x12\'\n\x07project\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x04R\x07project\x88\x01\x01\x12+\n\tnamespace\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x05R\tnamespace\x88\x01\x01\x12(\n\x08prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\n \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x07R\rparentNetwork\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x0b \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x08R\raddressFamily\x88\x01\x01\x12\x41\n\x04type\x18\x0c \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\tR\x04type\x88\x01\x01\x12\x44\n\x08nat_type\x18\r \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\x07natType\x88\x01\x01\x12\x36\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x0bR\x06labels\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\x0c\n\n_namespaceB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_typeB\t\n\x07_labels\"n\n\x11\x43hildPrefixLength\x12\"\n\x04ipv4\x18\x01 \x01(\rB\t\xbaH\x06*\x04\x18 \x00H\x00R\x04ipv4\x88\x01\x01\x12#\n\x04ipv6\x18\x02 \x01(\rB\n\xbaH\x07*\x05\x18\x80\x01 \x00H\x01R\x04ipv6\x88\x01\x01\x42\x07\n\x05_ipv4B\x07\n\x05_ipv6\"~\n\x12NetworkConsumption\x12\x33\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv4\x12\x33\n\x04ipv6\x18\x02 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkUsageR\x04ipv6\"\xa2\x01\n\x0cNetworkUsage\x12#\n\ravailable_ips\x18\x02 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x03 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x04 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x05 \x01(\x04R\x0cusedPrefixes*m\n\x07NATType\x12\x18\n\x14NAT_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\rNAT_TYPE_NONE\x10\x01\x1a\x08\x82\xb2\x19\x04none\x12+\n\x18NAT_TYPE_IPV4_MASQUERADE\x10\x02\x1a\r\x82\xb2\x19\tipv4-masq*\xad\x02\n\x0bNetworkType\x12\x1c\n\x18NETWORK_TYPE_UNSPECIFIED\x10\x00\x12\'\n\x15NETWORK_TYPE_EXTERNAL\x10\x01\x1a\x0c\x82\xb2\x19\x08\x65xternal\x12\'\n\x15NETWORK_TYPE_UNDERLAY\x10\x02\x1a\x0c\x82\xb2\x19\x08underlay\x12!\n\x12NETWORK_TYPE_SUPER\x10\x03\x1a\t\x82\xb2\x19\x05super\x12\x37\n\x1dNETWORK_TYPE_SUPER_NAMESPACED\x10\x04\x1a\x14\x82\xb2\x19\x10super-namespaced\x12!\n\x12NETWORK_TYPE_CHILD\x10\x05\x1a\t\x82\xb2\x19\x05\x63hild\x12/\n\x19NETWORK_TYPE_CHILD_SHARED\x10\x06\x1a\x10\x82\xb2\x19\x0c\x63hild-shared*\xc7\x01\n\x14NetworkAddressFamily\x12&\n\"NETWORK_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V4\x10\x01\x1a\x08\x82\xb2\x19\x04ipv4\x12\'\n\x19NETWORK_ADDRESS_FAMILY_V6\x10\x02\x1a\x08\x82\xb2\x19\x04ipv6\x12\x35\n!NETWORK_ADDRESS_FAMILY_DUAL_STACK\x10\x03\x1a\x0e\x82\xb2\x19\ndual-stack2\xe1\x05\n\x0eNetworkService\x12m\n\x03Get\x12+.metalstack.api.v2.NetworkServiceGetRequest\x1a,.metalstack.api.v2.NetworkServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12q\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\x06\xca\xf3\x18\x02\x01\x02\x12p\n\x04List\x12,.metalstack.api.v2.NetworkServiceListRequest\x1a-.metalstack.api.v2.NetworkServiceListResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12\x94\x01\n\x10ListBaseNetworks\x12\x38.metalstack.api.v2.NetworkServiceListBaseNetworksRequest\x1a\x39.metalstack.api.v2.NetworkServiceListBaseNetworksResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12q\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\x06\xca\xf3\x18\x02\x01\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cNetworkProtoP\x01Z5github.com/metal-stack/api/go/metalstack/api/v2;apiv2\xa2\x02\x03MAX\xaa\x02\x11Metalstack.Api.V2\xca\x02\x11Metalstack\\Api\\V2\xe2\x02\x1dMetalstack\\Api\\V2\\GPBMetadata\xea\x02\x13Metalstack::Api::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -155,12 +155,12 @@
_globals['_NETWORKSERVICE'].methods_by_name['ListBaseNetworks']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
_globals['_NETWORKSERVICE'].methods_by_name['Delete']._loaded_options = None
_globals['_NETWORKSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
- _globals['_NATTYPE']._serialized_start=4455
- _globals['_NATTYPE']._serialized_end=4564
- _globals['_NETWORKTYPE']._serialized_start=4567
- _globals['_NETWORKTYPE']._serialized_end=4868
- _globals['_NETWORKADDRESSFAMILY']._serialized_start=4871
- _globals['_NETWORKADDRESSFAMILY']._serialized_end=5070
+ _globals['_NATTYPE']._serialized_start=4423
+ _globals['_NATTYPE']._serialized_end=4532
+ _globals['_NETWORKTYPE']._serialized_start=4535
+ _globals['_NETWORKTYPE']._serialized_end=4836
+ _globals['_NETWORKADDRESSFAMILY']._serialized_start=4839
+ _globals['_NETWORKADDRESSFAMILY']._serialized_end=5038
_globals['_NETWORKSERVICEGETREQUEST']._serialized_start=157
_globals['_NETWORKSERVICEGETREQUEST']._serialized_end=251
_globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=253
@@ -186,15 +186,15 @@
_globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=1968
_globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=2052
_globals['_NETWORK']._serialized_start=2055
- _globals['_NETWORK']._serialized_end=3147
- _globals['_NETWORKQUERY']._serialized_start=3150
- _globals['_NETWORKQUERY']._serialized_end=4048
- _globals['_CHILDPREFIXLENGTH']._serialized_start=4050
- _globals['_CHILDPREFIXLENGTH']._serialized_end=4160
- _globals['_NETWORKCONSUMPTION']._serialized_start=4162
- _globals['_NETWORKCONSUMPTION']._serialized_end=4288
- _globals['_NETWORKUSAGE']._serialized_start=4291
- _globals['_NETWORKUSAGE']._serialized_end=4453
- _globals['_NETWORKSERVICE']._serialized_start=5073
- _globals['_NETWORKSERVICE']._serialized_end=5810
+ _globals['_NETWORK']._serialized_end=3115
+ _globals['_NETWORKQUERY']._serialized_start=3118
+ _globals['_NETWORKQUERY']._serialized_end=4016
+ _globals['_CHILDPREFIXLENGTH']._serialized_start=4018
+ _globals['_CHILDPREFIXLENGTH']._serialized_end=4128
+ _globals['_NETWORKCONSUMPTION']._serialized_start=4130
+ _globals['_NETWORKCONSUMPTION']._serialized_end=4256
+ _globals['_NETWORKUSAGE']._serialized_start=4259
+ _globals['_NETWORKUSAGE']._serialized_end=4421
+ _globals['_NETWORKSERVICE']._serialized_start=5041
+ _globals['_NETWORKSERVICE']._serialized_end=5778
# @@protoc_insertion_point(module_scope)