metal-stack-api 0.0.12__py3-none-any.whl → 0.0.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,7 +26,7 @@ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
27
27
 
28
28
 
29
- 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\"Z\n\x18NetworkServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xb5\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\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12;\n\x11parent_network_id\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x03R\x0fparentNetworkId\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\x14\n\x12_parent_network_idB\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\"\x97\x02\n\x1bNetworkServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x05 \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\"v\n\x19NetworkServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\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\"\x82\x01\n%NetworkServiceListBaseNetworksRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\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\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\"\xf5\n\n\x07Network\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x1a\n\x08prefixes\x18\x08 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\t \x03(\tR\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;\n\x11parent_network_id\x18\x0f \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x08R\x0fparentNetworkId\x88\x01\x01\x12@\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tR\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumption:\xd5\x02\xbaH\xd1\x02\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())\x1a\x8a\x01\n\x1c\x61\x64\x64itional_announcable_cidrs\x12\x30given additional_announcable_cidrs must be valid\x1a\x38this.additional_announcable_cidrs.all(m, m.isIpPrefix())B\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\x14\n\x12_parent_network_id\"\xa4\x08\n\x0cNetworkQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x1a\n\x08prefixes\x18\x07 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tR\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12;\n\x11parent_network_id\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x07R\x0fparentNetworkId\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\x31\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels:\xc8\x01\xbaH\xc4\x01\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())B\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\x14\n\x12_parent_network_idB\x11\n\x0f_address_familyB\x07\n\x05_typeB\x0b\n\t_nat_type\"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')
29
+ 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\"Z\n\x18NetworkServiceGetRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xad\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\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\tpartition\x88\x01\x01\x12\x31\n\x06labels\x18\x05 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels\x12\x36\n\x0eparent_network\x18\x06 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\"\x97\x02\n\x1bNetworkServiceUpdateRequest\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12\"\n\x07project\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12<\n\x06labels\x18\x05 \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\"v\n\x19NetworkServiceListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\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\"\x82\x01\n%NetworkServiceListBaseNetworksRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\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\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\"\xed\n\n\x07Network\x12\x1a\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x02id\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12#\n\x04name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x05 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x1a\n\x08prefixes\x18\x08 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\t \x03(\tR\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\x36\n\x0eparent_network\x18\x0f \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x08R\rparentNetwork\x88\x01\x01\x12@\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x10 \x03(\tR\x1a\x61\x64\x64itionalAnnouncableCidrs\x12G\n\x0b\x63onsumption\x18\x11 \x01(\x0b\x32%.metalstack.api.v2.NetworkConsumptionR\x0b\x63onsumption:\xd5\x02\xbaH\xd1\x02\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())\x1a\x8a\x01\n\x1c\x61\x64\x64itional_announcable_cidrs\x12\x30given additional_announcable_cidrs must be valid\x1a\x38this.additional_announcable_cidrs.all(m, m.isIpPrefix())B\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\"\x9c\x08\n\x0cNetworkQuery\x12\x1f\n\x02id\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x02id\x88\x01\x01\x12#\n\x04name\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x02R\x0b\x64\x65scription\x88\x01\x01\x12-\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x1a\n\x08prefixes\x18\x07 \x03(\tR\x08prefixes\x12\x31\n\x14\x64\x65stination_prefixes\x18\x08 \x03(\tR\x13\x64\x65stinationPrefixes\x12\x15\n\x03vrf\x18\t \x01(\rH\x06R\x03vrf\x88\x01\x01\x12\x36\n\x0eparent_network\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\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\x31\n\x06labels\x18\x0e \x01(\x0b\x32\x19.metalstack.api.v2.LabelsR\x06labels:\xc8\x01\xbaH\xc4\x01\x1aN\n\x08prefixes\x12\x1cgiven prefixes must be valid\x1a$this.prefixes.all(m, m.isIpPrefix())\x1ar\n\x14\x64\x65stination_prefixes\x12(given destination_prefixes must be valid\x1a\x30this.destination_prefixes.all(m, m.isIpPrefix())B\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_type\"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')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -68,8 +68,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
68
68
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
69
69
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['partition']._loaded_options = None
70
70
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['partition']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
71
- _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network_id']._loaded_options = None
72
- _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network_id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
71
+ _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network']._loaded_options = None
72
+ _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['parent_network']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
73
73
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['address_family']._loaded_options = None
74
74
  _globals['_NETWORKSERVICECREATEREQUEST'].fields_by_name['address_family']._serialized_options = b'\272H\005\202\001\002\020\001'
75
75
  _globals['_NETWORKSERVICEUPDATEREQUEST'].fields_by_name['id']._loaded_options = None
@@ -104,8 +104,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
104
104
  _globals['_NETWORK'].fields_by_name['type']._serialized_options = b'\272H\005\202\001\002\020\001'
105
105
  _globals['_NETWORK'].fields_by_name['nat_type']._loaded_options = None
106
106
  _globals['_NETWORK'].fields_by_name['nat_type']._serialized_options = b'\272H\005\202\001\002\020\001'
107
- _globals['_NETWORK'].fields_by_name['parent_network_id']._loaded_options = None
108
- _globals['_NETWORK'].fields_by_name['parent_network_id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
107
+ _globals['_NETWORK'].fields_by_name['parent_network']._loaded_options = None
108
+ _globals['_NETWORK'].fields_by_name['parent_network']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
109
109
  _globals['_NETWORK']._loaded_options = None
110
110
  _globals['_NETWORK']._serialized_options = b'\272H\321\002\032N\n\010prefixes\022\034given prefixes must be valid\032$this.prefixes.all(m, m.isIpPrefix())\032r\n\024destination_prefixes\022(given destination_prefixes must be valid\0320this.destination_prefixes.all(m, m.isIpPrefix())\032\212\001\n\034additional_announcable_cidrs\0220given additional_announcable_cidrs must be valid\0328this.additional_announcable_cidrs.all(m, m.isIpPrefix())'
111
111
  _globals['_NETWORKQUERY'].fields_by_name['id']._loaded_options = None
@@ -120,8 +120,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
120
120
  _globals['_NETWORKQUERY'].fields_by_name['project']._serialized_options = b'\272H\005r\003\260\001\001'
121
121
  _globals['_NETWORKQUERY'].fields_by_name['namespace']._loaded_options = None
122
122
  _globals['_NETWORKQUERY'].fields_by_name['namespace']._serialized_options = b'\272H\005r\003\260\001\001'
123
- _globals['_NETWORKQUERY'].fields_by_name['parent_network_id']._loaded_options = None
124
- _globals['_NETWORKQUERY'].fields_by_name['parent_network_id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
123
+ _globals['_NETWORKQUERY'].fields_by_name['parent_network']._loaded_options = None
124
+ _globals['_NETWORKQUERY'].fields_by_name['parent_network']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
125
125
  _globals['_NETWORKQUERY'].fields_by_name['address_family']._loaded_options = None
126
126
  _globals['_NETWORKQUERY'].fields_by_name['address_family']._serialized_options = b'\272H\005\202\001\002\020\001'
127
127
  _globals['_NETWORKQUERY'].fields_by_name['type']._loaded_options = None
@@ -146,46 +146,46 @@ if not _descriptor._USE_C_DESCRIPTORS:
146
146
  _globals['_NETWORKSERVICE'].methods_by_name['ListBaseNetworks']._serialized_options = b'\312\363\030\003\001\002\003\340\363\030\002'
147
147
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._loaded_options = None
148
148
  _globals['_NETWORKSERVICE'].methods_by_name['Delete']._serialized_options = b'\312\363\030\002\001\002'
149
- _globals['_NATTYPE']._serialized_start=4798
150
- _globals['_NATTYPE']._serialized_end=4907
151
- _globals['_NETWORKTYPE']._serialized_start=4910
152
- _globals['_NETWORKTYPE']._serialized_end=5211
153
- _globals['_NETWORKADDRESSFAMILY']._serialized_start=5214
154
- _globals['_NETWORKADDRESSFAMILY']._serialized_end=5413
149
+ _globals['_NATTYPE']._serialized_start=4774
150
+ _globals['_NATTYPE']._serialized_end=4883
151
+ _globals['_NETWORKTYPE']._serialized_start=4886
152
+ _globals['_NETWORKTYPE']._serialized_end=5187
153
+ _globals['_NETWORKADDRESSFAMILY']._serialized_start=5190
154
+ _globals['_NETWORKADDRESSFAMILY']._serialized_end=5389
155
155
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_start=115
156
156
  _globals['_NETWORKSERVICEGETREQUEST']._serialized_end=205
157
157
  _globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=207
158
158
  _globals['_NETWORKSERVICEGETRESPONSE']._serialized_end=288
159
159
  _globals['_NETWORKSERVICECREATEREQUEST']._serialized_start=291
160
- _globals['_NETWORKSERVICECREATEREQUEST']._serialized_end=856
161
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=858
162
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=942
163
- _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_start=945
164
- _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_end=1224
165
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=1226
166
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=1310
167
- _globals['_NETWORKSERVICELISTREQUEST']._serialized_start=1312
168
- _globals['_NETWORKSERVICELISTREQUEST']._serialized_end=1430
169
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=1432
170
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=1516
171
- _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_start=1519
172
- _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_end=1649
173
- _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_start=1651
174
- _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_end=1747
175
- _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_start=1749
176
- _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_end=1842
177
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=1844
178
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=1928
179
- _globals['_NETWORK']._serialized_start=1931
180
- _globals['_NETWORK']._serialized_end=3328
181
- _globals['_NETWORKQUERY']._serialized_start=3331
182
- _globals['_NETWORKQUERY']._serialized_end=4391
183
- _globals['_CHILDPREFIXLENGTH']._serialized_start=4393
184
- _globals['_CHILDPREFIXLENGTH']._serialized_end=4503
185
- _globals['_NETWORKCONSUMPTION']._serialized_start=4505
186
- _globals['_NETWORKCONSUMPTION']._serialized_end=4631
187
- _globals['_NETWORKUSAGE']._serialized_start=4634
188
- _globals['_NETWORKUSAGE']._serialized_end=4796
189
- _globals['_NETWORKSERVICE']._serialized_start=5416
190
- _globals['_NETWORKSERVICE']._serialized_end=6153
160
+ _globals['_NETWORKSERVICECREATEREQUEST']._serialized_end=848
161
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=850
162
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=934
163
+ _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_start=937
164
+ _globals['_NETWORKSERVICEUPDATEREQUEST']._serialized_end=1216
165
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=1218
166
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=1302
167
+ _globals['_NETWORKSERVICELISTREQUEST']._serialized_start=1304
168
+ _globals['_NETWORKSERVICELISTREQUEST']._serialized_end=1422
169
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=1424
170
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=1508
171
+ _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_start=1511
172
+ _globals['_NETWORKSERVICELISTBASENETWORKSREQUEST']._serialized_end=1641
173
+ _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_start=1643
174
+ _globals['_NETWORKSERVICELISTBASENETWORKSRESPONSE']._serialized_end=1739
175
+ _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_start=1741
176
+ _globals['_NETWORKSERVICEDELETEREQUEST']._serialized_end=1834
177
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=1836
178
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=1920
179
+ _globals['_NETWORK']._serialized_start=1923
180
+ _globals['_NETWORK']._serialized_end=3312
181
+ _globals['_NETWORKQUERY']._serialized_start=3315
182
+ _globals['_NETWORKQUERY']._serialized_end=4367
183
+ _globals['_CHILDPREFIXLENGTH']._serialized_start=4369
184
+ _globals['_CHILDPREFIXLENGTH']._serialized_end=4479
185
+ _globals['_NETWORKCONSUMPTION']._serialized_start=4481
186
+ _globals['_NETWORKCONSUMPTION']._serialized_end=4607
187
+ _globals['_NETWORKUSAGE']._serialized_start=4610
188
+ _globals['_NETWORKUSAGE']._serialized_end=4772
189
+ _globals['_NETWORKSERVICE']._serialized_start=5392
190
+ _globals['_NETWORKSERVICE']._serialized_end=6129
191
191
  # @@protoc_insertion_point(module_scope)
@@ -61,13 +61,13 @@ class NetworkServiceGetResponse(_message.Message):
61
61
  def __init__(self, network: _Optional[_Union[Network, _Mapping]] = ...) -> None: ...
62
62
 
63
63
  class NetworkServiceCreateRequest(_message.Message):
64
- __slots__ = ("project", "name", "description", "partition", "labels", "parent_network_id", "length", "address_family")
64
+ __slots__ = ("project", "name", "description", "partition", "labels", "parent_network", "length", "address_family")
65
65
  PROJECT_FIELD_NUMBER: _ClassVar[int]
66
66
  NAME_FIELD_NUMBER: _ClassVar[int]
67
67
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
68
68
  PARTITION_FIELD_NUMBER: _ClassVar[int]
69
69
  LABELS_FIELD_NUMBER: _ClassVar[int]
70
- PARENT_NETWORK_ID_FIELD_NUMBER: _ClassVar[int]
70
+ PARENT_NETWORK_FIELD_NUMBER: _ClassVar[int]
71
71
  LENGTH_FIELD_NUMBER: _ClassVar[int]
72
72
  ADDRESS_FAMILY_FIELD_NUMBER: _ClassVar[int]
73
73
  project: str
@@ -75,10 +75,10 @@ class NetworkServiceCreateRequest(_message.Message):
75
75
  description: str
76
76
  partition: str
77
77
  labels: _common_pb2.Labels
78
- parent_network_id: str
78
+ parent_network: str
79
79
  length: ChildPrefixLength
80
80
  address_family: NetworkAddressFamily
81
- def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., parent_network_id: _Optional[str] = ..., length: _Optional[_Union[ChildPrefixLength, _Mapping]] = ..., address_family: _Optional[_Union[NetworkAddressFamily, str]] = ...) -> None: ...
81
+ def __init__(self, project: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., parent_network: _Optional[str] = ..., length: _Optional[_Union[ChildPrefixLength, _Mapping]] = ..., address_family: _Optional[_Union[NetworkAddressFamily, str]] = ...) -> None: ...
82
82
 
83
83
  class NetworkServiceCreateResponse(_message.Message):
84
84
  __slots__ = ("network",)
@@ -149,7 +149,7 @@ class NetworkServiceDeleteResponse(_message.Message):
149
149
  def __init__(self, network: _Optional[_Union[Network, _Mapping]] = ...) -> None: ...
150
150
 
151
151
  class Network(_message.Message):
152
- __slots__ = ("id", "meta", "name", "description", "partition", "project", "namespace", "prefixes", "destination_prefixes", "default_child_prefix_length", "min_child_prefix_length", "type", "nat_type", "vrf", "parent_network_id", "additional_announcable_cidrs", "consumption")
152
+ __slots__ = ("id", "meta", "name", "description", "partition", "project", "namespace", "prefixes", "destination_prefixes", "default_child_prefix_length", "min_child_prefix_length", "type", "nat_type", "vrf", "parent_network", "additional_announcable_cidrs", "consumption")
153
153
  ID_FIELD_NUMBER: _ClassVar[int]
154
154
  META_FIELD_NUMBER: _ClassVar[int]
155
155
  NAME_FIELD_NUMBER: _ClassVar[int]
@@ -164,7 +164,7 @@ class Network(_message.Message):
164
164
  TYPE_FIELD_NUMBER: _ClassVar[int]
165
165
  NAT_TYPE_FIELD_NUMBER: _ClassVar[int]
166
166
  VRF_FIELD_NUMBER: _ClassVar[int]
167
- PARENT_NETWORK_ID_FIELD_NUMBER: _ClassVar[int]
167
+ PARENT_NETWORK_FIELD_NUMBER: _ClassVar[int]
168
168
  ADDITIONAL_ANNOUNCABLE_CIDRS_FIELD_NUMBER: _ClassVar[int]
169
169
  CONSUMPTION_FIELD_NUMBER: _ClassVar[int]
170
170
  id: str
@@ -181,13 +181,13 @@ class Network(_message.Message):
181
181
  type: NetworkType
182
182
  nat_type: NATType
183
183
  vrf: int
184
- parent_network_id: str
184
+ parent_network: str
185
185
  additional_announcable_cidrs: _containers.RepeatedScalarFieldContainer[str]
186
186
  consumption: NetworkConsumption
187
- def __init__(self, id: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., project: _Optional[str] = ..., namespace: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., default_child_prefix_length: _Optional[_Union[ChildPrefixLength, _Mapping]] = ..., min_child_prefix_length: _Optional[_Union[ChildPrefixLength, _Mapping]] = ..., type: _Optional[_Union[NetworkType, str]] = ..., nat_type: _Optional[_Union[NATType, str]] = ..., vrf: _Optional[int] = ..., parent_network_id: _Optional[str] = ..., additional_announcable_cidrs: _Optional[_Iterable[str]] = ..., consumption: _Optional[_Union[NetworkConsumption, _Mapping]] = ...) -> None: ...
187
+ def __init__(self, id: _Optional[str] = ..., meta: _Optional[_Union[_common_pb2.Meta, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., project: _Optional[str] = ..., namespace: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., default_child_prefix_length: _Optional[_Union[ChildPrefixLength, _Mapping]] = ..., min_child_prefix_length: _Optional[_Union[ChildPrefixLength, _Mapping]] = ..., type: _Optional[_Union[NetworkType, str]] = ..., nat_type: _Optional[_Union[NATType, str]] = ..., vrf: _Optional[int] = ..., parent_network: _Optional[str] = ..., additional_announcable_cidrs: _Optional[_Iterable[str]] = ..., consumption: _Optional[_Union[NetworkConsumption, _Mapping]] = ...) -> None: ...
188
188
 
189
189
  class NetworkQuery(_message.Message):
190
- __slots__ = ("id", "name", "description", "partition", "project", "namespace", "prefixes", "destination_prefixes", "vrf", "parent_network_id", "address_family", "type", "nat_type", "labels")
190
+ __slots__ = ("id", "name", "description", "partition", "project", "namespace", "prefixes", "destination_prefixes", "vrf", "parent_network", "address_family", "type", "nat_type", "labels")
191
191
  ID_FIELD_NUMBER: _ClassVar[int]
192
192
  NAME_FIELD_NUMBER: _ClassVar[int]
193
193
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
@@ -197,7 +197,7 @@ class NetworkQuery(_message.Message):
197
197
  PREFIXES_FIELD_NUMBER: _ClassVar[int]
198
198
  DESTINATION_PREFIXES_FIELD_NUMBER: _ClassVar[int]
199
199
  VRF_FIELD_NUMBER: _ClassVar[int]
200
- PARENT_NETWORK_ID_FIELD_NUMBER: _ClassVar[int]
200
+ PARENT_NETWORK_FIELD_NUMBER: _ClassVar[int]
201
201
  ADDRESS_FAMILY_FIELD_NUMBER: _ClassVar[int]
202
202
  TYPE_FIELD_NUMBER: _ClassVar[int]
203
203
  NAT_TYPE_FIELD_NUMBER: _ClassVar[int]
@@ -211,12 +211,12 @@ class NetworkQuery(_message.Message):
211
211
  prefixes: _containers.RepeatedScalarFieldContainer[str]
212
212
  destination_prefixes: _containers.RepeatedScalarFieldContainer[str]
213
213
  vrf: int
214
- parent_network_id: str
214
+ parent_network: str
215
215
  address_family: NetworkAddressFamily
216
216
  type: NetworkType
217
217
  nat_type: NATType
218
218
  labels: _common_pb2.Labels
219
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., project: _Optional[str] = ..., namespace: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., vrf: _Optional[int] = ..., parent_network_id: _Optional[str] = ..., address_family: _Optional[_Union[NetworkAddressFamily, str]] = ..., type: _Optional[_Union[NetworkType, str]] = ..., nat_type: _Optional[_Union[NATType, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
219
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., partition: _Optional[str] = ..., project: _Optional[str] = ..., namespace: _Optional[str] = ..., prefixes: _Optional[_Iterable[str]] = ..., destination_prefixes: _Optional[_Iterable[str]] = ..., vrf: _Optional[int] = ..., parent_network: _Optional[str] = ..., address_family: _Optional[_Union[NetworkAddressFamily, str]] = ..., type: _Optional[_Union[NetworkType, str]] = ..., nat_type: _Optional[_Union[NATType, str]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ...) -> None: ...
220
220
 
221
221
  class ChildPrefixLength(_message.Message):
222
222
  __slots__ = ("ipv4", "ipv6")
@@ -27,7 +27,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xcb\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n\navatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xcb\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"}\n\x19ProjectServiceListRequest\x12#\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\'\n\x06tenant\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x06tenant\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_tenant\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xbf\x01\n\x1bProjectServiceCreateRequest\x12 \n\x05login\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05login\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@R\x04name\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x0b\x64\x65scription\x12\"\n\navatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xe4\x01\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"d\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\"$\n\"ProjectServiceRemoveMemberResponse\"\xa2\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x1b\n\tmember_id\x18\x02 \x01(\tR\x08memberId\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x05 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xef\x0b\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\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')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmetalstack/api/v2/project.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1emetalstack/api/v2/common.proto\"\xcb\x01\n\x07Project\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12+\n\x04meta\x18\x02 \x01(\x0b\x32\x17.metalstack.api.v2.MetaR\x04meta\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06tenant\x18\x05 \x01(\tR\x06tenant\x12\"\n\navatar_url\x18\x06 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"\xcb\x01\n\rProjectMember\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12<\n\x04role\x18\x02 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x31\n\x14inherited_membership\x18\x03 \x01(\x08R\x13inheritedMembership\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"\xe7\x02\n\rProjectInvite\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\x12\x18\n\x07project\x18\x02 \x01(\tR\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12\x16\n\x06joined\x18\x04 \x01(\x08R\x06joined\x12!\n\x0cproject_name\x18\x05 \x01(\tR\x0bprojectName\x12\x16\n\x06tenant\x18\x06 \x01(\tR\x06tenant\x12\x1f\n\x0btenant_name\x18\x07 \x01(\tR\ntenantName\x12\x39\n\nexpires_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\x12\x37\n\tjoined_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08joinedAt\"}\n\x19ProjectServiceListRequest\x12#\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04name\x88\x01\x01\x12\'\n\x06tenant\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x01R\x06tenant\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_tenant\"T\n\x1aProjectServiceListResponse\x12\x36\n\x08projects\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x08projects\">\n\x18ProjectServiceGetRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"\x9c\x01\n\x19ProjectServiceGetResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\x12I\n\x0fproject_members\x18\x02 \x03(\x0b\x32 .metalstack.api.v2.ProjectMemberR\x0eprojectMembers\"\xbf\x01\n\x1bProjectServiceCreateRequest\x12 \n\x05login\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x05login\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@R\x04name\x12,\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04R\x0b\x64\x65scription\x12\"\n\navatar_url\x18\x04 \x01(\tH\x00R\tavatarUrl\x88\x01\x01\x42\r\n\x0b_avatar_url\"T\n\x1cProjectServiceCreateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"A\n\x1bProjectServiceDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"T\n\x1cProjectServiceDeleteResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\xe4\x01\n\x1bProjectServiceUpdateRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\"\n\x04name\x18\x02 \x01(\tB\t\xbaH\x06r\x04\x10\x02\x18@H\x00R\x04name\x88\x01\x01\x12\x31\n\x0b\x64\x65scription\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x04H\x01R\x0b\x64\x65scription\x88\x01\x01\x12\"\n\navatar_url\x18\x04 \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\r\n\x0b_avatar_url\"T\n\x1cProjectServiceUpdateResponse\x12\x34\n\x07project\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.ProjectR\x07project\"\x7f\n\x1bProjectServiceInviteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"X\n\x1cProjectServiceInviteResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"F\n ProjectServiceInvitesListRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\"_\n!ProjectServiceInvitesListResponse\x12:\n\x07invites\x18\x01 \x03(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x07invites\"8\n\x1eProjectServiceInviteGetRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"[\n\x1fProjectServiceInviteGetResponse\x12\x38\n\x06invite\x18\x01 \x01(\x0b\x32 .metalstack.api.v2.ProjectInviteR\x06invite\"_\n!ProjectServiceRemoveMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\"$\n\"ProjectServiceRemoveMemberResponse\"\x9d\x01\n!ProjectServiceUpdateMemberRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06member\x18\x02 \x01(\tR\x06member\x12<\n\x04role\x18\x03 \x01(\x0e\x32\x1e.metalstack.api.v2.ProjectRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\"m\n\"ProjectServiceUpdateMemberResponse\x12G\n\x0eproject_member\x18\x05 \x01(\x0b\x32 .metalstack.api.v2.ProjectMemberR\rprojectMember\";\n!ProjectServiceInviteAcceptRequest\x12\x16\n\x06secret\x18\x01 \x01(\tR\x06secret\"a\n\"ProjectServiceInviteAcceptResponse\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12!\n\x0cproject_name\x18\x02 \x01(\tR\x0bprojectName\"_\n!ProjectServiceInviteDeleteRequest\x12\"\n\x07project\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01R\x07project\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\"$\n\"ProjectServiceInviteDeleteResponse2\xef\x0b\n\x0eProjectService\x12m\n\x04List\x12,.metalstack.api.v2.ProjectServiceListRequest\x1a-.metalstack.api.v2.ProjectServiceListResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x12m\n\x03Get\x12+.metalstack.api.v2.ProjectServiceGetRequest\x1a,.metalstack.api.v2.ProjectServiceGetResponse\"\x0b\xca\xf3\x18\x03\x01\x02\x03\xe0\xf3\x18\x02\x12u\n\x06\x43reate\x12..metalstack.api.v2.ProjectServiceCreateRequest\x1a/.metalstack.api.v2.ProjectServiceCreateResponse\"\n\xc2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12t\n\x06\x44\x65lete\x12..metalstack.api.v2.ProjectServiceDeleteRequest\x1a/.metalstack.api.v2.ProjectServiceDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.ProjectServiceUpdateRequest\x1a/.metalstack.api.v2.ProjectServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12\x86\x01\n\x0cRemoveMember\x12\x34.metalstack.api.v2.ProjectServiceRemoveMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceRemoveMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x86\x01\n\x0cUpdateMember\x12\x34.metalstack.api.v2.ProjectServiceUpdateMemberRequest\x1a\x35.metalstack.api.v2.ProjectServiceUpdateMemberResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12t\n\x06Invite\x12..metalstack.api.v2.ProjectServiceInviteRequest\x1a/.metalstack.api.v2.ProjectServiceInviteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x85\x01\n\x0cInviteAccept\x12\x34.metalstack.api.v2.ProjectServiceInviteAcceptRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteAcceptResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x01\x12\x86\x01\n\x0cInviteDelete\x12\x34.metalstack.api.v2.ProjectServiceInviteDeleteRequest\x1a\x35.metalstack.api.v2.ProjectServiceInviteDeleteResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\x83\x01\n\x0bInvitesList\x12\x33.metalstack.api.v2.ProjectServiceInvitesListRequest\x1a\x34.metalstack.api.v2.ProjectServiceInvitesListResponse\"\t\xca\xf3\x18\x01\x01\xe0\xf3\x18\x02\x12|\n\tInviteGet\x12\x31.metalstack.api.v2.ProjectServiceInviteGetRequest\x1a\x32.metalstack.api.v2.ProjectServiceInviteGetResponse\"\x08\xd8\xf3\x18\x03\xe0\xf3\x18\x02\x42\xc2\x01\n\x15\x63om.metalstack.api.v2B\x0cProjectProtoP\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')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -136,21 +136,21 @@ if not _descriptor._USE_C_DESCRIPTORS:
136
136
  _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_start=2554
137
137
  _globals['_PROJECTSERVICEINVITEGETRESPONSE']._serialized_end=2645
138
138
  _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_start=2647
139
- _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=2747
140
- _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=2749
141
- _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=2785
142
- _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=2788
143
- _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=2950
144
- _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=2952
145
- _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3061
146
- _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3063
147
- _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3122
148
- _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3124
149
- _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3221
150
- _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3223
151
- _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3318
152
- _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3320
153
- _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3356
154
- _globals['_PROJECTSERVICE']._serialized_start=3359
155
- _globals['_PROJECTSERVICE']._serialized_end=4878
139
+ _globals['_PROJECTSERVICEREMOVEMEMBERREQUEST']._serialized_end=2742
140
+ _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_start=2744
141
+ _globals['_PROJECTSERVICEREMOVEMEMBERRESPONSE']._serialized_end=2780
142
+ _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_start=2783
143
+ _globals['_PROJECTSERVICEUPDATEMEMBERREQUEST']._serialized_end=2940
144
+ _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_start=2942
145
+ _globals['_PROJECTSERVICEUPDATEMEMBERRESPONSE']._serialized_end=3051
146
+ _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_start=3053
147
+ _globals['_PROJECTSERVICEINVITEACCEPTREQUEST']._serialized_end=3112
148
+ _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_start=3114
149
+ _globals['_PROJECTSERVICEINVITEACCEPTRESPONSE']._serialized_end=3211
150
+ _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_start=3213
151
+ _globals['_PROJECTSERVICEINVITEDELETEREQUEST']._serialized_end=3308
152
+ _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_start=3310
153
+ _globals['_PROJECTSERVICEINVITEDELETERESPONSE']._serialized_end=3346
154
+ _globals['_PROJECTSERVICE']._serialized_start=3349
155
+ _globals['_PROJECTSERVICE']._serialized_end=4868
156
156
  # @@protoc_insertion_point(module_scope)
@@ -176,26 +176,26 @@ class ProjectServiceInviteGetResponse(_message.Message):
176
176
  def __init__(self, invite: _Optional[_Union[ProjectInvite, _Mapping]] = ...) -> None: ...
177
177
 
178
178
  class ProjectServiceRemoveMemberRequest(_message.Message):
179
- __slots__ = ("project", "member_id")
179
+ __slots__ = ("project", "member")
180
180
  PROJECT_FIELD_NUMBER: _ClassVar[int]
181
- MEMBER_ID_FIELD_NUMBER: _ClassVar[int]
181
+ MEMBER_FIELD_NUMBER: _ClassVar[int]
182
182
  project: str
183
- member_id: str
184
- def __init__(self, project: _Optional[str] = ..., member_id: _Optional[str] = ...) -> None: ...
183
+ member: str
184
+ def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ...) -> None: ...
185
185
 
186
186
  class ProjectServiceRemoveMemberResponse(_message.Message):
187
187
  __slots__ = ()
188
188
  def __init__(self) -> None: ...
189
189
 
190
190
  class ProjectServiceUpdateMemberRequest(_message.Message):
191
- __slots__ = ("project", "member_id", "role")
191
+ __slots__ = ("project", "member", "role")
192
192
  PROJECT_FIELD_NUMBER: _ClassVar[int]
193
- MEMBER_ID_FIELD_NUMBER: _ClassVar[int]
193
+ MEMBER_FIELD_NUMBER: _ClassVar[int]
194
194
  ROLE_FIELD_NUMBER: _ClassVar[int]
195
195
  project: str
196
- member_id: str
196
+ member: str
197
197
  role: _common_pb2.ProjectRole
198
- def __init__(self, project: _Optional[str] = ..., member_id: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ...
198
+ def __init__(self, project: _Optional[str] = ..., member: _Optional[str] = ..., role: _Optional[_Union[_common_pb2.ProjectRole, str]] = ...) -> None: ...
199
199
 
200
200
  class ProjectServiceUpdateMemberResponse(_message.Message):
201
201
  __slots__ = ("project_member",)
@@ -27,7 +27,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb
27
27
  from metalstack.api.v2 import common_pb2 as metalstack_dot_api_dot_v2_dot_common__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/switch.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1emetalstack/api/v2/common.proto\"\xde\x03\n\x06Switch\x12\x1c\n\x02id\x18\x01 \x01(\tB\x0c\xbaH\tr\x07\x10\x02\x18\x80\x01h\x01R\x02id\x12,\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0b\x64\x65scription\x12(\n\x07rack_id\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x06rackId\x88\x01\x01\x12(\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\tpartition\x12Q\n\x0creplace_mode\x18\x06 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0breplaceMode\x12,\n\rmanagement_ip\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x0cmanagementIp\x12\x33\n\x0fmanagement_user\x18\x08 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0emanagementUser\x12\x33\n\x0f\x63onsole_command\x18\t \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0e\x63onsoleCommand\x12=\n\x0bswitch_nics\x18\n \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\nswitchNicsB\n\n\x08_rack_id\"\xaf\x01\n\x08SwitchOS\x12\x43\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06vendor\x12$\n\x07version\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07version\x12\x38\n\x12metal_core_version\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x10metalCoreVersion\"\xc2\x03\n\tSwitchNic\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12*\n\nidentifier\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\nidentifier\x12\x41\n\x03mac\x18\x03 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x03mac\x12!\n\x03vrf\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x03vrf\x88\x01\x01\x12\x45\n\x06\x61\x63tual\x18\x05 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x61\x63tual\x12@\n\nbgp_filter\x18\x06 \x01(\x0b\x32\x1c.metalstack.api.v2.BGPFilterH\x01R\tbgpFilter\x88\x01\x01\x12P\n\x0e\x62gp_port_state\x18\x07 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateH\x02R\x0c\x62gpPortState\x88\x01\x01\x42\x06\n\x04_vrfB\r\n\x0b_bgp_filterB\x11\n\x0f_bgp_port_state\"\x92\x01\n\tBGPFilter\x12\x14\n\x05\x63idrs\x18\x01 \x03(\tR\x05\x63idrs\x12#\n\x04vnis\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\"\x07r\x05\x10\x02\x18\x80\x01R\x04vnis:J\xbaHG\x1a\x45\n\x05\x63idrs\x12\x19given cidrs must be valid\x1a!this.cidrs.all(m, m.isIpPrefix())\"\x8e\x03\n\x12SwitchBGPPortState\x12&\n\x08neighbor\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x08neighbor\x12)\n\npeer_group\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\tpeerGroup\x12%\n\x08vrf_name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07vrfName\x12\x42\n\tbgp_state\x18\x04 \x01(\x0e\x32\x1b.metalstack.api.v2.BGPStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08\x62gpState\x12R\n\x18\x62gp_timer_up_established\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x15\x62gpTimerUpEstablished\x12.\n\x13sent_prefix_counter\x18\x06 \x01(\x04R\x11sentPrefixCounter\x12\x36\n\x17\x61\x63\x63\x65pted_prefix_counter\x18\x07 \x01(\x04R\x15\x61\x63\x63\x65ptedPrefixCounter*\x8b\x02\n\x08\x42GPState\x12\x19\n\x15\x42GP_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x0e\x42GP_STATE_IDLE\x10\x01\x1a\x08\x82\xb2\x19\x04idle\x12\"\n\x11\x42GP_STATE_CONNECT\x10\x02\x1a\x0b\x82\xb2\x19\x07\x63onnect\x12 \n\x10\x42GP_STATE_ACTIVE\x10\x03\x1a\n\x82\xb2\x19\x06\x61\x63tive\x12&\n\x13\x42GP_STATE_OPEN_SENT\x10\x04\x1a\r\x82\xb2\x19\topen-sent\x12,\n\x16\x42GP_STATE_OPEN_CONFIRM\x10\x05\x1a\x10\x82\xb2\x19\x0copen-confirm\x12*\n\x15\x42GP_STATE_ESTABLISHED\x10\x06\x1a\x0f\x82\xb2\x19\x0b\x65stablished*\x9c\x01\n\x11SwitchReplaceMode\x12#\n\x1fSWITCH_REPLACE_MODE_UNSPECIFIED\x10\x00\x12,\n\x1bSWITCH_REPLACE_MODE_REPLACE\x10\x01\x1a\x0b\x82\xb2\x19\x07replace\x12\x34\n\x1fSWITCH_REPLACE_MODE_OPERATIONAL\x10\x02\x1a\x0f\x82\xb2\x19\x0boperational*\x84\x01\n\x0eSwitchOSVendor\x12 \n\x1cSWITCH_OS_VENDOR_UNSPECIFIED\x10\x00\x12)\n\x18SWITCH_OS_VENDOR_CUMULUS\x10\x01\x1a\x0b\x82\xb2\x19\x07\x63umulus\x12%\n\x16SWITCH_OS_VENDOR_SONIC\x10\x02\x1a\t\x82\xb2\x19\x05sonic*\x80\x01\n\x10SwitchPortStatus\x12\"\n\x1eSWITCH_PORT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x15SWITCH_PORT_STATUS_UP\x10\x01\x1a\x06\x82\xb2\x19\x02up\x12%\n\x17SWITCH_PORT_STATUS_DOWN\x10\x02\x1a\x08\x82\xb2\x19\x04\x64ownB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bSwitchProtoP\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')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emetalstack/api/v2/switch.proto\x12\x11metalstack.api.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1emetalstack/api/v2/common.proto\"\xd6\x03\n\x06Switch\x12\x1c\n\x02id\x18\x01 \x01(\tB\x0c\xbaH\tr\x07\x10\x02\x18\x80\x01h\x01R\x02id\x12,\n\x0b\x64\x65scription\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0b\x64\x65scription\x12#\n\x04rack\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x04rack\x88\x01\x01\x12(\n\tpartition\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\tpartition\x12Q\n\x0creplace_mode\x18\x06 \x01(\x0e\x32$.metalstack.api.v2.SwitchReplaceModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0breplaceMode\x12,\n\rmanagement_ip\x18\x07 \x01(\tB\x07\xbaH\x04r\x02p\x01R\x0cmanagementIp\x12\x33\n\x0fmanagement_user\x18\x08 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0emanagementUser\x12\x33\n\x0f\x63onsole_command\x18\t \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x0e\x63onsoleCommand\x12=\n\x0bswitch_nics\x18\n \x03(\x0b\x32\x1c.metalstack.api.v2.SwitchNicR\nswitchNicsB\x07\n\x05_rack\"\xaf\x01\n\x08SwitchOS\x12\x43\n\x06vendor\x18\x01 \x01(\x0e\x32!.metalstack.api.v2.SwitchOSVendorB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06vendor\x12$\n\x07version\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07version\x12\x38\n\x12metal_core_version\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x10metalCoreVersion\"\xc2\x03\n\tSwitchNic\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x04name\x12*\n\nidentifier\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\nidentifier\x12\x41\n\x03mac\x18\x03 \x01(\tB/\xbaH,r*2(^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$R\x03mac\x12!\n\x03vrf\x18\x04 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01H\x00R\x03vrf\x88\x01\x01\x12\x45\n\x06\x61\x63tual\x18\x05 \x01(\x0e\x32#.metalstack.api.v2.SwitchPortStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x61\x63tual\x12@\n\nbgp_filter\x18\x06 \x01(\x0b\x32\x1c.metalstack.api.v2.BGPFilterH\x01R\tbgpFilter\x88\x01\x01\x12P\n\x0e\x62gp_port_state\x18\x07 \x01(\x0b\x32%.metalstack.api.v2.SwitchBGPPortStateH\x02R\x0c\x62gpPortState\x88\x01\x01\x42\x06\n\x04_vrfB\r\n\x0b_bgp_filterB\x11\n\x0f_bgp_port_state\"\x92\x01\n\tBGPFilter\x12\x14\n\x05\x63idrs\x18\x01 \x03(\tR\x05\x63idrs\x12#\n\x04vnis\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\"\x07r\x05\x10\x02\x18\x80\x01R\x04vnis:J\xbaHG\x1a\x45\n\x05\x63idrs\x12\x19given cidrs must be valid\x1a!this.cidrs.all(m, m.isIpPrefix())\"\x8e\x03\n\x12SwitchBGPPortState\x12&\n\x08neighbor\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x08neighbor\x12)\n\npeer_group\x18\x02 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\tpeerGroup\x12%\n\x08vrf_name\x18\x03 \x01(\tB\n\xbaH\x07r\x05\x10\x02\x18\x80\x01R\x07vrfName\x12\x42\n\tbgp_state\x18\x04 \x01(\x0e\x32\x1b.metalstack.api.v2.BGPStateB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08\x62gpState\x12R\n\x18\x62gp_timer_up_established\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x15\x62gpTimerUpEstablished\x12.\n\x13sent_prefix_counter\x18\x06 \x01(\x04R\x11sentPrefixCounter\x12\x36\n\x17\x61\x63\x63\x65pted_prefix_counter\x18\x07 \x01(\x04R\x15\x61\x63\x63\x65ptedPrefixCounter*\x8b\x02\n\x08\x42GPState\x12\x19\n\x15\x42GP_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x0e\x42GP_STATE_IDLE\x10\x01\x1a\x08\x82\xb2\x19\x04idle\x12\"\n\x11\x42GP_STATE_CONNECT\x10\x02\x1a\x0b\x82\xb2\x19\x07\x63onnect\x12 \n\x10\x42GP_STATE_ACTIVE\x10\x03\x1a\n\x82\xb2\x19\x06\x61\x63tive\x12&\n\x13\x42GP_STATE_OPEN_SENT\x10\x04\x1a\r\x82\xb2\x19\topen-sent\x12,\n\x16\x42GP_STATE_OPEN_CONFIRM\x10\x05\x1a\x10\x82\xb2\x19\x0copen-confirm\x12*\n\x15\x42GP_STATE_ESTABLISHED\x10\x06\x1a\x0f\x82\xb2\x19\x0b\x65stablished*\x9c\x01\n\x11SwitchReplaceMode\x12#\n\x1fSWITCH_REPLACE_MODE_UNSPECIFIED\x10\x00\x12,\n\x1bSWITCH_REPLACE_MODE_REPLACE\x10\x01\x1a\x0b\x82\xb2\x19\x07replace\x12\x34\n\x1fSWITCH_REPLACE_MODE_OPERATIONAL\x10\x02\x1a\x0f\x82\xb2\x19\x0boperational*\x84\x01\n\x0eSwitchOSVendor\x12 \n\x1cSWITCH_OS_VENDOR_UNSPECIFIED\x10\x00\x12)\n\x18SWITCH_OS_VENDOR_CUMULUS\x10\x01\x1a\x0b\x82\xb2\x19\x07\x63umulus\x12%\n\x16SWITCH_OS_VENDOR_SONIC\x10\x02\x1a\t\x82\xb2\x19\x05sonic*\x80\x01\n\x10SwitchPortStatus\x12\"\n\x1eSWITCH_PORT_STATUS_UNSPECIFIED\x10\x00\x12!\n\x15SWITCH_PORT_STATUS_UP\x10\x01\x1a\x06\x82\xb2\x19\x02up\x12%\n\x17SWITCH_PORT_STATUS_DOWN\x10\x02\x1a\x08\x82\xb2\x19\x04\x64ownB\xc1\x01\n\x15\x63om.metalstack.api.v2B\x0bSwitchProtoP\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')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -63,8 +63,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
63
63
  _globals['_SWITCH'].fields_by_name['id']._serialized_options = b'\272H\tr\007\020\002\030\200\001h\001'
64
64
  _globals['_SWITCH'].fields_by_name['description']._loaded_options = None
65
65
  _globals['_SWITCH'].fields_by_name['description']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
66
- _globals['_SWITCH'].fields_by_name['rack_id']._loaded_options = None
67
- _globals['_SWITCH'].fields_by_name['rack_id']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
66
+ _globals['_SWITCH'].fields_by_name['rack']._loaded_options = None
67
+ _globals['_SWITCH'].fields_by_name['rack']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
68
68
  _globals['_SWITCH'].fields_by_name['partition']._loaded_options = None
69
69
  _globals['_SWITCH'].fields_by_name['partition']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
70
70
  _globals['_SWITCH'].fields_by_name['replace_mode']._loaded_options = None
@@ -103,22 +103,22 @@ if not _descriptor._USE_C_DESCRIPTORS:
103
103
  _globals['_SWITCHBGPPORTSTATE'].fields_by_name['vrf_name']._serialized_options = b'\272H\007r\005\020\002\030\200\001'
104
104
  _globals['_SWITCHBGPPORTSTATE'].fields_by_name['bgp_state']._loaded_options = None
105
105
  _globals['_SWITCHBGPPORTSTATE'].fields_by_name['bgp_state']._serialized_options = b'\272H\005\202\001\002\020\001'
106
- _globals['_BGPSTATE']._serialized_start=1809
107
- _globals['_BGPSTATE']._serialized_end=2076
108
- _globals['_SWITCHREPLACEMODE']._serialized_start=2079
109
- _globals['_SWITCHREPLACEMODE']._serialized_end=2235
110
- _globals['_SWITCHOSVENDOR']._serialized_start=2238
111
- _globals['_SWITCHOSVENDOR']._serialized_end=2370
112
- _globals['_SWITCHPORTSTATUS']._serialized_start=2373
113
- _globals['_SWITCHPORTSTATUS']._serialized_end=2501
106
+ _globals['_BGPSTATE']._serialized_start=1801
107
+ _globals['_BGPSTATE']._serialized_end=2068
108
+ _globals['_SWITCHREPLACEMODE']._serialized_start=2071
109
+ _globals['_SWITCHREPLACEMODE']._serialized_end=2227
110
+ _globals['_SWITCHOSVENDOR']._serialized_start=2230
111
+ _globals['_SWITCHOSVENDOR']._serialized_end=2362
112
+ _globals['_SWITCHPORTSTATUS']._serialized_start=2365
113
+ _globals['_SWITCHPORTSTATUS']._serialized_end=2493
114
114
  _globals['_SWITCH']._serialized_start=147
115
- _globals['_SWITCH']._serialized_end=625
116
- _globals['_SWITCHOS']._serialized_start=628
117
- _globals['_SWITCHOS']._serialized_end=803
118
- _globals['_SWITCHNIC']._serialized_start=806
119
- _globals['_SWITCHNIC']._serialized_end=1256
120
- _globals['_BGPFILTER']._serialized_start=1259
121
- _globals['_BGPFILTER']._serialized_end=1405
122
- _globals['_SWITCHBGPPORTSTATE']._serialized_start=1408
123
- _globals['_SWITCHBGPPORTSTATE']._serialized_end=1806
115
+ _globals['_SWITCH']._serialized_end=617
116
+ _globals['_SWITCHOS']._serialized_start=620
117
+ _globals['_SWITCHOS']._serialized_end=795
118
+ _globals['_SWITCHNIC']._serialized_start=798
119
+ _globals['_SWITCHNIC']._serialized_end=1248
120
+ _globals['_BGPFILTER']._serialized_start=1251
121
+ _globals['_BGPFILTER']._serialized_end=1397
122
+ _globals['_SWITCHBGPPORTSTATE']._serialized_start=1400
123
+ _globals['_SWITCHBGPPORTSTATE']._serialized_end=1798
124
124
  # @@protoc_insertion_point(module_scope)
@@ -57,10 +57,10 @@ SWITCH_PORT_STATUS_UP: SwitchPortStatus
57
57
  SWITCH_PORT_STATUS_DOWN: SwitchPortStatus
58
58
 
59
59
  class Switch(_message.Message):
60
- __slots__ = ("id", "description", "rack_id", "partition", "replace_mode", "management_ip", "management_user", "console_command", "switch_nics")
60
+ __slots__ = ("id", "description", "rack", "partition", "replace_mode", "management_ip", "management_user", "console_command", "switch_nics")
61
61
  ID_FIELD_NUMBER: _ClassVar[int]
62
62
  DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
63
- RACK_ID_FIELD_NUMBER: _ClassVar[int]
63
+ RACK_FIELD_NUMBER: _ClassVar[int]
64
64
  PARTITION_FIELD_NUMBER: _ClassVar[int]
65
65
  REPLACE_MODE_FIELD_NUMBER: _ClassVar[int]
66
66
  MANAGEMENT_IP_FIELD_NUMBER: _ClassVar[int]
@@ -69,14 +69,14 @@ class Switch(_message.Message):
69
69
  SWITCH_NICS_FIELD_NUMBER: _ClassVar[int]
70
70
  id: str
71
71
  description: str
72
- rack_id: str
72
+ rack: str
73
73
  partition: str
74
74
  replace_mode: SwitchReplaceMode
75
75
  management_ip: str
76
76
  management_user: str
77
77
  console_command: str
78
78
  switch_nics: _containers.RepeatedCompositeFieldContainer[SwitchNic]
79
- def __init__(self, id: _Optional[str] = ..., description: _Optional[str] = ..., rack_id: _Optional[str] = ..., partition: _Optional[str] = ..., replace_mode: _Optional[_Union[SwitchReplaceMode, str]] = ..., management_ip: _Optional[str] = ..., management_user: _Optional[str] = ..., console_command: _Optional[str] = ..., switch_nics: _Optional[_Iterable[_Union[SwitchNic, _Mapping]]] = ...) -> None: ...
79
+ def __init__(self, id: _Optional[str] = ..., description: _Optional[str] = ..., rack: _Optional[str] = ..., partition: _Optional[str] = ..., replace_mode: _Optional[_Union[SwitchReplaceMode, str]] = ..., management_ip: _Optional[str] = ..., management_user: _Optional[str] = ..., console_command: _Optional[str] = ..., switch_nics: _Optional[_Iterable[_Union[SwitchNic, _Mapping]]] = ...) -> None: ...
80
80
 
81
81
  class SwitchOS(_message.Message):
82
82
  __slots__ = ("vendor", "version", "metal_core_version")