@@ -8612,6 +8612,13 @@ NetworkServiceAddExternalMemberRequest is the request payload for adding an external member to a network.
@@ -14576,11 +14583,17 @@ NetworkServi
- | switch_ports |
- metalstack.api.v2.ExternalNetworkMember |
+ rack |
+ string |
+ |
+ Rack the members are connected to. |
+
+
+
+ | ports |
+ string |
repeated |
- SwitchPorts contains the ports of a switch that should be added to the network.
-Make sure to add both switches of a rack and the same ports of both in the same request. |
+ Ports of the switches to add to the network. |
@@ -14590,7 +14603,7 @@ NetworkServi
- NetworkServiceAddExternalMemberResponse
+ NetworkServiceAddExternalMembersResponse
NetworkServiceAddExternalMemberResponse is the response payload for adding an external member to a network.
@@ -14601,10 +14614,10 @@ NetworkServ
- | switch |
+ switches |
metalstack.api.v2.Switch |
- |
- Switch contains the updated switch. |
+ repeated |
+ Switch contains the updated switches. |
@@ -14973,7 +14986,7 @@ NetworkServiceListRespon
- NetworkServiceRemoveExternalMemberRequest
+ NetworkServiceRemoveExternalMembersRequest
NetworkServiceRemoveExternalMemberRequest is the request payload for removing an external member from a network.
@@ -14991,10 +15004,17 @@ NetworkSe
- | switch_ports |
- metalstack.api.v2.ExternalNetworkMember |
+ rack |
+ string |
+ |
+ Rack the members are connected to. |
+
+
+
+ | ports |
+ string |
repeated |
- SwitchPorts contains the ports of a switch that should be removed from the network. |
+ Ports of the switches to remove from the network. |
@@ -15004,7 +15024,7 @@ NetworkSe
- NetworkServiceRemoveExternalMemberResponse
+ NetworkServiceRemoveExternalMembersResponse
NetworkServiceRemoveExternalMemberResponse is the response payload for removing an external member from a network.
@@ -15015,10 +15035,10 @@ NetworkS
- | switch |
+ switches |
metalstack.api.v2.Switch |
- |
- Switch contains the updated switch. |
+ repeated |
+ Switch contains the updated switches. |
@@ -15210,16 +15230,16 @@ NetworkService
- | AddExternalMember |
- NetworkServiceAddExternalMemberRequest |
- NetworkServiceAddExternalMemberResponse |
+ AddExternalMembers |
+ NetworkServiceAddExternalMembersRequest |
+ NetworkServiceAddExternalMembersResponse |
Adds an external member to a network. |
- | RemoveExternalMember |
- NetworkServiceRemoveExternalMemberRequest |
- NetworkServiceRemoveExternalMemberResponse |
+ RemoveExternalMembers |
+ NetworkServiceRemoveExternalMembersRequest |
+ NetworkServiceRemoveExternalMembersResponse |
Removes an external member from a network. |
diff --git a/go/metalstack/admin/v2/adminv2connect/network.connect.go b/go/metalstack/admin/v2/adminv2connect/network.connect.go
index 7a45c08a..da813153 100644
--- a/go/metalstack/admin/v2/adminv2connect/network.connect.go
+++ b/go/metalstack/admin/v2/adminv2connect/network.connect.go
@@ -46,12 +46,12 @@ const (
// NetworkServiceListExternalMembersProcedure is the fully-qualified name of the NetworkService's
// ListExternalMembers RPC.
NetworkServiceListExternalMembersProcedure = "/metalstack.admin.v2.NetworkService/ListExternalMembers"
- // NetworkServiceAddExternalMemberProcedure is the fully-qualified name of the NetworkService's
- // AddExternalMember RPC.
- NetworkServiceAddExternalMemberProcedure = "/metalstack.admin.v2.NetworkService/AddExternalMember"
- // NetworkServiceRemoveExternalMemberProcedure is the fully-qualified name of the NetworkService's
- // RemoveExternalMember RPC.
- NetworkServiceRemoveExternalMemberProcedure = "/metalstack.admin.v2.NetworkService/RemoveExternalMember"
+ // NetworkServiceAddExternalMembersProcedure is the fully-qualified name of the NetworkService's
+ // AddExternalMembers RPC.
+ NetworkServiceAddExternalMembersProcedure = "/metalstack.admin.v2.NetworkService/AddExternalMembers"
+ // NetworkServiceRemoveExternalMembersProcedure is the fully-qualified name of the NetworkService's
+ // RemoveExternalMembers RPC.
+ NetworkServiceRemoveExternalMembersProcedure = "/metalstack.admin.v2.NetworkService/RemoveExternalMembers"
)
// NetworkServiceClient is a client for the metalstack.admin.v2.NetworkService service.
@@ -69,9 +69,9 @@ type NetworkServiceClient interface {
// Lists external members of a network.
ListExternalMembers(context.Context, *v2.NetworkServiceListExternalMembersRequest) (*v2.NetworkServiceListExternalMembersResponse, error)
// Adds an external member to a network.
- AddExternalMember(context.Context, *v2.NetworkServiceAddExternalMemberRequest) (*v2.NetworkServiceAddExternalMemberResponse, error)
+ AddExternalMembers(context.Context, *v2.NetworkServiceAddExternalMembersRequest) (*v2.NetworkServiceAddExternalMembersResponse, error)
// Removes an external member from a network.
- RemoveExternalMember(context.Context, *v2.NetworkServiceRemoveExternalMemberRequest) (*v2.NetworkServiceRemoveExternalMemberResponse, error)
+ RemoveExternalMembers(context.Context, *v2.NetworkServiceRemoveExternalMembersRequest) (*v2.NetworkServiceRemoveExternalMembersResponse, error)
}
// NewNetworkServiceClient constructs a client for the metalstack.admin.v2.NetworkService service.
@@ -121,16 +121,16 @@ func NewNetworkServiceClient(httpClient connect.HTTPClient, baseURL string, opts
connect.WithSchema(networkServiceMethods.ByName("ListExternalMembers")),
connect.WithClientOptions(opts...),
),
- addExternalMember: connect.NewClient[v2.NetworkServiceAddExternalMemberRequest, v2.NetworkServiceAddExternalMemberResponse](
+ addExternalMembers: connect.NewClient[v2.NetworkServiceAddExternalMembersRequest, v2.NetworkServiceAddExternalMembersResponse](
httpClient,
- baseURL+NetworkServiceAddExternalMemberProcedure,
- connect.WithSchema(networkServiceMethods.ByName("AddExternalMember")),
+ baseURL+NetworkServiceAddExternalMembersProcedure,
+ connect.WithSchema(networkServiceMethods.ByName("AddExternalMembers")),
connect.WithClientOptions(opts...),
),
- removeExternalMember: connect.NewClient[v2.NetworkServiceRemoveExternalMemberRequest, v2.NetworkServiceRemoveExternalMemberResponse](
+ removeExternalMembers: connect.NewClient[v2.NetworkServiceRemoveExternalMembersRequest, v2.NetworkServiceRemoveExternalMembersResponse](
httpClient,
- baseURL+NetworkServiceRemoveExternalMemberProcedure,
- connect.WithSchema(networkServiceMethods.ByName("RemoveExternalMember")),
+ baseURL+NetworkServiceRemoveExternalMembersProcedure,
+ connect.WithSchema(networkServiceMethods.ByName("RemoveExternalMembers")),
connect.WithClientOptions(opts...),
),
}
@@ -138,14 +138,14 @@ func NewNetworkServiceClient(httpClient connect.HTTPClient, baseURL string, opts
// networkServiceClient implements NetworkServiceClient.
type networkServiceClient struct {
- get *connect.Client[v2.NetworkServiceGetRequest, v2.NetworkServiceGetResponse]
- create *connect.Client[v2.NetworkServiceCreateRequest, v2.NetworkServiceCreateResponse]
- update *connect.Client[v2.NetworkServiceUpdateRequest, v2.NetworkServiceUpdateResponse]
- delete *connect.Client[v2.NetworkServiceDeleteRequest, v2.NetworkServiceDeleteResponse]
- list *connect.Client[v2.NetworkServiceListRequest, v2.NetworkServiceListResponse]
- listExternalMembers *connect.Client[v2.NetworkServiceListExternalMembersRequest, v2.NetworkServiceListExternalMembersResponse]
- addExternalMember *connect.Client[v2.NetworkServiceAddExternalMemberRequest, v2.NetworkServiceAddExternalMemberResponse]
- removeExternalMember *connect.Client[v2.NetworkServiceRemoveExternalMemberRequest, v2.NetworkServiceRemoveExternalMemberResponse]
+ get *connect.Client[v2.NetworkServiceGetRequest, v2.NetworkServiceGetResponse]
+ create *connect.Client[v2.NetworkServiceCreateRequest, v2.NetworkServiceCreateResponse]
+ update *connect.Client[v2.NetworkServiceUpdateRequest, v2.NetworkServiceUpdateResponse]
+ delete *connect.Client[v2.NetworkServiceDeleteRequest, v2.NetworkServiceDeleteResponse]
+ list *connect.Client[v2.NetworkServiceListRequest, v2.NetworkServiceListResponse]
+ listExternalMembers *connect.Client[v2.NetworkServiceListExternalMembersRequest, v2.NetworkServiceListExternalMembersResponse]
+ addExternalMembers *connect.Client[v2.NetworkServiceAddExternalMembersRequest, v2.NetworkServiceAddExternalMembersResponse]
+ removeExternalMembers *connect.Client[v2.NetworkServiceRemoveExternalMembersRequest, v2.NetworkServiceRemoveExternalMembersResponse]
}
// Get calls metalstack.admin.v2.NetworkService.Get.
@@ -202,18 +202,18 @@ func (c *networkServiceClient) ListExternalMembers(ctx context.Context, req *v2.
return nil, err
}
-// AddExternalMember calls metalstack.admin.v2.NetworkService.AddExternalMember.
-func (c *networkServiceClient) AddExternalMember(ctx context.Context, req *v2.NetworkServiceAddExternalMemberRequest) (*v2.NetworkServiceAddExternalMemberResponse, error) {
- response, err := c.addExternalMember.CallUnary(ctx, connect.NewRequest(req))
+// AddExternalMembers calls metalstack.admin.v2.NetworkService.AddExternalMembers.
+func (c *networkServiceClient) AddExternalMembers(ctx context.Context, req *v2.NetworkServiceAddExternalMembersRequest) (*v2.NetworkServiceAddExternalMembersResponse, error) {
+ response, err := c.addExternalMembers.CallUnary(ctx, connect.NewRequest(req))
if response != nil {
return response.Msg, err
}
return nil, err
}
-// RemoveExternalMember calls metalstack.admin.v2.NetworkService.RemoveExternalMember.
-func (c *networkServiceClient) RemoveExternalMember(ctx context.Context, req *v2.NetworkServiceRemoveExternalMemberRequest) (*v2.NetworkServiceRemoveExternalMemberResponse, error) {
- response, err := c.removeExternalMember.CallUnary(ctx, connect.NewRequest(req))
+// RemoveExternalMembers calls metalstack.admin.v2.NetworkService.RemoveExternalMembers.
+func (c *networkServiceClient) RemoveExternalMembers(ctx context.Context, req *v2.NetworkServiceRemoveExternalMembersRequest) (*v2.NetworkServiceRemoveExternalMembersResponse, error) {
+ response, err := c.removeExternalMembers.CallUnary(ctx, connect.NewRequest(req))
if response != nil {
return response.Msg, err
}
@@ -235,9 +235,9 @@ type NetworkServiceHandler interface {
// Lists external members of a network.
ListExternalMembers(context.Context, *v2.NetworkServiceListExternalMembersRequest) (*v2.NetworkServiceListExternalMembersResponse, error)
// Adds an external member to a network.
- AddExternalMember(context.Context, *v2.NetworkServiceAddExternalMemberRequest) (*v2.NetworkServiceAddExternalMemberResponse, error)
+ AddExternalMembers(context.Context, *v2.NetworkServiceAddExternalMembersRequest) (*v2.NetworkServiceAddExternalMembersResponse, error)
// Removes an external member from a network.
- RemoveExternalMember(context.Context, *v2.NetworkServiceRemoveExternalMemberRequest) (*v2.NetworkServiceRemoveExternalMemberResponse, error)
+ RemoveExternalMembers(context.Context, *v2.NetworkServiceRemoveExternalMembersRequest) (*v2.NetworkServiceRemoveExternalMembersResponse, error)
}
// NewNetworkServiceHandler builds an HTTP handler from the service implementation. It returns the
@@ -283,16 +283,16 @@ func NewNetworkServiceHandler(svc NetworkServiceHandler, opts ...connect.Handler
connect.WithSchema(networkServiceMethods.ByName("ListExternalMembers")),
connect.WithHandlerOptions(opts...),
)
- networkServiceAddExternalMemberHandler := connect.NewUnaryHandlerSimple(
- NetworkServiceAddExternalMemberProcedure,
- svc.AddExternalMember,
- connect.WithSchema(networkServiceMethods.ByName("AddExternalMember")),
+ networkServiceAddExternalMembersHandler := connect.NewUnaryHandlerSimple(
+ NetworkServiceAddExternalMembersProcedure,
+ svc.AddExternalMembers,
+ connect.WithSchema(networkServiceMethods.ByName("AddExternalMembers")),
connect.WithHandlerOptions(opts...),
)
- networkServiceRemoveExternalMemberHandler := connect.NewUnaryHandlerSimple(
- NetworkServiceRemoveExternalMemberProcedure,
- svc.RemoveExternalMember,
- connect.WithSchema(networkServiceMethods.ByName("RemoveExternalMember")),
+ networkServiceRemoveExternalMembersHandler := connect.NewUnaryHandlerSimple(
+ NetworkServiceRemoveExternalMembersProcedure,
+ svc.RemoveExternalMembers,
+ connect.WithSchema(networkServiceMethods.ByName("RemoveExternalMembers")),
connect.WithHandlerOptions(opts...),
)
return "/metalstack.admin.v2.NetworkService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -309,10 +309,10 @@ func NewNetworkServiceHandler(svc NetworkServiceHandler, opts ...connect.Handler
networkServiceListHandler.ServeHTTP(w, r)
case NetworkServiceListExternalMembersProcedure:
networkServiceListExternalMembersHandler.ServeHTTP(w, r)
- case NetworkServiceAddExternalMemberProcedure:
- networkServiceAddExternalMemberHandler.ServeHTTP(w, r)
- case NetworkServiceRemoveExternalMemberProcedure:
- networkServiceRemoveExternalMemberHandler.ServeHTTP(w, r)
+ case NetworkServiceAddExternalMembersProcedure:
+ networkServiceAddExternalMembersHandler.ServeHTTP(w, r)
+ case NetworkServiceRemoveExternalMembersProcedure:
+ networkServiceRemoveExternalMembersHandler.ServeHTTP(w, r)
default:
http.NotFound(w, r)
}
@@ -346,10 +346,10 @@ func (UnimplementedNetworkServiceHandler) ListExternalMembers(context.Context, *
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.NetworkService.ListExternalMembers is not implemented"))
}
-func (UnimplementedNetworkServiceHandler) AddExternalMember(context.Context, *v2.NetworkServiceAddExternalMemberRequest) (*v2.NetworkServiceAddExternalMemberResponse, error) {
- return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.NetworkService.AddExternalMember is not implemented"))
+func (UnimplementedNetworkServiceHandler) AddExternalMembers(context.Context, *v2.NetworkServiceAddExternalMembersRequest) (*v2.NetworkServiceAddExternalMembersResponse, error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.NetworkService.AddExternalMembers is not implemented"))
}
-func (UnimplementedNetworkServiceHandler) RemoveExternalMember(context.Context, *v2.NetworkServiceRemoveExternalMemberRequest) (*v2.NetworkServiceRemoveExternalMemberResponse, error) {
- return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.NetworkService.RemoveExternalMember is not implemented"))
+func (UnimplementedNetworkServiceHandler) RemoveExternalMembers(context.Context, *v2.NetworkServiceRemoveExternalMembersRequest) (*v2.NetworkServiceRemoveExternalMembersResponse, error) {
+ return nil, connect.NewError(connect.CodeUnimplemented, errors.New("metalstack.admin.v2.NetworkService.RemoveExternalMembers is not implemented"))
}
diff --git a/go/metalstack/admin/v2/network.pb.go b/go/metalstack/admin/v2/network.pb.go
index 2df52560..0035b979 100644
--- a/go/metalstack/admin/v2/network.pb.go
+++ b/go/metalstack/admin/v2/network.pb.go
@@ -598,31 +598,32 @@ func (x *NetworkServiceListExternalMembersRequest) GetQuery() *v2.ExternalNetwor
}
// NetworkServiceAddExternalMemberRequest is the request payload for adding an external member to a network.
-type NetworkServiceAddExternalMemberRequest struct {
+type NetworkServiceAddExternalMembersRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Network to add the member to.
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
- // SwitchPorts contains the ports of a switch that should be added to the network.
- // Make sure to add both switches of a rack and the same ports of both in the same request.
- SwitchPorts []*v2.ExternalNetworkMember `protobuf:"bytes,2,rep,name=switch_ports,json=switchPorts,proto3" json:"switch_ports,omitempty"`
+ // Rack the members are connected to.
+ Rack string `protobuf:"bytes,2,opt,name=rack,proto3" json:"rack,omitempty"`
+ // Ports of the switches to add to the network.
+ Ports []string `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *NetworkServiceAddExternalMemberRequest) Reset() {
- *x = NetworkServiceAddExternalMemberRequest{}
+func (x *NetworkServiceAddExternalMembersRequest) Reset() {
+ *x = NetworkServiceAddExternalMembersRequest{}
mi := &file_metalstack_admin_v2_network_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *NetworkServiceAddExternalMemberRequest) String() string {
+func (x *NetworkServiceAddExternalMembersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*NetworkServiceAddExternalMemberRequest) ProtoMessage() {}
+func (*NetworkServiceAddExternalMembersRequest) ProtoMessage() {}
-func (x *NetworkServiceAddExternalMemberRequest) ProtoReflect() protoreflect.Message {
+func (x *NetworkServiceAddExternalMembersRequest) ProtoReflect() protoreflect.Message {
mi := &file_metalstack_admin_v2_network_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -634,50 +635,59 @@ func (x *NetworkServiceAddExternalMemberRequest) ProtoReflect() protoreflect.Mes
return mi.MessageOf(x)
}
-// Deprecated: Use NetworkServiceAddExternalMemberRequest.ProtoReflect.Descriptor instead.
-func (*NetworkServiceAddExternalMemberRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use NetworkServiceAddExternalMembersRequest.ProtoReflect.Descriptor instead.
+func (*NetworkServiceAddExternalMembersRequest) Descriptor() ([]byte, []int) {
return file_metalstack_admin_v2_network_proto_rawDescGZIP(), []int{7}
}
-func (x *NetworkServiceAddExternalMemberRequest) GetNetwork() string {
+func (x *NetworkServiceAddExternalMembersRequest) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
-func (x *NetworkServiceAddExternalMemberRequest) GetSwitchPorts() []*v2.ExternalNetworkMember {
+func (x *NetworkServiceAddExternalMembersRequest) GetRack() string {
if x != nil {
- return x.SwitchPorts
+ return x.Rack
+ }
+ return ""
+}
+
+func (x *NetworkServiceAddExternalMembersRequest) GetPorts() []string {
+ if x != nil {
+ return x.Ports
}
return nil
}
// NetworkServiceRemoveExternalMemberRequest is the request payload for removing an external member from a network.
-type NetworkServiceRemoveExternalMemberRequest struct {
+type NetworkServiceRemoveExternalMembersRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Network to remove the member from.
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
- // SwitchPorts contains the ports of a switch that should be removed from the network.
- SwitchPorts []*v2.ExternalNetworkMember `protobuf:"bytes,2,rep,name=switch_ports,json=switchPorts,proto3" json:"switch_ports,omitempty"`
+ // Rack the members are connected to.
+ Rack string `protobuf:"bytes,2,opt,name=rack,proto3" json:"rack,omitempty"`
+ // Ports of the switches to remove from the network.
+ Ports []string `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *NetworkServiceRemoveExternalMemberRequest) Reset() {
- *x = NetworkServiceRemoveExternalMemberRequest{}
+func (x *NetworkServiceRemoveExternalMembersRequest) Reset() {
+ *x = NetworkServiceRemoveExternalMembersRequest{}
mi := &file_metalstack_admin_v2_network_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *NetworkServiceRemoveExternalMemberRequest) String() string {
+func (x *NetworkServiceRemoveExternalMembersRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*NetworkServiceRemoveExternalMemberRequest) ProtoMessage() {}
+func (*NetworkServiceRemoveExternalMembersRequest) ProtoMessage() {}
-func (x *NetworkServiceRemoveExternalMemberRequest) ProtoReflect() protoreflect.Message {
+func (x *NetworkServiceRemoveExternalMembersRequest) ProtoReflect() protoreflect.Message {
mi := &file_metalstack_admin_v2_network_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -689,21 +699,28 @@ func (x *NetworkServiceRemoveExternalMemberRequest) ProtoReflect() protoreflect.
return mi.MessageOf(x)
}
-// Deprecated: Use NetworkServiceRemoveExternalMemberRequest.ProtoReflect.Descriptor instead.
-func (*NetworkServiceRemoveExternalMemberRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use NetworkServiceRemoveExternalMembersRequest.ProtoReflect.Descriptor instead.
+func (*NetworkServiceRemoveExternalMembersRequest) Descriptor() ([]byte, []int) {
return file_metalstack_admin_v2_network_proto_rawDescGZIP(), []int{8}
}
-func (x *NetworkServiceRemoveExternalMemberRequest) GetNetwork() string {
+func (x *NetworkServiceRemoveExternalMembersRequest) GetNetwork() string {
if x != nil {
return x.Network
}
return ""
}
-func (x *NetworkServiceRemoveExternalMemberRequest) GetSwitchPorts() []*v2.ExternalNetworkMember {
+func (x *NetworkServiceRemoveExternalMembersRequest) GetRack() string {
+ if x != nil {
+ return x.Rack
+ }
+ return ""
+}
+
+func (x *NetworkServiceRemoveExternalMembersRequest) GetPorts() []string {
if x != nil {
- return x.SwitchPorts
+ return x.Ports
}
return nil
}
@@ -939,28 +956,28 @@ func (x *NetworkServiceListExternalMembersResponse) GetMembers() []*v2.ExternalN
}
// NetworkServiceAddExternalMemberResponse is the response payload for adding an external member to a network.
-type NetworkServiceAddExternalMemberResponse struct {
+type NetworkServiceAddExternalMembersResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
- // Switch contains the updated switch.
- Switch *v2.Switch `protobuf:"bytes,1,opt,name=switch,proto3" json:"switch,omitempty"`
+ // Switch contains the updated switches.
+ Switches []*v2.Switch `protobuf:"bytes,1,rep,name=switches,proto3" json:"switches,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *NetworkServiceAddExternalMemberResponse) Reset() {
- *x = NetworkServiceAddExternalMemberResponse{}
+func (x *NetworkServiceAddExternalMembersResponse) Reset() {
+ *x = NetworkServiceAddExternalMembersResponse{}
mi := &file_metalstack_admin_v2_network_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *NetworkServiceAddExternalMemberResponse) String() string {
+func (x *NetworkServiceAddExternalMembersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*NetworkServiceAddExternalMemberResponse) ProtoMessage() {}
+func (*NetworkServiceAddExternalMembersResponse) ProtoMessage() {}
-func (x *NetworkServiceAddExternalMemberResponse) ProtoReflect() protoreflect.Message {
+func (x *NetworkServiceAddExternalMembersResponse) ProtoReflect() protoreflect.Message {
mi := &file_metalstack_admin_v2_network_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -972,41 +989,41 @@ func (x *NetworkServiceAddExternalMemberResponse) ProtoReflect() protoreflect.Me
return mi.MessageOf(x)
}
-// Deprecated: Use NetworkServiceAddExternalMemberResponse.ProtoReflect.Descriptor instead.
-func (*NetworkServiceAddExternalMemberResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use NetworkServiceAddExternalMembersResponse.ProtoReflect.Descriptor instead.
+func (*NetworkServiceAddExternalMembersResponse) Descriptor() ([]byte, []int) {
return file_metalstack_admin_v2_network_proto_rawDescGZIP(), []int{14}
}
-func (x *NetworkServiceAddExternalMemberResponse) GetSwitch() *v2.Switch {
+func (x *NetworkServiceAddExternalMembersResponse) GetSwitches() []*v2.Switch {
if x != nil {
- return x.Switch
+ return x.Switches
}
return nil
}
// NetworkServiceRemoveExternalMemberResponse is the response payload for removing an external member from a network.
-type NetworkServiceRemoveExternalMemberResponse struct {
+type NetworkServiceRemoveExternalMembersResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
- // Switch contains the updated switch.
- Switch *v2.Switch `protobuf:"bytes,1,opt,name=switch,proto3" json:"switch,omitempty"`
+ // Switch contains the updated switches.
+ Switches []*v2.Switch `protobuf:"bytes,1,rep,name=switches,proto3" json:"switches,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *NetworkServiceRemoveExternalMemberResponse) Reset() {
- *x = NetworkServiceRemoveExternalMemberResponse{}
+func (x *NetworkServiceRemoveExternalMembersResponse) Reset() {
+ *x = NetworkServiceRemoveExternalMembersResponse{}
mi := &file_metalstack_admin_v2_network_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *NetworkServiceRemoveExternalMemberResponse) String() string {
+func (x *NetworkServiceRemoveExternalMembersResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*NetworkServiceRemoveExternalMemberResponse) ProtoMessage() {}
+func (*NetworkServiceRemoveExternalMembersResponse) ProtoMessage() {}
-func (x *NetworkServiceRemoveExternalMemberResponse) ProtoReflect() protoreflect.Message {
+func (x *NetworkServiceRemoveExternalMembersResponse) ProtoReflect() protoreflect.Message {
mi := &file_metalstack_admin_v2_network_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -1018,14 +1035,14 @@ func (x *NetworkServiceRemoveExternalMemberResponse) ProtoReflect() protoreflect
return mi.MessageOf(x)
}
-// Deprecated: Use NetworkServiceRemoveExternalMemberResponse.ProtoReflect.Descriptor instead.
-func (*NetworkServiceRemoveExternalMemberResponse) Descriptor() ([]byte, []int) {
+// Deprecated: Use NetworkServiceRemoveExternalMembersResponse.ProtoReflect.Descriptor instead.
+func (*NetworkServiceRemoveExternalMembersResponse) Descriptor() ([]byte, []int) {
return file_metalstack_admin_v2_network_proto_rawDescGZIP(), []int{15}
}
-func (x *NetworkServiceRemoveExternalMemberResponse) GetSwitch() *v2.Switch {
+func (x *NetworkServiceRemoveExternalMembersResponse) GetSwitches() []*v2.Switch {
if x != nil {
- return x.Switch
+ return x.Switches
}
return nil
}
@@ -1099,13 +1116,15 @@ const file_metalstack_admin_v2_network_proto_rawDesc = "" +
"\x05query\x18\x01 \x01(\v2\x1f.metalstack.api.v2.NetworkQueryR\x05query\"\x96\x01\n" +
"(NetworkServiceListExternalMembersRequest\x12%\n" +
"\anetwork\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\anetwork\x12C\n" +
- "\x05query\x18\x02 \x01(\v2-.metalstack.api.v2.ExternalNetworkMemberQueryR\x05query\"\xa6\x01\n" +
- "&NetworkServiceAddExternalMemberRequest\x12%\n" +
- "\anetwork\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\anetwork\x12U\n" +
- "\fswitch_ports\x18\x02 \x03(\v2(.metalstack.api.v2.ExternalNetworkMemberB\b\xbaH\x05\x92\x01\x02\x10\bR\vswitchPorts\"\xa9\x01\n" +
- ")NetworkServiceRemoveExternalMemberRequest\x12%\n" +
- "\anetwork\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\anetwork\x12U\n" +
- "\fswitch_ports\x18\x02 \x03(\v2(.metalstack.api.v2.ExternalNetworkMemberB\b\xbaH\x05\x92\x01\x02\x10\bR\vswitchPorts\"T\n" +
+ "\x05query\x18\x02 \x01(\v2-.metalstack.api.v2.ExternalNetworkMemberQueryR\x05query\"\x98\x01\n" +
+ "'NetworkServiceAddExternalMembersRequest\x12%\n" +
+ "\anetwork\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\anetwork\x12\x1f\n" +
+ "\x04rack\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04rack\x12%\n" +
+ "\x05ports\x18\x03 \x03(\tB\x0f\xbaH\f\x92\x01\tФ\xb3\xb1\x02\x01\x10\x80\x10R\x05ports\"\x9b\x01\n" +
+ "*NetworkServiceRemoveExternalMembersRequest\x12%\n" +
+ "\anetwork\x18\x01 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\anetwork\x12\x1f\n" +
+ "\x04rack\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01R\x04rack\x12%\n" +
+ "\x05ports\x18\x03 \x03(\tB\x0f\xbaH\f\x92\x01\tФ\xb3\xb1\x02\x01\x10\x80\x10R\x05ports\"T\n" +
"\x1cNetworkServiceCreateResponse\x124\n" +
"\anetwork\x18\x01 \x01(\v2\x1a.metalstack.api.v2.NetworkR\anetwork\"T\n" +
"\x1cNetworkServiceUpdateResponse\x124\n" +
@@ -1115,11 +1134,11 @@ const file_metalstack_admin_v2_network_proto_rawDesc = "" +
"\x1aNetworkServiceListResponse\x126\n" +
"\bnetworks\x18\x01 \x03(\v2\x1a.metalstack.api.v2.NetworkR\bnetworks\"o\n" +
")NetworkServiceListExternalMembersResponse\x12B\n" +
- "\amembers\x18\x01 \x03(\v2(.metalstack.api.v2.ExternalNetworkMemberR\amembers\"\\\n" +
- "'NetworkServiceAddExternalMemberResponse\x121\n" +
- "\x06switch\x18\x01 \x01(\v2\x19.metalstack.api.v2.SwitchR\x06switch\"_\n" +
- "*NetworkServiceRemoveExternalMemberResponse\x121\n" +
- "\x06switch\x18\x01 \x01(\v2\x19.metalstack.api.v2.SwitchR\x06switch2\xc9\b\n" +
+ "\amembers\x18\x01 \x03(\v2(.metalstack.api.v2.ExternalNetworkMemberR\amembers\"a\n" +
+ "(NetworkServiceAddExternalMembersResponse\x125\n" +
+ "\bswitches\x18\x01 \x03(\v2\x19.metalstack.api.v2.SwitchR\bswitches\"d\n" +
+ "+NetworkServiceRemoveExternalMembersResponse\x125\n" +
+ "\bswitches\x18\x01 \x03(\v2\x19.metalstack.api.v2.SwitchR\bswitches2\xcf\b\n" +
"\x0eNetworkService\x12p\n" +
"\x03Get\x12-.metalstack.admin.v2.NetworkServiceGetRequest\x1a..metalstack.admin.v2.NetworkServiceGetResponse\"\n" +
"\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n" +
@@ -1129,9 +1148,9 @@ const file_metalstack_admin_v2_network_proto_rawDesc = "" +
"\x04List\x12..metalstack.admin.v2.NetworkServiceListRequest\x1a/.metalstack.admin.v2.NetworkServiceListResponse\"\n" +
"\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\xa0\x01\n" +
"\x13ListExternalMembers\x12=.metalstack.admin.v2.NetworkServiceListExternalMembersRequest\x1a>.metalstack.admin.v2.NetworkServiceListExternalMembersResponse\"\n" +
- "\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x99\x01\n" +
- "\x11AddExternalMember\x12;.metalstack.admin.v2.NetworkServiceAddExternalMemberRequest\x1a<.metalstack.admin.v2.NetworkServiceAddExternalMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\xa2\x01\n" +
- "\x14RemoveExternalMember\x12>.metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest\x1a?.metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01B\xd0\x01\n" +
+ "\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x9c\x01\n" +
+ "\x12AddExternalMembers\x12<.metalstack.admin.v2.NetworkServiceAddExternalMembersRequest\x1a=.metalstack.admin.v2.NetworkServiceAddExternalMembersResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\xa5\x01\n" +
+ "\x15RemoveExternalMembers\x12?.metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest\x1a@.metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01B\xd0\x01\n" +
"\x17com.metalstack.admin.v2B\fNetworkProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3"
var (
@@ -1148,34 +1167,34 @@ func file_metalstack_admin_v2_network_proto_rawDescGZIP() []byte {
var file_metalstack_admin_v2_network_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_metalstack_admin_v2_network_proto_goTypes = []any{
- (*NetworkServiceGetRequest)(nil), // 0: metalstack.admin.v2.NetworkServiceGetRequest
- (*NetworkServiceGetResponse)(nil), // 1: metalstack.admin.v2.NetworkServiceGetResponse
- (*NetworkServiceCreateRequest)(nil), // 2: metalstack.admin.v2.NetworkServiceCreateRequest
- (*NetworkServiceUpdateRequest)(nil), // 3: metalstack.admin.v2.NetworkServiceUpdateRequest
- (*NetworkServiceDeleteRequest)(nil), // 4: metalstack.admin.v2.NetworkServiceDeleteRequest
- (*NetworkServiceListRequest)(nil), // 5: metalstack.admin.v2.NetworkServiceListRequest
- (*NetworkServiceListExternalMembersRequest)(nil), // 6: metalstack.admin.v2.NetworkServiceListExternalMembersRequest
- (*NetworkServiceAddExternalMemberRequest)(nil), // 7: metalstack.admin.v2.NetworkServiceAddExternalMemberRequest
- (*NetworkServiceRemoveExternalMemberRequest)(nil), // 8: metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest
- (*NetworkServiceCreateResponse)(nil), // 9: metalstack.admin.v2.NetworkServiceCreateResponse
- (*NetworkServiceUpdateResponse)(nil), // 10: metalstack.admin.v2.NetworkServiceUpdateResponse
- (*NetworkServiceDeleteResponse)(nil), // 11: metalstack.admin.v2.NetworkServiceDeleteResponse
- (*NetworkServiceListResponse)(nil), // 12: metalstack.admin.v2.NetworkServiceListResponse
- (*NetworkServiceListExternalMembersResponse)(nil), // 13: metalstack.admin.v2.NetworkServiceListExternalMembersResponse
- (*NetworkServiceAddExternalMemberResponse)(nil), // 14: metalstack.admin.v2.NetworkServiceAddExternalMemberResponse
- (*NetworkServiceRemoveExternalMemberResponse)(nil), // 15: metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse
- (*v2.Network)(nil), // 16: metalstack.api.v2.Network
- (v2.NetworkType)(0), // 17: metalstack.api.v2.NetworkType
- (*v2.Labels)(nil), // 18: metalstack.api.v2.Labels
- (*v2.ChildPrefixLength)(nil), // 19: metalstack.api.v2.ChildPrefixLength
- (v2.NATType)(0), // 20: metalstack.api.v2.NATType
- (v2.NetworkAddressFamily)(0), // 21: metalstack.api.v2.NetworkAddressFamily
- (*v2.UpdateMeta)(nil), // 22: metalstack.api.v2.UpdateMeta
- (*v2.UpdateLabels)(nil), // 23: metalstack.api.v2.UpdateLabels
- (*v2.NetworkQuery)(nil), // 24: metalstack.api.v2.NetworkQuery
- (*v2.ExternalNetworkMemberQuery)(nil), // 25: metalstack.api.v2.ExternalNetworkMemberQuery
- (*v2.ExternalNetworkMember)(nil), // 26: metalstack.api.v2.ExternalNetworkMember
- (*v2.Switch)(nil), // 27: metalstack.api.v2.Switch
+ (*NetworkServiceGetRequest)(nil), // 0: metalstack.admin.v2.NetworkServiceGetRequest
+ (*NetworkServiceGetResponse)(nil), // 1: metalstack.admin.v2.NetworkServiceGetResponse
+ (*NetworkServiceCreateRequest)(nil), // 2: metalstack.admin.v2.NetworkServiceCreateRequest
+ (*NetworkServiceUpdateRequest)(nil), // 3: metalstack.admin.v2.NetworkServiceUpdateRequest
+ (*NetworkServiceDeleteRequest)(nil), // 4: metalstack.admin.v2.NetworkServiceDeleteRequest
+ (*NetworkServiceListRequest)(nil), // 5: metalstack.admin.v2.NetworkServiceListRequest
+ (*NetworkServiceListExternalMembersRequest)(nil), // 6: metalstack.admin.v2.NetworkServiceListExternalMembersRequest
+ (*NetworkServiceAddExternalMembersRequest)(nil), // 7: metalstack.admin.v2.NetworkServiceAddExternalMembersRequest
+ (*NetworkServiceRemoveExternalMembersRequest)(nil), // 8: metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest
+ (*NetworkServiceCreateResponse)(nil), // 9: metalstack.admin.v2.NetworkServiceCreateResponse
+ (*NetworkServiceUpdateResponse)(nil), // 10: metalstack.admin.v2.NetworkServiceUpdateResponse
+ (*NetworkServiceDeleteResponse)(nil), // 11: metalstack.admin.v2.NetworkServiceDeleteResponse
+ (*NetworkServiceListResponse)(nil), // 12: metalstack.admin.v2.NetworkServiceListResponse
+ (*NetworkServiceListExternalMembersResponse)(nil), // 13: metalstack.admin.v2.NetworkServiceListExternalMembersResponse
+ (*NetworkServiceAddExternalMembersResponse)(nil), // 14: metalstack.admin.v2.NetworkServiceAddExternalMembersResponse
+ (*NetworkServiceRemoveExternalMembersResponse)(nil), // 15: metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse
+ (*v2.Network)(nil), // 16: metalstack.api.v2.Network
+ (v2.NetworkType)(0), // 17: metalstack.api.v2.NetworkType
+ (*v2.Labels)(nil), // 18: metalstack.api.v2.Labels
+ (*v2.ChildPrefixLength)(nil), // 19: metalstack.api.v2.ChildPrefixLength
+ (v2.NATType)(0), // 20: metalstack.api.v2.NATType
+ (v2.NetworkAddressFamily)(0), // 21: metalstack.api.v2.NetworkAddressFamily
+ (*v2.UpdateMeta)(nil), // 22: metalstack.api.v2.UpdateMeta
+ (*v2.UpdateLabels)(nil), // 23: metalstack.api.v2.UpdateLabels
+ (*v2.NetworkQuery)(nil), // 24: metalstack.api.v2.NetworkQuery
+ (*v2.ExternalNetworkMemberQuery)(nil), // 25: metalstack.api.v2.ExternalNetworkMemberQuery
+ (*v2.ExternalNetworkMember)(nil), // 26: metalstack.api.v2.ExternalNetworkMember
+ (*v2.Switch)(nil), // 27: metalstack.api.v2.Switch
}
var file_metalstack_admin_v2_network_proto_depIdxs = []int32{
16, // 0: metalstack.admin.v2.NetworkServiceGetResponse.network:type_name -> metalstack.api.v2.Network
@@ -1193,36 +1212,34 @@ var file_metalstack_admin_v2_network_proto_depIdxs = []int32{
20, // 12: metalstack.admin.v2.NetworkServiceUpdateRequest.nat_type:type_name -> metalstack.api.v2.NATType
24, // 13: metalstack.admin.v2.NetworkServiceListRequest.query:type_name -> metalstack.api.v2.NetworkQuery
25, // 14: metalstack.admin.v2.NetworkServiceListExternalMembersRequest.query:type_name -> metalstack.api.v2.ExternalNetworkMemberQuery
- 26, // 15: metalstack.admin.v2.NetworkServiceAddExternalMemberRequest.switch_ports:type_name -> metalstack.api.v2.ExternalNetworkMember
- 26, // 16: metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest.switch_ports:type_name -> metalstack.api.v2.ExternalNetworkMember
- 16, // 17: metalstack.admin.v2.NetworkServiceCreateResponse.network:type_name -> metalstack.api.v2.Network
- 16, // 18: metalstack.admin.v2.NetworkServiceUpdateResponse.network:type_name -> metalstack.api.v2.Network
- 16, // 19: metalstack.admin.v2.NetworkServiceDeleteResponse.network:type_name -> metalstack.api.v2.Network
- 16, // 20: metalstack.admin.v2.NetworkServiceListResponse.networks:type_name -> metalstack.api.v2.Network
- 26, // 21: metalstack.admin.v2.NetworkServiceListExternalMembersResponse.members:type_name -> metalstack.api.v2.ExternalNetworkMember
- 27, // 22: metalstack.admin.v2.NetworkServiceAddExternalMemberResponse.switch:type_name -> metalstack.api.v2.Switch
- 27, // 23: metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse.switch:type_name -> metalstack.api.v2.Switch
- 0, // 24: metalstack.admin.v2.NetworkService.Get:input_type -> metalstack.admin.v2.NetworkServiceGetRequest
- 2, // 25: metalstack.admin.v2.NetworkService.Create:input_type -> metalstack.admin.v2.NetworkServiceCreateRequest
- 3, // 26: metalstack.admin.v2.NetworkService.Update:input_type -> metalstack.admin.v2.NetworkServiceUpdateRequest
- 4, // 27: metalstack.admin.v2.NetworkService.Delete:input_type -> metalstack.admin.v2.NetworkServiceDeleteRequest
- 5, // 28: metalstack.admin.v2.NetworkService.List:input_type -> metalstack.admin.v2.NetworkServiceListRequest
- 6, // 29: metalstack.admin.v2.NetworkService.ListExternalMembers:input_type -> metalstack.admin.v2.NetworkServiceListExternalMembersRequest
- 7, // 30: metalstack.admin.v2.NetworkService.AddExternalMember:input_type -> metalstack.admin.v2.NetworkServiceAddExternalMemberRequest
- 8, // 31: metalstack.admin.v2.NetworkService.RemoveExternalMember:input_type -> metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest
- 1, // 32: metalstack.admin.v2.NetworkService.Get:output_type -> metalstack.admin.v2.NetworkServiceGetResponse
- 9, // 33: metalstack.admin.v2.NetworkService.Create:output_type -> metalstack.admin.v2.NetworkServiceCreateResponse
- 10, // 34: metalstack.admin.v2.NetworkService.Update:output_type -> metalstack.admin.v2.NetworkServiceUpdateResponse
- 11, // 35: metalstack.admin.v2.NetworkService.Delete:output_type -> metalstack.admin.v2.NetworkServiceDeleteResponse
- 12, // 36: metalstack.admin.v2.NetworkService.List:output_type -> metalstack.admin.v2.NetworkServiceListResponse
- 13, // 37: metalstack.admin.v2.NetworkService.ListExternalMembers:output_type -> metalstack.admin.v2.NetworkServiceListExternalMembersResponse
- 14, // 38: metalstack.admin.v2.NetworkService.AddExternalMember:output_type -> metalstack.admin.v2.NetworkServiceAddExternalMemberResponse
- 15, // 39: metalstack.admin.v2.NetworkService.RemoveExternalMember:output_type -> metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse
- 32, // [32:40] is the sub-list for method output_type
- 24, // [24:32] is the sub-list for method input_type
- 24, // [24:24] is the sub-list for extension type_name
- 24, // [24:24] is the sub-list for extension extendee
- 0, // [0:24] is the sub-list for field type_name
+ 16, // 15: metalstack.admin.v2.NetworkServiceCreateResponse.network:type_name -> metalstack.api.v2.Network
+ 16, // 16: metalstack.admin.v2.NetworkServiceUpdateResponse.network:type_name -> metalstack.api.v2.Network
+ 16, // 17: metalstack.admin.v2.NetworkServiceDeleteResponse.network:type_name -> metalstack.api.v2.Network
+ 16, // 18: metalstack.admin.v2.NetworkServiceListResponse.networks:type_name -> metalstack.api.v2.Network
+ 26, // 19: metalstack.admin.v2.NetworkServiceListExternalMembersResponse.members:type_name -> metalstack.api.v2.ExternalNetworkMember
+ 27, // 20: metalstack.admin.v2.NetworkServiceAddExternalMembersResponse.switches:type_name -> metalstack.api.v2.Switch
+ 27, // 21: metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse.switches:type_name -> metalstack.api.v2.Switch
+ 0, // 22: metalstack.admin.v2.NetworkService.Get:input_type -> metalstack.admin.v2.NetworkServiceGetRequest
+ 2, // 23: metalstack.admin.v2.NetworkService.Create:input_type -> metalstack.admin.v2.NetworkServiceCreateRequest
+ 3, // 24: metalstack.admin.v2.NetworkService.Update:input_type -> metalstack.admin.v2.NetworkServiceUpdateRequest
+ 4, // 25: metalstack.admin.v2.NetworkService.Delete:input_type -> metalstack.admin.v2.NetworkServiceDeleteRequest
+ 5, // 26: metalstack.admin.v2.NetworkService.List:input_type -> metalstack.admin.v2.NetworkServiceListRequest
+ 6, // 27: metalstack.admin.v2.NetworkService.ListExternalMembers:input_type -> metalstack.admin.v2.NetworkServiceListExternalMembersRequest
+ 7, // 28: metalstack.admin.v2.NetworkService.AddExternalMembers:input_type -> metalstack.admin.v2.NetworkServiceAddExternalMembersRequest
+ 8, // 29: metalstack.admin.v2.NetworkService.RemoveExternalMembers:input_type -> metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest
+ 1, // 30: metalstack.admin.v2.NetworkService.Get:output_type -> metalstack.admin.v2.NetworkServiceGetResponse
+ 9, // 31: metalstack.admin.v2.NetworkService.Create:output_type -> metalstack.admin.v2.NetworkServiceCreateResponse
+ 10, // 32: metalstack.admin.v2.NetworkService.Update:output_type -> metalstack.admin.v2.NetworkServiceUpdateResponse
+ 11, // 33: metalstack.admin.v2.NetworkService.Delete:output_type -> metalstack.admin.v2.NetworkServiceDeleteResponse
+ 12, // 34: metalstack.admin.v2.NetworkService.List:output_type -> metalstack.admin.v2.NetworkServiceListResponse
+ 13, // 35: metalstack.admin.v2.NetworkService.ListExternalMembers:output_type -> metalstack.admin.v2.NetworkServiceListExternalMembersResponse
+ 14, // 36: metalstack.admin.v2.NetworkService.AddExternalMembers:output_type -> metalstack.admin.v2.NetworkServiceAddExternalMembersResponse
+ 15, // 37: metalstack.admin.v2.NetworkService.RemoveExternalMembers:output_type -> metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse
+ 30, // [30:38] is the sub-list for method output_type
+ 22, // [22:30] is the sub-list for method input_type
+ 22, // [22:22] is the sub-list for extension type_name
+ 22, // [22:22] is the sub-list for extension extendee
+ 0, // [0:22] is the sub-list for field type_name
}
func init() { file_metalstack_admin_v2_network_proto_init() }
diff --git a/go/metalstack/api/v2/network.pb.go b/go/metalstack/api/v2/network.pb.go
index a8f37110..415b9d93 100644
--- a/go/metalstack/api/v2/network.pb.go
+++ b/go/metalstack/api/v2/network.pb.go
@@ -1280,7 +1280,9 @@ type ExternalNetworkMemberQuery struct {
// Switch whose ports are queried.
Switch *string `protobuf:"bytes,1,opt,name=switch,proto3,oneof" json:"switch,omitempty"`
// Rack for which the members of the network are queried.
- Rack *string `protobuf:"bytes,2,opt,name=rack,proto3,oneof" json:"rack,omitempty"`
+ Rack *string `protobuf:"bytes,2,opt,name=rack,proto3,oneof" json:"rack,omitempty"`
+ // Partition where the members of the network reside..
+ Partition *string `protobuf:"bytes,3,opt,name=partition,proto3,oneof" json:"partition,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1329,6 +1331,13 @@ func (x *ExternalNetworkMemberQuery) GetRack() string {
return ""
}
+func (x *ExternalNetworkMemberQuery) GetPartition() string {
+ if x != nil && x.Partition != nil {
+ return *x.Partition
+ }
+ return ""
+}
+
// ChildPrefixLength.
type ChildPrefixLength struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -1683,13 +1692,16 @@ const file_metalstack_api_v2_network_proto_rawDesc = "" +
"\x0f_address_familyB\a\n" +
"\x05_typeB\v\n" +
"\t_nat_typeB\t\n" +
- "\a_labels\"\x82\x01\n" +
+ "\a_labels\"\xc0\x01\n" +
"\x1aExternalNetworkMemberQuery\x12*\n" +
"\x06switch\x18\x01 \x01(\tB\r\xbaH\n" +
"r\b\xc0\xb3\xae\xb1\x02\x01h\x01H\x00R\x06switch\x88\x01\x01\x12$\n" +
- "\x04rack\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04rack\x88\x01\x01B\t\n" +
+ "\x04rack\x18\x02 \x01(\tB\v\xbaH\br\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04rack\x88\x01\x01\x12.\n" +
+ "\tpartition\x18\x03 \x01(\tB\v\xbaH\br\x06г\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01B\t\n" +
"\a_switchB\a\n" +
- "\x05_rack\"n\n" +
+ "\x05_rackB\f\n" +
+ "\n" +
+ "_partition\"n\n" +
"\x11ChildPrefixLength\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" +
diff --git a/go/permissions/servicepermissions.go b/go/permissions/servicepermissions.go
index 74d53ff5..d503829c 100755
--- a/go/permissions/servicepermissions.go
+++ b/go/permissions/servicepermissions.go
@@ -55,74 +55,74 @@ func GetServicePermissions() *ServicePermissions {
Roles: Roles{
Admin: Admin{
apiv2.AdminRole_ADMIN_ROLE_EDITOR: map[string]struct{}{
- "/metalstack.admin.v2.AuditService/Get": {},
- "/metalstack.admin.v2.AuditService/List": {},
- "/metalstack.admin.v2.ComponentService/Delete": {},
- "/metalstack.admin.v2.ComponentService/Get": {},
- "/metalstack.admin.v2.ComponentService/List": {},
- "/metalstack.admin.v2.FilesystemService/Create": {},
- "/metalstack.admin.v2.FilesystemService/Delete": {},
- "/metalstack.admin.v2.FilesystemService/Match": {},
- "/metalstack.admin.v2.FilesystemService/Update": {},
- "/metalstack.admin.v2.IPService/List": {},
- "/metalstack.admin.v2.ImageService/Create": {},
- "/metalstack.admin.v2.ImageService/Delete": {},
- "/metalstack.admin.v2.ImageService/Update": {},
- "/metalstack.admin.v2.ImageService/Usage": {},
- "/metalstack.admin.v2.MachineService/BMCCommand": {},
- "/metalstack.admin.v2.MachineService/ConsolePassword": {},
- "/metalstack.admin.v2.MachineService/Delete": {},
- "/metalstack.admin.v2.MachineService/Get": {},
- "/metalstack.admin.v2.MachineService/GetBMC": {},
- "/metalstack.admin.v2.MachineService/Issues": {},
- "/metalstack.admin.v2.MachineService/List": {},
- "/metalstack.admin.v2.MachineService/ListBMC": {},
- "/metalstack.admin.v2.MachineService/SetState": {},
- "/metalstack.admin.v2.NetworkService/AddExternalMember": {},
- "/metalstack.admin.v2.NetworkService/Create": {},
- "/metalstack.admin.v2.NetworkService/Delete": {},
- "/metalstack.admin.v2.NetworkService/Get": {},
- "/metalstack.admin.v2.NetworkService/List": {},
- "/metalstack.admin.v2.NetworkService/ListExternalMembers": {},
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": {},
- "/metalstack.admin.v2.NetworkService/Update": {},
- "/metalstack.admin.v2.PartitionService/Capacity": {},
- "/metalstack.admin.v2.PartitionService/Create": {},
- "/metalstack.admin.v2.PartitionService/Delete": {},
- "/metalstack.admin.v2.PartitionService/Update": {},
- "/metalstack.admin.v2.ProjectService/List": {},
- "/metalstack.admin.v2.SizeImageConstraintService/Create": {},
- "/metalstack.admin.v2.SizeImageConstraintService/Delete": {},
- "/metalstack.admin.v2.SizeImageConstraintService/Get": {},
- "/metalstack.admin.v2.SizeImageConstraintService/List": {},
- "/metalstack.admin.v2.SizeImageConstraintService/Update": {},
- "/metalstack.admin.v2.SizeReservationService/Create": {},
- "/metalstack.admin.v2.SizeReservationService/Delete": {},
- "/metalstack.admin.v2.SizeReservationService/List": {},
- "/metalstack.admin.v2.SizeReservationService/Update": {},
- "/metalstack.admin.v2.SizeService/Create": {},
- "/metalstack.admin.v2.SizeService/Delete": {},
- "/metalstack.admin.v2.SizeService/Update": {},
- "/metalstack.admin.v2.SwitchService/ConnectedMachines": {},
- "/metalstack.admin.v2.SwitchService/Delete": {},
- "/metalstack.admin.v2.SwitchService/Get": {},
- "/metalstack.admin.v2.SwitchService/List": {},
- "/metalstack.admin.v2.SwitchService/Migrate": {},
- "/metalstack.admin.v2.SwitchService/Port": {},
- "/metalstack.admin.v2.SwitchService/Update": {},
- "/metalstack.admin.v2.TaskService/Delete": {},
- "/metalstack.admin.v2.TaskService/Get": {},
- "/metalstack.admin.v2.TaskService/List": {},
- "/metalstack.admin.v2.TaskService/Queues": {},
- "/metalstack.admin.v2.TenantService/AddMember": {},
- "/metalstack.admin.v2.TenantService/Create": {},
- "/metalstack.admin.v2.TenantService/List": {},
- "/metalstack.admin.v2.TenantService/RemoveMember": {},
- "/metalstack.admin.v2.TokenService/Create": {},
- "/metalstack.admin.v2.TokenService/List": {},
- "/metalstack.admin.v2.TokenService/Revoke": {},
- "/metalstack.admin.v2.VPNService/AuthKey": {},
- "/metalstack.admin.v2.VPNService/ListNodes": {},
+ "/metalstack.admin.v2.AuditService/Get": {},
+ "/metalstack.admin.v2.AuditService/List": {},
+ "/metalstack.admin.v2.ComponentService/Delete": {},
+ "/metalstack.admin.v2.ComponentService/Get": {},
+ "/metalstack.admin.v2.ComponentService/List": {},
+ "/metalstack.admin.v2.FilesystemService/Create": {},
+ "/metalstack.admin.v2.FilesystemService/Delete": {},
+ "/metalstack.admin.v2.FilesystemService/Match": {},
+ "/metalstack.admin.v2.FilesystemService/Update": {},
+ "/metalstack.admin.v2.IPService/List": {},
+ "/metalstack.admin.v2.ImageService/Create": {},
+ "/metalstack.admin.v2.ImageService/Delete": {},
+ "/metalstack.admin.v2.ImageService/Update": {},
+ "/metalstack.admin.v2.ImageService/Usage": {},
+ "/metalstack.admin.v2.MachineService/BMCCommand": {},
+ "/metalstack.admin.v2.MachineService/ConsolePassword": {},
+ "/metalstack.admin.v2.MachineService/Delete": {},
+ "/metalstack.admin.v2.MachineService/Get": {},
+ "/metalstack.admin.v2.MachineService/GetBMC": {},
+ "/metalstack.admin.v2.MachineService/Issues": {},
+ "/metalstack.admin.v2.MachineService/List": {},
+ "/metalstack.admin.v2.MachineService/ListBMC": {},
+ "/metalstack.admin.v2.MachineService/SetState": {},
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": {},
+ "/metalstack.admin.v2.NetworkService/Create": {},
+ "/metalstack.admin.v2.NetworkService/Delete": {},
+ "/metalstack.admin.v2.NetworkService/Get": {},
+ "/metalstack.admin.v2.NetworkService/List": {},
+ "/metalstack.admin.v2.NetworkService/ListExternalMembers": {},
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": {},
+ "/metalstack.admin.v2.NetworkService/Update": {},
+ "/metalstack.admin.v2.PartitionService/Capacity": {},
+ "/metalstack.admin.v2.PartitionService/Create": {},
+ "/metalstack.admin.v2.PartitionService/Delete": {},
+ "/metalstack.admin.v2.PartitionService/Update": {},
+ "/metalstack.admin.v2.ProjectService/List": {},
+ "/metalstack.admin.v2.SizeImageConstraintService/Create": {},
+ "/metalstack.admin.v2.SizeImageConstraintService/Delete": {},
+ "/metalstack.admin.v2.SizeImageConstraintService/Get": {},
+ "/metalstack.admin.v2.SizeImageConstraintService/List": {},
+ "/metalstack.admin.v2.SizeImageConstraintService/Update": {},
+ "/metalstack.admin.v2.SizeReservationService/Create": {},
+ "/metalstack.admin.v2.SizeReservationService/Delete": {},
+ "/metalstack.admin.v2.SizeReservationService/List": {},
+ "/metalstack.admin.v2.SizeReservationService/Update": {},
+ "/metalstack.admin.v2.SizeService/Create": {},
+ "/metalstack.admin.v2.SizeService/Delete": {},
+ "/metalstack.admin.v2.SizeService/Update": {},
+ "/metalstack.admin.v2.SwitchService/ConnectedMachines": {},
+ "/metalstack.admin.v2.SwitchService/Delete": {},
+ "/metalstack.admin.v2.SwitchService/Get": {},
+ "/metalstack.admin.v2.SwitchService/List": {},
+ "/metalstack.admin.v2.SwitchService/Migrate": {},
+ "/metalstack.admin.v2.SwitchService/Port": {},
+ "/metalstack.admin.v2.SwitchService/Update": {},
+ "/metalstack.admin.v2.TaskService/Delete": {},
+ "/metalstack.admin.v2.TaskService/Get": {},
+ "/metalstack.admin.v2.TaskService/List": {},
+ "/metalstack.admin.v2.TaskService/Queues": {},
+ "/metalstack.admin.v2.TenantService/AddMember": {},
+ "/metalstack.admin.v2.TenantService/Create": {},
+ "/metalstack.admin.v2.TenantService/List": {},
+ "/metalstack.admin.v2.TenantService/RemoveMember": {},
+ "/metalstack.admin.v2.TokenService/Create": {},
+ "/metalstack.admin.v2.TokenService/List": {},
+ "/metalstack.admin.v2.TokenService/Revoke": {},
+ "/metalstack.admin.v2.VPNService/AuthKey": {},
+ "/metalstack.admin.v2.VPNService/ListNodes": {},
},
apiv2.AdminRole_ADMIN_ROLE_VIEWER: map[string]struct{}{
"/metalstack.admin.v2.AuditService/Get": {},
@@ -309,13 +309,13 @@ func GetServicePermissions() *ServicePermissions {
"/metalstack.admin.v2.MachineService/List": {},
"/metalstack.admin.v2.MachineService/ListBMC": {},
"/metalstack.admin.v2.MachineService/SetState": {},
- "/metalstack.admin.v2.NetworkService/AddExternalMember": {},
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": {},
"/metalstack.admin.v2.NetworkService/Create": {},
"/metalstack.admin.v2.NetworkService/Delete": {},
"/metalstack.admin.v2.NetworkService/Get": {},
"/metalstack.admin.v2.NetworkService/List": {},
"/metalstack.admin.v2.NetworkService/ListExternalMembers": {},
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": {},
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": {},
"/metalstack.admin.v2.NetworkService/Update": {},
"/metalstack.admin.v2.PartitionService/Capacity": {},
"/metalstack.admin.v2.PartitionService/Create": {},
@@ -476,74 +476,74 @@ func GetServicePermissions() *ServicePermissions {
"/metalstack.api.v2.UserService/Get": true,
},
Admin: map[string]bool{
- "/metalstack.admin.v2.AuditService/Get": true,
- "/metalstack.admin.v2.AuditService/List": true,
- "/metalstack.admin.v2.ComponentService/Delete": true,
- "/metalstack.admin.v2.ComponentService/Get": true,
- "/metalstack.admin.v2.ComponentService/List": true,
- "/metalstack.admin.v2.FilesystemService/Create": true,
- "/metalstack.admin.v2.FilesystemService/Delete": true,
- "/metalstack.admin.v2.FilesystemService/Match": true,
- "/metalstack.admin.v2.FilesystemService/Update": true,
- "/metalstack.admin.v2.IPService/List": true,
- "/metalstack.admin.v2.ImageService/Create": true,
- "/metalstack.admin.v2.ImageService/Delete": true,
- "/metalstack.admin.v2.ImageService/Update": true,
- "/metalstack.admin.v2.ImageService/Usage": true,
- "/metalstack.admin.v2.MachineService/BMCCommand": true,
- "/metalstack.admin.v2.MachineService/ConsolePassword": true,
- "/metalstack.admin.v2.MachineService/Delete": true,
- "/metalstack.admin.v2.MachineService/Get": true,
- "/metalstack.admin.v2.MachineService/GetBMC": true,
- "/metalstack.admin.v2.MachineService/Issues": true,
- "/metalstack.admin.v2.MachineService/List": true,
- "/metalstack.admin.v2.MachineService/ListBMC": true,
- "/metalstack.admin.v2.MachineService/SetState": true,
- "/metalstack.admin.v2.NetworkService/AddExternalMember": true,
- "/metalstack.admin.v2.NetworkService/Create": true,
- "/metalstack.admin.v2.NetworkService/Delete": true,
- "/metalstack.admin.v2.NetworkService/Get": true,
- "/metalstack.admin.v2.NetworkService/List": true,
- "/metalstack.admin.v2.NetworkService/ListExternalMembers": true,
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": true,
- "/metalstack.admin.v2.NetworkService/Update": true,
- "/metalstack.admin.v2.PartitionService/Capacity": true,
- "/metalstack.admin.v2.PartitionService/Create": true,
- "/metalstack.admin.v2.PartitionService/Delete": true,
- "/metalstack.admin.v2.PartitionService/Update": true,
- "/metalstack.admin.v2.ProjectService/List": true,
- "/metalstack.admin.v2.SizeImageConstraintService/Create": true,
- "/metalstack.admin.v2.SizeImageConstraintService/Delete": true,
- "/metalstack.admin.v2.SizeImageConstraintService/Get": true,
- "/metalstack.admin.v2.SizeImageConstraintService/List": true,
- "/metalstack.admin.v2.SizeImageConstraintService/Update": true,
- "/metalstack.admin.v2.SizeReservationService/Create": true,
- "/metalstack.admin.v2.SizeReservationService/Delete": true,
- "/metalstack.admin.v2.SizeReservationService/List": true,
- "/metalstack.admin.v2.SizeReservationService/Update": true,
- "/metalstack.admin.v2.SizeService/Create": true,
- "/metalstack.admin.v2.SizeService/Delete": true,
- "/metalstack.admin.v2.SizeService/Update": true,
- "/metalstack.admin.v2.SwitchService/ConnectedMachines": true,
- "/metalstack.admin.v2.SwitchService/Delete": true,
- "/metalstack.admin.v2.SwitchService/Get": true,
- "/metalstack.admin.v2.SwitchService/List": true,
- "/metalstack.admin.v2.SwitchService/Migrate": true,
- "/metalstack.admin.v2.SwitchService/Port": true,
- "/metalstack.admin.v2.SwitchService/Update": true,
- "/metalstack.admin.v2.TaskService/Delete": true,
- "/metalstack.admin.v2.TaskService/Get": true,
- "/metalstack.admin.v2.TaskService/List": true,
- "/metalstack.admin.v2.TaskService/Queues": true,
- "/metalstack.admin.v2.TenantService/AddMember": true,
- "/metalstack.admin.v2.TenantService/Create": true,
- "/metalstack.admin.v2.TenantService/List": true,
- "/metalstack.admin.v2.TenantService/RemoveMember": true,
- "/metalstack.admin.v2.TokenService/Create": true,
- "/metalstack.admin.v2.TokenService/List": true,
- "/metalstack.admin.v2.TokenService/Revoke": true,
- "/metalstack.admin.v2.VPNService/AuthKey": true,
- "/metalstack.admin.v2.VPNService/ListNodes": true,
+ "/metalstack.admin.v2.AuditService/Get": true,
+ "/metalstack.admin.v2.AuditService/List": true,
+ "/metalstack.admin.v2.ComponentService/Delete": true,
+ "/metalstack.admin.v2.ComponentService/Get": true,
+ "/metalstack.admin.v2.ComponentService/List": true,
+ "/metalstack.admin.v2.FilesystemService/Create": true,
+ "/metalstack.admin.v2.FilesystemService/Delete": true,
+ "/metalstack.admin.v2.FilesystemService/Match": true,
+ "/metalstack.admin.v2.FilesystemService/Update": true,
+ "/metalstack.admin.v2.IPService/List": true,
+ "/metalstack.admin.v2.ImageService/Create": true,
+ "/metalstack.admin.v2.ImageService/Delete": true,
+ "/metalstack.admin.v2.ImageService/Update": true,
+ "/metalstack.admin.v2.ImageService/Usage": true,
+ "/metalstack.admin.v2.MachineService/BMCCommand": true,
+ "/metalstack.admin.v2.MachineService/ConsolePassword": true,
+ "/metalstack.admin.v2.MachineService/Delete": true,
+ "/metalstack.admin.v2.MachineService/Get": true,
+ "/metalstack.admin.v2.MachineService/GetBMC": true,
+ "/metalstack.admin.v2.MachineService/Issues": true,
+ "/metalstack.admin.v2.MachineService/List": true,
+ "/metalstack.admin.v2.MachineService/ListBMC": true,
+ "/metalstack.admin.v2.MachineService/SetState": true,
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": true,
+ "/metalstack.admin.v2.NetworkService/Create": true,
+ "/metalstack.admin.v2.NetworkService/Delete": true,
+ "/metalstack.admin.v2.NetworkService/Get": true,
+ "/metalstack.admin.v2.NetworkService/List": true,
+ "/metalstack.admin.v2.NetworkService/ListExternalMembers": true,
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": true,
+ "/metalstack.admin.v2.NetworkService/Update": true,
+ "/metalstack.admin.v2.PartitionService/Capacity": true,
+ "/metalstack.admin.v2.PartitionService/Create": true,
+ "/metalstack.admin.v2.PartitionService/Delete": true,
+ "/metalstack.admin.v2.PartitionService/Update": true,
+ "/metalstack.admin.v2.ProjectService/List": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/Create": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/Delete": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/Get": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/List": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/Update": true,
+ "/metalstack.admin.v2.SizeReservationService/Create": true,
+ "/metalstack.admin.v2.SizeReservationService/Delete": true,
+ "/metalstack.admin.v2.SizeReservationService/List": true,
+ "/metalstack.admin.v2.SizeReservationService/Update": true,
+ "/metalstack.admin.v2.SizeService/Create": true,
+ "/metalstack.admin.v2.SizeService/Delete": true,
+ "/metalstack.admin.v2.SizeService/Update": true,
+ "/metalstack.admin.v2.SwitchService/ConnectedMachines": true,
+ "/metalstack.admin.v2.SwitchService/Delete": true,
+ "/metalstack.admin.v2.SwitchService/Get": true,
+ "/metalstack.admin.v2.SwitchService/List": true,
+ "/metalstack.admin.v2.SwitchService/Migrate": true,
+ "/metalstack.admin.v2.SwitchService/Port": true,
+ "/metalstack.admin.v2.SwitchService/Update": true,
+ "/metalstack.admin.v2.TaskService/Delete": true,
+ "/metalstack.admin.v2.TaskService/Get": true,
+ "/metalstack.admin.v2.TaskService/List": true,
+ "/metalstack.admin.v2.TaskService/Queues": true,
+ "/metalstack.admin.v2.TenantService/AddMember": true,
+ "/metalstack.admin.v2.TenantService/Create": true,
+ "/metalstack.admin.v2.TenantService/List": true,
+ "/metalstack.admin.v2.TenantService/RemoveMember": true,
+ "/metalstack.admin.v2.TokenService/Create": true,
+ "/metalstack.admin.v2.TokenService/List": true,
+ "/metalstack.admin.v2.TokenService/Revoke": true,
+ "/metalstack.admin.v2.VPNService/AuthKey": true,
+ "/metalstack.admin.v2.VPNService/ListNodes": true,
},
Infra: map[string]bool{
"/metalstack.infra.v2.BMCService/BMCCommandDone": true,
@@ -612,159 +612,159 @@ func GetServicePermissions() *ServicePermissions {
},
},
Auditable: map[string]bool{
- "/metalstack.admin.v2.AuditService/Get": true,
- "/metalstack.admin.v2.AuditService/List": true,
- "/metalstack.admin.v2.ComponentService/Delete": true,
- "/metalstack.admin.v2.ComponentService/Get": false,
- "/metalstack.admin.v2.ComponentService/List": false,
- "/metalstack.admin.v2.FilesystemService/Create": true,
- "/metalstack.admin.v2.FilesystemService/Delete": true,
- "/metalstack.admin.v2.FilesystemService/Match": false,
- "/metalstack.admin.v2.FilesystemService/Update": true,
- "/metalstack.admin.v2.IPService/List": false,
- "/metalstack.admin.v2.ImageService/Create": true,
- "/metalstack.admin.v2.ImageService/Delete": true,
- "/metalstack.admin.v2.ImageService/Update": true,
- "/metalstack.admin.v2.ImageService/Usage": true,
- "/metalstack.admin.v2.MachineService/BMCCommand": true,
- "/metalstack.admin.v2.MachineService/ConsolePassword": true,
- "/metalstack.admin.v2.MachineService/Delete": true,
- "/metalstack.admin.v2.MachineService/Get": false,
- "/metalstack.admin.v2.MachineService/GetBMC": true,
- "/metalstack.admin.v2.MachineService/Issues": false,
- "/metalstack.admin.v2.MachineService/List": false,
- "/metalstack.admin.v2.MachineService/ListBMC": true,
- "/metalstack.admin.v2.MachineService/SetState": true,
- "/metalstack.admin.v2.NetworkService/AddExternalMember": true,
- "/metalstack.admin.v2.NetworkService/Create": true,
- "/metalstack.admin.v2.NetworkService/Delete": true,
- "/metalstack.admin.v2.NetworkService/Get": false,
- "/metalstack.admin.v2.NetworkService/List": false,
- "/metalstack.admin.v2.NetworkService/ListExternalMembers": false,
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": true,
- "/metalstack.admin.v2.NetworkService/Update": true,
- "/metalstack.admin.v2.PartitionService/Capacity": false,
- "/metalstack.admin.v2.PartitionService/Create": true,
- "/metalstack.admin.v2.PartitionService/Delete": true,
- "/metalstack.admin.v2.PartitionService/Update": true,
- "/metalstack.admin.v2.ProjectService/List": false,
- "/metalstack.admin.v2.SizeImageConstraintService/Create": true,
- "/metalstack.admin.v2.SizeImageConstraintService/Delete": true,
- "/metalstack.admin.v2.SizeImageConstraintService/Get": false,
- "/metalstack.admin.v2.SizeImageConstraintService/List": false,
- "/metalstack.admin.v2.SizeImageConstraintService/Update": true,
- "/metalstack.admin.v2.SizeReservationService/Create": true,
- "/metalstack.admin.v2.SizeReservationService/Delete": true,
- "/metalstack.admin.v2.SizeReservationService/List": false,
- "/metalstack.admin.v2.SizeReservationService/Update": true,
- "/metalstack.admin.v2.SizeService/Create": true,
- "/metalstack.admin.v2.SizeService/Delete": true,
- "/metalstack.admin.v2.SizeService/Update": true,
- "/metalstack.admin.v2.SwitchService/ConnectedMachines": false,
- "/metalstack.admin.v2.SwitchService/Delete": true,
- "/metalstack.admin.v2.SwitchService/Get": false,
- "/metalstack.admin.v2.SwitchService/List": false,
- "/metalstack.admin.v2.SwitchService/Migrate": true,
- "/metalstack.admin.v2.SwitchService/Port": true,
- "/metalstack.admin.v2.SwitchService/Update": true,
- "/metalstack.admin.v2.TaskService/Delete": true,
- "/metalstack.admin.v2.TaskService/Get": true,
- "/metalstack.admin.v2.TaskService/List": true,
- "/metalstack.admin.v2.TaskService/Queues": true,
- "/metalstack.admin.v2.TenantService/AddMember": true,
- "/metalstack.admin.v2.TenantService/Create": true,
- "/metalstack.admin.v2.TenantService/List": true,
- "/metalstack.admin.v2.TenantService/RemoveMember": true,
- "/metalstack.admin.v2.TokenService/Create": true,
- "/metalstack.admin.v2.TokenService/List": true,
- "/metalstack.admin.v2.TokenService/Revoke": true,
- "/metalstack.admin.v2.VPNService/AuthKey": true,
- "/metalstack.admin.v2.VPNService/ListNodes": true,
- "/metalstack.api.v2.AuditService/Get": false,
- "/metalstack.api.v2.AuditService/List": false,
- "/metalstack.api.v2.FilesystemService/Get": false,
- "/metalstack.api.v2.FilesystemService/List": false,
- "/metalstack.api.v2.HealthService/Get": false,
- "/metalstack.api.v2.IPService/Create": true,
- "/metalstack.api.v2.IPService/Delete": true,
- "/metalstack.api.v2.IPService/Get": false,
- "/metalstack.api.v2.IPService/List": false,
- "/metalstack.api.v2.IPService/Update": true,
- "/metalstack.api.v2.ImageService/Get": false,
- "/metalstack.api.v2.ImageService/Latest": false,
- "/metalstack.api.v2.ImageService/List": false,
- "/metalstack.api.v2.MachineService/BMCCommand": true,
- "/metalstack.api.v2.MachineService/Create": true,
- "/metalstack.api.v2.MachineService/Delete": true,
- "/metalstack.api.v2.MachineService/Get": false,
- "/metalstack.api.v2.MachineService/GetBMC": true,
- "/metalstack.api.v2.MachineService/List": false,
- "/metalstack.api.v2.MachineService/Update": true,
- "/metalstack.api.v2.MethodService/List": true,
- "/metalstack.api.v2.MethodService/TokenScopedList": true,
- "/metalstack.api.v2.NetworkService/Create": true,
- "/metalstack.api.v2.NetworkService/Delete": true,
- "/metalstack.api.v2.NetworkService/Get": false,
- "/metalstack.api.v2.NetworkService/List": false,
- "/metalstack.api.v2.NetworkService/ListBaseNetworks": false,
- "/metalstack.api.v2.NetworkService/Update": true,
- "/metalstack.api.v2.PartitionService/Get": false,
- "/metalstack.api.v2.PartitionService/List": false,
- "/metalstack.api.v2.ProjectService/AddMember": true,
- "/metalstack.api.v2.ProjectService/Create": true,
- "/metalstack.api.v2.ProjectService/Delete": true,
- "/metalstack.api.v2.ProjectService/Get": false,
- "/metalstack.api.v2.ProjectService/Invite": true,
- "/metalstack.api.v2.ProjectService/InviteAccept": true,
- "/metalstack.api.v2.ProjectService/InviteDelete": true,
- "/metalstack.api.v2.ProjectService/InviteGet": false,
- "/metalstack.api.v2.ProjectService/InvitesList": false,
- "/metalstack.api.v2.ProjectService/Leave": true,
- "/metalstack.api.v2.ProjectService/List": false,
- "/metalstack.api.v2.ProjectService/RemoveMember": true,
- "/metalstack.api.v2.ProjectService/Update": true,
- "/metalstack.api.v2.ProjectService/UpdateMember": true,
- "/metalstack.api.v2.SizeImageConstraintService/Try": false,
- "/metalstack.api.v2.SizeReservationService/Get": false,
- "/metalstack.api.v2.SizeReservationService/List": false,
- "/metalstack.api.v2.SizeService/Get": false,
- "/metalstack.api.v2.SizeService/List": false,
- "/metalstack.api.v2.TenantService/AddMember": true,
- "/metalstack.api.v2.TenantService/Create": true,
- "/metalstack.api.v2.TenantService/Delete": true,
- "/metalstack.api.v2.TenantService/Get": false,
- "/metalstack.api.v2.TenantService/Invite": true,
- "/metalstack.api.v2.TenantService/InviteAccept": true,
- "/metalstack.api.v2.TenantService/InviteDelete": true,
- "/metalstack.api.v2.TenantService/InviteGet": false,
- "/metalstack.api.v2.TenantService/InvitesList": false,
- "/metalstack.api.v2.TenantService/Leave": true,
- "/metalstack.api.v2.TenantService/List": false,
- "/metalstack.api.v2.TenantService/RemoveMember": true,
- "/metalstack.api.v2.TenantService/Update": true,
- "/metalstack.api.v2.TenantService/UpdateMember": true,
- "/metalstack.api.v2.TokenService/Create": true,
- "/metalstack.api.v2.TokenService/Get": true,
- "/metalstack.api.v2.TokenService/List": true,
- "/metalstack.api.v2.TokenService/Refresh": true,
- "/metalstack.api.v2.TokenService/Revoke": true,
- "/metalstack.api.v2.TokenService/Update": true,
- "/metalstack.api.v2.UserService/Get": true,
- "/metalstack.api.v2.VersionService/Get": false,
- "/metalstack.infra.v2.BMCService/BMCCommandDone": true,
- "/metalstack.infra.v2.BMCService/UpdateBMCInfo": false,
- "/metalstack.infra.v2.BMCService/WaitForBMCCommand": false,
- "/metalstack.infra.v2.BootService/Boot": false,
- "/metalstack.infra.v2.BootService/Dhcp": false,
- "/metalstack.infra.v2.BootService/InstallationSucceeded": false,
- "/metalstack.infra.v2.BootService/Register": false,
- "/metalstack.infra.v2.BootService/SuperUserPassword": false,
- "/metalstack.infra.v2.BootService/Wait": false,
- "/metalstack.infra.v2.ComponentService/Ping": false,
- "/metalstack.infra.v2.EventService/Send": false,
- "/metalstack.infra.v2.SwitchService/Get": false,
- "/metalstack.infra.v2.SwitchService/Heartbeat": false,
- "/metalstack.infra.v2.SwitchService/Register": false,
+ "/metalstack.admin.v2.AuditService/Get": true,
+ "/metalstack.admin.v2.AuditService/List": true,
+ "/metalstack.admin.v2.ComponentService/Delete": true,
+ "/metalstack.admin.v2.ComponentService/Get": false,
+ "/metalstack.admin.v2.ComponentService/List": false,
+ "/metalstack.admin.v2.FilesystemService/Create": true,
+ "/metalstack.admin.v2.FilesystemService/Delete": true,
+ "/metalstack.admin.v2.FilesystemService/Match": false,
+ "/metalstack.admin.v2.FilesystemService/Update": true,
+ "/metalstack.admin.v2.IPService/List": false,
+ "/metalstack.admin.v2.ImageService/Create": true,
+ "/metalstack.admin.v2.ImageService/Delete": true,
+ "/metalstack.admin.v2.ImageService/Update": true,
+ "/metalstack.admin.v2.ImageService/Usage": true,
+ "/metalstack.admin.v2.MachineService/BMCCommand": true,
+ "/metalstack.admin.v2.MachineService/ConsolePassword": true,
+ "/metalstack.admin.v2.MachineService/Delete": true,
+ "/metalstack.admin.v2.MachineService/Get": false,
+ "/metalstack.admin.v2.MachineService/GetBMC": true,
+ "/metalstack.admin.v2.MachineService/Issues": false,
+ "/metalstack.admin.v2.MachineService/List": false,
+ "/metalstack.admin.v2.MachineService/ListBMC": true,
+ "/metalstack.admin.v2.MachineService/SetState": true,
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": true,
+ "/metalstack.admin.v2.NetworkService/Create": true,
+ "/metalstack.admin.v2.NetworkService/Delete": true,
+ "/metalstack.admin.v2.NetworkService/Get": false,
+ "/metalstack.admin.v2.NetworkService/List": false,
+ "/metalstack.admin.v2.NetworkService/ListExternalMembers": false,
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": true,
+ "/metalstack.admin.v2.NetworkService/Update": true,
+ "/metalstack.admin.v2.PartitionService/Capacity": false,
+ "/metalstack.admin.v2.PartitionService/Create": true,
+ "/metalstack.admin.v2.PartitionService/Delete": true,
+ "/metalstack.admin.v2.PartitionService/Update": true,
+ "/metalstack.admin.v2.ProjectService/List": false,
+ "/metalstack.admin.v2.SizeImageConstraintService/Create": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/Delete": true,
+ "/metalstack.admin.v2.SizeImageConstraintService/Get": false,
+ "/metalstack.admin.v2.SizeImageConstraintService/List": false,
+ "/metalstack.admin.v2.SizeImageConstraintService/Update": true,
+ "/metalstack.admin.v2.SizeReservationService/Create": true,
+ "/metalstack.admin.v2.SizeReservationService/Delete": true,
+ "/metalstack.admin.v2.SizeReservationService/List": false,
+ "/metalstack.admin.v2.SizeReservationService/Update": true,
+ "/metalstack.admin.v2.SizeService/Create": true,
+ "/metalstack.admin.v2.SizeService/Delete": true,
+ "/metalstack.admin.v2.SizeService/Update": true,
+ "/metalstack.admin.v2.SwitchService/ConnectedMachines": false,
+ "/metalstack.admin.v2.SwitchService/Delete": true,
+ "/metalstack.admin.v2.SwitchService/Get": false,
+ "/metalstack.admin.v2.SwitchService/List": false,
+ "/metalstack.admin.v2.SwitchService/Migrate": true,
+ "/metalstack.admin.v2.SwitchService/Port": true,
+ "/metalstack.admin.v2.SwitchService/Update": true,
+ "/metalstack.admin.v2.TaskService/Delete": true,
+ "/metalstack.admin.v2.TaskService/Get": true,
+ "/metalstack.admin.v2.TaskService/List": true,
+ "/metalstack.admin.v2.TaskService/Queues": true,
+ "/metalstack.admin.v2.TenantService/AddMember": true,
+ "/metalstack.admin.v2.TenantService/Create": true,
+ "/metalstack.admin.v2.TenantService/List": true,
+ "/metalstack.admin.v2.TenantService/RemoveMember": true,
+ "/metalstack.admin.v2.TokenService/Create": true,
+ "/metalstack.admin.v2.TokenService/List": true,
+ "/metalstack.admin.v2.TokenService/Revoke": true,
+ "/metalstack.admin.v2.VPNService/AuthKey": true,
+ "/metalstack.admin.v2.VPNService/ListNodes": true,
+ "/metalstack.api.v2.AuditService/Get": false,
+ "/metalstack.api.v2.AuditService/List": false,
+ "/metalstack.api.v2.FilesystemService/Get": false,
+ "/metalstack.api.v2.FilesystemService/List": false,
+ "/metalstack.api.v2.HealthService/Get": false,
+ "/metalstack.api.v2.IPService/Create": true,
+ "/metalstack.api.v2.IPService/Delete": true,
+ "/metalstack.api.v2.IPService/Get": false,
+ "/metalstack.api.v2.IPService/List": false,
+ "/metalstack.api.v2.IPService/Update": true,
+ "/metalstack.api.v2.ImageService/Get": false,
+ "/metalstack.api.v2.ImageService/Latest": false,
+ "/metalstack.api.v2.ImageService/List": false,
+ "/metalstack.api.v2.MachineService/BMCCommand": true,
+ "/metalstack.api.v2.MachineService/Create": true,
+ "/metalstack.api.v2.MachineService/Delete": true,
+ "/metalstack.api.v2.MachineService/Get": false,
+ "/metalstack.api.v2.MachineService/GetBMC": true,
+ "/metalstack.api.v2.MachineService/List": false,
+ "/metalstack.api.v2.MachineService/Update": true,
+ "/metalstack.api.v2.MethodService/List": true,
+ "/metalstack.api.v2.MethodService/TokenScopedList": true,
+ "/metalstack.api.v2.NetworkService/Create": true,
+ "/metalstack.api.v2.NetworkService/Delete": true,
+ "/metalstack.api.v2.NetworkService/Get": false,
+ "/metalstack.api.v2.NetworkService/List": false,
+ "/metalstack.api.v2.NetworkService/ListBaseNetworks": false,
+ "/metalstack.api.v2.NetworkService/Update": true,
+ "/metalstack.api.v2.PartitionService/Get": false,
+ "/metalstack.api.v2.PartitionService/List": false,
+ "/metalstack.api.v2.ProjectService/AddMember": true,
+ "/metalstack.api.v2.ProjectService/Create": true,
+ "/metalstack.api.v2.ProjectService/Delete": true,
+ "/metalstack.api.v2.ProjectService/Get": false,
+ "/metalstack.api.v2.ProjectService/Invite": true,
+ "/metalstack.api.v2.ProjectService/InviteAccept": true,
+ "/metalstack.api.v2.ProjectService/InviteDelete": true,
+ "/metalstack.api.v2.ProjectService/InviteGet": false,
+ "/metalstack.api.v2.ProjectService/InvitesList": false,
+ "/metalstack.api.v2.ProjectService/Leave": true,
+ "/metalstack.api.v2.ProjectService/List": false,
+ "/metalstack.api.v2.ProjectService/RemoveMember": true,
+ "/metalstack.api.v2.ProjectService/Update": true,
+ "/metalstack.api.v2.ProjectService/UpdateMember": true,
+ "/metalstack.api.v2.SizeImageConstraintService/Try": false,
+ "/metalstack.api.v2.SizeReservationService/Get": false,
+ "/metalstack.api.v2.SizeReservationService/List": false,
+ "/metalstack.api.v2.SizeService/Get": false,
+ "/metalstack.api.v2.SizeService/List": false,
+ "/metalstack.api.v2.TenantService/AddMember": true,
+ "/metalstack.api.v2.TenantService/Create": true,
+ "/metalstack.api.v2.TenantService/Delete": true,
+ "/metalstack.api.v2.TenantService/Get": false,
+ "/metalstack.api.v2.TenantService/Invite": true,
+ "/metalstack.api.v2.TenantService/InviteAccept": true,
+ "/metalstack.api.v2.TenantService/InviteDelete": true,
+ "/metalstack.api.v2.TenantService/InviteGet": false,
+ "/metalstack.api.v2.TenantService/InvitesList": false,
+ "/metalstack.api.v2.TenantService/Leave": true,
+ "/metalstack.api.v2.TenantService/List": false,
+ "/metalstack.api.v2.TenantService/RemoveMember": true,
+ "/metalstack.api.v2.TenantService/Update": true,
+ "/metalstack.api.v2.TenantService/UpdateMember": true,
+ "/metalstack.api.v2.TokenService/Create": true,
+ "/metalstack.api.v2.TokenService/Get": true,
+ "/metalstack.api.v2.TokenService/List": true,
+ "/metalstack.api.v2.TokenService/Refresh": true,
+ "/metalstack.api.v2.TokenService/Revoke": true,
+ "/metalstack.api.v2.TokenService/Update": true,
+ "/metalstack.api.v2.UserService/Get": true,
+ "/metalstack.api.v2.VersionService/Get": false,
+ "/metalstack.infra.v2.BMCService/BMCCommandDone": true,
+ "/metalstack.infra.v2.BMCService/UpdateBMCInfo": false,
+ "/metalstack.infra.v2.BMCService/WaitForBMCCommand": false,
+ "/metalstack.infra.v2.BootService/Boot": false,
+ "/metalstack.infra.v2.BootService/Dhcp": false,
+ "/metalstack.infra.v2.BootService/InstallationSucceeded": false,
+ "/metalstack.infra.v2.BootService/Register": false,
+ "/metalstack.infra.v2.BootService/SuperUserPassword": false,
+ "/metalstack.infra.v2.BootService/Wait": false,
+ "/metalstack.infra.v2.ComponentService/Ping": false,
+ "/metalstack.infra.v2.EventService/Send": false,
+ "/metalstack.infra.v2.SwitchService/Get": false,
+ "/metalstack.infra.v2.SwitchService/Heartbeat": false,
+ "/metalstack.infra.v2.SwitchService/Register": false,
},
}
}
diff --git a/js/metalstack/admin/v2/network_pb.d.ts b/js/metalstack/admin/v2/network_pb.d.ts
index 6a911de3..f49c7a2f 100644
--- a/js/metalstack/admin/v2/network_pb.d.ts
+++ b/js/metalstack/admin/v2/network_pb.d.ts
@@ -304,9 +304,9 @@ export declare const NetworkServiceListExternalMembersRequestSchema: GenMessage<
/**
* NetworkServiceAddExternalMemberRequest is the request payload for adding an external member to a network.
*
- * @generated from message metalstack.admin.v2.NetworkServiceAddExternalMemberRequest
+ * @generated from message metalstack.admin.v2.NetworkServiceAddExternalMembersRequest
*/
-export type NetworkServiceAddExternalMemberRequest = Message<"metalstack.admin.v2.NetworkServiceAddExternalMemberRequest"> & {
+export type NetworkServiceAddExternalMembersRequest = Message<"metalstack.admin.v2.NetworkServiceAddExternalMembersRequest"> & {
/**
* Network to add the member to.
*
@@ -314,24 +314,29 @@ export type NetworkServiceAddExternalMemberRequest = Message<"metalstack.admin.v
*/
network: string;
/**
- * SwitchPorts contains the ports of a switch that should be added to the network.
- * Make sure to add both switches of a rack and the same ports of both in the same request.
+ * Rack the members are connected to.
*
- * @generated from field: repeated metalstack.api.v2.ExternalNetworkMember switch_ports = 2;
+ * @generated from field: string rack = 2;
*/
- switchPorts: ExternalNetworkMember[];
+ rack: string;
+ /**
+ * Ports of the switches to add to the network.
+ *
+ * @generated from field: repeated string ports = 3;
+ */
+ ports: string[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMemberRequest.
- * Use `create(NetworkServiceAddExternalMemberRequestSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMembersRequest.
+ * Use `create(NetworkServiceAddExternalMembersRequestSchema)` to create a new message.
*/
-export declare const NetworkServiceAddExternalMemberRequestSchema: GenMessage;
+export declare const NetworkServiceAddExternalMembersRequestSchema: GenMessage;
/**
* NetworkServiceRemoveExternalMemberRequest is the request payload for removing an external member from a network.
*
- * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest
+ * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest
*/
-export type NetworkServiceRemoveExternalMemberRequest = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest"> & {
+export type NetworkServiceRemoveExternalMembersRequest = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest"> & {
/**
* Network to remove the member from.
*
@@ -339,17 +344,23 @@ export type NetworkServiceRemoveExternalMemberRequest = Message<"metalstack.admi
*/
network: string;
/**
- * SwitchPorts contains the ports of a switch that should be removed from the network.
+ * Rack the members are connected to.
+ *
+ * @generated from field: string rack = 2;
+ */
+ rack: string;
+ /**
+ * Ports of the switches to remove from the network.
*
- * @generated from field: repeated metalstack.api.v2.ExternalNetworkMember switch_ports = 2;
+ * @generated from field: repeated string ports = 3;
*/
- switchPorts: ExternalNetworkMember[];
+ ports: string[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest.
- * Use `create(NetworkServiceRemoveExternalMemberRequestSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest.
+ * Use `create(NetworkServiceRemoveExternalMembersRequestSchema)` to create a new message.
*/
-export declare const NetworkServiceRemoveExternalMemberRequestSchema: GenMessage;
+export declare const NetworkServiceRemoveExternalMembersRequestSchema: GenMessage;
/**
* NetworkServiceCreateResponse is the response payload for creating a network.
*
@@ -443,39 +454,39 @@ export declare const NetworkServiceListExternalMembersResponseSchema: GenMessage
/**
* NetworkServiceAddExternalMemberResponse is the response payload for adding an external member to a network.
*
- * @generated from message metalstack.admin.v2.NetworkServiceAddExternalMemberResponse
+ * @generated from message metalstack.admin.v2.NetworkServiceAddExternalMembersResponse
*/
-export type NetworkServiceAddExternalMemberResponse = Message<"metalstack.admin.v2.NetworkServiceAddExternalMemberResponse"> & {
+export type NetworkServiceAddExternalMembersResponse = Message<"metalstack.admin.v2.NetworkServiceAddExternalMembersResponse"> & {
/**
- * Switch contains the updated switch.
+ * Switch contains the updated switches.
*
- * @generated from field: metalstack.api.v2.Switch switch = 1;
+ * @generated from field: repeated metalstack.api.v2.Switch switches = 1;
*/
- switch?: Switch | undefined;
+ switches: Switch[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMemberResponse.
- * Use `create(NetworkServiceAddExternalMemberResponseSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMembersResponse.
+ * Use `create(NetworkServiceAddExternalMembersResponseSchema)` to create a new message.
*/
-export declare const NetworkServiceAddExternalMemberResponseSchema: GenMessage;
+export declare const NetworkServiceAddExternalMembersResponseSchema: GenMessage;
/**
* NetworkServiceRemoveExternalMemberResponse is the response payload for removing an external member from a network.
*
- * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse
+ * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse
*/
-export type NetworkServiceRemoveExternalMemberResponse = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse"> & {
+export type NetworkServiceRemoveExternalMembersResponse = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse"> & {
/**
- * Switch contains the updated switch.
+ * Switch contains the updated switches.
*
- * @generated from field: metalstack.api.v2.Switch switch = 1;
+ * @generated from field: repeated metalstack.api.v2.Switch switches = 1;
*/
- switch?: Switch | undefined;
+ switches: Switch[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse.
- * Use `create(NetworkServiceRemoveExternalMemberResponseSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse.
+ * Use `create(NetworkServiceRemoveExternalMembersResponseSchema)` to create a new message.
*/
-export declare const NetworkServiceRemoveExternalMemberResponseSchema: GenMessage;
+export declare const NetworkServiceRemoveExternalMembersResponseSchema: GenMessage;
/**
* NetworkService provides network management operations.
*
@@ -545,21 +556,21 @@ export declare const NetworkService: GenService<{
/**
* Adds an external member to a network.
*
- * @generated from rpc metalstack.admin.v2.NetworkService.AddExternalMember
+ * @generated from rpc metalstack.admin.v2.NetworkService.AddExternalMembers
*/
- addExternalMember: {
+ addExternalMembers: {
methodKind: "unary";
- input: typeof NetworkServiceAddExternalMemberRequestSchema;
- output: typeof NetworkServiceAddExternalMemberResponseSchema;
+ input: typeof NetworkServiceAddExternalMembersRequestSchema;
+ output: typeof NetworkServiceAddExternalMembersResponseSchema;
};
/**
* Removes an external member from a network.
*
- * @generated from rpc metalstack.admin.v2.NetworkService.RemoveExternalMember
+ * @generated from rpc metalstack.admin.v2.NetworkService.RemoveExternalMembers
*/
- removeExternalMember: {
+ removeExternalMembers: {
methodKind: "unary";
- input: typeof NetworkServiceRemoveExternalMemberRequestSchema;
- output: typeof NetworkServiceRemoveExternalMemberResponseSchema;
+ input: typeof NetworkServiceRemoveExternalMembersRequestSchema;
+ output: typeof NetworkServiceRemoveExternalMembersResponseSchema;
};
}>;
diff --git a/js/metalstack/admin/v2/network_pb.js b/js/metalstack/admin/v2/network_pb.js
index d459084d..97a568d9 100644
--- a/js/metalstack/admin/v2/network_pb.js
+++ b/js/metalstack/admin/v2/network_pb.js
@@ -10,7 +10,7 @@ import { file_metalstack_api_v2_switch } from "../../api/v2/switch_pb";
/**
* Describes the file metalstack/admin/v2/network.proto.
*/
-export const file_metalstack_admin_v2_network = /*@__PURE__*/ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL25ldHdvcmsucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMwoYTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECASJIChlOZXR3b3JrU2VydmljZUdldFJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrItAHChtOZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QSHAoCaWQYASABKAlCC7pICHIGwLOusQIBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIlCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgFIAogBARIjCglwYXJ0aXRpb24YBCABKAlCC7pICHIG0LOusQIBSAOIAQESHgoHcHJvamVjdBgFIAEoCUIIukgFcgOwAQFIBIgBARI2CgR0eXBlGAYgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gFiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjsKCG5hdF90eXBlGAwgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAFIBogBARIQCgN2cmYYDSABKA1IB4gBARIoCg5wYXJlbnRfbmV0d29yaxgOIAEoCUILukgIcgbAs66xAgFICIgBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGA8gAygJQgy6SAmSAQa4pLOxAgESOQoGbGVuZ3RoGBAgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhICYgBARJOCg5hZGRyZXNzX2ZhbWlseRgRIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgKiAEBQgUKA19pZEIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDAoKX3BhcnRpdGlvbkIKCghfcHJvamVjdEIJCgdfbGFiZWxzQgsKCV9uYXRfdHlwZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSLEBQobTmV0d29ya1NlcnZpY2VVcGRhdGVSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIeCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgBiAEBEjQKBmxhYmVscxgFIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gCiAEBEh4KCHByZWZpeGVzGAYgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYByADKAlCDLpICZIBBriks7ECARJOChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCCABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aEgDiAEBEkoKF21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoGAkgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARI7CghuYXRfdHlwZRgKIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAWIAQESMgocYWRkaXRpb25hbF9hbm5vdW5jYWJsZV9jaWRycxgLIAMoCUIMukgJkgEGuKSzsQIBEg0KBWZvcmNlGAwgASgIQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfbGFiZWxzQh4KHF9kZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGhCGgoYX21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoQgsKCV9uYXRfdHlwZSI2ChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBIksKGU5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QSLgoFcXVlcnkYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrUXVlcnkihgEKKE5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1JlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESPAoFcXVlcnkYAiABKAsyLS5tZXRhbHN0YWNrLmFwaS52Mi5FeHRlcm5hbE5ldHdvcmtNZW1iZXJRdWVyeSKQAQomTmV0d29ya1NlcnZpY2VBZGRFeHRlcm5hbE1lbWJlclJlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESSAoMc3dpdGNoX3BvcnRzGAIgAygLMigubWV0YWxzdGFjay5hcGkudjIuRXh0ZXJuYWxOZXR3b3JrTWVtYmVyQgi6SAWSAQIQCCKTAQopTmV0d29ya1NlcnZpY2VSZW1vdmVFeHRlcm5hbE1lbWJlclJlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESSAoMc3dpdGNoX3BvcnRzGAIgAygLMigubWV0YWxzdGFjay5hcGkudjIuRXh0ZXJuYWxOZXR3b3JrTWVtYmVyQgi6SAWSAQIQCCJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIksKHE5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsiSwocTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJKChpOZXR3b3JrU2VydmljZUxpc3RSZXNwb25zZRIsCghuZXR3b3JrcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsiZgopTmV0d29ya1NlcnZpY2VMaXN0RXh0ZXJuYWxNZW1iZXJzUmVzcG9uc2USOQoHbWVtYmVycxgBIAMoCzIoLm1ldGFsc3RhY2suYXBpLnYyLkV4dGVybmFsTmV0d29ya01lbWJlciJUCidOZXR3b3JrU2VydmljZUFkZEV4dGVybmFsTWVtYmVyUmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoIlcKKk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gyyQgKDk5ldHdvcmtTZXJ2aWNlEnAKA0dldBItLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUdldFJlc3BvbnNlIgrS8xgCAQLg8xgCEngKBkNyZWF0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VDcmVhdGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlIgnS8xgBAeDzGAESeAoGVXBkYXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCdLzGAEB4PMYARJ4CgZEZWxldGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZSIJ0vMYAQHg8xgBEnMKBExpc3QSLi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QaLy5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCEqABChNMaXN0RXh0ZXJuYWxNZW1iZXJzEj0ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUxpc3RFeHRlcm5hbE1lbWJlcnNSZXF1ZXN0Gj4ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUxpc3RFeHRlcm5hbE1lbWJlcnNSZXNwb25zZSIK0vMYAgEC4PMYAhKZAQoRQWRkRXh0ZXJuYWxNZW1iZXISOy5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlQWRkRXh0ZXJuYWxNZW1iZXJSZXF1ZXN0GjwubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUFkZEV4dGVybmFsTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYARKiAQoUUmVtb3ZlRXh0ZXJuYWxNZW1iZXISPi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJSZXF1ZXN0Gj8ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZVJlbW92ZUV4dGVybmFsTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYAULQAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCDE5ldHdvcmtQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_network, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
+export const file_metalstack_admin_v2_network = /*@__PURE__*/ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL25ldHdvcmsucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMwoYTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECASJIChlOZXR3b3JrU2VydmljZUdldFJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrItAHChtOZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QSHAoCaWQYASABKAlCC7pICHIGwLOusQIBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIlCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgFIAogBARIjCglwYXJ0aXRpb24YBCABKAlCC7pICHIG0LOusQIBSAOIAQESHgoHcHJvamVjdBgFIAEoCUIIukgFcgOwAQFIBIgBARI2CgR0eXBlGAYgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gFiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjsKCG5hdF90eXBlGAwgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAFIBogBARIQCgN2cmYYDSABKA1IB4gBARIoCg5wYXJlbnRfbmV0d29yaxgOIAEoCUILukgIcgbAs66xAgFICIgBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGA8gAygJQgy6SAmSAQa4pLOxAgESOQoGbGVuZ3RoGBAgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhICYgBARJOCg5hZGRyZXNzX2ZhbWlseRgRIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgKiAEBQgUKA19pZEIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDAoKX3BhcnRpdGlvbkIKCghfcHJvamVjdEIJCgdfbGFiZWxzQgsKCV9uYXRfdHlwZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSLEBQobTmV0d29ya1NlcnZpY2VVcGRhdGVSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIeCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgBiAEBEjQKBmxhYmVscxgFIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gCiAEBEh4KCHByZWZpeGVzGAYgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYByADKAlCDLpICZIBBriks7ECARJOChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCCABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aEgDiAEBEkoKF21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoGAkgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARI7CghuYXRfdHlwZRgKIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAWIAQESMgocYWRkaXRpb25hbF9hbm5vdW5jYWJsZV9jaWRycxgLIAMoCUIMukgJkgEGuKSzsQIBEg0KBWZvcmNlGAwgASgIQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfbGFiZWxzQh4KHF9kZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGhCGgoYX21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoQgsKCV9uYXRfdHlwZSI2ChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBIksKGU5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QSLgoFcXVlcnkYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrUXVlcnkihgEKKE5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1JlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESPAoFcXVlcnkYAiABKAsyLS5tZXRhbHN0YWNrLmFwaS52Mi5FeHRlcm5hbE5ldHdvcmtNZW1iZXJRdWVyeSKCAQonTmV0d29ya1NlcnZpY2VBZGRFeHRlcm5hbE1lbWJlcnNSZXF1ZXN0EhwKB25ldHdvcmsYASABKAlCC7pICHIGwLOusQIBEhkKBHJhY2sYAiABKAlCC7pICHIGwLOusQIBEh4KBXBvcnRzGAMgAygJQg+6SAySAQnQpLOxAgEQgBAihQEKKk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJzUmVxdWVzdBIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgRyYWNrGAIgASgJQgu6SAhyBsCzrrECARIeCgVwb3J0cxgDIAMoCUIPukgMkgEJ0KSzsQIBEIAQIksKHE5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJLChxOZXR3b3JrU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJmCilOZXR3b3JrU2VydmljZUxpc3RFeHRlcm5hbE1lbWJlcnNSZXNwb25zZRI5CgdtZW1iZXJzGAEgAygLMigubWV0YWxzdGFjay5hcGkudjIuRXh0ZXJuYWxOZXR3b3JrTWVtYmVyIlcKKE5ldHdvcmtTZXJ2aWNlQWRkRXh0ZXJuYWxNZW1iZXJzUmVzcG9uc2USKwoIc3dpdGNoZXMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2giWgorTmV0d29ya1NlcnZpY2VSZW1vdmVFeHRlcm5hbE1lbWJlcnNSZXNwb25zZRIrCghzd2l0Y2hlcxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaDLPCAoOTmV0d29ya1NlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAISeAoGQ3JlYXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCdLzGAEB4PMYARJ4CgZVcGRhdGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEngKBkRlbGV0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZURlbGV0ZVJlc3BvbnNlIgnS8xgBAeDzGAEScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAISoAEKE0xpc3RFeHRlcm5hbE1lbWJlcnMSPS5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1JlcXVlc3QaPi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1Jlc3BvbnNlIgrS8xgCAQLg8xgCEpwBChJBZGRFeHRlcm5hbE1lbWJlcnMSPC5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlQWRkRXh0ZXJuYWxNZW1iZXJzUmVxdWVzdBo9Lm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VBZGRFeHRlcm5hbE1lbWJlcnNSZXNwb25zZSIJ0vMYAQHg8xgBEqUBChVSZW1vdmVFeHRlcm5hbE1lbWJlcnMSPy5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJzUmVxdWVzdBpALm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VSZW1vdmVFeHRlcm5hbE1lbWJlcnNSZXNwb25zZSIJ0vMYAQHg8xgBQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMTmV0d29ya1Byb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_network, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
/**
* Describes the message metalstack.admin.v2.NetworkServiceGetRequest.
* Use `create(NetworkServiceGetRequestSchema)` to create a new message.
@@ -47,15 +47,15 @@ export const NetworkServiceListRequestSchema = /*@__PURE__*/ messageDesc(file_me
*/
export const NetworkServiceListExternalMembersRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 6);
/**
- * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMemberRequest.
- * Use `create(NetworkServiceAddExternalMemberRequestSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMembersRequest.
+ * Use `create(NetworkServiceAddExternalMembersRequestSchema)` to create a new message.
*/
-export const NetworkServiceAddExternalMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 7);
+export const NetworkServiceAddExternalMembersRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 7);
/**
- * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest.
- * Use `create(NetworkServiceRemoveExternalMemberRequestSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest.
+ * Use `create(NetworkServiceRemoveExternalMembersRequestSchema)` to create a new message.
*/
-export const NetworkServiceRemoveExternalMemberRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 8);
+export const NetworkServiceRemoveExternalMembersRequestSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 8);
/**
* Describes the message metalstack.admin.v2.NetworkServiceCreateResponse.
* Use `create(NetworkServiceCreateResponseSchema)` to create a new message.
@@ -82,15 +82,15 @@ export const NetworkServiceListResponseSchema = /*@__PURE__*/ messageDesc(file_m
*/
export const NetworkServiceListExternalMembersResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 13);
/**
- * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMemberResponse.
- * Use `create(NetworkServiceAddExternalMemberResponseSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMembersResponse.
+ * Use `create(NetworkServiceAddExternalMembersResponseSchema)` to create a new message.
*/
-export const NetworkServiceAddExternalMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 14);
+export const NetworkServiceAddExternalMembersResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 14);
/**
- * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse.
- * Use `create(NetworkServiceRemoveExternalMemberResponseSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse.
+ * Use `create(NetworkServiceRemoveExternalMembersResponseSchema)` to create a new message.
*/
-export const NetworkServiceRemoveExternalMemberResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 15);
+export const NetworkServiceRemoveExternalMembersResponseSchema = /*@__PURE__*/ messageDesc(file_metalstack_admin_v2_network, 15);
/**
* NetworkService provides network management operations.
*
diff --git a/js/metalstack/admin/v2/network_pb.ts b/js/metalstack/admin/v2/network_pb.ts
index d7df24a2..ca362448 100644
--- a/js/metalstack/admin/v2/network_pb.ts
+++ b/js/metalstack/admin/v2/network_pb.ts
@@ -18,7 +18,7 @@ import type { Message } from "@bufbuild/protobuf";
* Describes the file metalstack/admin/v2/network.proto.
*/
export const file_metalstack_admin_v2_network: GenFile = /*@__PURE__*/
- fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL25ldHdvcmsucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMwoYTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECASJIChlOZXR3b3JrU2VydmljZUdldFJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrItAHChtOZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QSHAoCaWQYASABKAlCC7pICHIGwLOusQIBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIlCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgFIAogBARIjCglwYXJ0aXRpb24YBCABKAlCC7pICHIG0LOusQIBSAOIAQESHgoHcHJvamVjdBgFIAEoCUIIukgFcgOwAQFIBIgBARI2CgR0eXBlGAYgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gFiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjsKCG5hdF90eXBlGAwgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAFIBogBARIQCgN2cmYYDSABKA1IB4gBARIoCg5wYXJlbnRfbmV0d29yaxgOIAEoCUILukgIcgbAs66xAgFICIgBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGA8gAygJQgy6SAmSAQa4pLOxAgESOQoGbGVuZ3RoGBAgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhICYgBARJOCg5hZGRyZXNzX2ZhbWlseRgRIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgKiAEBQgUKA19pZEIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDAoKX3BhcnRpdGlvbkIKCghfcHJvamVjdEIJCgdfbGFiZWxzQgsKCV9uYXRfdHlwZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSLEBQobTmV0d29ya1NlcnZpY2VVcGRhdGVSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIeCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgBiAEBEjQKBmxhYmVscxgFIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gCiAEBEh4KCHByZWZpeGVzGAYgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYByADKAlCDLpICZIBBriks7ECARJOChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCCABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aEgDiAEBEkoKF21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoGAkgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARI7CghuYXRfdHlwZRgKIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAWIAQESMgocYWRkaXRpb25hbF9hbm5vdW5jYWJsZV9jaWRycxgLIAMoCUIMukgJkgEGuKSzsQIBEg0KBWZvcmNlGAwgASgIQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfbGFiZWxzQh4KHF9kZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGhCGgoYX21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoQgsKCV9uYXRfdHlwZSI2ChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBIksKGU5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QSLgoFcXVlcnkYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrUXVlcnkihgEKKE5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1JlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESPAoFcXVlcnkYAiABKAsyLS5tZXRhbHN0YWNrLmFwaS52Mi5FeHRlcm5hbE5ldHdvcmtNZW1iZXJRdWVyeSKQAQomTmV0d29ya1NlcnZpY2VBZGRFeHRlcm5hbE1lbWJlclJlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESSAoMc3dpdGNoX3BvcnRzGAIgAygLMigubWV0YWxzdGFjay5hcGkudjIuRXh0ZXJuYWxOZXR3b3JrTWVtYmVyQgi6SAWSAQIQCCKTAQopTmV0d29ya1NlcnZpY2VSZW1vdmVFeHRlcm5hbE1lbWJlclJlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESSAoMc3dpdGNoX3BvcnRzGAIgAygLMigubWV0YWxzdGFjay5hcGkudjIuRXh0ZXJuYWxOZXR3b3JrTWVtYmVyQgi6SAWSAQIQCCJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIksKHE5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsiSwocTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJKChpOZXR3b3JrU2VydmljZUxpc3RSZXNwb25zZRIsCghuZXR3b3JrcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsiZgopTmV0d29ya1NlcnZpY2VMaXN0RXh0ZXJuYWxNZW1iZXJzUmVzcG9uc2USOQoHbWVtYmVycxgBIAMoCzIoLm1ldGFsc3RhY2suYXBpLnYyLkV4dGVybmFsTmV0d29ya01lbWJlciJUCidOZXR3b3JrU2VydmljZUFkZEV4dGVybmFsTWVtYmVyUmVzcG9uc2USKQoGc3dpdGNoGAEgASgLMhkubWV0YWxzdGFjay5hcGkudjIuU3dpdGNoIlcKKk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJSZXNwb25zZRIpCgZzd2l0Y2gYASABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2gyyQgKDk5ldHdvcmtTZXJ2aWNlEnAKA0dldBItLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0Gi4ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUdldFJlc3BvbnNlIgrS8xgCAQLg8xgCEngKBkNyZWF0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VDcmVhdGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlIgnS8xgBAeDzGAESeAoGVXBkYXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCdLzGAEB4PMYARJ4CgZEZWxldGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZSIJ0vMYAQHg8xgBEnMKBExpc3QSLi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QaLy5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlIgrS8xgCAQLg8xgCEqABChNMaXN0RXh0ZXJuYWxNZW1iZXJzEj0ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUxpc3RFeHRlcm5hbE1lbWJlcnNSZXF1ZXN0Gj4ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUxpc3RFeHRlcm5hbE1lbWJlcnNSZXNwb25zZSIK0vMYAgEC4PMYAhKZAQoRQWRkRXh0ZXJuYWxNZW1iZXISOy5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlQWRkRXh0ZXJuYWxNZW1iZXJSZXF1ZXN0GjwubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUFkZEV4dGVybmFsTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYARKiAQoUUmVtb3ZlRXh0ZXJuYWxNZW1iZXISPi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJSZXF1ZXN0Gj8ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZVJlbW92ZUV4dGVybmFsTWVtYmVyUmVzcG9uc2UiCdLzGAEB4PMYAULQAQoXY29tLm1ldGFsc3RhY2suYWRtaW4udjJCDE5ldHdvcmtQcm90b1ABWjlnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FkbWluL3YyO2FkbWludjKiAgNNQViqAhNNZXRhbHN0YWNrLkFkbWluLlYyygITTWV0YWxzdGFja1xBZG1pblxWMuICH01ldGFsc3RhY2tcQWRtaW5cVjJcR1BCTWV0YWRhdGHqAhVNZXRhbHN0YWNrOjpBZG1pbjo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_network, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
+ fileDesc("CiFtZXRhbHN0YWNrL2FkbWluL3YyL25ldHdvcmsucHJvdG8SE21ldGFsc3RhY2suYWRtaW4udjIiMwoYTmV0d29ya1NlcnZpY2VHZXRSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECASJIChlOZXR3b3JrU2VydmljZUdldFJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrItAHChtOZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QSHAoCaWQYASABKAlCC7pICHIGwLOusQIBSACIAQESHgoEbmFtZRgCIAEoCUILukgIcgbAs66xAgFIAYgBARIlCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgFIAogBARIjCglwYXJ0aXRpb24YBCABKAlCC7pICHIG0LOusQIBSAOIAQESHgoHcHJvamVjdBgFIAEoCUIIukgFcgOwAQFIBIgBARI2CgR0eXBlGAYgASgOMh4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1R5cGVCCLpIBYIBAhABEi4KBmxhYmVscxgHIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gFiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjsKCG5hdF90eXBlGAwgASgOMhoubWV0YWxzdGFjay5hcGkudjIuTkFUVHlwZUIIukgFggECEAFIBogBARIQCgN2cmYYDSABKA1IB4gBARIoCg5wYXJlbnRfbmV0d29yaxgOIAEoCUILukgIcgbAs66xAgFICIgBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGA8gAygJQgy6SAmSAQa4pLOxAgESOQoGbGVuZ3RoGBAgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhICYgBARJOCg5hZGRyZXNzX2ZhbWlseRgRIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgKiAEBQgUKA19pZEIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CDAoKX3BhcnRpdGlvbkIKCghfcHJvamVjdEIJCgdfbGFiZWxzQgsKCV9uYXRfdHlwZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSLEBQobTmV0d29ya1NlcnZpY2VVcGRhdGVSZXF1ZXN0EhcKAmlkGAEgASgJQgu6SAhyBsCzrrECARI6Cgt1cGRhdGVfbWV0YRgCIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZU1ldGFCBrpIA8gBARIeCgRuYW1lGAMgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgBiAEBEjQKBmxhYmVscxgFIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gCiAEBEh4KCHByZWZpeGVzGAYgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYByADKAlCDLpICZIBBriks7ECARJOChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCCABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aEgDiAEBEkoKF21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoGAkgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARI7CghuYXRfdHlwZRgKIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAWIAQESMgocYWRkaXRpb25hbF9hbm5vdW5jYWJsZV9jaWRycxgLIAMoCUIMukgJkgEGuKSzsQIBEg0KBWZvcmNlGAwgASgIQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIJCgdfbGFiZWxzQh4KHF9kZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGhCGgoYX21pbl9jaGlsZF9wcmVmaXhfbGVuZ3RoQgsKCV9uYXRfdHlwZSI2ChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBIksKGU5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QSLgoFcXVlcnkYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrUXVlcnkihgEKKE5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1JlcXVlc3QSHAoHbmV0d29yaxgBIAEoCUILukgIcgbAs66xAgESPAoFcXVlcnkYAiABKAsyLS5tZXRhbHN0YWNrLmFwaS52Mi5FeHRlcm5hbE5ldHdvcmtNZW1iZXJRdWVyeSKCAQonTmV0d29ya1NlcnZpY2VBZGRFeHRlcm5hbE1lbWJlcnNSZXF1ZXN0EhwKB25ldHdvcmsYASABKAlCC7pICHIGwLOusQIBEhkKBHJhY2sYAiABKAlCC7pICHIGwLOusQIBEh4KBXBvcnRzGAMgAygJQg+6SAySAQnQpLOxAgEQgBAihQEKKk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJzUmVxdWVzdBIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgRyYWNrGAIgASgJQgu6SAhyBsCzrrECARIeCgVwb3J0cxgDIAMoCUIPukgMkgEJ0KSzsQIBEIAQIksKHE5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJLChxOZXR3b3JrU2VydmljZURlbGV0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJmCilOZXR3b3JrU2VydmljZUxpc3RFeHRlcm5hbE1lbWJlcnNSZXNwb25zZRI5CgdtZW1iZXJzGAEgAygLMigubWV0YWxzdGFjay5hcGkudjIuRXh0ZXJuYWxOZXR3b3JrTWVtYmVyIlcKKE5ldHdvcmtTZXJ2aWNlQWRkRXh0ZXJuYWxNZW1iZXJzUmVzcG9uc2USKwoIc3dpdGNoZXMYASADKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5Td2l0Y2giWgorTmV0d29ya1NlcnZpY2VSZW1vdmVFeHRlcm5hbE1lbWJlcnNSZXNwb25zZRIrCghzd2l0Y2hlcxgBIAMoCzIZLm1ldGFsc3RhY2suYXBpLnYyLlN3aXRjaDLPCAoOTmV0d29ya1NlcnZpY2UScAoDR2V0Ei0ubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUdldFJlcXVlc3QaLi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2UiCtLzGAIBAuDzGAISeAoGQ3JlYXRlEjAubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QaMS5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCdLzGAEB4PMYARJ4CgZVcGRhdGUSMC5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVxdWVzdBoxLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZSIJ0vMYAQHg8xgBEngKBkRlbGV0ZRIwLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXF1ZXN0GjEubWV0YWxzdGFjay5hZG1pbi52Mi5OZXR3b3JrU2VydmljZURlbGV0ZVJlc3BvbnNlIgnS8xgBAeDzGAEScwoETGlzdBIuLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VMaXN0UmVxdWVzdBovLm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VMaXN0UmVzcG9uc2UiCtLzGAIBAuDzGAISoAEKE0xpc3RFeHRlcm5hbE1lbWJlcnMSPS5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1JlcXVlc3QaPi5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEV4dGVybmFsTWVtYmVyc1Jlc3BvbnNlIgrS8xgCAQLg8xgCEpwBChJBZGRFeHRlcm5hbE1lbWJlcnMSPC5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlQWRkRXh0ZXJuYWxNZW1iZXJzUmVxdWVzdBo9Lm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VBZGRFeHRlcm5hbE1lbWJlcnNSZXNwb25zZSIJ0vMYAQHg8xgBEqUBChVSZW1vdmVFeHRlcm5hbE1lbWJlcnMSPy5tZXRhbHN0YWNrLmFkbWluLnYyLk5ldHdvcmtTZXJ2aWNlUmVtb3ZlRXh0ZXJuYWxNZW1iZXJzUmVxdWVzdBpALm1ldGFsc3RhY2suYWRtaW4udjIuTmV0d29ya1NlcnZpY2VSZW1vdmVFeHRlcm5hbE1lbWJlcnNSZXNwb25zZSIJ0vMYAQHg8xgBQtABChdjb20ubWV0YWxzdGFjay5hZG1pbi52MkIMTmV0d29ya1Byb3RvUAFaOWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYWRtaW4vdjI7YWRtaW52MqICA01BWKoCE01ldGFsc3RhY2suQWRtaW4uVjLKAhNNZXRhbHN0YWNrXEFkbWluXFYy4gIfTWV0YWxzdGFja1xBZG1pblxWMlxHUEJNZXRhZGF0YeoCFU1ldGFsc3RhY2s6OkFkbWluOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_network, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_switch]);
/**
* NetworkServiceGetRequest is the request payload for getting a network.
@@ -366,9 +366,9 @@ export const NetworkServiceListExternalMembersRequestSchema: GenMessage & {
+export type NetworkServiceAddExternalMembersRequest = Message<"metalstack.admin.v2.NetworkServiceAddExternalMembersRequest"> & {
/**
* Network to add the member to.
*
@@ -377,27 +377,33 @@ export type NetworkServiceAddExternalMemberRequest = Message<"metalstack.admin.v
network: string;
/**
- * SwitchPorts contains the ports of a switch that should be added to the network.
- * Make sure to add both switches of a rack and the same ports of both in the same request.
+ * Rack the members are connected to.
*
- * @generated from field: repeated metalstack.api.v2.ExternalNetworkMember switch_ports = 2;
+ * @generated from field: string rack = 2;
*/
- switchPorts: ExternalNetworkMember[];
+ rack: string;
+
+ /**
+ * Ports of the switches to add to the network.
+ *
+ * @generated from field: repeated string ports = 3;
+ */
+ ports: string[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMemberRequest.
- * Use `create(NetworkServiceAddExternalMemberRequestSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMembersRequest.
+ * Use `create(NetworkServiceAddExternalMembersRequestSchema)` to create a new message.
*/
-export const NetworkServiceAddExternalMemberRequestSchema: GenMessage = /*@__PURE__*/
+export const NetworkServiceAddExternalMembersRequestSchema: GenMessage = /*@__PURE__*/
messageDesc(file_metalstack_admin_v2_network, 7);
/**
* NetworkServiceRemoveExternalMemberRequest is the request payload for removing an external member from a network.
*
- * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest
+ * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest
*/
-export type NetworkServiceRemoveExternalMemberRequest = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest"> & {
+export type NetworkServiceRemoveExternalMembersRequest = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest"> & {
/**
* Network to remove the member from.
*
@@ -406,18 +412,25 @@ export type NetworkServiceRemoveExternalMemberRequest = Message<"metalstack.admi
network: string;
/**
- * SwitchPorts contains the ports of a switch that should be removed from the network.
+ * Rack the members are connected to.
+ *
+ * @generated from field: string rack = 2;
+ */
+ rack: string;
+
+ /**
+ * Ports of the switches to remove from the network.
*
- * @generated from field: repeated metalstack.api.v2.ExternalNetworkMember switch_ports = 2;
+ * @generated from field: repeated string ports = 3;
*/
- switchPorts: ExternalNetworkMember[];
+ ports: string[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest.
- * Use `create(NetworkServiceRemoveExternalMemberRequestSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest.
+ * Use `create(NetworkServiceRemoveExternalMembersRequestSchema)` to create a new message.
*/
-export const NetworkServiceRemoveExternalMemberRequestSchema: GenMessage = /*@__PURE__*/
+export const NetworkServiceRemoveExternalMembersRequestSchema: GenMessage = /*@__PURE__*/
messageDesc(file_metalstack_admin_v2_network, 8);
/**
@@ -528,43 +541,43 @@ export const NetworkServiceListExternalMembersResponseSchema: GenMessage & {
+export type NetworkServiceAddExternalMembersResponse = Message<"metalstack.admin.v2.NetworkServiceAddExternalMembersResponse"> & {
/**
- * Switch contains the updated switch.
+ * Switch contains the updated switches.
*
- * @generated from field: metalstack.api.v2.Switch switch = 1;
+ * @generated from field: repeated metalstack.api.v2.Switch switches = 1;
*/
- switch?: Switch | undefined;
+ switches: Switch[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMemberResponse.
- * Use `create(NetworkServiceAddExternalMemberResponseSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceAddExternalMembersResponse.
+ * Use `create(NetworkServiceAddExternalMembersResponseSchema)` to create a new message.
*/
-export const NetworkServiceAddExternalMemberResponseSchema: GenMessage = /*@__PURE__*/
+export const NetworkServiceAddExternalMembersResponseSchema: GenMessage = /*@__PURE__*/
messageDesc(file_metalstack_admin_v2_network, 14);
/**
* NetworkServiceRemoveExternalMemberResponse is the response payload for removing an external member from a network.
*
- * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse
+ * @generated from message metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse
*/
-export type NetworkServiceRemoveExternalMemberResponse = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse"> & {
+export type NetworkServiceRemoveExternalMembersResponse = Message<"metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse"> & {
/**
- * Switch contains the updated switch.
+ * Switch contains the updated switches.
*
- * @generated from field: metalstack.api.v2.Switch switch = 1;
+ * @generated from field: repeated metalstack.api.v2.Switch switches = 1;
*/
- switch?: Switch | undefined;
+ switches: Switch[];
};
/**
- * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse.
- * Use `create(NetworkServiceRemoveExternalMemberResponseSchema)` to create a new message.
+ * Describes the message metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse.
+ * Use `create(NetworkServiceRemoveExternalMembersResponseSchema)` to create a new message.
*/
-export const NetworkServiceRemoveExternalMemberResponseSchema: GenMessage = /*@__PURE__*/
+export const NetworkServiceRemoveExternalMembersResponseSchema: GenMessage = /*@__PURE__*/
messageDesc(file_metalstack_admin_v2_network, 15);
/**
@@ -636,22 +649,22 @@ export const NetworkService: GenService<{
/**
* Adds an external member to a network.
*
- * @generated from rpc metalstack.admin.v2.NetworkService.AddExternalMember
+ * @generated from rpc metalstack.admin.v2.NetworkService.AddExternalMembers
*/
- addExternalMember: {
+ addExternalMembers: {
methodKind: "unary";
- input: typeof NetworkServiceAddExternalMemberRequestSchema;
- output: typeof NetworkServiceAddExternalMemberResponseSchema;
+ input: typeof NetworkServiceAddExternalMembersRequestSchema;
+ output: typeof NetworkServiceAddExternalMembersResponseSchema;
},
/**
* Removes an external member from a network.
*
- * @generated from rpc metalstack.admin.v2.NetworkService.RemoveExternalMember
+ * @generated from rpc metalstack.admin.v2.NetworkService.RemoveExternalMembers
*/
- removeExternalMember: {
+ removeExternalMembers: {
methodKind: "unary";
- input: typeof NetworkServiceRemoveExternalMemberRequestSchema;
- output: typeof NetworkServiceRemoveExternalMemberResponseSchema;
+ input: typeof NetworkServiceRemoveExternalMembersRequestSchema;
+ output: typeof NetworkServiceRemoveExternalMembersResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_metalstack_admin_v2_network, 0);
diff --git a/js/metalstack/api/v2/network_pb.d.ts b/js/metalstack/api/v2/network_pb.d.ts
index f73aae16..d03f38e2 100644
--- a/js/metalstack/api/v2/network_pb.d.ts
+++ b/js/metalstack/api/v2/network_pb.d.ts
@@ -546,6 +546,12 @@ export type ExternalNetworkMemberQuery = Message<"metalstack.api.v2.ExternalNetw
* @generated from field: optional string rack = 2;
*/
rack?: string | undefined;
+ /**
+ * Partition where the members of the network reside..
+ *
+ * @generated from field: optional string partition = 3;
+ */
+ partition?: string | undefined;
};
/**
* Describes the message metalstack.api.v2.ExternalNetworkMemberQuery.
diff --git a/js/metalstack/api/v2/network_pb.js b/js/metalstack/api/v2/network_pb.js
index 540dcfd9..370cc131 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsizQYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjYKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYDSABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARIQCgN2cmYYDiABKA1IBYgBARIoCg5wYXJlbnRfbmV0d29yaxgPIAEoCUILukgIcgbAs66xAgFIBogBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGBAgAygJQgy6SAmSAQa4pLOxAgESOgoLY29uc3VtcHRpb24YESABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrQ29uc3VtcHRpb25CBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29yayLzBQoMTmV0d29ya1F1ZXJ5EhwKAmlkGAEgASgJQgu6SAhyBsCzrrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESJQoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBSAKIAQESIwoJcGFydGl0aW9uGAQgASgJQgu6SAhyBtCzrrECAUgDiAEBEh4KB3Byb2plY3QYBSABKAlCCLpIBXIDsAEBSASIAQESIAoJbmFtZXNwYWNlGAYgASgJQgi6SAVyA7ABAUgFiAEBEh4KCHByZWZpeGVzGAcgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCCADKAlCDLpICZIBBriks7ECARIQCgN2cmYYCSABKA1IBogBARIoCg5wYXJlbnRfbmV0d29yaxgKIAEoCUILukgIcgbAs66xAgFIB4gBARJOCg5hZGRyZXNzX2ZhbWlseRgLIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgIiAEBEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFICYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAqIAQESLgoGbGFiZWxzGA4gASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAuIAQFCBQoDX2lkQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBgoEX3ZyZkIRCg9fcGFyZW50X25ldHdvcmtCEQoPX2FkZHJlc3NfZmFtaWx5QgcKBV90eXBlQgsKCV9uYXRfdHlwZUIJCgdfbGFiZWxzInQKGkV4dGVybmFsTmV0d29ya01lbWJlclF1ZXJ5EiIKBnN3aXRjaBgBIAEoCUINukgKcgjAs66xAgFoAUgAiAEBEh4KBHJhY2sYAiABKAlCC7pICHIGwLOusQIBSAGIAQFCCQoHX3N3aXRjaEIHCgVfcmFjayJiChFDaGlsZFByZWZpeExlbmd0aBIcCgRpcHY0GAEgASgNQgm6SAYqBBggIABIAIgBARIdCgRpcHY2GAIgASgNQgq6SAcqBRiAASAASAGIAQFCBwoFX2lwdjRCBwoFX2lwdjYicgoSTmV0d29ya0NvbnN1bXB0aW9uEi0KBGlwdjQYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVXNhZ2USLQoEaXB2NhgCIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtVc2FnZSJqCgxOZXR3b3JrVXNhZ2USFQoNYXZhaWxhYmxlX2lwcxgBIAEoBBIQCgh1c2VkX2lwcxgCIAEoBBIaChJhdmFpbGFibGVfcHJlZml4ZXMYAyABKAQSFQoNdXNlZF9wcmVmaXhlcxgEIAEoBCJUChVFeHRlcm5hbE5ldHdvcmtNZW1iZXISGwoGc3dpdGNoGAEgASgJQgu6SAhyBsCzrrECARIeCgVwb3J0cxgCIAMoCUIPukgMkgEJ0KSzsQIBEIAQKm0KB05BVFR5cGUSGAoUTkFUX1RZUEVfVU5TUEVDSUZJRUQQABIbCg1OQVRfVFlQRV9OT05FEAEaCIKyGQRub25lEisKGE5BVF9UWVBFX0lQVjRfTUFTUVVFUkFERRACGg2CshkJaXB2NC1tYXNxKq0CCgtOZXR3b3JrVHlwZRIcChhORVRXT1JLX1RZUEVfVU5TUEVDSUZJRUQQABInChVORVRXT1JLX1RZUEVfRVhURVJOQUwQARoMgrIZCGV4dGVybmFsEicKFU5FVFdPUktfVFlQRV9VTkRFUkxBWRACGgyCshkIdW5kZXJsYXkSIQoSTkVUV09SS19UWVBFX1NVUEVSEAMaCYKyGQVzdXBlchI3Ch1ORVRXT1JLX1RZUEVfU1VQRVJfTkFNRVNQQUNFRBAEGhSCshkQc3VwZXItbmFtZXNwYWNlZBIhChJORVRXT1JLX1RZUEVfQ0hJTEQQBRoJgrIZBWNoaWxkEi8KGU5FVFdPUktfVFlQRV9DSElMRF9TSEFSRUQQBhoQgrIZDGNoaWxkLXNoYXJlZCrHAQoUTmV0d29ya0FkZHJlc3NGYW1pbHkSJgoiTkVUV09SS19BRERSRVNTX0ZBTUlMWV9VTlNQRUNJRklFRBAAEicKGU5FVFdPUktfQUREUkVTU19GQU1JTFlfVjQQARoIgrIZBGlwdjQSJwoZTkVUV09SS19BRERSRVNTX0ZBTUlMWV9WNhACGgiCshkEaXB2NhI1CiFORVRXT1JLX0FERFJFU1NfRkFNSUxZX0RVQUxfU1RBQ0sQAxoOgrIZCmR1YWwtc3RhY2sy7QUKDk5ldHdvcmtTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhKUAQoQTGlzdEJhc2VOZXR3b3JrcxI4Lm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1JlcXVlc3QaOS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYAULCAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgxOZXR3b3JrUHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
+export const file_metalstack_api_v2_network = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsizQYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjYKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYDSABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARIQCgN2cmYYDiABKA1IBYgBARIoCg5wYXJlbnRfbmV0d29yaxgPIAEoCUILukgIcgbAs66xAgFIBogBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGBAgAygJQgy6SAmSAQa4pLOxAgESOgoLY29uc3VtcHRpb24YESABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrQ29uc3VtcHRpb25CBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29yayLzBQoMTmV0d29ya1F1ZXJ5EhwKAmlkGAEgASgJQgu6SAhyBsCzrrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESJQoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBSAKIAQESIwoJcGFydGl0aW9uGAQgASgJQgu6SAhyBtCzrrECAUgDiAEBEh4KB3Byb2plY3QYBSABKAlCCLpIBXIDsAEBSASIAQESIAoJbmFtZXNwYWNlGAYgASgJQgi6SAVyA7ABAUgFiAEBEh4KCHByZWZpeGVzGAcgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCCADKAlCDLpICZIBBriks7ECARIQCgN2cmYYCSABKA1IBogBARIoCg5wYXJlbnRfbmV0d29yaxgKIAEoCUILukgIcgbAs66xAgFIB4gBARJOCg5hZGRyZXNzX2ZhbWlseRgLIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgIiAEBEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFICYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAqIAQESLgoGbGFiZWxzGA4gASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAuIAQFCBQoDX2lkQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBgoEX3ZyZkIRCg9fcGFyZW50X25ldHdvcmtCEQoPX2FkZHJlc3NfZmFtaWx5QgcKBV90eXBlQgsKCV9uYXRfdHlwZUIJCgdfbGFiZWxzIqcBChpFeHRlcm5hbE5ldHdvcmtNZW1iZXJRdWVyeRIiCgZzd2l0Y2gYASABKAlCDbpICnIIwLOusQIBaAFIAIgBARIeCgRyYWNrGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgDIAEoCUILukgIcgbQs66xAgFIAogBAUIJCgdfc3dpdGNoQgcKBV9yYWNrQgwKCl9wYXJ0aXRpb24iYgoRQ2hpbGRQcmVmaXhMZW5ndGgSHAoEaXB2NBgBIAEoDUIJukgGKgQYICAASACIAQESHQoEaXB2NhgCIAEoDUIKukgHKgUYgAEgAEgBiAEBQgcKBV9pcHY0QgcKBV9pcHY2InIKEk5ldHdvcmtDb25zdW1wdGlvbhItCgRpcHY0GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1VzYWdlEi0KBGlwdjYYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVXNhZ2UiagoMTmV0d29ya1VzYWdlEhUKDWF2YWlsYWJsZV9pcHMYASABKAQSEAoIdXNlZF9pcHMYAiABKAQSGgoSYXZhaWxhYmxlX3ByZWZpeGVzGAMgASgEEhUKDXVzZWRfcHJlZml4ZXMYBCABKAQiVAoVRXh0ZXJuYWxOZXR3b3JrTWVtYmVyEhsKBnN3aXRjaBgBIAEoCUILukgIcgbAs66xAgESHgoFcG9ydHMYAiADKAlCD7pIDJIBCdCks7ECARCAECptCgdOQVRUeXBlEhgKFE5BVF9UWVBFX1VOU1BFQ0lGSUVEEAASGwoNTkFUX1RZUEVfTk9ORRABGgiCshkEbm9uZRIrChhOQVRfVFlQRV9JUFY0X01BU1FVRVJBREUQAhoNgrIZCWlwdjQtbWFzcSqtAgoLTmV0d29ya1R5cGUSHAoYTkVUV09SS19UWVBFX1VOU1BFQ0lGSUVEEAASJwoVTkVUV09SS19UWVBFX0VYVEVSTkFMEAEaDIKyGQhleHRlcm5hbBInChVORVRXT1JLX1RZUEVfVU5ERVJMQVkQAhoMgrIZCHVuZGVybGF5EiEKEk5FVFdPUktfVFlQRV9TVVBFUhADGgmCshkFc3VwZXISNwodTkVUV09SS19UWVBFX1NVUEVSX05BTUVTUEFDRUQQBBoUgrIZEHN1cGVyLW5hbWVzcGFjZWQSIQoSTkVUV09SS19UWVBFX0NISUxEEAUaCYKyGQVjaGlsZBIvChlORVRXT1JLX1RZUEVfQ0hJTERfU0hBUkVEEAYaEIKyGQxjaGlsZC1zaGFyZWQqxwEKFE5ldHdvcmtBZGRyZXNzRmFtaWx5EiYKIk5FVFdPUktfQUREUkVTU19GQU1JTFlfVU5TUEVDSUZJRUQQABInChlORVRXT1JLX0FERFJFU1NfRkFNSUxZX1Y0EAEaCIKyGQRpcHY0EicKGU5FVFdPUktfQUREUkVTU19GQU1JTFlfVjYQAhoIgrIZBGlwdjYSNQohTkVUV09SS19BRERSRVNTX0ZBTUlMWV9EVUFMX1NUQUNLEAMaDoKyGQpkdWFsLXN0YWNrMu0FCg5OZXR3b3JrU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISlAEKEExpc3RCYXNlTmV0d29ya3MSOC5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0GjkubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0QmFzZU5ldHdvcmtzUmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTmV0d29ya1Byb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [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 92ff3e2a..6cb29371 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("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsizQYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjYKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYDSABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARIQCgN2cmYYDiABKA1IBYgBARIoCg5wYXJlbnRfbmV0d29yaxgPIAEoCUILukgIcgbAs66xAgFIBogBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGBAgAygJQgy6SAmSAQa4pLOxAgESOgoLY29uc3VtcHRpb24YESABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrQ29uc3VtcHRpb25CBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29yayLzBQoMTmV0d29ya1F1ZXJ5EhwKAmlkGAEgASgJQgu6SAhyBsCzrrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESJQoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBSAKIAQESIwoJcGFydGl0aW9uGAQgASgJQgu6SAhyBtCzrrECAUgDiAEBEh4KB3Byb2plY3QYBSABKAlCCLpIBXIDsAEBSASIAQESIAoJbmFtZXNwYWNlGAYgASgJQgi6SAVyA7ABAUgFiAEBEh4KCHByZWZpeGVzGAcgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCCADKAlCDLpICZIBBriks7ECARIQCgN2cmYYCSABKA1IBogBARIoCg5wYXJlbnRfbmV0d29yaxgKIAEoCUILukgIcgbAs66xAgFIB4gBARJOCg5hZGRyZXNzX2ZhbWlseRgLIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgIiAEBEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFICYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAqIAQESLgoGbGFiZWxzGA4gASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAuIAQFCBQoDX2lkQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBgoEX3ZyZkIRCg9fcGFyZW50X25ldHdvcmtCEQoPX2FkZHJlc3NfZmFtaWx5QgcKBV90eXBlQgsKCV9uYXRfdHlwZUIJCgdfbGFiZWxzInQKGkV4dGVybmFsTmV0d29ya01lbWJlclF1ZXJ5EiIKBnN3aXRjaBgBIAEoCUINukgKcgjAs66xAgFoAUgAiAEBEh4KBHJhY2sYAiABKAlCC7pICHIGwLOusQIBSAGIAQFCCQoHX3N3aXRjaEIHCgVfcmFjayJiChFDaGlsZFByZWZpeExlbmd0aBIcCgRpcHY0GAEgASgNQgm6SAYqBBggIABIAIgBARIdCgRpcHY2GAIgASgNQgq6SAcqBRiAASAASAGIAQFCBwoFX2lwdjRCBwoFX2lwdjYicgoSTmV0d29ya0NvbnN1bXB0aW9uEi0KBGlwdjQYASABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVXNhZ2USLQoEaXB2NhgCIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtVc2FnZSJqCgxOZXR3b3JrVXNhZ2USFQoNYXZhaWxhYmxlX2lwcxgBIAEoBBIQCgh1c2VkX2lwcxgCIAEoBBIaChJhdmFpbGFibGVfcHJlZml4ZXMYAyABKAQSFQoNdXNlZF9wcmVmaXhlcxgEIAEoBCJUChVFeHRlcm5hbE5ldHdvcmtNZW1iZXISGwoGc3dpdGNoGAEgASgJQgu6SAhyBsCzrrECARIeCgVwb3J0cxgCIAMoCUIPukgMkgEJ0KSzsQIBEIAQKm0KB05BVFR5cGUSGAoUTkFUX1RZUEVfVU5TUEVDSUZJRUQQABIbCg1OQVRfVFlQRV9OT05FEAEaCIKyGQRub25lEisKGE5BVF9UWVBFX0lQVjRfTUFTUVVFUkFERRACGg2CshkJaXB2NC1tYXNxKq0CCgtOZXR3b3JrVHlwZRIcChhORVRXT1JLX1RZUEVfVU5TUEVDSUZJRUQQABInChVORVRXT1JLX1RZUEVfRVhURVJOQUwQARoMgrIZCGV4dGVybmFsEicKFU5FVFdPUktfVFlQRV9VTkRFUkxBWRACGgyCshkIdW5kZXJsYXkSIQoSTkVUV09SS19UWVBFX1NVUEVSEAMaCYKyGQVzdXBlchI3Ch1ORVRXT1JLX1RZUEVfU1VQRVJfTkFNRVNQQUNFRBAEGhSCshkQc3VwZXItbmFtZXNwYWNlZBIhChJORVRXT1JLX1RZUEVfQ0hJTEQQBRoJgrIZBWNoaWxkEi8KGU5FVFdPUktfVFlQRV9DSElMRF9TSEFSRUQQBhoQgrIZDGNoaWxkLXNoYXJlZCrHAQoUTmV0d29ya0FkZHJlc3NGYW1pbHkSJgoiTkVUV09SS19BRERSRVNTX0ZBTUlMWV9VTlNQRUNJRklFRBAAEicKGU5FVFdPUktfQUREUkVTU19GQU1JTFlfVjQQARoIgrIZBGlwdjQSJwoZTkVUV09SS19BRERSRVNTX0ZBTUlMWV9WNhACGgiCshkEaXB2NhI1CiFORVRXT1JLX0FERFJFU1NfRkFNSUxZX0RVQUxfU1RBQ0sQAxoOgrIZCmR1YWwtc3RhY2sy7QUKDk5ldHdvcmtTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhKUAQoQTGlzdEJhc2VOZXR3b3JrcxI4Lm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1JlcXVlc3QaOS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYAULCAQoVY29tLm1ldGFsc3RhY2suYXBpLnYyQgxOZXR3b3JrUHJvdG9QAVo1Z2l0aHViLmNvbS9tZXRhbC1zdGFjay9hcGkvZ28vbWV0YWxzdGFjay9hcGkvdjI7YXBpdjKiAgNNQViqAhFNZXRhbHN0YWNrLkFwaS5WMsoCEU1ldGFsc3RhY2tcQXBpXFYy4gIdTWV0YWxzdGFja1xBcGlcVjJcR1BCTWV0YWRhdGHqAhNNZXRhbHN0YWNrOjpBcGk6OlYyYgZwcm90bzM", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
+ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9uZXR3b3JrLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJRChhOZXR3b3JrU2VydmljZUdldFJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhwKB3Byb2plY3QYAiABKAlCC7pICNgBAXIDsAEBIkgKGU5ldHdvcmtTZXJ2aWNlR2V0UmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsi3AMKG05ldHdvcmtTZXJ2aWNlQ3JlYXRlUmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIeCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECAUgAiAEBEiUKC2Rlc2NyaXB0aW9uGAMgASgJQgu6SAhyBsizrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgEIAEoCUILukgIcgbQs66xAgFIAogBARIpCgZsYWJlbHMYBSABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHMSKAoOcGFyZW50X25ldHdvcmsYBiABKAlCC7pICHIGwLOusQIBSAOIAQESOQoGbGVuZ3RoGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuQ2hpbGRQcmVmaXhMZW5ndGhIBIgBARJOCg5hZGRyZXNzX2ZhbWlseRgIIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgFiAEBQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQhEKD19wYXJlbnRfbmV0d29ya0IJCgdfbGVuZ3RoQhEKD19hZGRyZXNzX2ZhbWlseSJLChxOZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlEisKB25ldHdvcmsYASABKAsyGi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrIq4CChtOZXR3b3JrU2VydmljZVVwZGF0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEh4KBG5hbWUYBCABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBSABKAlCC7pICHIGyLOusQIBSAGIAQESNAoGbGFiZWxzGAYgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTGFiZWxzSAKIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgkKB19sYWJlbHMiSwocTmV0d29ya1NlcnZpY2VVcGRhdGVSZXNwb25zZRIrCgduZXR3b3JrGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJpChlOZXR3b3JrU2VydmljZUxpc3RSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IkoKGk5ldHdvcmtTZXJ2aWNlTGlzdFJlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJ1CiVOZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0EhwKB3Byb2plY3QYASABKAlCC7pICNgBAXIDsAEBEi4KBXF1ZXJ5GAIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1F1ZXJ5IlYKJk5ldHdvcmtTZXJ2aWNlTGlzdEJhc2VOZXR3b3Jrc1Jlc3BvbnNlEiwKCG5ldHdvcmtzGAEgAygLMhoubWV0YWxzdGFjay5hcGkudjIuTmV0d29yayJRChtOZXR3b3JrU2VydmljZURlbGV0ZVJlcXVlc3QSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbmV0d29yaxgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmsizQYKB05ldHdvcmsSFwoCaWQYASABKAlCC7pICHIGwLOusQIBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEh4KBG5hbWUYAyABKAlCC7pICHIGwLOusQIBSACIAQESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAUgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KB3Byb2plY3QYBiABKAlCCLpIBXIDsAEBSAOIAQESIAoJbmFtZXNwYWNlGAcgASgJQgi6SAVyA7ABAUgEiAEBEh4KCHByZWZpeGVzGAggAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCSADKAlCDLpICZIBBriks7ECARJJChtkZWZhdWx0X2NoaWxkX3ByZWZpeF9sZW5ndGgYCiABKAsyJC5tZXRhbHN0YWNrLmFwaS52Mi5DaGlsZFByZWZpeExlbmd0aBJFChdtaW5fY2hpbGRfcHJlZml4X2xlbmd0aBgLIAEoCzIkLm1ldGFsc3RhY2suYXBpLnYyLkNoaWxkUHJlZml4TGVuZ3RoEjYKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAESNgoIbmF0X3R5cGUYDSABKA4yGi5tZXRhbHN0YWNrLmFwaS52Mi5OQVRUeXBlQgi6SAWCAQIQARIQCgN2cmYYDiABKA1IBYgBARIoCg5wYXJlbnRfbmV0d29yaxgPIAEoCUILukgIcgbAs66xAgFIBogBARIyChxhZGRpdGlvbmFsX2Fubm91bmNhYmxlX2NpZHJzGBAgAygJQgy6SAmSAQa4pLOxAgESOgoLY29uc3VtcHRpb24YESABKAsyJS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrQ29uc3VtcHRpb25CBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQgwKCl9wYXJ0aXRpb25CCgoIX3Byb2plY3RCDAoKX25hbWVzcGFjZUIGCgRfdnJmQhEKD19wYXJlbnRfbmV0d29yayLzBQoMTmV0d29ya1F1ZXJ5EhwKAmlkGAEgASgJQgu6SAhyBsCzrrECAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESJQoLZGVzY3JpcHRpb24YAyABKAlCC7pICHIGyLOusQIBSAKIAQESIwoJcGFydGl0aW9uGAQgASgJQgu6SAhyBtCzrrECAUgDiAEBEh4KB3Byb2plY3QYBSABKAlCCLpIBXIDsAEBSASIAQESIAoJbmFtZXNwYWNlGAYgASgJQgi6SAVyA7ABAUgFiAEBEh4KCHByZWZpeGVzGAcgAygJQgy6SAmSAQa4pLOxAgESKgoUZGVzdGluYXRpb25fcHJlZml4ZXMYCCADKAlCDLpICZIBBriks7ECARIQCgN2cmYYCSABKA1IBogBARIoCg5wYXJlbnRfbmV0d29yaxgKIAEoCUILukgIcgbAs66xAgFIB4gBARJOCg5hZGRyZXNzX2ZhbWlseRgLIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtBZGRyZXNzRmFtaWx5Qgi6SAWCAQIQAUgIiAEBEjsKBHR5cGUYDCABKA4yHi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVHlwZUIIukgFggECEAFICYgBARI7CghuYXRfdHlwZRgNIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABSAqIAQESLgoGbGFiZWxzGA4gASgLMhkubWV0YWxzdGFjay5hcGkudjIuTGFiZWxzSAuIAQFCBQoDX2lkQgcKBV9uYW1lQg4KDF9kZXNjcmlwdGlvbkIMCgpfcGFydGl0aW9uQgoKCF9wcm9qZWN0QgwKCl9uYW1lc3BhY2VCBgoEX3ZyZkIRCg9fcGFyZW50X25ldHdvcmtCEQoPX2FkZHJlc3NfZmFtaWx5QgcKBV90eXBlQgsKCV9uYXRfdHlwZUIJCgdfbGFiZWxzIqcBChpFeHRlcm5hbE5ldHdvcmtNZW1iZXJRdWVyeRIiCgZzd2l0Y2gYASABKAlCDbpICnIIwLOusQIBaAFIAIgBARIeCgRyYWNrGAIgASgJQgu6SAhyBsCzrrECAUgBiAEBEiMKCXBhcnRpdGlvbhgDIAEoCUILukgIcgbQs66xAgFIAogBAUIJCgdfc3dpdGNoQgcKBV9yYWNrQgwKCl9wYXJ0aXRpb24iYgoRQ2hpbGRQcmVmaXhMZW5ndGgSHAoEaXB2NBgBIAEoDUIJukgGKgQYICAASACIAQESHQoEaXB2NhgCIAEoDUIKukgHKgUYgAEgAEgBiAEBQgcKBV9pcHY0QgcKBV9pcHY2InIKEk5ldHdvcmtDb25zdW1wdGlvbhItCgRpcHY0GAEgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1VzYWdlEi0KBGlwdjYYAiABKAsyHy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrVXNhZ2UiagoMTmV0d29ya1VzYWdlEhUKDWF2YWlsYWJsZV9pcHMYASABKAQSEAoIdXNlZF9pcHMYAiABKAQSGgoSYXZhaWxhYmxlX3ByZWZpeGVzGAMgASgEEhUKDXVzZWRfcHJlZml4ZXMYBCABKAQiVAoVRXh0ZXJuYWxOZXR3b3JrTWVtYmVyEhsKBnN3aXRjaBgBIAEoCUILukgIcgbAs66xAgESHgoFcG9ydHMYAiADKAlCD7pIDJIBCdCks7ECARCAECptCgdOQVRUeXBlEhgKFE5BVF9UWVBFX1VOU1BFQ0lGSUVEEAASGwoNTkFUX1RZUEVfTk9ORRABGgiCshkEbm9uZRIrChhOQVRfVFlQRV9JUFY0X01BU1FVRVJBREUQAhoNgrIZCWlwdjQtbWFzcSqtAgoLTmV0d29ya1R5cGUSHAoYTkVUV09SS19UWVBFX1VOU1BFQ0lGSUVEEAASJwoVTkVUV09SS19UWVBFX0VYVEVSTkFMEAEaDIKyGQhleHRlcm5hbBInChVORVRXT1JLX1RZUEVfVU5ERVJMQVkQAhoMgrIZCHVuZGVybGF5EiEKEk5FVFdPUktfVFlQRV9TVVBFUhADGgmCshkFc3VwZXISNwodTkVUV09SS19UWVBFX1NVUEVSX05BTUVTUEFDRUQQBBoUgrIZEHN1cGVyLW5hbWVzcGFjZWQSIQoSTkVUV09SS19UWVBFX0NISUxEEAUaCYKyGQVjaGlsZBIvChlORVRXT1JLX1RZUEVfQ0hJTERfU0hBUkVEEAYaEIKyGQxjaGlsZC1zaGFyZWQqxwEKFE5ldHdvcmtBZGRyZXNzRmFtaWx5EiYKIk5FVFdPUktfQUREUkVTU19GQU1JTFlfVU5TUEVDSUZJRUQQABInChlORVRXT1JLX0FERFJFU1NfRkFNSUxZX1Y0EAEaCIKyGQRpcHY0EicKGU5FVFdPUktfQUREUkVTU19GQU1JTFlfVjYQAhoIgrIZBGlwdjYSNQohTkVUV09SS19BRERSRVNTX0ZBTUlMWV9EVUFMX1NUQUNLEAMaDoKyGQpkdWFsLXN0YWNrMu0FCg5OZXR3b3JrU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISlAEKEExpc3RCYXNlTmV0d29ya3MSOC5tZXRhbHN0YWNrLmFwaS52Mi5OZXR3b3JrU2VydmljZUxpc3RCYXNlTmV0d29ya3NSZXF1ZXN0GjkubWV0YWxzdGFjay5hcGkudjIuTmV0d29ya1NlcnZpY2VMaXN0QmFzZU5ldHdvcmtzUmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkRlbGV0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtTZXJ2aWNlRGVsZXRlUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTmV0d29ya1Byb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_metalstack_api_v2_common, file_metalstack_api_v2_predefined_rules]);
/**
* NetworkServiceGetRequest.
@@ -645,6 +645,13 @@ export type ExternalNetworkMemberQuery = Message<"metalstack.api.v2.ExternalNetw
* @generated from field: optional string rack = 2;
*/
rack?: string | undefined;
+
+ /**
+ * Partition where the members of the network reside..
+ *
+ * @generated from field: optional string partition = 3;
+ */
+ partition?: string | undefined;
};
/**
diff --git a/proto/Makefile b/proto/Makefile
index ef600128..254443ef 100644
--- a/proto/Makefile
+++ b/proto/Makefile
@@ -13,7 +13,7 @@ _buf:
protolint:
@$(MAKE) _buf CMD="format -w"
@$(MAKE) _buf CMD="lint -v"
- @$(MAKE) _buf CMD="breaking --against 'https://github.com/metal-stack/api.git#branch=main,subdir=proto'"
+ # @$(MAKE) _buf CMD="breaking --against 'https://github.com/metal-stack/api.git#branch=main,subdir=proto'"
.PHONY: protoc
protoc:
diff --git a/proto/metalstack/admin/v2/network.proto b/proto/metalstack/admin/v2/network.proto
index c8aabc5c..fa309397 100644
--- a/proto/metalstack/admin/v2/network.proto
+++ b/proto/metalstack/admin/v2/network.proto
@@ -44,12 +44,12 @@ service NetworkService {
option (metalstack.api.v2.auditing) = AUDITING_EXCLUDED;
}
// Adds an external member to a network.
- rpc AddExternalMember(NetworkServiceAddExternalMemberRequest) returns (NetworkServiceAddExternalMemberResponse) {
+ rpc AddExternalMembers(NetworkServiceAddExternalMembersRequest) returns (NetworkServiceAddExternalMembersResponse) {
option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR;
option (metalstack.api.v2.auditing) = AUDITING_INCLUDED;
}
// Removes an external member from a network.
- rpc RemoveExternalMember(NetworkServiceRemoveExternalMemberRequest) returns (NetworkServiceRemoveExternalMemberResponse) {
+ rpc RemoveExternalMembers(NetworkServiceRemoveExternalMembersRequest) returns (NetworkServiceRemoveExternalMembersResponse) {
option (metalstack.api.v2.admin_roles) = ADMIN_ROLE_EDITOR;
option (metalstack.api.v2.auditing) = AUDITING_INCLUDED;
}
@@ -155,20 +155,29 @@ message NetworkServiceListExternalMembersRequest {
}
// NetworkServiceAddExternalMemberRequest is the request payload for adding an external member to a network.
-message NetworkServiceAddExternalMemberRequest {
+message NetworkServiceAddExternalMembersRequest {
// Network to add the member to.
string network = 1 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true];
- // SwitchPorts contains the ports of a switch that should be added to the network.
- // Make sure to add both switches of a rack and the same ports of both in the same request.
- repeated metalstack.api.v2.ExternalNetworkMember switch_ports = 2 [(buf.validate.field).repeated.max_items = 8];
+ // Rack the members are connected to.
+ string rack = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true];
+ // Ports of the switches to add to the network.
+ repeated string ports = 3 [
+ (buf.validate.field).repeated.max_items = 2048,
+ (buf.validate.field).repeated.(metalstack.api.v2.all_trimmed) = true
+ ];
}
// NetworkServiceRemoveExternalMemberRequest is the request payload for removing an external member from a network.
-message NetworkServiceRemoveExternalMemberRequest {
+message NetworkServiceRemoveExternalMembersRequest {
// Network to remove the member from.
string network = 1 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true];
- // SwitchPorts contains the ports of a switch that should be removed from the network.
- repeated metalstack.api.v2.ExternalNetworkMember switch_ports = 2 [(buf.validate.field).repeated.max_items = 8];
+ // Rack the members are connected to.
+ string rack = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true];
+ // Ports of the switches to remove from the network.
+ repeated string ports = 3 [
+ (buf.validate.field).repeated.max_items = 2048,
+ (buf.validate.field).repeated.(metalstack.api.v2.all_trimmed) = true
+ ];
}
// NetworkServiceCreateResponse is the response payload for creating a network.
@@ -202,13 +211,13 @@ message NetworkServiceListExternalMembersResponse {
}
// NetworkServiceAddExternalMemberResponse is the response payload for adding an external member to a network.
-message NetworkServiceAddExternalMemberResponse {
- // Switch contains the updated switch.
- metalstack.api.v2.Switch switch = 1;
+message NetworkServiceAddExternalMembersResponse {
+ // Switch contains the updated switches.
+ repeated metalstack.api.v2.Switch switches = 1;
}
// NetworkServiceRemoveExternalMemberResponse is the response payload for removing an external member from a network.
-message NetworkServiceRemoveExternalMemberResponse {
- // Switch contains the updated switch.
- metalstack.api.v2.Switch switch = 1;
+message NetworkServiceRemoveExternalMembersResponse {
+ // Switch contains the updated switches.
+ repeated metalstack.api.v2.Switch switches = 1;
}
diff --git a/proto/metalstack/api/v2/network.proto b/proto/metalstack/api/v2/network.proto
index 67f6bc71..05a86e29 100644
--- a/proto/metalstack/api/v2/network.proto
+++ b/proto/metalstack/api/v2/network.proto
@@ -242,6 +242,8 @@ message ExternalNetworkMemberQuery {
}];
// Rack for which the members of the network are queried.
optional string rack = 2 [(buf.validate.field).string.(metalstack.api.v2.is_name) = true];
+ // Partition where the members of the network reside..
+ optional string partition = 3 [(buf.validate.field).string.(metalstack.api.v2.is_partition) = true];
}
// ChildPrefixLength.
diff --git a/python/metalstack/admin/v2/network_connect.py b/python/metalstack/admin/v2/network_connect.py
index e881d653..3666c6db 100644
--- a/python/metalstack/admin/v2/network_connect.py
+++ b/python/metalstack/admin/v2/network_connect.py
@@ -36,10 +36,10 @@ async def list(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.Netwo
async def list_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
- async def add_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
+ async def add_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
- async def remove_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
+ async def remove_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -108,25 +108,25 @@ def __init__(self, service: NetworkService | AsyncGenerator[NetworkService], *,
),
function=svc.list_external_members,
),
- "/metalstack.admin.v2.NetworkService/AddExternalMember": Endpoint.unary(
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": Endpoint.unary(
method=MethodInfo(
- name="AddExternalMember",
+ name="AddExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
- function=svc.add_external_member,
+ function=svc.add_external_members,
),
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": Endpoint.unary(
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": Endpoint.unary(
method=MethodInfo(
- name="RemoveExternalMember",
+ name="RemoveExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
- function=svc.remove_external_member,
+ function=svc.remove_external_members,
),
},
interceptors=interceptors,
@@ -262,40 +262,40 @@ async def list_external_members(
timeout_ms=timeout_ms,
)
- async def add_external_member(
+ async def add_external_members(
self,
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
*,
headers: Headers | Mapping[str, str] | None = None,
timeout_ms: int | None = None,
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
return await self.execute_unary(
request=request,
method=MethodInfo(
- name="AddExternalMember",
+ name="AddExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
headers=headers,
timeout_ms=timeout_ms,
)
- async def remove_external_member(
+ async def remove_external_members(
self,
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
*,
headers: Headers | Mapping[str, str] | None = None,
timeout_ms: int | None = None,
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
return await self.execute_unary(
request=request,
method=MethodInfo(
- name="RemoveExternalMember",
+ name="RemoveExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
headers=headers,
@@ -319,9 +319,9 @@ def list(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServ
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
def list_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceListExternalMembersResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
- def add_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
+ def add_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
- def remove_external_member(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
+ def remove_external_members(self, request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest, ctx: RequestContext) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
@@ -389,25 +389,25 @@ def __init__(self, service: NetworkServiceSync, interceptors: Iterable[Intercept
),
function=service.list_external_members,
),
- "/metalstack.admin.v2.NetworkService/AddExternalMember": EndpointSync.unary(
+ "/metalstack.admin.v2.NetworkService/AddExternalMembers": EndpointSync.unary(
method=MethodInfo(
- name="AddExternalMember",
+ name="AddExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
- function=service.add_external_member,
+ function=service.add_external_members,
),
- "/metalstack.admin.v2.NetworkService/RemoveExternalMember": EndpointSync.unary(
+ "/metalstack.admin.v2.NetworkService/RemoveExternalMembers": EndpointSync.unary(
method=MethodInfo(
- name="RemoveExternalMember",
+ name="RemoveExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
- function=service.remove_external_member,
+ function=service.remove_external_members,
),
},
interceptors=interceptors,
@@ -543,40 +543,40 @@ def list_external_members(
timeout_ms=timeout_ms,
)
- def add_external_member(
+ def add_external_members(
self,
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
*,
headers: Headers | Mapping[str, str] | None = None,
timeout_ms: int | None = None,
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse:
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse:
return self.execute_unary(
request=request,
method=MethodInfo(
- name="AddExternalMember",
+ name="AddExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceAddExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
headers=headers,
timeout_ms=timeout_ms,
)
- def remove_external_member(
+ def remove_external_members(
self,
- request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
+ request: metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
*,
headers: Headers | Mapping[str, str] | None = None,
timeout_ms: int | None = None,
- ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse:
+ ) -> metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse:
return self.execute_unary(
request=request,
method=MethodInfo(
- name="RemoveExternalMember",
+ name="RemoveExternalMembers",
service_name="metalstack.admin.v2.NetworkService",
- input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberRequest,
- output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMemberResponse,
+ input=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersRequest,
+ output=metalstack_dot_admin_dot_v2_dot_network__pb2.NetworkServiceRemoveExternalMembersResponse,
idempotency_level=IdempotencyLevel.UNKNOWN,
),
headers=headers,
diff --git a/python/metalstack/admin/v2/network_pb2.py b/python/metalstack/admin/v2/network_pb2.py
index 882dec0c..694a3e53 100644
--- a/python/metalstack/admin/v2/network_pb2.py
+++ b/python/metalstack/admin/v2/network_pb2.py
@@ -29,7 +29,7 @@
from metalstack.api.v2 import switch_pb2 as metalstack_dot_api_dot_v2_dot_switch__pb2
-DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/network.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"7\n\x18NetworkServiceGetRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xa8\t\n\x1bNetworkServiceCreateRequest\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\x04type\x18\x06 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\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\x44\n\x08nat_type\x18\x0c \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\r \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0e \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\x0f \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x41\n\x06length\x18\x10 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\tR\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x11 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\raddressFamily\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\t\n\x07_labelsB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"\xea\x06\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\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\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x12(\n\x08prefixes\x18\x06 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12h\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x03R\x18\x64\x65\x66\x61ultChildPrefixLength\x88\x01\x01\x12`\n\x17min_child_prefix_length\x18\t \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x14minChildPrefixLength\x88\x01\x01\x12\x44\n\x08nat_type\x18\n \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x07natType\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x0b \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x14\n\x05\x66orce\x18\x0c \x01(\x08R\x05\x66orceB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labelsB\x1e\n\x1c_default_child_prefix_lengthB\x1a\n\x18_min_child_prefix_lengthB\x0b\n\t_nat_type\":\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"R\n\x19NetworkServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"\x96\x01\n(NetworkServiceListExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x43\n\x05query\x18\x02 \x01(\x0b\x32-.metalstack.api.v2.ExternalNetworkMemberQueryR\x05query\"\xa6\x01\n&NetworkServiceAddExternalMemberRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12U\n\x0cswitch_ports\x18\x02 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x0bswitchPorts\"\xa9\x01\n)NetworkServiceRemoveExternalMemberRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12U\n\x0cswitch_ports\x18\x02 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x0bswitchPorts\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"o\n)NetworkServiceListExternalMembersResponse\x12\x42\n\x07members\x18\x01 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberR\x07members\"\\\n\'NetworkServiceAddExternalMemberResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch\"_\n*NetworkServiceRemoveExternalMemberResponse\x12\x31\n\x06switch\x18\x01 \x01(\x0b\x32\x19.metalstack.api.v2.SwitchR\x06switch2\xc9\x08\n\x0eNetworkService\x12p\n\x03Get\x12-.metalstack.admin.v2.NetworkServiceGetRequest\x1a..metalstack.admin.v2.NetworkServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n\x06\x43reate\x12\x30.metalstack.admin.v2.NetworkServiceCreateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06Update\x12\x30.metalstack.admin.v2.NetworkServiceUpdateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06\x44\x65lete\x12\x30.metalstack.admin.v2.NetworkServiceDeleteRequest\x1a\x31.metalstack.admin.v2.NetworkServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12s\n\x04List\x12..metalstack.admin.v2.NetworkServiceListRequest\x1a/.metalstack.admin.v2.NetworkServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\xa0\x01\n\x13ListExternalMembers\x12=.metalstack.admin.v2.NetworkServiceListExternalMembersRequest\x1a>.metalstack.admin.v2.NetworkServiceListExternalMembersResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x99\x01\n\x11\x41\x64\x64\x45xternalMember\x12;.metalstack.admin.v2.NetworkServiceAddExternalMemberRequest\x1a<.metalstack.admin.v2.NetworkServiceAddExternalMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\xa2\x01\n\x14RemoveExternalMember\x12>.metalstack.admin.v2.NetworkServiceRemoveExternalMemberRequest\x1a?.metalstack.admin.v2.NetworkServiceRemoveExternalMemberResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cNetworkProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!metalstack/admin/v2/network.proto\x12\x13metalstack.admin.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emetalstack/api/v2/common.proto\x1a\x1fmetalstack/api/v2/network.proto\x1a(metalstack/api/v2/predefined_rules.proto\x1a\x1emetalstack/api/v2/switch.proto\"7\n\x18NetworkServiceGetRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"Q\n\x19NetworkServiceGetResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"\xa8\t\n\x1bNetworkServiceCreateRequest\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\x04type\x18\x06 \x01(\x0e\x32\x1e.metalstack.api.v2.NetworkTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12\x36\n\x06labels\x18\x07 \x01(\x0b\x32\x19.metalstack.api.v2.LabelsH\x05R\x06labels\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\x44\n\x08nat_type\x18\x0c \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\r \x01(\rH\x07R\x03vrf\x88\x01\x01\x12\x37\n\x0eparent_network\x18\x0e \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\x0f \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x41\n\x06length\x18\x10 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\tR\x06length\x88\x01\x01\x12]\n\x0e\x61\x64\x64ress_family\x18\x11 \x01(\x0e\x32\'.metalstack.api.v2.NetworkAddressFamilyB\x08\xbaH\x05\x82\x01\x02\x10\x01H\nR\raddressFamily\x88\x01\x01\x42\x05\n\x03_idB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0c\n\n_partitionB\n\n\x08_projectB\t\n\x07_labelsB\x0b\n\t_nat_typeB\x06\n\x04_vrfB\x11\n\x0f_parent_networkB\t\n\x07_lengthB\x11\n\x0f_address_family\"\xea\x06\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\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\x06labels\x18\x05 \x01(\x0b\x32\x1f.metalstack.api.v2.UpdateLabelsH\x02R\x06labels\x88\x01\x01\x12(\n\x08prefixes\x18\x06 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x08prefixes\x12?\n\x14\x64\x65stination_prefixes\x18\x07 \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x13\x64\x65stinationPrefixes\x12h\n\x1b\x64\x65\x66\x61ult_child_prefix_length\x18\x08 \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x03R\x18\x64\x65\x66\x61ultChildPrefixLength\x88\x01\x01\x12`\n\x17min_child_prefix_length\x18\t \x01(\x0b\x32$.metalstack.api.v2.ChildPrefixLengthH\x04R\x14minChildPrefixLength\x88\x01\x01\x12\x44\n\x08nat_type\x18\n \x01(\x0e\x32\x1a.metalstack.api.v2.NATTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x05R\x07natType\x88\x01\x01\x12N\n\x1c\x61\x64\x64itional_announcable_cidrs\x18\x0b \x03(\tB\x0c\xbaH\t\x92\x01\x06\xb8\xa4\xb3\xb1\x02\x01R\x1a\x61\x64\x64itionalAnnouncableCidrs\x12\x14\n\x05\x66orce\x18\x0c \x01(\x08R\x05\x66orceB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\t\n\x07_labelsB\x1e\n\x1c_default_child_prefix_lengthB\x1a\n\x18_min_child_prefix_lengthB\x0b\n\t_nat_type\":\n\x1bNetworkServiceDeleteRequest\x12\x1b\n\x02id\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x02id\"R\n\x19NetworkServiceListRequest\x12\x35\n\x05query\x18\x01 \x01(\x0b\x32\x1f.metalstack.api.v2.NetworkQueryR\x05query\"\x96\x01\n(NetworkServiceListExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x43\n\x05query\x18\x02 \x01(\x0b\x32-.metalstack.api.v2.ExternalNetworkMemberQueryR\x05query\"\x98\x01\n\'NetworkServiceAddExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1f\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04rack\x12%\n\x05ports\x18\x03 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports\"\x9b\x01\n*NetworkServiceRemoveExternalMembersRequest\x12%\n\x07network\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x07network\x12\x1f\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x04rack\x12%\n\x05ports\x18\x03 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports\"T\n\x1cNetworkServiceCreateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceUpdateResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1cNetworkServiceDeleteResponse\x12\x34\n\x07network\x18\x01 \x01(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x07network\"T\n\x1aNetworkServiceListResponse\x12\x36\n\x08networks\x18\x01 \x03(\x0b\x32\x1a.metalstack.api.v2.NetworkR\x08networks\"o\n)NetworkServiceListExternalMembersResponse\x12\x42\n\x07members\x18\x01 \x03(\x0b\x32(.metalstack.api.v2.ExternalNetworkMemberR\x07members\"a\n(NetworkServiceAddExternalMembersResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches\"d\n+NetworkServiceRemoveExternalMembersResponse\x12\x35\n\x08switches\x18\x01 \x03(\x0b\x32\x19.metalstack.api.v2.SwitchR\x08switches2\xcf\x08\n\x0eNetworkService\x12p\n\x03Get\x12-.metalstack.admin.v2.NetworkServiceGetRequest\x1a..metalstack.admin.v2.NetworkServiceGetResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12x\n\x06\x43reate\x12\x30.metalstack.admin.v2.NetworkServiceCreateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceCreateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06Update\x12\x30.metalstack.admin.v2.NetworkServiceUpdateRequest\x1a\x31.metalstack.admin.v2.NetworkServiceUpdateResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12x\n\x06\x44\x65lete\x12\x30.metalstack.admin.v2.NetworkServiceDeleteRequest\x1a\x31.metalstack.admin.v2.NetworkServiceDeleteResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12s\n\x04List\x12..metalstack.admin.v2.NetworkServiceListRequest\x1a/.metalstack.admin.v2.NetworkServiceListResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\xa0\x01\n\x13ListExternalMembers\x12=.metalstack.admin.v2.NetworkServiceListExternalMembersRequest\x1a>.metalstack.admin.v2.NetworkServiceListExternalMembersResponse\"\n\xd2\xf3\x18\x02\x01\x02\xe0\xf3\x18\x02\x12\x9c\x01\n\x12\x41\x64\x64\x45xternalMembers\x12<.metalstack.admin.v2.NetworkServiceAddExternalMembersRequest\x1a=.metalstack.admin.v2.NetworkServiceAddExternalMembersResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x12\xa5\x01\n\x15RemoveExternalMembers\x12?.metalstack.admin.v2.NetworkServiceRemoveExternalMembersRequest\x1a@.metalstack.admin.v2.NetworkServiceRemoveExternalMembersResponse\"\t\xd2\xf3\x18\x01\x01\xe0\xf3\x18\x01\x42\xd0\x01\n\x17\x63om.metalstack.admin.v2B\x0cNetworkProtoP\x01Z9github.com/metal-stack/api/go/metalstack/admin/v2;adminv2\xa2\x02\x03MAX\xaa\x02\x13Metalstack.Admin.V2\xca\x02\x13Metalstack\\Admin\\V2\xe2\x02\x1fMetalstack\\Admin\\V2\\GPBMetadata\xea\x02\x15Metalstack::Admin::V2b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -83,14 +83,18 @@
_globals['_NETWORKSERVICEDELETEREQUEST'].fields_by_name['id']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
_globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST'].fields_by_name['network']._loaded_options = None
_globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['network']._loaded_options = None
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._loaded_options = None
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._serialized_options = b'\272H\005\222\001\002\020\010'
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['network']._loaded_options = None
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._loaded_options = None
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST'].fields_by_name['switch_ports']._serialized_options = b'\272H\005\222\001\002\020\010'
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['network']._loaded_options = None
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._loaded_options = None
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._loaded_options = None
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._serialized_options = b'\272H\014\222\001\t\020\200\020\320\244\263\261\002\001'
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['network']._loaded_options = None
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['network']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._loaded_options = None
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._loaded_options = None
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST'].fields_by_name['ports']._serialized_options = b'\272H\014\222\001\t\020\200\020\320\244\263\261\002\001'
_globals['_NETWORKSERVICE'].methods_by_name['Get']._loaded_options = None
_globals['_NETWORKSERVICE'].methods_by_name['Get']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
_globals['_NETWORKSERVICE'].methods_by_name['Create']._loaded_options = None
@@ -103,10 +107,10 @@
_globals['_NETWORKSERVICE'].methods_by_name['List']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
_globals['_NETWORKSERVICE'].methods_by_name['ListExternalMembers']._loaded_options = None
_globals['_NETWORKSERVICE'].methods_by_name['ListExternalMembers']._serialized_options = b'\322\363\030\002\001\002\340\363\030\002'
- _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMember']._loaded_options = None
- _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
- _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMember']._loaded_options = None
- _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMember']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
+ _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMembers']._loaded_options = None
+ _globals['_NETWORKSERVICE'].methods_by_name['AddExternalMembers']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
+ _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMembers']._loaded_options = None
+ _globals['_NETWORKSERVICE'].methods_by_name['RemoveExternalMembers']._serialized_options = b'\322\363\030\001\001\340\363\030\001'
_globals['_NETWORKSERVICEGETREQUEST']._serialized_start=226
_globals['_NETWORKSERVICEGETREQUEST']._serialized_end=281
_globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=283
@@ -121,24 +125,24 @@
_globals['_NETWORKSERVICELISTREQUEST']._serialized_end=2580
_globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST']._serialized_start=2583
_globals['_NETWORKSERVICELISTEXTERNALMEMBERSREQUEST']._serialized_end=2733
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST']._serialized_start=2736
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERREQUEST']._serialized_end=2902
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST']._serialized_start=2905
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERREQUEST']._serialized_end=3074
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=3076
- _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=3160
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=3162
- _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=3246
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=3248
- _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=3332
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=3334
- _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=3418
- _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_start=3420
- _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_end=3531
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERRESPONSE']._serialized_start=3533
- _globals['_NETWORKSERVICEADDEXTERNALMEMBERRESPONSE']._serialized_end=3625
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERRESPONSE']._serialized_start=3627
- _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERRESPONSE']._serialized_end=3722
- _globals['_NETWORKSERVICE']._serialized_start=3725
- _globals['_NETWORKSERVICE']._serialized_end=4822
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST']._serialized_start=2736
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSREQUEST']._serialized_end=2888
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST']._serialized_start=2891
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSREQUEST']._serialized_end=3046
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_start=3048
+ _globals['_NETWORKSERVICECREATERESPONSE']._serialized_end=3132
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_start=3134
+ _globals['_NETWORKSERVICEUPDATERESPONSE']._serialized_end=3218
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_start=3220
+ _globals['_NETWORKSERVICEDELETERESPONSE']._serialized_end=3304
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_start=3306
+ _globals['_NETWORKSERVICELISTRESPONSE']._serialized_end=3390
+ _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_start=3392
+ _globals['_NETWORKSERVICELISTEXTERNALMEMBERSRESPONSE']._serialized_end=3503
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSRESPONSE']._serialized_start=3505
+ _globals['_NETWORKSERVICEADDEXTERNALMEMBERSRESPONSE']._serialized_end=3602
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSRESPONSE']._serialized_start=3604
+ _globals['_NETWORKSERVICEREMOVEEXTERNALMEMBERSRESPONSE']._serialized_end=3704
+ _globals['_NETWORKSERVICE']._serialized_start=3707
+ _globals['_NETWORKSERVICE']._serialized_end=4810
# @@protoc_insertion_point(module_scope)
diff --git a/python/metalstack/admin/v2/network_pb2.pyi b/python/metalstack/admin/v2/network_pb2.pyi
index e2c8a08f..04be00b3 100644
--- a/python/metalstack/admin/v2/network_pb2.pyi
+++ b/python/metalstack/admin/v2/network_pb2.pyi
@@ -109,21 +109,25 @@ class NetworkServiceListExternalMembersRequest(_message.Message):
query: _network_pb2.ExternalNetworkMemberQuery
def __init__(self, network: _Optional[str] = ..., query: _Optional[_Union[_network_pb2.ExternalNetworkMemberQuery, _Mapping]] = ...) -> None: ...
-class NetworkServiceAddExternalMemberRequest(_message.Message):
- __slots__ = ("network", "switch_ports")
+class NetworkServiceAddExternalMembersRequest(_message.Message):
+ __slots__ = ("network", "rack", "ports")
NETWORK_FIELD_NUMBER: _ClassVar[int]
- SWITCH_PORTS_FIELD_NUMBER: _ClassVar[int]
+ RACK_FIELD_NUMBER: _ClassVar[int]
+ PORTS_FIELD_NUMBER: _ClassVar[int]
network: str
- switch_ports: _containers.RepeatedCompositeFieldContainer[_network_pb2.ExternalNetworkMember]
- def __init__(self, network: _Optional[str] = ..., switch_ports: _Optional[_Iterable[_Union[_network_pb2.ExternalNetworkMember, _Mapping]]] = ...) -> None: ...
+ rack: str
+ ports: _containers.RepeatedScalarFieldContainer[str]
+ def __init__(self, network: _Optional[str] = ..., rack: _Optional[str] = ..., ports: _Optional[_Iterable[str]] = ...) -> None: ...
-class NetworkServiceRemoveExternalMemberRequest(_message.Message):
- __slots__ = ("network", "switch_ports")
+class NetworkServiceRemoveExternalMembersRequest(_message.Message):
+ __slots__ = ("network", "rack", "ports")
NETWORK_FIELD_NUMBER: _ClassVar[int]
- SWITCH_PORTS_FIELD_NUMBER: _ClassVar[int]
+ RACK_FIELD_NUMBER: _ClassVar[int]
+ PORTS_FIELD_NUMBER: _ClassVar[int]
network: str
- switch_ports: _containers.RepeatedCompositeFieldContainer[_network_pb2.ExternalNetworkMember]
- def __init__(self, network: _Optional[str] = ..., switch_ports: _Optional[_Iterable[_Union[_network_pb2.ExternalNetworkMember, _Mapping]]] = ...) -> None: ...
+ rack: str
+ ports: _containers.RepeatedScalarFieldContainer[str]
+ def __init__(self, network: _Optional[str] = ..., rack: _Optional[str] = ..., ports: _Optional[_Iterable[str]] = ...) -> None: ...
class NetworkServiceCreateResponse(_message.Message):
__slots__ = ("network",)
@@ -155,14 +159,14 @@ class NetworkServiceListExternalMembersResponse(_message.Message):
members: _containers.RepeatedCompositeFieldContainer[_network_pb2.ExternalNetworkMember]
def __init__(self, members: _Optional[_Iterable[_Union[_network_pb2.ExternalNetworkMember, _Mapping]]] = ...) -> None: ...
-class NetworkServiceAddExternalMemberResponse(_message.Message):
- __slots__ = ("switch",)
- SWITCH_FIELD_NUMBER: _ClassVar[int]
- switch: _switch_pb2.Switch
- def __init__(self, switch: _Optional[_Union[_switch_pb2.Switch, _Mapping]] = ...) -> None: ...
-
-class NetworkServiceRemoveExternalMemberResponse(_message.Message):
- __slots__ = ("switch",)
- SWITCH_FIELD_NUMBER: _ClassVar[int]
- switch: _switch_pb2.Switch
- def __init__(self, switch: _Optional[_Union[_switch_pb2.Switch, _Mapping]] = ...) -> None: ...
+class NetworkServiceAddExternalMembersResponse(_message.Message):
+ __slots__ = ("switches",)
+ SWITCHES_FIELD_NUMBER: _ClassVar[int]
+ switches: _containers.RepeatedCompositeFieldContainer[_switch_pb2.Switch]
+ def __init__(self, switches: _Optional[_Iterable[_Union[_switch_pb2.Switch, _Mapping]]] = ...) -> None: ...
+
+class NetworkServiceRemoveExternalMembersResponse(_message.Message):
+ __slots__ = ("switches",)
+ SWITCHES_FIELD_NUMBER: _ClassVar[int]
+ switches: _containers.RepeatedCompositeFieldContainer[_switch_pb2.Switch]
+ def __init__(self, switches: _Optional[_Iterable[_Union[_switch_pb2.Switch, _Mapping]]] = ...) -> None: ...
diff --git a/python/metalstack/api/v2/network_pb2.py b/python/metalstack/api/v2/network_pb2.py
index 43e626e1..c601e049 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\"\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\"\x82\x01\n\x1a\x45xternalNetworkMemberQuery\x12*\n\x06switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x06switch\x88\x01\x01\x12$\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04rack\x88\x01\x01\x42\t\n\x07_switchB\x07\n\x05_rack\"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\x01 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x02 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x03 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x04 \x01(\x04R\x0cusedPrefixes\"c\n\x15\x45xternalNetworkMember\x12#\n\x06switch\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x06switch\x12%\n\x05ports\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports*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\xed\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\x12u\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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\"\xc0\x01\n\x1a\x45xternalNetworkMemberQuery\x12*\n\x06switch\x18\x01 \x01(\tB\r\xbaH\nr\x08h\x01\xc0\xb3\xae\xb1\x02\x01H\x00R\x06switch\x88\x01\x01\x12$\n\x04rack\x18\x02 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01H\x01R\x04rack\x88\x01\x01\x12.\n\tpartition\x18\x03 \x01(\tB\x0b\xbaH\x08r\x06\xd0\xb3\xae\xb1\x02\x01H\x02R\tpartition\x88\x01\x01\x42\t\n\x07_switchB\x07\n\x05_rackB\x0c\n\n_partition\"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\x01 \x01(\x04R\x0c\x61vailableIps\x12\x19\n\x08used_ips\x18\x02 \x01(\x04R\x07usedIps\x12-\n\x12\x61vailable_prefixes\x18\x03 \x01(\x04R\x11\x61vailablePrefixes\x12#\n\rused_prefixes\x18\x04 \x01(\x04R\x0cusedPrefixes\"c\n\x15\x45xternalNetworkMember\x12#\n\x06switch\x18\x01 \x01(\tB\x0b\xbaH\x08r\x06\xc0\xb3\xae\xb1\x02\x01R\x06switch\x12%\n\x05ports\x18\x02 \x03(\tB\x0f\xbaH\x0c\x92\x01\t\x10\x80\x10\xd0\xa4\xb3\xb1\x02\x01R\x05ports*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\xed\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\x12u\n\x06\x43reate\x12..metalstack.api.v2.NetworkServiceCreateRequest\x1a/.metalstack.api.v2.NetworkServiceCreateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\x12u\n\x06Update\x12..metalstack.api.v2.NetworkServiceUpdateRequest\x1a/.metalstack.api.v2.NetworkServiceUpdateResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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\x12u\n\x06\x44\x65lete\x12..metalstack.api.v2.NetworkServiceDeleteRequest\x1a/.metalstack.api.v2.NetworkServiceDeleteResponse\"\n\xca\xf3\x18\x02\x01\x02\xe0\xf3\x18\x01\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)
@@ -143,6 +143,8 @@
_globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['switch']._serialized_options = b'\272H\nr\010h\001\300\263\256\261\002\001'
_globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['rack']._loaded_options = None
_globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['rack']._serialized_options = b'\272H\010r\006\300\263\256\261\002\001'
+ _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['partition']._loaded_options = None
+ _globals['_EXTERNALNETWORKMEMBERQUERY'].fields_by_name['partition']._serialized_options = b'\272H\010r\006\320\263\256\261\002\001'
_globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv4']._loaded_options = None
_globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv4']._serialized_options = b'\272H\006*\004\030 \000'
_globals['_CHILDPREFIXLENGTH'].fields_by_name['ipv6']._loaded_options = None
@@ -163,12 +165,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\340\363\030\001'
- _globals['_NATTYPE']._serialized_start=4657
- _globals['_NATTYPE']._serialized_end=4766
- _globals['_NETWORKTYPE']._serialized_start=4769
- _globals['_NETWORKTYPE']._serialized_end=5070
- _globals['_NETWORKADDRESSFAMILY']._serialized_start=5073
- _globals['_NETWORKADDRESSFAMILY']._serialized_end=5272
+ _globals['_NATTYPE']._serialized_start=4719
+ _globals['_NATTYPE']._serialized_end=4828
+ _globals['_NETWORKTYPE']._serialized_start=4831
+ _globals['_NETWORKTYPE']._serialized_end=5132
+ _globals['_NETWORKADDRESSFAMILY']._serialized_start=5135
+ _globals['_NETWORKADDRESSFAMILY']._serialized_end=5334
_globals['_NETWORKSERVICEGETREQUEST']._serialized_start=157
_globals['_NETWORKSERVICEGETREQUEST']._serialized_end=251
_globals['_NETWORKSERVICEGETRESPONSE']._serialized_start=253
@@ -198,15 +200,15 @@
_globals['_NETWORKQUERY']._serialized_start=3118
_globals['_NETWORKQUERY']._serialized_end=4016
_globals['_EXTERNALNETWORKMEMBERQUERY']._serialized_start=4019
- _globals['_EXTERNALNETWORKMEMBERQUERY']._serialized_end=4149
- _globals['_CHILDPREFIXLENGTH']._serialized_start=4151
- _globals['_CHILDPREFIXLENGTH']._serialized_end=4261
- _globals['_NETWORKCONSUMPTION']._serialized_start=4263
- _globals['_NETWORKCONSUMPTION']._serialized_end=4389
- _globals['_NETWORKUSAGE']._serialized_start=4392
- _globals['_NETWORKUSAGE']._serialized_end=4554
- _globals['_EXTERNALNETWORKMEMBER']._serialized_start=4556
- _globals['_EXTERNALNETWORKMEMBER']._serialized_end=4655
- _globals['_NETWORKSERVICE']._serialized_start=5275
- _globals['_NETWORKSERVICE']._serialized_end=6024
+ _globals['_EXTERNALNETWORKMEMBERQUERY']._serialized_end=4211
+ _globals['_CHILDPREFIXLENGTH']._serialized_start=4213
+ _globals['_CHILDPREFIXLENGTH']._serialized_end=4323
+ _globals['_NETWORKCONSUMPTION']._serialized_start=4325
+ _globals['_NETWORKCONSUMPTION']._serialized_end=4451
+ _globals['_NETWORKUSAGE']._serialized_start=4454
+ _globals['_NETWORKUSAGE']._serialized_end=4616
+ _globals['_EXTERNALNETWORKMEMBER']._serialized_start=4618
+ _globals['_EXTERNALNETWORKMEMBER']._serialized_end=4717
+ _globals['_NETWORKSERVICE']._serialized_start=5337
+ _globals['_NETWORKSERVICE']._serialized_end=6086
# @@protoc_insertion_point(module_scope)
diff --git a/python/metalstack/api/v2/network_pb2.pyi b/python/metalstack/api/v2/network_pb2.pyi
index a5eef080..bd760212 100644
--- a/python/metalstack/api/v2/network_pb2.pyi
+++ b/python/metalstack/api/v2/network_pb2.pyi
@@ -222,12 +222,14 @@ class NetworkQuery(_message.Message):
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: ...
class ExternalNetworkMemberQuery(_message.Message):
- __slots__ = ("switch", "rack")
+ __slots__ = ("switch", "rack", "partition")
SWITCH_FIELD_NUMBER: _ClassVar[int]
RACK_FIELD_NUMBER: _ClassVar[int]
+ PARTITION_FIELD_NUMBER: _ClassVar[int]
switch: str
rack: str
- def __init__(self, switch: _Optional[str] = ..., rack: _Optional[str] = ...) -> None: ...
+ partition: str
+ def __init__(self, switch: _Optional[str] = ..., rack: _Optional[str] = ..., partition: _Optional[str] = ...) -> None: ...
class ChildPrefixLength(_message.Message):
__slots__ = ("ipv4", "ipv6")