diff --git a/internal/cmd/derp_map.go b/internal/cmd/derp_map.go new file mode 100644 index 0000000..14f5f52 --- /dev/null +++ b/internal/cmd/derp_map.go @@ -0,0 +1,150 @@ +package cmd + +import ( + "context" + "encoding/json" + "fmt" + "github.com/bufbuild/connect-go" + api "github.com/jsiebens/ionscale/pkg/gen/ionscale/v1" + "github.com/muesli/coral" + "gopkg.in/yaml.v2" + "os" + "tailscale.com/tailcfg" +) + +func systemCommand() *coral.Command { + command := &coral.Command{ + Use: "system", + Short: "Manage global system configurations", + } + + command.AddCommand(getDefaultDERPMap()) + command.AddCommand(setDefaultDERPMap()) + command.AddCommand(resetDefaultDERPMap()) + + return command +} + +func getDefaultDERPMap() *coral.Command { + command := &coral.Command{ + Use: "get-derp-map", + Short: "Get the DERP Map configuration", + SilenceUsage: true, + } + + var asJson bool + + var target = Target{} + target.prepareCommand(command) + command.Flags().BoolVar(&asJson, "json", false, "When enabled, render output as json otherwise yaml") + + command.RunE = func(command *coral.Command, args []string) error { + client, err := target.createGRPCClient() + if err != nil { + return err + } + + resp, err := client.GetDefaultDERPMap(context.Background(), connect.NewRequest(&api.GetDefaultDERPMapRequest{})) + + if err != nil { + return err + } + + var derpMap struct { + Regions map[int]*tailcfg.DERPRegion + } + + if err := json.Unmarshal(resp.Msg.Value, &derpMap); err != nil { + return err + } + + if asJson { + marshal, err := json.MarshalIndent(derpMap, "", " ") + if err != nil { + return err + } + + fmt.Println(string(marshal)) + } else { + marshal, err := yaml.Marshal(derpMap) + if err != nil { + return err + } + + fmt.Println(string(marshal)) + } + + return nil + } + + return command +} + +func setDefaultDERPMap() *coral.Command { + command := &coral.Command{ + Use: "set-derp-map", + Short: "Set the DERP Map configuration", + SilenceUsage: true, + } + + var file string + var target = Target{} + target.prepareCommand(command) + command.Flags().StringVar(&file, "file", "", "Path to json file with the DERP Map configuration") + + command.RunE = func(command *coral.Command, args []string) error { + grpcClient, err := target.createGRPCClient() + if err != nil { + return err + } + + rawJson, err := os.ReadFile(file) + if err != nil { + return err + } + + resp, err := grpcClient.SetDefaultDERPMap(context.Background(), connect.NewRequest(&api.SetDefaultDERPMapRequest{Value: rawJson})) + if err != nil { + return err + } + + var derpMap tailcfg.DERPMap + if err := json.Unmarshal(resp.Msg.Value, &derpMap); err != nil { + return err + } + + fmt.Println("DERP Map updated successfully") + + return nil + } + + return command +} + +func resetDefaultDERPMap() *coral.Command { + command := &coral.Command{ + Use: "reset-derp-map", + Short: "Reset the DERP Map to the default configuration", + SilenceUsage: true, + } + + var target = Target{} + target.prepareCommand(command) + + command.RunE = func(command *coral.Command, args []string) error { + grpcClient, err := target.createGRPCClient() + if err != nil { + return err + } + + if _, err := grpcClient.ResetDefaultDERPMap(context.Background(), connect.NewRequest(&api.ResetDefaultDERPMapRequest{})); err != nil { + return err + } + + fmt.Println("DERP Map updated successfully") + + return nil + } + + return command +} diff --git a/internal/cmd/root.go b/internal/cmd/root.go index 5249111..b5509b3 100644 --- a/internal/cmd/root.go +++ b/internal/cmd/root.go @@ -15,6 +15,7 @@ func Command() *coral.Command { rootCmd.AddCommand(authkeysCommand()) rootCmd.AddCommand(machineCommands()) rootCmd.AddCommand(userCommands()) + rootCmd.AddCommand(systemCommand()) return rootCmd } diff --git a/internal/cmd/tailnet.go b/internal/cmd/tailnet.go index d77d47a..d9830e1 100644 --- a/internal/cmd/tailnet.go +++ b/internal/cmd/tailnet.go @@ -39,6 +39,7 @@ func tailnetCommand() *coral.Command { command.AddCommand(disableFileSharingCommand()) command.AddCommand(getDERPMap()) command.AddCommand(setDERPMap()) + command.AddCommand(resetDERPMap()) return command } @@ -251,7 +252,6 @@ func getDERPMap() *coral.Command { return err } - fmt.Println() fmt.Println(string(marshal)) } else { marshal, err := yaml.Marshal(derpMap) @@ -259,7 +259,6 @@ func getDERPMap() *coral.Command { return err } - fmt.Println() fmt.Println(string(marshal)) } @@ -313,7 +312,45 @@ func setDERPMap() *coral.Command { return err } - fmt.Println() + fmt.Println("DERP Map updated successfully") + + return nil + } + + return command +} + +func resetDERPMap() *coral.Command { + command := &coral.Command{ + Use: "reset-derp-map", + Short: "Reset the DERP Map to the default configuration", + SilenceUsage: true, + } + + var tailnetID uint64 + var tailnetName string + var target = Target{} + target.prepareCommand(command) + + command.Flags().StringVar(&tailnetName, "tailnet", "", "Tailnet name. Mutually exclusive with --tailnet-id.") + command.Flags().Uint64Var(&tailnetID, "tailnet-id", 0, "Tailnet ID. Mutually exclusive with --tailnet.") + + command.PreRunE = checkRequiredTailnetAndTailnetIdFlags + command.RunE = func(command *coral.Command, args []string) error { + client, err := target.createGRPCClient() + if err != nil { + return err + } + + tailnet, err := findTailnet(client, tailnetName, tailnetID) + if err != nil { + return err + } + + if _, err := client.ResetDERPMap(context.Background(), connect.NewRequest(&api.ResetDERPMapRequest{TailnetId: tailnet.Id})); err != nil { + return err + } + fmt.Println("DERP Map updated successfully") return nil diff --git a/internal/domain/derpmap.go b/internal/domain/derpmap.go index 0b83236..9a0de35 100644 --- a/internal/domain/derpmap.go +++ b/internal/domain/derpmap.go @@ -44,5 +44,5 @@ func (DERPMap) GormDBDataType(db *gorm.DB, field *schema.Field) string { } type DefaultDERPMap interface { - GetDERPMap(ctx context.Context) (*tailcfg.DERPMap, error) + GetDERPMap(ctx context.Context) (*DERPMap, error) } diff --git a/internal/domain/repository.go b/internal/domain/repository.go index 5d398b5..e727eba 100644 --- a/internal/domain/repository.go +++ b/internal/domain/repository.go @@ -3,6 +3,7 @@ package domain import ( "context" "encoding/json" + "github.com/jsiebens/ionscale/internal/util" "gorm.io/gorm" "net/http" "sync" @@ -17,8 +18,8 @@ type Repository interface { GetJSONWebKeySet(ctx context.Context) (*JSONWebKeys, error) SetJSONWebKeySet(ctx context.Context, keys *JSONWebKeys) error - GetDERPMap(ctx context.Context) (*tailcfg.DERPMap, error) - SetDERPMap(ctx context.Context, v *tailcfg.DERPMap) error + GetDERPMap(ctx context.Context) (*DERPMap, error) + SetDERPMap(ctx context.Context, v *DERPMap) error GetAccount(ctx context.Context, accountID uint64) (*Account, error) GetOrCreateAccount(ctx context.Context, externalID, loginName string) (*Account, bool, error) @@ -104,10 +105,10 @@ func (r *repository) Transaction(action func(Repository) error) error { type derpMapCache struct { sync.RWMutex - value *tailcfg.DERPMap + value *DERPMap } -func (d *derpMapCache) Get() (*tailcfg.DERPMap, error) { +func (d *derpMapCache) Get() (*DERPMap, error) { d.RLock() if d.value != nil { @@ -135,7 +136,10 @@ func (d *derpMapCache) Get() (*tailcfg.DERPMap, error) { return nil, err } - d.value = m + d.value = &DERPMap{ + Checksum: util.Checksum(m), + DERPMap: *m, + } return d.value, nil } diff --git a/internal/domain/server_config.go b/internal/domain/server_config.go index ce80315..b6bef33 100644 --- a/internal/domain/server_config.go +++ b/internal/domain/server_config.go @@ -7,7 +7,6 @@ import ( "encoding/json" "errors" "gorm.io/gorm" - "tailscale.com/tailcfg" tkey "tailscale.com/types/key" "time" ) @@ -82,8 +81,8 @@ func (r *repository) SetJSONWebKeySet(ctx context.Context, v *JSONWebKeys) error return r.setServerConfig(ctx, jwksConfigKey, v) } -func (r *repository) GetDERPMap(ctx context.Context) (*tailcfg.DERPMap, error) { - var m tailcfg.DERPMap +func (r *repository) GetDERPMap(ctx context.Context) (*DERPMap, error) { + var m DERPMap err := r.getServerConfig(ctx, derpMapConfigKey, &m) @@ -91,6 +90,10 @@ func (r *repository) GetDERPMap(ctx context.Context) (*tailcfg.DERPMap, error) { return r.defaultDERPMap.Get() } + if m.Checksum == "" { + return r.defaultDERPMap.Get() + } + if err != nil { return nil, err } @@ -98,7 +101,7 @@ func (r *repository) GetDERPMap(ctx context.Context) (*tailcfg.DERPMap, error) { return &m, nil } -func (r *repository) SetDERPMap(ctx context.Context, v *tailcfg.DERPMap) error { +func (r *repository) SetDERPMap(ctx context.Context, v *DERPMap) error { return r.setServerConfig(ctx, "derp_map", v) } diff --git a/internal/domain/tailnet.go b/internal/domain/tailnet.go index b30541c..31da705 100644 --- a/internal/domain/tailnet.go +++ b/internal/domain/tailnet.go @@ -7,7 +7,6 @@ import ( "gorm.io/gorm" "net/mail" "strings" - "tailscale.com/tailcfg" "tailscale.com/util/dnsname" ) @@ -23,11 +22,11 @@ type Tailnet struct { FileSharingEnabled bool } -func (t Tailnet) GetDERPMap(ctx context.Context, fallack DefaultDERPMap) (*tailcfg.DERPMap, error) { +func (t Tailnet) GetDERPMap(ctx context.Context, fallack DefaultDERPMap) (*DERPMap, error) { if t.DERPMap.Checksum == "" { return fallack.GetDERPMap(ctx) } else { - return &t.DERPMap.DERPMap, nil + return &t.DERPMap, nil } } diff --git a/internal/handlers/poll_net_map.go b/internal/handlers/poll_net_map.go index 01a1afa..4278de0 100644 --- a/internal/handlers/poll_net_map.go +++ b/internal/handlers/poll_net_map.go @@ -287,7 +287,7 @@ func (h *PollNetMapHandler) createMapResponse(m *domain.Machine, binder bind.Bin Node: node, DNSConfig: mapping.ToDNSConfig(m, validPeers, &m.Tailnet, &dnsConfig), PacketFilter: rules, - DERPMap: derpMap, + DERPMap: &derpMap.DERPMap, Domain: domain.SanitizeTailnetName(m.Tailnet.Name), Peers: changedPeers, UserProfiles: users, @@ -302,7 +302,7 @@ func (h *PollNetMapHandler) createMapResponse(m *domain.Machine, binder bind.Bin Node: node, DNSConfig: mapping.ToDNSConfig(m, validPeers, &m.Tailnet, &dnsConfig), PacketFilter: rules, - DERPMap: derpMap, + DERPMap: &derpMap.DERPMap, Domain: domain.SanitizeTailnetName(m.Tailnet.Name), PeersChanged: changedPeers, PeersRemoved: removedPeers, diff --git a/internal/service/derp_map.go b/internal/service/derp_map.go new file mode 100644 index 0000000..78b6ac7 --- /dev/null +++ b/internal/service/derp_map.go @@ -0,0 +1,88 @@ +package service + +import ( + "context" + "encoding/json" + "errors" + "github.com/bufbuild/connect-go" + "github.com/jsiebens/ionscale/internal/broker" + "github.com/jsiebens/ionscale/internal/domain" + "github.com/jsiebens/ionscale/internal/util" + api "github.com/jsiebens/ionscale/pkg/gen/ionscale/v1" + "tailscale.com/tailcfg" +) + +func (s *Service) GetDefaultDERPMap(ctx context.Context, _ *connect.Request[api.GetDefaultDERPMapRequest]) (*connect.Response[api.GetDefaultDERPMapResponse], error) { + principal := CurrentPrincipal(ctx) + if !principal.IsSystemAdmin() { + return nil, connect.NewError(connect.CodePermissionDenied, errors.New("permission denied")) + } + + dm, err := s.repository.GetDERPMap(ctx) + if err != nil { + return nil, err + } + + raw, err := json.Marshal(dm.DERPMap) + if err != nil { + return nil, err + } + + return connect.NewResponse(&api.GetDefaultDERPMapResponse{Value: raw}), nil +} + +func (s *Service) SetDefaultDERPMap(ctx context.Context, req *connect.Request[api.SetDefaultDERPMapRequest]) (*connect.Response[api.SetDefaultDERPMapResponse], error) { + principal := CurrentPrincipal(ctx) + if !principal.IsSystemAdmin() { + return nil, connect.NewError(connect.CodePermissionDenied, errors.New("permission denied")) + } + + var derpMap tailcfg.DERPMap + if err := json.Unmarshal(req.Msg.Value, &derpMap); err != nil { + return nil, err + } + + dp := domain.DERPMap{ + Checksum: util.Checksum(&derpMap), + DERPMap: derpMap, + } + + if err := s.repository.SetDERPMap(ctx, &dp); err != nil { + return nil, err + } + + tailnets, err := s.repository.ListTailnets(ctx) + if err != nil { + return nil, err + } + + for _, t := range tailnets { + s.pubsub.Publish(t.ID, &broker.Signal{}) + } + + return connect.NewResponse(&api.SetDefaultDERPMapResponse{Value: req.Msg.Value}), nil +} + +func (s *Service) ResetDefaultDERPMap(ctx context.Context, req *connect.Request[api.ResetDefaultDERPMapRequest]) (*connect.Response[api.ResetDefaultDERPMapResponse], error) { + principal := CurrentPrincipal(ctx) + if !principal.IsSystemAdmin() { + return nil, connect.NewError(connect.CodePermissionDenied, errors.New("permission denied")) + } + + dp := domain.DERPMap{} + + if err := s.repository.SetDERPMap(ctx, &dp); err != nil { + return nil, err + } + + tailnets, err := s.repository.ListTailnets(ctx) + if err != nil { + return nil, err + } + + for _, t := range tailnets { + s.pubsub.Publish(t.ID, &broker.Signal{}) + } + + return connect.NewResponse(&api.ResetDefaultDERPMapResponse{}), nil +} diff --git a/internal/service/tailnet.go b/internal/service/tailnet.go index cb5ed40..56e97e1 100644 --- a/internal/service/tailnet.go +++ b/internal/service/tailnet.go @@ -179,6 +179,31 @@ func (s *Service) SetDERPMap(ctx context.Context, req *connect.Request[api.SetDE return connect.NewResponse(&api.SetDERPMapResponse{Value: raw}), nil } +func (s *Service) ResetDERPMap(ctx context.Context, req *connect.Request[api.ResetDERPMapRequest]) (*connect.Response[api.ResetDERPMapResponse], error) { + principal := CurrentPrincipal(ctx) + if !principal.IsSystemAdmin() && !principal.IsTailnetAdmin(req.Msg.TailnetId) { + return nil, connect.NewError(connect.CodePermissionDenied, errors.New("permission denied")) + } + + tailnet, err := s.repository.GetTailnet(ctx, req.Msg.TailnetId) + if err != nil { + return nil, err + } + if tailnet == nil { + return nil, connect.NewError(connect.CodeNotFound, errors.New("tailnet not found")) + } + + tailnet.DERPMap = domain.DERPMap{} + + if err := s.repository.SaveTailnet(ctx, tailnet); err != nil { + return nil, err + } + + s.pubsub.Publish(tailnet.ID, &broker.Signal{}) + + return connect.NewResponse(&api.ResetDERPMapResponse{}), nil +} + func (s *Service) GetDERPMap(ctx context.Context, req *connect.Request[api.GetDERPMapRequest]) (*connect.Response[api.GetDERPMapResponse], error) { principal := CurrentPrincipal(ctx) if !principal.IsSystemAdmin() && !principal.IsTailnetAdmin(req.Msg.TailnetId) { @@ -198,7 +223,7 @@ func (s *Service) GetDERPMap(ctx context.Context, req *connect.Request[api.GetDE return nil, err } - raw, err := json.Marshal(derpMap) + raw, err := json.Marshal(derpMap.DERPMap) if err != nil { return nil, err } diff --git a/pkg/gen/ionscale/v1/derp.pb.go b/pkg/gen/ionscale/v1/derp.pb.go new file mode 100644 index 0000000..6ddb970 --- /dev/null +++ b/pkg/gen/ionscale/v1/derp.pb.go @@ -0,0 +1,431 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc (unknown) +// source: ionscale/v1/derp.proto + +package ionscalev1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GetDefaultDERPMapRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetDefaultDERPMapRequest) Reset() { + *x = GetDefaultDERPMapRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_derp_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDefaultDERPMapRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDefaultDERPMapRequest) ProtoMessage() {} + +func (x *GetDefaultDERPMapRequest) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_derp_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDefaultDERPMapRequest.ProtoReflect.Descriptor instead. +func (*GetDefaultDERPMapRequest) Descriptor() ([]byte, []int) { + return file_ionscale_v1_derp_proto_rawDescGZIP(), []int{0} +} + +type GetDefaultDERPMapResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *GetDefaultDERPMapResponse) Reset() { + *x = GetDefaultDERPMapResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_derp_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDefaultDERPMapResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDefaultDERPMapResponse) ProtoMessage() {} + +func (x *GetDefaultDERPMapResponse) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_derp_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDefaultDERPMapResponse.ProtoReflect.Descriptor instead. +func (*GetDefaultDERPMapResponse) Descriptor() ([]byte, []int) { + return file_ionscale_v1_derp_proto_rawDescGZIP(), []int{1} +} + +func (x *GetDefaultDERPMapResponse) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +type SetDefaultDERPMapRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *SetDefaultDERPMapRequest) Reset() { + *x = SetDefaultDERPMapRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_derp_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetDefaultDERPMapRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDefaultDERPMapRequest) ProtoMessage() {} + +func (x *SetDefaultDERPMapRequest) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_derp_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDefaultDERPMapRequest.ProtoReflect.Descriptor instead. +func (*SetDefaultDERPMapRequest) Descriptor() ([]byte, []int) { + return file_ionscale_v1_derp_proto_rawDescGZIP(), []int{2} +} + +func (x *SetDefaultDERPMapRequest) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +type SetDefaultDERPMapResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *SetDefaultDERPMapResponse) Reset() { + *x = SetDefaultDERPMapResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_derp_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetDefaultDERPMapResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDefaultDERPMapResponse) ProtoMessage() {} + +func (x *SetDefaultDERPMapResponse) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_derp_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDefaultDERPMapResponse.ProtoReflect.Descriptor instead. +func (*SetDefaultDERPMapResponse) Descriptor() ([]byte, []int) { + return file_ionscale_v1_derp_proto_rawDescGZIP(), []int{3} +} + +func (x *SetDefaultDERPMapResponse) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +type ResetDefaultDERPMapRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ResetDefaultDERPMapRequest) Reset() { + *x = ResetDefaultDERPMapRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_derp_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetDefaultDERPMapRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetDefaultDERPMapRequest) ProtoMessage() {} + +func (x *ResetDefaultDERPMapRequest) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_derp_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetDefaultDERPMapRequest.ProtoReflect.Descriptor instead. +func (*ResetDefaultDERPMapRequest) Descriptor() ([]byte, []int) { + return file_ionscale_v1_derp_proto_rawDescGZIP(), []int{4} +} + +type ResetDefaultDERPMapResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ResetDefaultDERPMapResponse) Reset() { + *x = ResetDefaultDERPMapResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_derp_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetDefaultDERPMapResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetDefaultDERPMapResponse) ProtoMessage() {} + +func (x *ResetDefaultDERPMapResponse) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_derp_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetDefaultDERPMapResponse.ProtoReflect.Descriptor instead. +func (*ResetDefaultDERPMapResponse) Descriptor() ([]byte, []int) { + return file_ionscale_v1_derp_proto_rawDescGZIP(), []int{5} +} + +var File_ionscale_v1_derp_proto protoreflect.FileDescriptor + +var file_ionscale_v1_derp_proto_rawDesc = []byte{ + 0x0a, 0x16, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, + 0x72, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x31, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, + 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x30, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x31, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x73, 0x69, 0x65, 0x62, 0x65, 0x6e, 0x73, 0x2f, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x6f, 0x6e, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_ionscale_v1_derp_proto_rawDescOnce sync.Once + file_ionscale_v1_derp_proto_rawDescData = file_ionscale_v1_derp_proto_rawDesc +) + +func file_ionscale_v1_derp_proto_rawDescGZIP() []byte { + file_ionscale_v1_derp_proto_rawDescOnce.Do(func() { + file_ionscale_v1_derp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ionscale_v1_derp_proto_rawDescData) + }) + return file_ionscale_v1_derp_proto_rawDescData +} + +var file_ionscale_v1_derp_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_ionscale_v1_derp_proto_goTypes = []interface{}{ + (*GetDefaultDERPMapRequest)(nil), // 0: ionscale.v1.GetDefaultDERPMapRequest + (*GetDefaultDERPMapResponse)(nil), // 1: ionscale.v1.GetDefaultDERPMapResponse + (*SetDefaultDERPMapRequest)(nil), // 2: ionscale.v1.SetDefaultDERPMapRequest + (*SetDefaultDERPMapResponse)(nil), // 3: ionscale.v1.SetDefaultDERPMapResponse + (*ResetDefaultDERPMapRequest)(nil), // 4: ionscale.v1.ResetDefaultDERPMapRequest + (*ResetDefaultDERPMapResponse)(nil), // 5: ionscale.v1.ResetDefaultDERPMapResponse +} +var file_ionscale_v1_derp_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_ionscale_v1_derp_proto_init() } +func file_ionscale_v1_derp_proto_init() { + if File_ionscale_v1_derp_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_ionscale_v1_derp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDefaultDERPMapRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_derp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDefaultDERPMapResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_derp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetDefaultDERPMapRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_derp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetDefaultDERPMapResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_derp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResetDefaultDERPMapRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_derp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResetDefaultDERPMapResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_ionscale_v1_derp_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_ionscale_v1_derp_proto_goTypes, + DependencyIndexes: file_ionscale_v1_derp_proto_depIdxs, + MessageInfos: file_ionscale_v1_derp_proto_msgTypes, + }.Build() + File_ionscale_v1_derp_proto = out.File + file_ionscale_v1_derp_proto_rawDesc = nil + file_ionscale_v1_derp_proto_goTypes = nil + file_ionscale_v1_derp_proto_depIdxs = nil +} diff --git a/pkg/gen/ionscale/v1/ionscale.pb.go b/pkg/gen/ionscale/v1/ionscale.pb.go index ca6f87f..b052a78 100644 --- a/pkg/gen/ionscale/v1/ionscale.pb.go +++ b/pkg/gen/ionscale/v1/ionscale.pb.go @@ -46,19 +46,40 @@ var file_ionscale_v1_ionscale_proto_rawDesc = []byte{ 0x76, 0x31, 0x2f, 0x64, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xb6, 0x1a, 0x0a, 0x0f, 0x49, - 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, - 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x69, - 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, - 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5b, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, - 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x0d, + 0x2f, 0x61, 0x63, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x72, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x32, 0xc5, 0x1d, 0x0a, 0x0f, 0x49, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0c, 0x41, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x12, 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x11, 0x53, 0x65, + 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x12, + 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, + 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x6a, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x12, 0x27, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, @@ -90,326 +111,348 @@ var file_ionscale_v1_ionscale_proto_rawDesc = []byte{ 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x12, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, - 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x45, 0x52, 0x50, + 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x45, + 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x65, 0x0a, 0x12, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x67, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, - 0x61, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, - 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x79, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x77, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6f, - 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, - 0x47, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x69, - 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x4e, - 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, - 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x41, - 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x65, + 0x74, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x4e, 0x53, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x4e, + 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x47, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, - 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, + 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x41, 0x4d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x55, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x55, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, - 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x69, 0x6f, - 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, - 0x65, 0x79, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, 0x69, 0x6f, - 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, - 0x74, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, - 0x1d, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4f, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, - 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x4f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, - 0x1e, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x73, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x47, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x41, 0x43, 0x4c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x43, 0x4c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, + 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, + 0x79, 0x73, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x45, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, - 0x13, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b, 0x65, 0x79, 0x45, 0x78, - 0x70, 0x69, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x09, 0x4c, 0x69, 0x73, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0c, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x58, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x12, 0x21, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0d, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x27, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b, 0x65, 0x79, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x24, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x61, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6f, 0x6e, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x69, 0x6f, 0x6e, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x13, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, - 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x28, 0x2e, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5d, 0x0a, 0x0e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5f, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x12, 0x23, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x17, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6f, - 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6a, 0x73, 0x69, 0x65, 0x62, 0x65, 0x6e, 0x73, 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x69, 0x6f, 0x6e, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0e, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x45, 0x78, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, + 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, + 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x45, 0x78, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x2e, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x78, 0x69, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x17, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x79, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x48, 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x69, 0x6f, 0x6e, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x48, + 0x74, 0x74, 0x70, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x73, 0x69, 0x65, 0x62, 0x65, 0x6e, + 0x73, 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x69, + 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var file_ionscale_v1_ionscale_proto_goTypes = []interface{}{ (*GetVersionRequest)(nil), // 0: ionscale.v1.GetVersionRequest (*AuthenticationRequest)(nil), // 1: ionscale.v1.AuthenticationRequest - (*CreateTailnetRequest)(nil), // 2: ionscale.v1.CreateTailnetRequest - (*GetTailnetRequest)(nil), // 3: ionscale.v1.GetTailnetRequest - (*ListTailnetRequest)(nil), // 4: ionscale.v1.ListTailnetRequest - (*DeleteTailnetRequest)(nil), // 5: ionscale.v1.DeleteTailnetRequest - (*GetDERPMapRequest)(nil), // 6: ionscale.v1.GetDERPMapRequest - (*SetDERPMapRequest)(nil), // 7: ionscale.v1.SetDERPMapRequest - (*EnableFileSharingRequest)(nil), // 8: ionscale.v1.EnableFileSharingRequest - (*DisableFileSharingRequest)(nil), // 9: ionscale.v1.DisableFileSharingRequest - (*EnableServiceCollectionRequest)(nil), // 10: ionscale.v1.EnableServiceCollectionRequest - (*DisableServiceCollectionRequest)(nil), // 11: ionscale.v1.DisableServiceCollectionRequest - (*GetDNSConfigRequest)(nil), // 12: ionscale.v1.GetDNSConfigRequest - (*SetDNSConfigRequest)(nil), // 13: ionscale.v1.SetDNSConfigRequest - (*GetIAMPolicyRequest)(nil), // 14: ionscale.v1.GetIAMPolicyRequest - (*SetIAMPolicyRequest)(nil), // 15: ionscale.v1.SetIAMPolicyRequest - (*GetACLPolicyRequest)(nil), // 16: ionscale.v1.GetACLPolicyRequest - (*SetACLPolicyRequest)(nil), // 17: ionscale.v1.SetACLPolicyRequest - (*GetAuthKeyRequest)(nil), // 18: ionscale.v1.GetAuthKeyRequest - (*CreateAuthKeyRequest)(nil), // 19: ionscale.v1.CreateAuthKeyRequest - (*DeleteAuthKeyRequest)(nil), // 20: ionscale.v1.DeleteAuthKeyRequest - (*ListAuthKeysRequest)(nil), // 21: ionscale.v1.ListAuthKeysRequest - (*ListUsersRequest)(nil), // 22: ionscale.v1.ListUsersRequest - (*DeleteUserRequest)(nil), // 23: ionscale.v1.DeleteUserRequest - (*GetMachineRequest)(nil), // 24: ionscale.v1.GetMachineRequest - (*ListMachinesRequest)(nil), // 25: ionscale.v1.ListMachinesRequest - (*ExpireMachineRequest)(nil), // 26: ionscale.v1.ExpireMachineRequest - (*DeleteMachineRequest)(nil), // 27: ionscale.v1.DeleteMachineRequest - (*SetMachineKeyExpiryRequest)(nil), // 28: ionscale.v1.SetMachineKeyExpiryRequest - (*GetMachineRoutesRequest)(nil), // 29: ionscale.v1.GetMachineRoutesRequest - (*EnableMachineRoutesRequest)(nil), // 30: ionscale.v1.EnableMachineRoutesRequest - (*DisableMachineRoutesRequest)(nil), // 31: ionscale.v1.DisableMachineRoutesRequest - (*EnableExitNodeRequest)(nil), // 32: ionscale.v1.EnableExitNodeRequest - (*DisableExitNodeRequest)(nil), // 33: ionscale.v1.DisableExitNodeRequest - (*EnableHttpsCertificatesRequest)(nil), // 34: ionscale.v1.EnableHttpsCertificatesRequest - (*DisableHttpsCertificatesRequest)(nil), // 35: ionscale.v1.DisableHttpsCertificatesRequest - (*GetVersionResponse)(nil), // 36: ionscale.v1.GetVersionResponse - (*AuthenticationResponse)(nil), // 37: ionscale.v1.AuthenticationResponse - (*CreateTailnetResponse)(nil), // 38: ionscale.v1.CreateTailnetResponse - (*GetTailnetResponse)(nil), // 39: ionscale.v1.GetTailnetResponse - (*ListTailnetResponse)(nil), // 40: ionscale.v1.ListTailnetResponse - (*DeleteTailnetResponse)(nil), // 41: ionscale.v1.DeleteTailnetResponse - (*GetDERPMapResponse)(nil), // 42: ionscale.v1.GetDERPMapResponse - (*SetDERPMapResponse)(nil), // 43: ionscale.v1.SetDERPMapResponse - (*EnableFileSharingResponse)(nil), // 44: ionscale.v1.EnableFileSharingResponse - (*DisableFileSharingResponse)(nil), // 45: ionscale.v1.DisableFileSharingResponse - (*EnableServiceCollectionResponse)(nil), // 46: ionscale.v1.EnableServiceCollectionResponse - (*DisableServiceCollectionResponse)(nil), // 47: ionscale.v1.DisableServiceCollectionResponse - (*GetDNSConfigResponse)(nil), // 48: ionscale.v1.GetDNSConfigResponse - (*SetDNSConfigResponse)(nil), // 49: ionscale.v1.SetDNSConfigResponse - (*GetIAMPolicyResponse)(nil), // 50: ionscale.v1.GetIAMPolicyResponse - (*SetIAMPolicyResponse)(nil), // 51: ionscale.v1.SetIAMPolicyResponse - (*GetACLPolicyResponse)(nil), // 52: ionscale.v1.GetACLPolicyResponse - (*SetACLPolicyResponse)(nil), // 53: ionscale.v1.SetACLPolicyResponse - (*GetAuthKeyResponse)(nil), // 54: ionscale.v1.GetAuthKeyResponse - (*CreateAuthKeyResponse)(nil), // 55: ionscale.v1.CreateAuthKeyResponse - (*DeleteAuthKeyResponse)(nil), // 56: ionscale.v1.DeleteAuthKeyResponse - (*ListAuthKeysResponse)(nil), // 57: ionscale.v1.ListAuthKeysResponse - (*ListUsersResponse)(nil), // 58: ionscale.v1.ListUsersResponse - (*DeleteUserResponse)(nil), // 59: ionscale.v1.DeleteUserResponse - (*GetMachineResponse)(nil), // 60: ionscale.v1.GetMachineResponse - (*ListMachinesResponse)(nil), // 61: ionscale.v1.ListMachinesResponse - (*ExpireMachineResponse)(nil), // 62: ionscale.v1.ExpireMachineResponse - (*DeleteMachineResponse)(nil), // 63: ionscale.v1.DeleteMachineResponse - (*SetMachineKeyExpiryResponse)(nil), // 64: ionscale.v1.SetMachineKeyExpiryResponse - (*GetMachineRoutesResponse)(nil), // 65: ionscale.v1.GetMachineRoutesResponse - (*EnableHttpsCertificatesResponse)(nil), // 66: ionscale.v1.EnableHttpsCertificatesResponse - (*DisableHttpsCertificatesResponse)(nil), // 67: ionscale.v1.DisableHttpsCertificatesResponse + (*GetDefaultDERPMapRequest)(nil), // 2: ionscale.v1.GetDefaultDERPMapRequest + (*SetDefaultDERPMapRequest)(nil), // 3: ionscale.v1.SetDefaultDERPMapRequest + (*ResetDefaultDERPMapRequest)(nil), // 4: ionscale.v1.ResetDefaultDERPMapRequest + (*CreateTailnetRequest)(nil), // 5: ionscale.v1.CreateTailnetRequest + (*GetTailnetRequest)(nil), // 6: ionscale.v1.GetTailnetRequest + (*ListTailnetRequest)(nil), // 7: ionscale.v1.ListTailnetRequest + (*DeleteTailnetRequest)(nil), // 8: ionscale.v1.DeleteTailnetRequest + (*GetDERPMapRequest)(nil), // 9: ionscale.v1.GetDERPMapRequest + (*SetDERPMapRequest)(nil), // 10: ionscale.v1.SetDERPMapRequest + (*ResetDERPMapRequest)(nil), // 11: ionscale.v1.ResetDERPMapRequest + (*EnableFileSharingRequest)(nil), // 12: ionscale.v1.EnableFileSharingRequest + (*DisableFileSharingRequest)(nil), // 13: ionscale.v1.DisableFileSharingRequest + (*EnableServiceCollectionRequest)(nil), // 14: ionscale.v1.EnableServiceCollectionRequest + (*DisableServiceCollectionRequest)(nil), // 15: ionscale.v1.DisableServiceCollectionRequest + (*GetDNSConfigRequest)(nil), // 16: ionscale.v1.GetDNSConfigRequest + (*SetDNSConfigRequest)(nil), // 17: ionscale.v1.SetDNSConfigRequest + (*GetIAMPolicyRequest)(nil), // 18: ionscale.v1.GetIAMPolicyRequest + (*SetIAMPolicyRequest)(nil), // 19: ionscale.v1.SetIAMPolicyRequest + (*GetACLPolicyRequest)(nil), // 20: ionscale.v1.GetACLPolicyRequest + (*SetACLPolicyRequest)(nil), // 21: ionscale.v1.SetACLPolicyRequest + (*GetAuthKeyRequest)(nil), // 22: ionscale.v1.GetAuthKeyRequest + (*CreateAuthKeyRequest)(nil), // 23: ionscale.v1.CreateAuthKeyRequest + (*DeleteAuthKeyRequest)(nil), // 24: ionscale.v1.DeleteAuthKeyRequest + (*ListAuthKeysRequest)(nil), // 25: ionscale.v1.ListAuthKeysRequest + (*ListUsersRequest)(nil), // 26: ionscale.v1.ListUsersRequest + (*DeleteUserRequest)(nil), // 27: ionscale.v1.DeleteUserRequest + (*GetMachineRequest)(nil), // 28: ionscale.v1.GetMachineRequest + (*ListMachinesRequest)(nil), // 29: ionscale.v1.ListMachinesRequest + (*ExpireMachineRequest)(nil), // 30: ionscale.v1.ExpireMachineRequest + (*DeleteMachineRequest)(nil), // 31: ionscale.v1.DeleteMachineRequest + (*SetMachineKeyExpiryRequest)(nil), // 32: ionscale.v1.SetMachineKeyExpiryRequest + (*GetMachineRoutesRequest)(nil), // 33: ionscale.v1.GetMachineRoutesRequest + (*EnableMachineRoutesRequest)(nil), // 34: ionscale.v1.EnableMachineRoutesRequest + (*DisableMachineRoutesRequest)(nil), // 35: ionscale.v1.DisableMachineRoutesRequest + (*EnableExitNodeRequest)(nil), // 36: ionscale.v1.EnableExitNodeRequest + (*DisableExitNodeRequest)(nil), // 37: ionscale.v1.DisableExitNodeRequest + (*EnableHttpsCertificatesRequest)(nil), // 38: ionscale.v1.EnableHttpsCertificatesRequest + (*DisableHttpsCertificatesRequest)(nil), // 39: ionscale.v1.DisableHttpsCertificatesRequest + (*GetVersionResponse)(nil), // 40: ionscale.v1.GetVersionResponse + (*AuthenticationResponse)(nil), // 41: ionscale.v1.AuthenticationResponse + (*GetDefaultDERPMapResponse)(nil), // 42: ionscale.v1.GetDefaultDERPMapResponse + (*SetDefaultDERPMapResponse)(nil), // 43: ionscale.v1.SetDefaultDERPMapResponse + (*ResetDefaultDERPMapResponse)(nil), // 44: ionscale.v1.ResetDefaultDERPMapResponse + (*CreateTailnetResponse)(nil), // 45: ionscale.v1.CreateTailnetResponse + (*GetTailnetResponse)(nil), // 46: ionscale.v1.GetTailnetResponse + (*ListTailnetResponse)(nil), // 47: ionscale.v1.ListTailnetResponse + (*DeleteTailnetResponse)(nil), // 48: ionscale.v1.DeleteTailnetResponse + (*GetDERPMapResponse)(nil), // 49: ionscale.v1.GetDERPMapResponse + (*SetDERPMapResponse)(nil), // 50: ionscale.v1.SetDERPMapResponse + (*ResetDERPMapResponse)(nil), // 51: ionscale.v1.ResetDERPMapResponse + (*EnableFileSharingResponse)(nil), // 52: ionscale.v1.EnableFileSharingResponse + (*DisableFileSharingResponse)(nil), // 53: ionscale.v1.DisableFileSharingResponse + (*EnableServiceCollectionResponse)(nil), // 54: ionscale.v1.EnableServiceCollectionResponse + (*DisableServiceCollectionResponse)(nil), // 55: ionscale.v1.DisableServiceCollectionResponse + (*GetDNSConfigResponse)(nil), // 56: ionscale.v1.GetDNSConfigResponse + (*SetDNSConfigResponse)(nil), // 57: ionscale.v1.SetDNSConfigResponse + (*GetIAMPolicyResponse)(nil), // 58: ionscale.v1.GetIAMPolicyResponse + (*SetIAMPolicyResponse)(nil), // 59: ionscale.v1.SetIAMPolicyResponse + (*GetACLPolicyResponse)(nil), // 60: ionscale.v1.GetACLPolicyResponse + (*SetACLPolicyResponse)(nil), // 61: ionscale.v1.SetACLPolicyResponse + (*GetAuthKeyResponse)(nil), // 62: ionscale.v1.GetAuthKeyResponse + (*CreateAuthKeyResponse)(nil), // 63: ionscale.v1.CreateAuthKeyResponse + (*DeleteAuthKeyResponse)(nil), // 64: ionscale.v1.DeleteAuthKeyResponse + (*ListAuthKeysResponse)(nil), // 65: ionscale.v1.ListAuthKeysResponse + (*ListUsersResponse)(nil), // 66: ionscale.v1.ListUsersResponse + (*DeleteUserResponse)(nil), // 67: ionscale.v1.DeleteUserResponse + (*GetMachineResponse)(nil), // 68: ionscale.v1.GetMachineResponse + (*ListMachinesResponse)(nil), // 69: ionscale.v1.ListMachinesResponse + (*ExpireMachineResponse)(nil), // 70: ionscale.v1.ExpireMachineResponse + (*DeleteMachineResponse)(nil), // 71: ionscale.v1.DeleteMachineResponse + (*SetMachineKeyExpiryResponse)(nil), // 72: ionscale.v1.SetMachineKeyExpiryResponse + (*GetMachineRoutesResponse)(nil), // 73: ionscale.v1.GetMachineRoutesResponse + (*EnableHttpsCertificatesResponse)(nil), // 74: ionscale.v1.EnableHttpsCertificatesResponse + (*DisableHttpsCertificatesResponse)(nil), // 75: ionscale.v1.DisableHttpsCertificatesResponse } var file_ionscale_v1_ionscale_proto_depIdxs = []int32{ 0, // 0: ionscale.v1.IonscaleService.GetVersion:input_type -> ionscale.v1.GetVersionRequest 1, // 1: ionscale.v1.IonscaleService.Authenticate:input_type -> ionscale.v1.AuthenticationRequest - 2, // 2: ionscale.v1.IonscaleService.CreateTailnet:input_type -> ionscale.v1.CreateTailnetRequest - 3, // 3: ionscale.v1.IonscaleService.GetTailnet:input_type -> ionscale.v1.GetTailnetRequest - 4, // 4: ionscale.v1.IonscaleService.ListTailnets:input_type -> ionscale.v1.ListTailnetRequest - 5, // 5: ionscale.v1.IonscaleService.DeleteTailnet:input_type -> ionscale.v1.DeleteTailnetRequest - 6, // 6: ionscale.v1.IonscaleService.GetDERPMap:input_type -> ionscale.v1.GetDERPMapRequest - 7, // 7: ionscale.v1.IonscaleService.SetDERPMap:input_type -> ionscale.v1.SetDERPMapRequest - 8, // 8: ionscale.v1.IonscaleService.EnabledFileSharing:input_type -> ionscale.v1.EnableFileSharingRequest - 9, // 9: ionscale.v1.IonscaleService.DisableFileSharing:input_type -> ionscale.v1.DisableFileSharingRequest - 10, // 10: ionscale.v1.IonscaleService.EnabledServiceCollection:input_type -> ionscale.v1.EnableServiceCollectionRequest - 11, // 11: ionscale.v1.IonscaleService.DisableServiceCollection:input_type -> ionscale.v1.DisableServiceCollectionRequest - 12, // 12: ionscale.v1.IonscaleService.GetDNSConfig:input_type -> ionscale.v1.GetDNSConfigRequest - 13, // 13: ionscale.v1.IonscaleService.SetDNSConfig:input_type -> ionscale.v1.SetDNSConfigRequest - 14, // 14: ionscale.v1.IonscaleService.GetIAMPolicy:input_type -> ionscale.v1.GetIAMPolicyRequest - 15, // 15: ionscale.v1.IonscaleService.SetIAMPolicy:input_type -> ionscale.v1.SetIAMPolicyRequest - 16, // 16: ionscale.v1.IonscaleService.GetACLPolicy:input_type -> ionscale.v1.GetACLPolicyRequest - 17, // 17: ionscale.v1.IonscaleService.SetACLPolicy:input_type -> ionscale.v1.SetACLPolicyRequest - 18, // 18: ionscale.v1.IonscaleService.GetAuthKey:input_type -> ionscale.v1.GetAuthKeyRequest - 19, // 19: ionscale.v1.IonscaleService.CreateAuthKey:input_type -> ionscale.v1.CreateAuthKeyRequest - 20, // 20: ionscale.v1.IonscaleService.DeleteAuthKey:input_type -> ionscale.v1.DeleteAuthKeyRequest - 21, // 21: ionscale.v1.IonscaleService.ListAuthKeys:input_type -> ionscale.v1.ListAuthKeysRequest - 22, // 22: ionscale.v1.IonscaleService.ListUsers:input_type -> ionscale.v1.ListUsersRequest - 23, // 23: ionscale.v1.IonscaleService.DeleteUser:input_type -> ionscale.v1.DeleteUserRequest - 24, // 24: ionscale.v1.IonscaleService.GetMachine:input_type -> ionscale.v1.GetMachineRequest - 25, // 25: ionscale.v1.IonscaleService.ListMachines:input_type -> ionscale.v1.ListMachinesRequest - 26, // 26: ionscale.v1.IonscaleService.ExpireMachine:input_type -> ionscale.v1.ExpireMachineRequest - 27, // 27: ionscale.v1.IonscaleService.DeleteMachine:input_type -> ionscale.v1.DeleteMachineRequest - 28, // 28: ionscale.v1.IonscaleService.SetMachineKeyExpiry:input_type -> ionscale.v1.SetMachineKeyExpiryRequest - 29, // 29: ionscale.v1.IonscaleService.GetMachineRoutes:input_type -> ionscale.v1.GetMachineRoutesRequest - 30, // 30: ionscale.v1.IonscaleService.EnableMachineRoutes:input_type -> ionscale.v1.EnableMachineRoutesRequest - 31, // 31: ionscale.v1.IonscaleService.DisableMachineRoutes:input_type -> ionscale.v1.DisableMachineRoutesRequest - 32, // 32: ionscale.v1.IonscaleService.EnableExitNode:input_type -> ionscale.v1.EnableExitNodeRequest - 33, // 33: ionscale.v1.IonscaleService.DisableExitNode:input_type -> ionscale.v1.DisableExitNodeRequest - 34, // 34: ionscale.v1.IonscaleService.EnableHttpsCertificates:input_type -> ionscale.v1.EnableHttpsCertificatesRequest - 35, // 35: ionscale.v1.IonscaleService.DisableHttpsCertificates:input_type -> ionscale.v1.DisableHttpsCertificatesRequest - 36, // 36: ionscale.v1.IonscaleService.GetVersion:output_type -> ionscale.v1.GetVersionResponse - 37, // 37: ionscale.v1.IonscaleService.Authenticate:output_type -> ionscale.v1.AuthenticationResponse - 38, // 38: ionscale.v1.IonscaleService.CreateTailnet:output_type -> ionscale.v1.CreateTailnetResponse - 39, // 39: ionscale.v1.IonscaleService.GetTailnet:output_type -> ionscale.v1.GetTailnetResponse - 40, // 40: ionscale.v1.IonscaleService.ListTailnets:output_type -> ionscale.v1.ListTailnetResponse - 41, // 41: ionscale.v1.IonscaleService.DeleteTailnet:output_type -> ionscale.v1.DeleteTailnetResponse - 42, // 42: ionscale.v1.IonscaleService.GetDERPMap:output_type -> ionscale.v1.GetDERPMapResponse - 43, // 43: ionscale.v1.IonscaleService.SetDERPMap:output_type -> ionscale.v1.SetDERPMapResponse - 44, // 44: ionscale.v1.IonscaleService.EnabledFileSharing:output_type -> ionscale.v1.EnableFileSharingResponse - 45, // 45: ionscale.v1.IonscaleService.DisableFileSharing:output_type -> ionscale.v1.DisableFileSharingResponse - 46, // 46: ionscale.v1.IonscaleService.EnabledServiceCollection:output_type -> ionscale.v1.EnableServiceCollectionResponse - 47, // 47: ionscale.v1.IonscaleService.DisableServiceCollection:output_type -> ionscale.v1.DisableServiceCollectionResponse - 48, // 48: ionscale.v1.IonscaleService.GetDNSConfig:output_type -> ionscale.v1.GetDNSConfigResponse - 49, // 49: ionscale.v1.IonscaleService.SetDNSConfig:output_type -> ionscale.v1.SetDNSConfigResponse - 50, // 50: ionscale.v1.IonscaleService.GetIAMPolicy:output_type -> ionscale.v1.GetIAMPolicyResponse - 51, // 51: ionscale.v1.IonscaleService.SetIAMPolicy:output_type -> ionscale.v1.SetIAMPolicyResponse - 52, // 52: ionscale.v1.IonscaleService.GetACLPolicy:output_type -> ionscale.v1.GetACLPolicyResponse - 53, // 53: ionscale.v1.IonscaleService.SetACLPolicy:output_type -> ionscale.v1.SetACLPolicyResponse - 54, // 54: ionscale.v1.IonscaleService.GetAuthKey:output_type -> ionscale.v1.GetAuthKeyResponse - 55, // 55: ionscale.v1.IonscaleService.CreateAuthKey:output_type -> ionscale.v1.CreateAuthKeyResponse - 56, // 56: ionscale.v1.IonscaleService.DeleteAuthKey:output_type -> ionscale.v1.DeleteAuthKeyResponse - 57, // 57: ionscale.v1.IonscaleService.ListAuthKeys:output_type -> ionscale.v1.ListAuthKeysResponse - 58, // 58: ionscale.v1.IonscaleService.ListUsers:output_type -> ionscale.v1.ListUsersResponse - 59, // 59: ionscale.v1.IonscaleService.DeleteUser:output_type -> ionscale.v1.DeleteUserResponse - 60, // 60: ionscale.v1.IonscaleService.GetMachine:output_type -> ionscale.v1.GetMachineResponse - 61, // 61: ionscale.v1.IonscaleService.ListMachines:output_type -> ionscale.v1.ListMachinesResponse - 62, // 62: ionscale.v1.IonscaleService.ExpireMachine:output_type -> ionscale.v1.ExpireMachineResponse - 63, // 63: ionscale.v1.IonscaleService.DeleteMachine:output_type -> ionscale.v1.DeleteMachineResponse - 64, // 64: ionscale.v1.IonscaleService.SetMachineKeyExpiry:output_type -> ionscale.v1.SetMachineKeyExpiryResponse - 65, // 65: ionscale.v1.IonscaleService.GetMachineRoutes:output_type -> ionscale.v1.GetMachineRoutesResponse - 65, // 66: ionscale.v1.IonscaleService.EnableMachineRoutes:output_type -> ionscale.v1.GetMachineRoutesResponse - 65, // 67: ionscale.v1.IonscaleService.DisableMachineRoutes:output_type -> ionscale.v1.GetMachineRoutesResponse - 65, // 68: ionscale.v1.IonscaleService.EnableExitNode:output_type -> ionscale.v1.GetMachineRoutesResponse - 65, // 69: ionscale.v1.IonscaleService.DisableExitNode:output_type -> ionscale.v1.GetMachineRoutesResponse - 66, // 70: ionscale.v1.IonscaleService.EnableHttpsCertificates:output_type -> ionscale.v1.EnableHttpsCertificatesResponse - 67, // 71: ionscale.v1.IonscaleService.DisableHttpsCertificates:output_type -> ionscale.v1.DisableHttpsCertificatesResponse - 36, // [36:72] is the sub-list for method output_type - 0, // [0:36] is the sub-list for method input_type + 2, // 2: ionscale.v1.IonscaleService.GetDefaultDERPMap:input_type -> ionscale.v1.GetDefaultDERPMapRequest + 3, // 3: ionscale.v1.IonscaleService.SetDefaultDERPMap:input_type -> ionscale.v1.SetDefaultDERPMapRequest + 4, // 4: ionscale.v1.IonscaleService.ResetDefaultDERPMap:input_type -> ionscale.v1.ResetDefaultDERPMapRequest + 5, // 5: ionscale.v1.IonscaleService.CreateTailnet:input_type -> ionscale.v1.CreateTailnetRequest + 6, // 6: ionscale.v1.IonscaleService.GetTailnet:input_type -> ionscale.v1.GetTailnetRequest + 7, // 7: ionscale.v1.IonscaleService.ListTailnets:input_type -> ionscale.v1.ListTailnetRequest + 8, // 8: ionscale.v1.IonscaleService.DeleteTailnet:input_type -> ionscale.v1.DeleteTailnetRequest + 9, // 9: ionscale.v1.IonscaleService.GetDERPMap:input_type -> ionscale.v1.GetDERPMapRequest + 10, // 10: ionscale.v1.IonscaleService.SetDERPMap:input_type -> ionscale.v1.SetDERPMapRequest + 11, // 11: ionscale.v1.IonscaleService.ResetDERPMap:input_type -> ionscale.v1.ResetDERPMapRequest + 12, // 12: ionscale.v1.IonscaleService.EnabledFileSharing:input_type -> ionscale.v1.EnableFileSharingRequest + 13, // 13: ionscale.v1.IonscaleService.DisableFileSharing:input_type -> ionscale.v1.DisableFileSharingRequest + 14, // 14: ionscale.v1.IonscaleService.EnabledServiceCollection:input_type -> ionscale.v1.EnableServiceCollectionRequest + 15, // 15: ionscale.v1.IonscaleService.DisableServiceCollection:input_type -> ionscale.v1.DisableServiceCollectionRequest + 16, // 16: ionscale.v1.IonscaleService.GetDNSConfig:input_type -> ionscale.v1.GetDNSConfigRequest + 17, // 17: ionscale.v1.IonscaleService.SetDNSConfig:input_type -> ionscale.v1.SetDNSConfigRequest + 18, // 18: ionscale.v1.IonscaleService.GetIAMPolicy:input_type -> ionscale.v1.GetIAMPolicyRequest + 19, // 19: ionscale.v1.IonscaleService.SetIAMPolicy:input_type -> ionscale.v1.SetIAMPolicyRequest + 20, // 20: ionscale.v1.IonscaleService.GetACLPolicy:input_type -> ionscale.v1.GetACLPolicyRequest + 21, // 21: ionscale.v1.IonscaleService.SetACLPolicy:input_type -> ionscale.v1.SetACLPolicyRequest + 22, // 22: ionscale.v1.IonscaleService.GetAuthKey:input_type -> ionscale.v1.GetAuthKeyRequest + 23, // 23: ionscale.v1.IonscaleService.CreateAuthKey:input_type -> ionscale.v1.CreateAuthKeyRequest + 24, // 24: ionscale.v1.IonscaleService.DeleteAuthKey:input_type -> ionscale.v1.DeleteAuthKeyRequest + 25, // 25: ionscale.v1.IonscaleService.ListAuthKeys:input_type -> ionscale.v1.ListAuthKeysRequest + 26, // 26: ionscale.v1.IonscaleService.ListUsers:input_type -> ionscale.v1.ListUsersRequest + 27, // 27: ionscale.v1.IonscaleService.DeleteUser:input_type -> ionscale.v1.DeleteUserRequest + 28, // 28: ionscale.v1.IonscaleService.GetMachine:input_type -> ionscale.v1.GetMachineRequest + 29, // 29: ionscale.v1.IonscaleService.ListMachines:input_type -> ionscale.v1.ListMachinesRequest + 30, // 30: ionscale.v1.IonscaleService.ExpireMachine:input_type -> ionscale.v1.ExpireMachineRequest + 31, // 31: ionscale.v1.IonscaleService.DeleteMachine:input_type -> ionscale.v1.DeleteMachineRequest + 32, // 32: ionscale.v1.IonscaleService.SetMachineKeyExpiry:input_type -> ionscale.v1.SetMachineKeyExpiryRequest + 33, // 33: ionscale.v1.IonscaleService.GetMachineRoutes:input_type -> ionscale.v1.GetMachineRoutesRequest + 34, // 34: ionscale.v1.IonscaleService.EnableMachineRoutes:input_type -> ionscale.v1.EnableMachineRoutesRequest + 35, // 35: ionscale.v1.IonscaleService.DisableMachineRoutes:input_type -> ionscale.v1.DisableMachineRoutesRequest + 36, // 36: ionscale.v1.IonscaleService.EnableExitNode:input_type -> ionscale.v1.EnableExitNodeRequest + 37, // 37: ionscale.v1.IonscaleService.DisableExitNode:input_type -> ionscale.v1.DisableExitNodeRequest + 38, // 38: ionscale.v1.IonscaleService.EnableHttpsCertificates:input_type -> ionscale.v1.EnableHttpsCertificatesRequest + 39, // 39: ionscale.v1.IonscaleService.DisableHttpsCertificates:input_type -> ionscale.v1.DisableHttpsCertificatesRequest + 40, // 40: ionscale.v1.IonscaleService.GetVersion:output_type -> ionscale.v1.GetVersionResponse + 41, // 41: ionscale.v1.IonscaleService.Authenticate:output_type -> ionscale.v1.AuthenticationResponse + 42, // 42: ionscale.v1.IonscaleService.GetDefaultDERPMap:output_type -> ionscale.v1.GetDefaultDERPMapResponse + 43, // 43: ionscale.v1.IonscaleService.SetDefaultDERPMap:output_type -> ionscale.v1.SetDefaultDERPMapResponse + 44, // 44: ionscale.v1.IonscaleService.ResetDefaultDERPMap:output_type -> ionscale.v1.ResetDefaultDERPMapResponse + 45, // 45: ionscale.v1.IonscaleService.CreateTailnet:output_type -> ionscale.v1.CreateTailnetResponse + 46, // 46: ionscale.v1.IonscaleService.GetTailnet:output_type -> ionscale.v1.GetTailnetResponse + 47, // 47: ionscale.v1.IonscaleService.ListTailnets:output_type -> ionscale.v1.ListTailnetResponse + 48, // 48: ionscale.v1.IonscaleService.DeleteTailnet:output_type -> ionscale.v1.DeleteTailnetResponse + 49, // 49: ionscale.v1.IonscaleService.GetDERPMap:output_type -> ionscale.v1.GetDERPMapResponse + 50, // 50: ionscale.v1.IonscaleService.SetDERPMap:output_type -> ionscale.v1.SetDERPMapResponse + 51, // 51: ionscale.v1.IonscaleService.ResetDERPMap:output_type -> ionscale.v1.ResetDERPMapResponse + 52, // 52: ionscale.v1.IonscaleService.EnabledFileSharing:output_type -> ionscale.v1.EnableFileSharingResponse + 53, // 53: ionscale.v1.IonscaleService.DisableFileSharing:output_type -> ionscale.v1.DisableFileSharingResponse + 54, // 54: ionscale.v1.IonscaleService.EnabledServiceCollection:output_type -> ionscale.v1.EnableServiceCollectionResponse + 55, // 55: ionscale.v1.IonscaleService.DisableServiceCollection:output_type -> ionscale.v1.DisableServiceCollectionResponse + 56, // 56: ionscale.v1.IonscaleService.GetDNSConfig:output_type -> ionscale.v1.GetDNSConfigResponse + 57, // 57: ionscale.v1.IonscaleService.SetDNSConfig:output_type -> ionscale.v1.SetDNSConfigResponse + 58, // 58: ionscale.v1.IonscaleService.GetIAMPolicy:output_type -> ionscale.v1.GetIAMPolicyResponse + 59, // 59: ionscale.v1.IonscaleService.SetIAMPolicy:output_type -> ionscale.v1.SetIAMPolicyResponse + 60, // 60: ionscale.v1.IonscaleService.GetACLPolicy:output_type -> ionscale.v1.GetACLPolicyResponse + 61, // 61: ionscale.v1.IonscaleService.SetACLPolicy:output_type -> ionscale.v1.SetACLPolicyResponse + 62, // 62: ionscale.v1.IonscaleService.GetAuthKey:output_type -> ionscale.v1.GetAuthKeyResponse + 63, // 63: ionscale.v1.IonscaleService.CreateAuthKey:output_type -> ionscale.v1.CreateAuthKeyResponse + 64, // 64: ionscale.v1.IonscaleService.DeleteAuthKey:output_type -> ionscale.v1.DeleteAuthKeyResponse + 65, // 65: ionscale.v1.IonscaleService.ListAuthKeys:output_type -> ionscale.v1.ListAuthKeysResponse + 66, // 66: ionscale.v1.IonscaleService.ListUsers:output_type -> ionscale.v1.ListUsersResponse + 67, // 67: ionscale.v1.IonscaleService.DeleteUser:output_type -> ionscale.v1.DeleteUserResponse + 68, // 68: ionscale.v1.IonscaleService.GetMachine:output_type -> ionscale.v1.GetMachineResponse + 69, // 69: ionscale.v1.IonscaleService.ListMachines:output_type -> ionscale.v1.ListMachinesResponse + 70, // 70: ionscale.v1.IonscaleService.ExpireMachine:output_type -> ionscale.v1.ExpireMachineResponse + 71, // 71: ionscale.v1.IonscaleService.DeleteMachine:output_type -> ionscale.v1.DeleteMachineResponse + 72, // 72: ionscale.v1.IonscaleService.SetMachineKeyExpiry:output_type -> ionscale.v1.SetMachineKeyExpiryResponse + 73, // 73: ionscale.v1.IonscaleService.GetMachineRoutes:output_type -> ionscale.v1.GetMachineRoutesResponse + 73, // 74: ionscale.v1.IonscaleService.EnableMachineRoutes:output_type -> ionscale.v1.GetMachineRoutesResponse + 73, // 75: ionscale.v1.IonscaleService.DisableMachineRoutes:output_type -> ionscale.v1.GetMachineRoutesResponse + 73, // 76: ionscale.v1.IonscaleService.EnableExitNode:output_type -> ionscale.v1.GetMachineRoutesResponse + 73, // 77: ionscale.v1.IonscaleService.DisableExitNode:output_type -> ionscale.v1.GetMachineRoutesResponse + 74, // 78: ionscale.v1.IonscaleService.EnableHttpsCertificates:output_type -> ionscale.v1.EnableHttpsCertificatesResponse + 75, // 79: ionscale.v1.IonscaleService.DisableHttpsCertificates:output_type -> ionscale.v1.DisableHttpsCertificatesResponse + 40, // [40:80] is the sub-list for method output_type + 0, // [0:40] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -430,6 +473,7 @@ func file_ionscale_v1_ionscale_proto_init() { file_ionscale_v1_dns_proto_init() file_ionscale_v1_iam_proto_init() file_ionscale_v1_acl_proto_init() + file_ionscale_v1_derp_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/pkg/gen/ionscale/v1/ionscalev1connect/ionscale.connect.go b/pkg/gen/ionscale/v1/ionscalev1connect/ionscale.connect.go index 46b6492..aceb063 100644 --- a/pkg/gen/ionscale/v1/ionscalev1connect/ionscale.connect.go +++ b/pkg/gen/ionscale/v1/ionscalev1connect/ionscale.connect.go @@ -29,12 +29,16 @@ const ( type IonscaleServiceClient interface { GetVersion(context.Context, *connect_go.Request[v1.GetVersionRequest]) (*connect_go.Response[v1.GetVersionResponse], error) Authenticate(context.Context, *connect_go.Request[v1.AuthenticationRequest]) (*connect_go.ServerStreamForClient[v1.AuthenticationResponse], error) + GetDefaultDERPMap(context.Context, *connect_go.Request[v1.GetDefaultDERPMapRequest]) (*connect_go.Response[v1.GetDefaultDERPMapResponse], error) + SetDefaultDERPMap(context.Context, *connect_go.Request[v1.SetDefaultDERPMapRequest]) (*connect_go.Response[v1.SetDefaultDERPMapResponse], error) + ResetDefaultDERPMap(context.Context, *connect_go.Request[v1.ResetDefaultDERPMapRequest]) (*connect_go.Response[v1.ResetDefaultDERPMapResponse], error) CreateTailnet(context.Context, *connect_go.Request[v1.CreateTailnetRequest]) (*connect_go.Response[v1.CreateTailnetResponse], error) GetTailnet(context.Context, *connect_go.Request[v1.GetTailnetRequest]) (*connect_go.Response[v1.GetTailnetResponse], error) ListTailnets(context.Context, *connect_go.Request[v1.ListTailnetRequest]) (*connect_go.Response[v1.ListTailnetResponse], error) DeleteTailnet(context.Context, *connect_go.Request[v1.DeleteTailnetRequest]) (*connect_go.Response[v1.DeleteTailnetResponse], error) GetDERPMap(context.Context, *connect_go.Request[v1.GetDERPMapRequest]) (*connect_go.Response[v1.GetDERPMapResponse], error) SetDERPMap(context.Context, *connect_go.Request[v1.SetDERPMapRequest]) (*connect_go.Response[v1.SetDERPMapResponse], error) + ResetDERPMap(context.Context, *connect_go.Request[v1.ResetDERPMapRequest]) (*connect_go.Response[v1.ResetDERPMapResponse], error) EnabledFileSharing(context.Context, *connect_go.Request[v1.EnableFileSharingRequest]) (*connect_go.Response[v1.EnableFileSharingResponse], error) DisableFileSharing(context.Context, *connect_go.Request[v1.DisableFileSharingRequest]) (*connect_go.Response[v1.DisableFileSharingResponse], error) EnabledServiceCollection(context.Context, *connect_go.Request[v1.EnableServiceCollectionRequest]) (*connect_go.Response[v1.EnableServiceCollectionResponse], error) @@ -85,6 +89,21 @@ func NewIonscaleServiceClient(httpClient connect_go.HTTPClient, baseURL string, baseURL+"/ionscale.v1.IonscaleService/Authenticate", opts..., ), + getDefaultDERPMap: connect_go.NewClient[v1.GetDefaultDERPMapRequest, v1.GetDefaultDERPMapResponse]( + httpClient, + baseURL+"/ionscale.v1.IonscaleService/GetDefaultDERPMap", + opts..., + ), + setDefaultDERPMap: connect_go.NewClient[v1.SetDefaultDERPMapRequest, v1.SetDefaultDERPMapResponse]( + httpClient, + baseURL+"/ionscale.v1.IonscaleService/SetDefaultDERPMap", + opts..., + ), + resetDefaultDERPMap: connect_go.NewClient[v1.ResetDefaultDERPMapRequest, v1.ResetDefaultDERPMapResponse]( + httpClient, + baseURL+"/ionscale.v1.IonscaleService/ResetDefaultDERPMap", + opts..., + ), createTailnet: connect_go.NewClient[v1.CreateTailnetRequest, v1.CreateTailnetResponse]( httpClient, baseURL+"/ionscale.v1.IonscaleService/CreateTailnet", @@ -115,6 +134,11 @@ func NewIonscaleServiceClient(httpClient connect_go.HTTPClient, baseURL string, baseURL+"/ionscale.v1.IonscaleService/SetDERPMap", opts..., ), + resetDERPMap: connect_go.NewClient[v1.ResetDERPMapRequest, v1.ResetDERPMapResponse]( + httpClient, + baseURL+"/ionscale.v1.IonscaleService/ResetDERPMap", + opts..., + ), enabledFileSharing: connect_go.NewClient[v1.EnableFileSharingRequest, v1.EnableFileSharingResponse]( httpClient, baseURL+"/ionscale.v1.IonscaleService/EnabledFileSharing", @@ -262,12 +286,16 @@ func NewIonscaleServiceClient(httpClient connect_go.HTTPClient, baseURL string, type ionscaleServiceClient struct { getVersion *connect_go.Client[v1.GetVersionRequest, v1.GetVersionResponse] authenticate *connect_go.Client[v1.AuthenticationRequest, v1.AuthenticationResponse] + getDefaultDERPMap *connect_go.Client[v1.GetDefaultDERPMapRequest, v1.GetDefaultDERPMapResponse] + setDefaultDERPMap *connect_go.Client[v1.SetDefaultDERPMapRequest, v1.SetDefaultDERPMapResponse] + resetDefaultDERPMap *connect_go.Client[v1.ResetDefaultDERPMapRequest, v1.ResetDefaultDERPMapResponse] createTailnet *connect_go.Client[v1.CreateTailnetRequest, v1.CreateTailnetResponse] getTailnet *connect_go.Client[v1.GetTailnetRequest, v1.GetTailnetResponse] listTailnets *connect_go.Client[v1.ListTailnetRequest, v1.ListTailnetResponse] deleteTailnet *connect_go.Client[v1.DeleteTailnetRequest, v1.DeleteTailnetResponse] getDERPMap *connect_go.Client[v1.GetDERPMapRequest, v1.GetDERPMapResponse] setDERPMap *connect_go.Client[v1.SetDERPMapRequest, v1.SetDERPMapResponse] + resetDERPMap *connect_go.Client[v1.ResetDERPMapRequest, v1.ResetDERPMapResponse] enabledFileSharing *connect_go.Client[v1.EnableFileSharingRequest, v1.EnableFileSharingResponse] disableFileSharing *connect_go.Client[v1.DisableFileSharingRequest, v1.DisableFileSharingResponse] enabledServiceCollection *connect_go.Client[v1.EnableServiceCollectionRequest, v1.EnableServiceCollectionResponse] @@ -308,6 +336,21 @@ func (c *ionscaleServiceClient) Authenticate(ctx context.Context, req *connect_g return c.authenticate.CallServerStream(ctx, req) } +// GetDefaultDERPMap calls ionscale.v1.IonscaleService.GetDefaultDERPMap. +func (c *ionscaleServiceClient) GetDefaultDERPMap(ctx context.Context, req *connect_go.Request[v1.GetDefaultDERPMapRequest]) (*connect_go.Response[v1.GetDefaultDERPMapResponse], error) { + return c.getDefaultDERPMap.CallUnary(ctx, req) +} + +// SetDefaultDERPMap calls ionscale.v1.IonscaleService.SetDefaultDERPMap. +func (c *ionscaleServiceClient) SetDefaultDERPMap(ctx context.Context, req *connect_go.Request[v1.SetDefaultDERPMapRequest]) (*connect_go.Response[v1.SetDefaultDERPMapResponse], error) { + return c.setDefaultDERPMap.CallUnary(ctx, req) +} + +// ResetDefaultDERPMap calls ionscale.v1.IonscaleService.ResetDefaultDERPMap. +func (c *ionscaleServiceClient) ResetDefaultDERPMap(ctx context.Context, req *connect_go.Request[v1.ResetDefaultDERPMapRequest]) (*connect_go.Response[v1.ResetDefaultDERPMapResponse], error) { + return c.resetDefaultDERPMap.CallUnary(ctx, req) +} + // CreateTailnet calls ionscale.v1.IonscaleService.CreateTailnet. func (c *ionscaleServiceClient) CreateTailnet(ctx context.Context, req *connect_go.Request[v1.CreateTailnetRequest]) (*connect_go.Response[v1.CreateTailnetResponse], error) { return c.createTailnet.CallUnary(ctx, req) @@ -338,6 +381,11 @@ func (c *ionscaleServiceClient) SetDERPMap(ctx context.Context, req *connect_go. return c.setDERPMap.CallUnary(ctx, req) } +// ResetDERPMap calls ionscale.v1.IonscaleService.ResetDERPMap. +func (c *ionscaleServiceClient) ResetDERPMap(ctx context.Context, req *connect_go.Request[v1.ResetDERPMapRequest]) (*connect_go.Response[v1.ResetDERPMapResponse], error) { + return c.resetDERPMap.CallUnary(ctx, req) +} + // EnabledFileSharing calls ionscale.v1.IonscaleService.EnabledFileSharing. func (c *ionscaleServiceClient) EnabledFileSharing(ctx context.Context, req *connect_go.Request[v1.EnableFileSharingRequest]) (*connect_go.Response[v1.EnableFileSharingResponse], error) { return c.enabledFileSharing.CallUnary(ctx, req) @@ -482,12 +530,16 @@ func (c *ionscaleServiceClient) DisableHttpsCertificates(ctx context.Context, re type IonscaleServiceHandler interface { GetVersion(context.Context, *connect_go.Request[v1.GetVersionRequest]) (*connect_go.Response[v1.GetVersionResponse], error) Authenticate(context.Context, *connect_go.Request[v1.AuthenticationRequest], *connect_go.ServerStream[v1.AuthenticationResponse]) error + GetDefaultDERPMap(context.Context, *connect_go.Request[v1.GetDefaultDERPMapRequest]) (*connect_go.Response[v1.GetDefaultDERPMapResponse], error) + SetDefaultDERPMap(context.Context, *connect_go.Request[v1.SetDefaultDERPMapRequest]) (*connect_go.Response[v1.SetDefaultDERPMapResponse], error) + ResetDefaultDERPMap(context.Context, *connect_go.Request[v1.ResetDefaultDERPMapRequest]) (*connect_go.Response[v1.ResetDefaultDERPMapResponse], error) CreateTailnet(context.Context, *connect_go.Request[v1.CreateTailnetRequest]) (*connect_go.Response[v1.CreateTailnetResponse], error) GetTailnet(context.Context, *connect_go.Request[v1.GetTailnetRequest]) (*connect_go.Response[v1.GetTailnetResponse], error) ListTailnets(context.Context, *connect_go.Request[v1.ListTailnetRequest]) (*connect_go.Response[v1.ListTailnetResponse], error) DeleteTailnet(context.Context, *connect_go.Request[v1.DeleteTailnetRequest]) (*connect_go.Response[v1.DeleteTailnetResponse], error) GetDERPMap(context.Context, *connect_go.Request[v1.GetDERPMapRequest]) (*connect_go.Response[v1.GetDERPMapResponse], error) SetDERPMap(context.Context, *connect_go.Request[v1.SetDERPMapRequest]) (*connect_go.Response[v1.SetDERPMapResponse], error) + ResetDERPMap(context.Context, *connect_go.Request[v1.ResetDERPMapRequest]) (*connect_go.Response[v1.ResetDERPMapResponse], error) EnabledFileSharing(context.Context, *connect_go.Request[v1.EnableFileSharingRequest]) (*connect_go.Response[v1.EnableFileSharingResponse], error) DisableFileSharing(context.Context, *connect_go.Request[v1.DisableFileSharingRequest]) (*connect_go.Response[v1.DisableFileSharingResponse], error) EnabledServiceCollection(context.Context, *connect_go.Request[v1.EnableServiceCollectionRequest]) (*connect_go.Response[v1.EnableServiceCollectionResponse], error) @@ -535,6 +587,21 @@ func NewIonscaleServiceHandler(svc IonscaleServiceHandler, opts ...connect_go.Ha svc.Authenticate, opts..., )) + mux.Handle("/ionscale.v1.IonscaleService/GetDefaultDERPMap", connect_go.NewUnaryHandler( + "/ionscale.v1.IonscaleService/GetDefaultDERPMap", + svc.GetDefaultDERPMap, + opts..., + )) + mux.Handle("/ionscale.v1.IonscaleService/SetDefaultDERPMap", connect_go.NewUnaryHandler( + "/ionscale.v1.IonscaleService/SetDefaultDERPMap", + svc.SetDefaultDERPMap, + opts..., + )) + mux.Handle("/ionscale.v1.IonscaleService/ResetDefaultDERPMap", connect_go.NewUnaryHandler( + "/ionscale.v1.IonscaleService/ResetDefaultDERPMap", + svc.ResetDefaultDERPMap, + opts..., + )) mux.Handle("/ionscale.v1.IonscaleService/CreateTailnet", connect_go.NewUnaryHandler( "/ionscale.v1.IonscaleService/CreateTailnet", svc.CreateTailnet, @@ -565,6 +632,11 @@ func NewIonscaleServiceHandler(svc IonscaleServiceHandler, opts ...connect_go.Ha svc.SetDERPMap, opts..., )) + mux.Handle("/ionscale.v1.IonscaleService/ResetDERPMap", connect_go.NewUnaryHandler( + "/ionscale.v1.IonscaleService/ResetDERPMap", + svc.ResetDERPMap, + opts..., + )) mux.Handle("/ionscale.v1.IonscaleService/EnabledFileSharing", connect_go.NewUnaryHandler( "/ionscale.v1.IonscaleService/EnabledFileSharing", svc.EnabledFileSharing, @@ -719,6 +791,18 @@ func (UnimplementedIonscaleServiceHandler) Authenticate(context.Context, *connec return connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.Authenticate is not implemented")) } +func (UnimplementedIonscaleServiceHandler) GetDefaultDERPMap(context.Context, *connect_go.Request[v1.GetDefaultDERPMapRequest]) (*connect_go.Response[v1.GetDefaultDERPMapResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.GetDefaultDERPMap is not implemented")) +} + +func (UnimplementedIonscaleServiceHandler) SetDefaultDERPMap(context.Context, *connect_go.Request[v1.SetDefaultDERPMapRequest]) (*connect_go.Response[v1.SetDefaultDERPMapResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.SetDefaultDERPMap is not implemented")) +} + +func (UnimplementedIonscaleServiceHandler) ResetDefaultDERPMap(context.Context, *connect_go.Request[v1.ResetDefaultDERPMapRequest]) (*connect_go.Response[v1.ResetDefaultDERPMapResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.ResetDefaultDERPMap is not implemented")) +} + func (UnimplementedIonscaleServiceHandler) CreateTailnet(context.Context, *connect_go.Request[v1.CreateTailnetRequest]) (*connect_go.Response[v1.CreateTailnetResponse], error) { return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.CreateTailnet is not implemented")) } @@ -743,6 +827,10 @@ func (UnimplementedIonscaleServiceHandler) SetDERPMap(context.Context, *connect_ return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.SetDERPMap is not implemented")) } +func (UnimplementedIonscaleServiceHandler) ResetDERPMap(context.Context, *connect_go.Request[v1.ResetDERPMapRequest]) (*connect_go.Response[v1.ResetDERPMapResponse], error) { + return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.ResetDERPMap is not implemented")) +} + func (UnimplementedIonscaleServiceHandler) EnabledFileSharing(context.Context, *connect_go.Request[v1.EnableFileSharingRequest]) (*connect_go.Response[v1.EnableFileSharingResponse], error) { return nil, connect_go.NewError(connect_go.CodeUnimplemented, errors.New("ionscale.v1.IonscaleService.EnabledFileSharing is not implemented")) } diff --git a/pkg/gen/ionscale/v1/tailnets.pb.go b/pkg/gen/ionscale/v1/tailnets.pb.go index e14b0d1..c5b7274 100644 --- a/pkg/gen/ionscale/v1/tailnets.pb.go +++ b/pkg/gen/ionscale/v1/tailnets.pb.go @@ -645,6 +645,91 @@ func (x *SetDERPMapResponse) GetValue() []byte { return nil } +type ResetDERPMapRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TailnetId uint64 `protobuf:"varint,1,opt,name=tailnet_id,json=tailnetId,proto3" json:"tailnet_id,omitempty"` +} + +func (x *ResetDERPMapRequest) Reset() { + *x = ResetDERPMapRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_tailnets_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetDERPMapRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetDERPMapRequest) ProtoMessage() {} + +func (x *ResetDERPMapRequest) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_tailnets_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetDERPMapRequest.ProtoReflect.Descriptor instead. +func (*ResetDERPMapRequest) Descriptor() ([]byte, []int) { + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{13} +} + +func (x *ResetDERPMapRequest) GetTailnetId() uint64 { + if x != nil { + return x.TailnetId + } + return 0 +} + +type ResetDERPMapResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ResetDERPMapResponse) Reset() { + *x = ResetDERPMapResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_ionscale_v1_tailnets_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResetDERPMapResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetDERPMapResponse) ProtoMessage() {} + +func (x *ResetDERPMapResponse) ProtoReflect() protoreflect.Message { + mi := &file_ionscale_v1_tailnets_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetDERPMapResponse.ProtoReflect.Descriptor instead. +func (*ResetDERPMapResponse) Descriptor() ([]byte, []int) { + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{14} +} + type EnableFileSharingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -656,7 +741,7 @@ type EnableFileSharingRequest struct { func (x *EnableFileSharingRequest) Reset() { *x = EnableFileSharingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[13] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -669,7 +754,7 @@ func (x *EnableFileSharingRequest) String() string { func (*EnableFileSharingRequest) ProtoMessage() {} func (x *EnableFileSharingRequest) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[13] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -682,7 +767,7 @@ func (x *EnableFileSharingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableFileSharingRequest.ProtoReflect.Descriptor instead. func (*EnableFileSharingRequest) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{13} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{15} } func (x *EnableFileSharingRequest) GetTailnetId() uint64 { @@ -701,7 +786,7 @@ type EnableFileSharingResponse struct { func (x *EnableFileSharingResponse) Reset() { *x = EnableFileSharingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[14] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -714,7 +799,7 @@ func (x *EnableFileSharingResponse) String() string { func (*EnableFileSharingResponse) ProtoMessage() {} func (x *EnableFileSharingResponse) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[14] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -727,7 +812,7 @@ func (x *EnableFileSharingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableFileSharingResponse.ProtoReflect.Descriptor instead. func (*EnableFileSharingResponse) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{14} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{16} } type DisableFileSharingRequest struct { @@ -741,7 +826,7 @@ type DisableFileSharingRequest struct { func (x *DisableFileSharingRequest) Reset() { *x = DisableFileSharingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[15] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -754,7 +839,7 @@ func (x *DisableFileSharingRequest) String() string { func (*DisableFileSharingRequest) ProtoMessage() {} func (x *DisableFileSharingRequest) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[15] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -767,7 +852,7 @@ func (x *DisableFileSharingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableFileSharingRequest.ProtoReflect.Descriptor instead. func (*DisableFileSharingRequest) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{15} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{17} } func (x *DisableFileSharingRequest) GetTailnetId() uint64 { @@ -786,7 +871,7 @@ type DisableFileSharingResponse struct { func (x *DisableFileSharingResponse) Reset() { *x = DisableFileSharingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[16] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -799,7 +884,7 @@ func (x *DisableFileSharingResponse) String() string { func (*DisableFileSharingResponse) ProtoMessage() {} func (x *DisableFileSharingResponse) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[16] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -812,7 +897,7 @@ func (x *DisableFileSharingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableFileSharingResponse.ProtoReflect.Descriptor instead. func (*DisableFileSharingResponse) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{16} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{18} } type EnableServiceCollectionRequest struct { @@ -826,7 +911,7 @@ type EnableServiceCollectionRequest struct { func (x *EnableServiceCollectionRequest) Reset() { *x = EnableServiceCollectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[17] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -839,7 +924,7 @@ func (x *EnableServiceCollectionRequest) String() string { func (*EnableServiceCollectionRequest) ProtoMessage() {} func (x *EnableServiceCollectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[17] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -852,7 +937,7 @@ func (x *EnableServiceCollectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableServiceCollectionRequest.ProtoReflect.Descriptor instead. func (*EnableServiceCollectionRequest) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{17} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{19} } func (x *EnableServiceCollectionRequest) GetTailnetId() uint64 { @@ -871,7 +956,7 @@ type EnableServiceCollectionResponse struct { func (x *EnableServiceCollectionResponse) Reset() { *x = EnableServiceCollectionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[18] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -884,7 +969,7 @@ func (x *EnableServiceCollectionResponse) String() string { func (*EnableServiceCollectionResponse) ProtoMessage() {} func (x *EnableServiceCollectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[18] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -897,7 +982,7 @@ func (x *EnableServiceCollectionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableServiceCollectionResponse.ProtoReflect.Descriptor instead. func (*EnableServiceCollectionResponse) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{18} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{20} } type DisableServiceCollectionRequest struct { @@ -911,7 +996,7 @@ type DisableServiceCollectionRequest struct { func (x *DisableServiceCollectionRequest) Reset() { *x = DisableServiceCollectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[19] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -924,7 +1009,7 @@ func (x *DisableServiceCollectionRequest) String() string { func (*DisableServiceCollectionRequest) ProtoMessage() {} func (x *DisableServiceCollectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[19] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -937,7 +1022,7 @@ func (x *DisableServiceCollectionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableServiceCollectionRequest.ProtoReflect.Descriptor instead. func (*DisableServiceCollectionRequest) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{19} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{21} } func (x *DisableServiceCollectionRequest) GetTailnetId() uint64 { @@ -956,7 +1041,7 @@ type DisableServiceCollectionResponse struct { func (x *DisableServiceCollectionResponse) Reset() { *x = DisableServiceCollectionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[20] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -969,7 +1054,7 @@ func (x *DisableServiceCollectionResponse) String() string { func (*DisableServiceCollectionResponse) ProtoMessage() {} func (x *DisableServiceCollectionResponse) ProtoReflect() protoreflect.Message { - mi := &file_ionscale_v1_tailnets_proto_msgTypes[20] + mi := &file_ionscale_v1_tailnets_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -982,7 +1067,7 @@ func (x *DisableServiceCollectionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableServiceCollectionResponse.ProtoReflect.Descriptor instead. func (*DisableServiceCollectionResponse) Descriptor() ([]byte, []int) { - return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{20} + return file_ionscale_v1_tailnets_proto_rawDescGZIP(), []int{22} } var File_ionscale_v1_tailnets_proto protoreflect.FileDescriptor @@ -1038,35 +1123,39 @@ var file_ionscale_v1_tailnets_proto_rawDesc = []byte{ 0x6c, 0x75, 0x65, 0x22, 0x2a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x39, 0x0a, 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, - 0x74, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3f, 0x0a, 0x1e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, - 0x49, 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x34, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x45, 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, 0x69, 0x6c, + 0x6e, 0x65, 0x74, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x45, + 0x52, 0x50, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, + 0x18, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, + 0x6c, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, + 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x19, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x49, + 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3f, 0x0a, 0x1e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x49, 0x64, + 0x22, 0x21, 0x0a, 0x1f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x6e, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, 0x69, 0x6c, + 0x6e, 0x65, 0x74, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x69, 0x6c, - 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x61, - 0x69, 0x6c, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x73, 0x69, 0x65, 0x62, 0x65, - 0x6e, 0x73, 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, - 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x73, 0x69, 0x65, 0x62, 0x65, 0x6e, 0x73, + 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x69, 0x6f, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x6f, + 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1081,7 +1170,7 @@ func file_ionscale_v1_tailnets_proto_rawDescGZIP() []byte { return file_ionscale_v1_tailnets_proto_rawDescData } -var file_ionscale_v1_tailnets_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_ionscale_v1_tailnets_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_ionscale_v1_tailnets_proto_goTypes = []interface{}{ (*Tailnet)(nil), // 0: ionscale.v1.Tailnet (*CreateTailnetRequest)(nil), // 1: ionscale.v1.CreateTailnetRequest @@ -1096,18 +1185,20 @@ var file_ionscale_v1_tailnets_proto_goTypes = []interface{}{ (*GetDERPMapResponse)(nil), // 10: ionscale.v1.GetDERPMapResponse (*SetDERPMapRequest)(nil), // 11: ionscale.v1.SetDERPMapRequest (*SetDERPMapResponse)(nil), // 12: ionscale.v1.SetDERPMapResponse - (*EnableFileSharingRequest)(nil), // 13: ionscale.v1.EnableFileSharingRequest - (*EnableFileSharingResponse)(nil), // 14: ionscale.v1.EnableFileSharingResponse - (*DisableFileSharingRequest)(nil), // 15: ionscale.v1.DisableFileSharingRequest - (*DisableFileSharingResponse)(nil), // 16: ionscale.v1.DisableFileSharingResponse - (*EnableServiceCollectionRequest)(nil), // 17: ionscale.v1.EnableServiceCollectionRequest - (*EnableServiceCollectionResponse)(nil), // 18: ionscale.v1.EnableServiceCollectionResponse - (*DisableServiceCollectionRequest)(nil), // 19: ionscale.v1.DisableServiceCollectionRequest - (*DisableServiceCollectionResponse)(nil), // 20: ionscale.v1.DisableServiceCollectionResponse - (*IAMPolicy)(nil), // 21: ionscale.v1.IAMPolicy + (*ResetDERPMapRequest)(nil), // 13: ionscale.v1.ResetDERPMapRequest + (*ResetDERPMapResponse)(nil), // 14: ionscale.v1.ResetDERPMapResponse + (*EnableFileSharingRequest)(nil), // 15: ionscale.v1.EnableFileSharingRequest + (*EnableFileSharingResponse)(nil), // 16: ionscale.v1.EnableFileSharingResponse + (*DisableFileSharingRequest)(nil), // 17: ionscale.v1.DisableFileSharingRequest + (*DisableFileSharingResponse)(nil), // 18: ionscale.v1.DisableFileSharingResponse + (*EnableServiceCollectionRequest)(nil), // 19: ionscale.v1.EnableServiceCollectionRequest + (*EnableServiceCollectionResponse)(nil), // 20: ionscale.v1.EnableServiceCollectionResponse + (*DisableServiceCollectionRequest)(nil), // 21: ionscale.v1.DisableServiceCollectionRequest + (*DisableServiceCollectionResponse)(nil), // 22: ionscale.v1.DisableServiceCollectionResponse + (*IAMPolicy)(nil), // 23: ionscale.v1.IAMPolicy } var file_ionscale_v1_tailnets_proto_depIdxs = []int32{ - 21, // 0: ionscale.v1.CreateTailnetRequest.iam_policy:type_name -> ionscale.v1.IAMPolicy + 23, // 0: ionscale.v1.CreateTailnetRequest.iam_policy:type_name -> ionscale.v1.IAMPolicy 0, // 1: ionscale.v1.CreateTailnetResponse.tailnet:type_name -> ionscale.v1.Tailnet 0, // 2: ionscale.v1.GetTailnetResponse.tailnet:type_name -> ionscale.v1.Tailnet 0, // 3: ionscale.v1.ListTailnetResponse.tailnet:type_name -> ionscale.v1.Tailnet @@ -1282,7 +1373,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableFileSharingRequest); i { + switch v := v.(*ResetDERPMapRequest); i { case 0: return &v.state case 1: @@ -1294,7 +1385,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableFileSharingResponse); i { + switch v := v.(*ResetDERPMapResponse); i { case 0: return &v.state case 1: @@ -1306,7 +1397,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableFileSharingRequest); i { + switch v := v.(*EnableFileSharingRequest); i { case 0: return &v.state case 1: @@ -1318,7 +1409,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableFileSharingResponse); i { + switch v := v.(*EnableFileSharingResponse); i { case 0: return &v.state case 1: @@ -1330,7 +1421,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableServiceCollectionRequest); i { + switch v := v.(*DisableFileSharingRequest); i { case 0: return &v.state case 1: @@ -1342,7 +1433,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnableServiceCollectionResponse); i { + switch v := v.(*DisableFileSharingResponse); i { case 0: return &v.state case 1: @@ -1354,7 +1445,7 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisableServiceCollectionRequest); i { + switch v := v.(*EnableServiceCollectionRequest); i { case 0: return &v.state case 1: @@ -1366,6 +1457,30 @@ func file_ionscale_v1_tailnets_proto_init() { } } file_ionscale_v1_tailnets_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnableServiceCollectionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_tailnets_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableServiceCollectionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_ionscale_v1_tailnets_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisableServiceCollectionResponse); i { case 0: return &v.state @@ -1384,7 +1499,7 @@ func file_ionscale_v1_tailnets_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_ionscale_v1_tailnets_proto_rawDesc, NumEnums: 0, - NumMessages: 21, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/ionscale/v1/derp.proto b/proto/ionscale/v1/derp.proto new file mode 100644 index 0000000..388b69d --- /dev/null +++ b/proto/ionscale/v1/derp.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +package ionscale.v1; +option go_package = "github.com/jsiebens/ionscale/pkg/gen/ionscale/v1;ionscalev1"; + +message GetDefaultDERPMapRequest {} + +message GetDefaultDERPMapResponse { + bytes value = 1; +} + +message SetDefaultDERPMapRequest { + bytes value = 1; +} + +message SetDefaultDERPMapResponse { + bytes value = 1; +} + +message ResetDefaultDERPMapRequest { +} + +message ResetDefaultDERPMapResponse { +} \ No newline at end of file diff --git a/proto/ionscale/v1/ionscale.proto b/proto/ionscale/v1/ionscale.proto index 02af4bc..30c6092 100644 --- a/proto/ionscale/v1/ionscale.proto +++ b/proto/ionscale/v1/ionscale.proto @@ -16,18 +16,24 @@ import "ionscale/v1/routes.proto"; import "ionscale/v1/dns.proto"; import "ionscale/v1/iam.proto"; import "ionscale/v1/acl.proto"; +import "ionscale/v1/derp.proto"; service IonscaleService { rpc GetVersion (GetVersionRequest) returns (GetVersionResponse) {} rpc Authenticate (AuthenticationRequest) returns (stream AuthenticationResponse) {} + rpc GetDefaultDERPMap (GetDefaultDERPMapRequest) returns (GetDefaultDERPMapResponse) {} + rpc SetDefaultDERPMap (SetDefaultDERPMapRequest) returns (SetDefaultDERPMapResponse) {} + rpc ResetDefaultDERPMap (ResetDefaultDERPMapRequest) returns (ResetDefaultDERPMapResponse) {} + rpc CreateTailnet (CreateTailnetRequest) returns (CreateTailnetResponse) {} rpc GetTailnet (GetTailnetRequest) returns (GetTailnetResponse) {} rpc ListTailnets (ListTailnetRequest) returns (ListTailnetResponse) {} rpc DeleteTailnet (DeleteTailnetRequest) returns (DeleteTailnetResponse) {} rpc GetDERPMap (GetDERPMapRequest) returns (GetDERPMapResponse) {} rpc SetDERPMap (SetDERPMapRequest) returns (SetDERPMapResponse) {} + rpc ResetDERPMap (ResetDERPMapRequest) returns (ResetDERPMapResponse) {} rpc EnabledFileSharing (EnableFileSharingRequest) returns (EnableFileSharingResponse) {} rpc DisableFileSharing (DisableFileSharingRequest) returns (DisableFileSharingResponse) {} rpc EnabledServiceCollection (EnableServiceCollectionRequest) returns (EnableServiceCollectionResponse) {} diff --git a/proto/ionscale/v1/tailnets.proto b/proto/ionscale/v1/tailnets.proto index 55a0030..b5b16af 100644 --- a/proto/ionscale/v1/tailnets.proto +++ b/proto/ionscale/v1/tailnets.proto @@ -58,6 +58,13 @@ message SetDERPMapResponse { bytes value = 1; } +message ResetDERPMapRequest { + uint64 tailnet_id = 1; +} + +message ResetDERPMapResponse { +} + message EnableFileSharingRequest { uint64 tailnet_id = 1; }