// // Copyright 2022 The Dragonfly Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.0 // protoc v3.19.4 // source: pkg/apis/manager/v1/manager.proto package v1 import ( context "context" _ "github.com/envoyproxy/protoc-gen-validate/validate" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" 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) ) // Request source type. type SourceType int32 const ( // Scheduler service. SourceType_SCHEDULER_SOURCE SourceType = 0 // Peer service. SourceType_PEER_SOURCE SourceType = 1 // SeedPeer service. SourceType_SEED_PEER_SOURCE SourceType = 2 ) // Enum value maps for SourceType. var ( SourceType_name = map[int32]string{ 0: "SCHEDULER_SOURCE", 1: "PEER_SOURCE", 2: "SEED_PEER_SOURCE", } SourceType_value = map[string]int32{ "SCHEDULER_SOURCE": 0, "PEER_SOURCE": 1, "SEED_PEER_SOURCE": 2, } ) func (x SourceType) Enum() *SourceType { p := new(SourceType) *p = x return p } func (x SourceType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SourceType) Descriptor() protoreflect.EnumDescriptor { return file_pkg_apis_manager_v1_manager_proto_enumTypes[0].Descriptor() } func (SourceType) Type() protoreflect.EnumType { return &file_pkg_apis_manager_v1_manager_proto_enumTypes[0] } func (x SourceType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SourceType.Descriptor instead. func (SourceType) EnumDescriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{0} } // SecurityGroup represents security group of cluster. type SecurityGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Group id. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Group name. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Group biography. Bio string `protobuf:"bytes,3,opt,name=bio,proto3" json:"bio,omitempty"` // Group domain. Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` // Group proxy domain. ProxyDomain string `protobuf:"bytes,5,opt,name=proxy_domain,json=proxyDomain,proto3" json:"proxy_domain,omitempty"` } func (x *SecurityGroup) Reset() { *x = SecurityGroup{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SecurityGroup) String() string { return protoimpl.X.MessageStringOf(x) } func (*SecurityGroup) ProtoMessage() {} func (x *SecurityGroup) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 SecurityGroup.ProtoReflect.Descriptor instead. func (*SecurityGroup) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{0} } func (x *SecurityGroup) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *SecurityGroup) GetName() string { if x != nil { return x.Name } return "" } func (x *SecurityGroup) GetBio() string { if x != nil { return x.Bio } return "" } func (x *SecurityGroup) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *SecurityGroup) GetProxyDomain() string { if x != nil { return x.ProxyDomain } return "" } // SeedPeerCluster represents cluster of seed peer. type SeedPeerCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Cluster id. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Cluster name. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Cluster biography. Bio string `protobuf:"bytes,3,opt,name=bio,proto3" json:"bio,omitempty"` // Cluster configuration. Config []byte `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` // Cluster scopes. Scopes []byte `protobuf:"bytes,5,opt,name=scopes,proto3" json:"scopes,omitempty"` // Security group to which the seed peer cluster belongs. SecurityGroup *SecurityGroup `protobuf:"bytes,6,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` } func (x *SeedPeerCluster) Reset() { *x = SeedPeerCluster{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SeedPeerCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*SeedPeerCluster) ProtoMessage() {} func (x *SeedPeerCluster) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 SeedPeerCluster.ProtoReflect.Descriptor instead. func (*SeedPeerCluster) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{1} } func (x *SeedPeerCluster) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *SeedPeerCluster) GetName() string { if x != nil { return x.Name } return "" } func (x *SeedPeerCluster) GetBio() string { if x != nil { return x.Bio } return "" } func (x *SeedPeerCluster) GetConfig() []byte { if x != nil { return x.Config } return nil } func (x *SeedPeerCluster) GetScopes() []byte { if x != nil { return x.Scopes } return nil } func (x *SeedPeerCluster) GetSecurityGroup() *SecurityGroup { if x != nil { return x.SecurityGroup } return nil } // SeedPeer represents seed peer for network. type SeedPeer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Seed peer id. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Seed peer hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // Seed peer type. Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // Seed peer idc. Idc string `protobuf:"bytes,5,opt,name=idc,proto3" json:"idc,omitempty"` // Seed peer network topology. NetTopology string `protobuf:"bytes,6,opt,name=net_topology,json=netTopology,proto3" json:"net_topology,omitempty"` // Seed peer location. Location string `protobuf:"bytes,7,opt,name=location,proto3" json:"location,omitempty"` // Seed peer ip. Ip string `protobuf:"bytes,8,opt,name=ip,proto3" json:"ip,omitempty"` // Seed peer grpc port. Port int32 `protobuf:"varint,9,opt,name=port,proto3" json:"port,omitempty"` // Seed peer download port. DownloadPort int32 `protobuf:"varint,10,opt,name=download_port,json=downloadPort,proto3" json:"download_port,omitempty"` // Seed peer state. State string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` // ID of the cluster to which the seed peer belongs. SeedPeerClusterId uint64 `protobuf:"varint,12,opt,name=seed_peer_cluster_id,json=seedPeerClusterId,proto3" json:"seed_peer_cluster_id,omitempty"` // Cluster to which the seed peer belongs. SeedPeerCluster *SeedPeerCluster `protobuf:"bytes,13,opt,name=seed_peer_cluster,json=seedPeerCluster,proto3" json:"seed_peer_cluster,omitempty"` // Schedulers included in seed peer. Schedulers []*Scheduler `protobuf:"bytes,14,rep,name=schedulers,proto3" json:"schedulers,omitempty"` // Seed peer object storage port. ObjectStoragePort int32 `protobuf:"varint,15,opt,name=object_storage_port,json=objectStoragePort,proto3" json:"object_storage_port,omitempty"` } func (x *SeedPeer) Reset() { *x = SeedPeer{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SeedPeer) String() string { return protoimpl.X.MessageStringOf(x) } func (*SeedPeer) ProtoMessage() {} func (x *SeedPeer) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 SeedPeer.ProtoReflect.Descriptor instead. func (*SeedPeer) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{2} } func (x *SeedPeer) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *SeedPeer) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *SeedPeer) GetType() string { if x != nil { return x.Type } return "" } func (x *SeedPeer) GetIdc() string { if x != nil { return x.Idc } return "" } func (x *SeedPeer) GetNetTopology() string { if x != nil { return x.NetTopology } return "" } func (x *SeedPeer) GetLocation() string { if x != nil { return x.Location } return "" } func (x *SeedPeer) GetIp() string { if x != nil { return x.Ip } return "" } func (x *SeedPeer) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *SeedPeer) GetDownloadPort() int32 { if x != nil { return x.DownloadPort } return 0 } func (x *SeedPeer) GetState() string { if x != nil { return x.State } return "" } func (x *SeedPeer) GetSeedPeerClusterId() uint64 { if x != nil { return x.SeedPeerClusterId } return 0 } func (x *SeedPeer) GetSeedPeerCluster() *SeedPeerCluster { if x != nil { return x.SeedPeerCluster } return nil } func (x *SeedPeer) GetSchedulers() []*Scheduler { if x != nil { return x.Schedulers } return nil } func (x *SeedPeer) GetObjectStoragePort() int32 { if x != nil { return x.ObjectStoragePort } return 0 } // GetSeedPeerRequest represents request of GetSeedPeer. type GetSeedPeerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Seed peer hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // ID of the cluster to which the seed peer belongs. SeedPeerClusterId uint64 `protobuf:"varint,3,opt,name=seed_peer_cluster_id,json=seedPeerClusterId,proto3" json:"seed_peer_cluster_id,omitempty"` // Seed peer ip. Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *GetSeedPeerRequest) Reset() { *x = GetSeedPeerRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetSeedPeerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetSeedPeerRequest) ProtoMessage() {} func (x *GetSeedPeerRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 GetSeedPeerRequest.ProtoReflect.Descriptor instead. func (*GetSeedPeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{3} } func (x *GetSeedPeerRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *GetSeedPeerRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *GetSeedPeerRequest) GetSeedPeerClusterId() uint64 { if x != nil { return x.SeedPeerClusterId } return 0 } func (x *GetSeedPeerRequest) GetIp() string { if x != nil { return x.Ip } return "" } // UpdateSeedPeerRequest represents request of UpdateSeedPeer. type UpdateSeedPeerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Seed peer hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // Seed peer type. Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // Seed peer idc. Idc string `protobuf:"bytes,5,opt,name=idc,proto3" json:"idc,omitempty"` // Seed peer network topology. NetTopology string `protobuf:"bytes,6,opt,name=net_topology,json=netTopology,proto3" json:"net_topology,omitempty"` // Seed peer location. Location string `protobuf:"bytes,7,opt,name=location,proto3" json:"location,omitempty"` // Seed peer ip. Ip string `protobuf:"bytes,8,opt,name=ip,proto3" json:"ip,omitempty"` // Seed peer port. Port int32 `protobuf:"varint,9,opt,name=port,proto3" json:"port,omitempty"` // Seed peer download port. DownloadPort int32 `protobuf:"varint,10,opt,name=download_port,json=downloadPort,proto3" json:"download_port,omitempty"` // ID of the cluster to which the seed peer belongs. SeedPeerClusterId uint64 `protobuf:"varint,11,opt,name=seed_peer_cluster_id,json=seedPeerClusterId,proto3" json:"seed_peer_cluster_id,omitempty"` // Seed peer object storage port. ObjectStoragePort int32 `protobuf:"varint,12,opt,name=object_storage_port,json=objectStoragePort,proto3" json:"object_storage_port,omitempty"` } func (x *UpdateSeedPeerRequest) Reset() { *x = UpdateSeedPeerRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateSeedPeerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateSeedPeerRequest) ProtoMessage() {} func (x *UpdateSeedPeerRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 UpdateSeedPeerRequest.ProtoReflect.Descriptor instead. func (*UpdateSeedPeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{4} } func (x *UpdateSeedPeerRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *UpdateSeedPeerRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *UpdateSeedPeerRequest) GetType() string { if x != nil { return x.Type } return "" } func (x *UpdateSeedPeerRequest) GetIdc() string { if x != nil { return x.Idc } return "" } func (x *UpdateSeedPeerRequest) GetNetTopology() string { if x != nil { return x.NetTopology } return "" } func (x *UpdateSeedPeerRequest) GetLocation() string { if x != nil { return x.Location } return "" } func (x *UpdateSeedPeerRequest) GetIp() string { if x != nil { return x.Ip } return "" } func (x *UpdateSeedPeerRequest) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *UpdateSeedPeerRequest) GetDownloadPort() int32 { if x != nil { return x.DownloadPort } return 0 } func (x *UpdateSeedPeerRequest) GetSeedPeerClusterId() uint64 { if x != nil { return x.SeedPeerClusterId } return 0 } func (x *UpdateSeedPeerRequest) GetObjectStoragePort() int32 { if x != nil { return x.ObjectStoragePort } return 0 } // SeedPeerCluster represents cluster of scheduler. type SchedulerCluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Cluster id. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Cluster name. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Cluster biography. Bio string `protobuf:"bytes,3,opt,name=bio,proto3" json:"bio,omitempty"` // Cluster config. Config []byte `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` // Cluster client config. ClientConfig []byte `protobuf:"bytes,5,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"` // Cluster scopes. Scopes []byte `protobuf:"bytes,6,opt,name=scopes,proto3" json:"scopes,omitempty"` // Security group to which the scheduler cluster belongs. SecurityGroup *SecurityGroup `protobuf:"bytes,7,opt,name=security_group,json=securityGroup,proto3" json:"security_group,omitempty"` } func (x *SchedulerCluster) Reset() { *x = SchedulerCluster{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SchedulerCluster) String() string { return protoimpl.X.MessageStringOf(x) } func (*SchedulerCluster) ProtoMessage() {} func (x *SchedulerCluster) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 SchedulerCluster.ProtoReflect.Descriptor instead. func (*SchedulerCluster) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{5} } func (x *SchedulerCluster) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *SchedulerCluster) GetName() string { if x != nil { return x.Name } return "" } func (x *SchedulerCluster) GetBio() string { if x != nil { return x.Bio } return "" } func (x *SchedulerCluster) GetConfig() []byte { if x != nil { return x.Config } return nil } func (x *SchedulerCluster) GetClientConfig() []byte { if x != nil { return x.ClientConfig } return nil } func (x *SchedulerCluster) GetScopes() []byte { if x != nil { return x.Scopes } return nil } func (x *SchedulerCluster) GetSecurityGroup() *SecurityGroup { if x != nil { return x.SecurityGroup } return nil } // SeedPeerCluster represents scheduler for network. type Scheduler struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Scheduler id. Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Scheduler hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // Deprecated: Do not use. Vips string `protobuf:"bytes,3,opt,name=vips,proto3" json:"vips,omitempty"` // Scheduler idc. Idc string `protobuf:"bytes,4,opt,name=idc,proto3" json:"idc,omitempty"` // Scheduler location. Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"` // Deprecated: Use net_topology instead. NetConfig []byte `protobuf:"bytes,6,opt,name=net_config,json=netConfig,proto3" json:"net_config,omitempty"` // Scheduler ip. Ip string `protobuf:"bytes,7,opt,name=ip,proto3" json:"ip,omitempty"` // Scheduler grpc port. Port int32 `protobuf:"varint,8,opt,name=port,proto3" json:"port,omitempty"` // Scheduler state. State string `protobuf:"bytes,9,opt,name=state,proto3" json:"state,omitempty"` // ID of the cluster to which the scheduler belongs. SchedulerClusterId uint64 `protobuf:"varint,10,opt,name=scheduler_cluster_id,json=schedulerClusterId,proto3" json:"scheduler_cluster_id,omitempty"` // Cluster to which the scheduler belongs. SchedulerCluster *SchedulerCluster `protobuf:"bytes,11,opt,name=scheduler_cluster,json=schedulerCluster,proto3" json:"scheduler_cluster,omitempty"` // Seed peers to which the scheduler belongs. SeedPeers []*SeedPeer `protobuf:"bytes,13,rep,name=seed_peers,json=seedPeers,proto3" json:"seed_peers,omitempty"` // Scheduler network topology. NetTopology string `protobuf:"bytes,14,opt,name=net_topology,json=netTopology,proto3" json:"net_topology,omitempty"` } func (x *Scheduler) Reset() { *x = Scheduler{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Scheduler) String() string { return protoimpl.X.MessageStringOf(x) } func (*Scheduler) ProtoMessage() {} func (x *Scheduler) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[6] 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 Scheduler.ProtoReflect.Descriptor instead. func (*Scheduler) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{6} } func (x *Scheduler) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *Scheduler) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *Scheduler) GetVips() string { if x != nil { return x.Vips } return "" } func (x *Scheduler) GetIdc() string { if x != nil { return x.Idc } return "" } func (x *Scheduler) GetLocation() string { if x != nil { return x.Location } return "" } func (x *Scheduler) GetNetConfig() []byte { if x != nil { return x.NetConfig } return nil } func (x *Scheduler) GetIp() string { if x != nil { return x.Ip } return "" } func (x *Scheduler) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *Scheduler) GetState() string { if x != nil { return x.State } return "" } func (x *Scheduler) GetSchedulerClusterId() uint64 { if x != nil { return x.SchedulerClusterId } return 0 } func (x *Scheduler) GetSchedulerCluster() *SchedulerCluster { if x != nil { return x.SchedulerCluster } return nil } func (x *Scheduler) GetSeedPeers() []*SeedPeer { if x != nil { return x.SeedPeers } return nil } func (x *Scheduler) GetNetTopology() string { if x != nil { return x.NetTopology } return "" } // GetSchedulerRequest represents request of GetScheduler. type GetSchedulerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Scheduler hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // ID of the cluster to which the scheduler belongs. SchedulerClusterId uint64 `protobuf:"varint,3,opt,name=scheduler_cluster_id,json=schedulerClusterId,proto3" json:"scheduler_cluster_id,omitempty"` // Scheduler ip. Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *GetSchedulerRequest) Reset() { *x = GetSchedulerRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetSchedulerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetSchedulerRequest) ProtoMessage() {} func (x *GetSchedulerRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[7] 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 GetSchedulerRequest.ProtoReflect.Descriptor instead. func (*GetSchedulerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{7} } func (x *GetSchedulerRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *GetSchedulerRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *GetSchedulerRequest) GetSchedulerClusterId() uint64 { if x != nil { return x.SchedulerClusterId } return 0 } func (x *GetSchedulerRequest) GetIp() string { if x != nil { return x.Ip } return "" } // UpdateSchedulerRequest represents request of UpdateScheduler. type UpdateSchedulerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Scheduler hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // ID of the cluster to which the scheduler belongs. SchedulerClusterId uint64 `protobuf:"varint,3,opt,name=scheduler_cluster_id,json=schedulerClusterId,proto3" json:"scheduler_cluster_id,omitempty"` // Deprecated: Do not use. Vips string `protobuf:"bytes,4,opt,name=vips,proto3" json:"vips,omitempty"` // Scheduler idc. Idc string `protobuf:"bytes,5,opt,name=idc,proto3" json:"idc,omitempty"` // Scheduler location. Location string `protobuf:"bytes,6,opt,name=location,proto3" json:"location,omitempty"` // Deprecated: Use net_topology instead. NetConfig []byte `protobuf:"bytes,7,opt,name=net_config,json=netConfig,proto3" json:"net_config,omitempty"` // Scheduler ip. Ip string `protobuf:"bytes,8,opt,name=ip,proto3" json:"ip,omitempty"` // Scheduler port. Port int32 `protobuf:"varint,9,opt,name=port,proto3" json:"port,omitempty"` // Scheduler network topology. NetTopology string `protobuf:"bytes,10,opt,name=net_topology,json=netTopology,proto3" json:"net_topology,omitempty"` } func (x *UpdateSchedulerRequest) Reset() { *x = UpdateSchedulerRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateSchedulerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateSchedulerRequest) ProtoMessage() {} func (x *UpdateSchedulerRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[8] 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 UpdateSchedulerRequest.ProtoReflect.Descriptor instead. func (*UpdateSchedulerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{8} } func (x *UpdateSchedulerRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *UpdateSchedulerRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *UpdateSchedulerRequest) GetSchedulerClusterId() uint64 { if x != nil { return x.SchedulerClusterId } return 0 } func (x *UpdateSchedulerRequest) GetVips() string { if x != nil { return x.Vips } return "" } func (x *UpdateSchedulerRequest) GetIdc() string { if x != nil { return x.Idc } return "" } func (x *UpdateSchedulerRequest) GetLocation() string { if x != nil { return x.Location } return "" } func (x *UpdateSchedulerRequest) GetNetConfig() []byte { if x != nil { return x.NetConfig } return nil } func (x *UpdateSchedulerRequest) GetIp() string { if x != nil { return x.Ip } return "" } func (x *UpdateSchedulerRequest) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *UpdateSchedulerRequest) GetNetTopology() string { if x != nil { return x.NetTopology } return "" } // ListSchedulersRequest represents request of ListSchedulers. type ListSchedulersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Source service hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // Source service ip. Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` // Source service host information. HostInfo map[string]string `protobuf:"bytes,5,rep,name=host_info,json=hostInfo,proto3" json:"host_info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *ListSchedulersRequest) Reset() { *x = ListSchedulersRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListSchedulersRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListSchedulersRequest) ProtoMessage() {} func (x *ListSchedulersRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[9] 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 ListSchedulersRequest.ProtoReflect.Descriptor instead. func (*ListSchedulersRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{9} } func (x *ListSchedulersRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *ListSchedulersRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *ListSchedulersRequest) GetIp() string { if x != nil { return x.Ip } return "" } func (x *ListSchedulersRequest) GetHostInfo() map[string]string { if x != nil { return x.HostInfo } return nil } // ListSchedulersResponse represents response of ListSchedulers. type ListSchedulersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Schedulers to which the source service belongs. Schedulers []*Scheduler `protobuf:"bytes,1,rep,name=schedulers,proto3" json:"schedulers,omitempty"` } func (x *ListSchedulersResponse) Reset() { *x = ListSchedulersResponse{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListSchedulersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListSchedulersResponse) ProtoMessage() {} func (x *ListSchedulersResponse) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[10] 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 ListSchedulersResponse.ProtoReflect.Descriptor instead. func (*ListSchedulersResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{10} } func (x *ListSchedulersResponse) GetSchedulers() []*Scheduler { if x != nil { return x.Schedulers } return nil } // ObjectStorage represents config of object storage. type ObjectStorage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Object storage name of type. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Storage region. Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"` // Datacenter endpoint. Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` // Access key id. AccessKey string `protobuf:"bytes,4,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` // Access key secret. SecretKey string `protobuf:"bytes,5,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` } func (x *ObjectStorage) Reset() { *x = ObjectStorage{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ObjectStorage) String() string { return protoimpl.X.MessageStringOf(x) } func (*ObjectStorage) ProtoMessage() {} func (x *ObjectStorage) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[11] 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 ObjectStorage.ProtoReflect.Descriptor instead. func (*ObjectStorage) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{11} } func (x *ObjectStorage) GetName() string { if x != nil { return x.Name } return "" } func (x *ObjectStorage) GetRegion() string { if x != nil { return x.Region } return "" } func (x *ObjectStorage) GetEndpoint() string { if x != nil { return x.Endpoint } return "" } func (x *ObjectStorage) GetAccessKey() string { if x != nil { return x.AccessKey } return "" } func (x *ObjectStorage) GetSecretKey() string { if x != nil { return x.SecretKey } return "" } // GetObjectStorageRequest represents request of GetObjectStorage. type GetObjectStorageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Source service hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // Source service ip. Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *GetObjectStorageRequest) Reset() { *x = GetObjectStorageRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetObjectStorageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetObjectStorageRequest) ProtoMessage() {} func (x *GetObjectStorageRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[12] 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 GetObjectStorageRequest.ProtoReflect.Descriptor instead. func (*GetObjectStorageRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{12} } func (x *GetObjectStorageRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *GetObjectStorageRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *GetObjectStorageRequest) GetIp() string { if x != nil { return x.Ip } return "" } // Bucket represents config of bucket. type Bucket struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Bucket name. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *Bucket) Reset() { *x = Bucket{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Bucket) String() string { return protoimpl.X.MessageStringOf(x) } func (*Bucket) ProtoMessage() {} func (x *Bucket) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 Bucket.ProtoReflect.Descriptor instead. func (*Bucket) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{13} } func (x *Bucket) GetName() string { if x != nil { return x.Name } return "" } // ListSchedulersRequest represents request of ListBuckets. type ListBucketsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Source service hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // Source service ip. Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *ListBucketsRequest) Reset() { *x = ListBucketsRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListBucketsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListBucketsRequest) ProtoMessage() {} func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_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 ListBucketsRequest.ProtoReflect.Descriptor instead. func (*ListBucketsRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{14} } func (x *ListBucketsRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *ListBucketsRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *ListBucketsRequest) GetIp() string { if x != nil { return x.Ip } return "" } // ListBucketsResponse represents response of ListBuckets. type ListBucketsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Bucket configs. Buckets []*Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"` } func (x *ListBucketsResponse) Reset() { *x = ListBucketsResponse{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListBucketsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListBucketsResponse) ProtoMessage() {} func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[15] 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 ListBucketsResponse.ProtoReflect.Descriptor instead. func (*ListBucketsResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{15} } func (x *ListBucketsResponse) GetBuckets() []*Bucket { if x != nil { return x.Buckets } return nil } // KeepAliveRequest represents request of KeepAlive. type KeepAliveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request source type. SourceType SourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=manager.SourceType" json:"source_type,omitempty"` // Source service hostname. HostName string `protobuf:"bytes,2,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` // ID of the cluster to which the source service belongs. ClusterId uint64 `protobuf:"varint,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` // Source service ip. Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` } func (x *KeepAliveRequest) Reset() { *x = KeepAliveRequest{} if protoimpl.UnsafeEnabled { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *KeepAliveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*KeepAliveRequest) ProtoMessage() {} func (x *KeepAliveRequest) ProtoReflect() protoreflect.Message { mi := &file_pkg_apis_manager_v1_manager_proto_msgTypes[16] 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 KeepAliveRequest.ProtoReflect.Descriptor instead. func (*KeepAliveRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_manager_v1_manager_proto_rawDescGZIP(), []int{16} } func (x *KeepAliveRequest) GetSourceType() SourceType { if x != nil { return x.SourceType } return SourceType_SCHEDULER_SOURCE } func (x *KeepAliveRequest) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *KeepAliveRequest) GetClusterId() uint64 { if x != nil { return x.ClusterId } return 0 } func (x *KeepAliveRequest) GetIp() string { if x != nil { return x.Ip } return "" } var File_pkg_apis_manager_v1_manager_proto protoreflect.FileDescriptor var file_pkg_apis_manager_v1_manager_proto_rawDesc = []byte{ 0x0a, 0x21, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xd6, 0x03, 0x0a, 0x08, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x11, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x14, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x11, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0x91, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xfa, 0x42, 0x17, 0x72, 0x15, 0x52, 0x05, 0x73, 0x75, 0x70, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x03, 0x69, 0x64, 0x63, 0x12, 0x30, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x31, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x11, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x1a, 0x09, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x40, 0x01, 0x52, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x10, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x62, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xa2, 0x03, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x76, 0x69, 0x70, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x0a, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x09, 0x73, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x76, 0x69, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x76, 0x69, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x03, 0x69, 0x64, 0x63, 0x12, 0x29, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x6e, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x7a, 0x04, 0x10, 0x01, 0x70, 0x01, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0xa8, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x53, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x9a, 0x01, 0x02, 0x30, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x3b, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x10, 0x01, 0x18, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0x28, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0x80, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x22, 0x40, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x10, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x68, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x70, 0x2a, 0x49, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x02, 0x32, 0xc4, 0x04, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, 0x01, 0x42, 0x20, 0x5a, 0x1e, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_pkg_apis_manager_v1_manager_proto_rawDescOnce sync.Once file_pkg_apis_manager_v1_manager_proto_rawDescData = file_pkg_apis_manager_v1_manager_proto_rawDesc ) func file_pkg_apis_manager_v1_manager_proto_rawDescGZIP() []byte { file_pkg_apis_manager_v1_manager_proto_rawDescOnce.Do(func() { file_pkg_apis_manager_v1_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_apis_manager_v1_manager_proto_rawDescData) }) return file_pkg_apis_manager_v1_manager_proto_rawDescData } var file_pkg_apis_manager_v1_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_pkg_apis_manager_v1_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_pkg_apis_manager_v1_manager_proto_goTypes = []interface{}{ (SourceType)(0), // 0: manager.SourceType (*SecurityGroup)(nil), // 1: manager.SecurityGroup (*SeedPeerCluster)(nil), // 2: manager.SeedPeerCluster (*SeedPeer)(nil), // 3: manager.SeedPeer (*GetSeedPeerRequest)(nil), // 4: manager.GetSeedPeerRequest (*UpdateSeedPeerRequest)(nil), // 5: manager.UpdateSeedPeerRequest (*SchedulerCluster)(nil), // 6: manager.SchedulerCluster (*Scheduler)(nil), // 7: manager.Scheduler (*GetSchedulerRequest)(nil), // 8: manager.GetSchedulerRequest (*UpdateSchedulerRequest)(nil), // 9: manager.UpdateSchedulerRequest (*ListSchedulersRequest)(nil), // 10: manager.ListSchedulersRequest (*ListSchedulersResponse)(nil), // 11: manager.ListSchedulersResponse (*ObjectStorage)(nil), // 12: manager.ObjectStorage (*GetObjectStorageRequest)(nil), // 13: manager.GetObjectStorageRequest (*Bucket)(nil), // 14: manager.Bucket (*ListBucketsRequest)(nil), // 15: manager.ListBucketsRequest (*ListBucketsResponse)(nil), // 16: manager.ListBucketsResponse (*KeepAliveRequest)(nil), // 17: manager.KeepAliveRequest nil, // 18: manager.ListSchedulersRequest.HostInfoEntry (*emptypb.Empty)(nil), // 19: google.protobuf.Empty } var file_pkg_apis_manager_v1_manager_proto_depIdxs = []int32{ 1, // 0: manager.SeedPeerCluster.security_group:type_name -> manager.SecurityGroup 2, // 1: manager.SeedPeer.seed_peer_cluster:type_name -> manager.SeedPeerCluster 7, // 2: manager.SeedPeer.schedulers:type_name -> manager.Scheduler 0, // 3: manager.GetSeedPeerRequest.source_type:type_name -> manager.SourceType 0, // 4: manager.UpdateSeedPeerRequest.source_type:type_name -> manager.SourceType 1, // 5: manager.SchedulerCluster.security_group:type_name -> manager.SecurityGroup 6, // 6: manager.Scheduler.scheduler_cluster:type_name -> manager.SchedulerCluster 3, // 7: manager.Scheduler.seed_peers:type_name -> manager.SeedPeer 0, // 8: manager.GetSchedulerRequest.source_type:type_name -> manager.SourceType 0, // 9: manager.UpdateSchedulerRequest.source_type:type_name -> manager.SourceType 0, // 10: manager.ListSchedulersRequest.source_type:type_name -> manager.SourceType 18, // 11: manager.ListSchedulersRequest.host_info:type_name -> manager.ListSchedulersRequest.HostInfoEntry 7, // 12: manager.ListSchedulersResponse.schedulers:type_name -> manager.Scheduler 0, // 13: manager.GetObjectStorageRequest.source_type:type_name -> manager.SourceType 0, // 14: manager.ListBucketsRequest.source_type:type_name -> manager.SourceType 14, // 15: manager.ListBucketsResponse.buckets:type_name -> manager.Bucket 0, // 16: manager.KeepAliveRequest.source_type:type_name -> manager.SourceType 4, // 17: manager.Manager.GetSeedPeer:input_type -> manager.GetSeedPeerRequest 5, // 18: manager.Manager.UpdateSeedPeer:input_type -> manager.UpdateSeedPeerRequest 8, // 19: manager.Manager.GetScheduler:input_type -> manager.GetSchedulerRequest 9, // 20: manager.Manager.UpdateScheduler:input_type -> manager.UpdateSchedulerRequest 10, // 21: manager.Manager.ListSchedulers:input_type -> manager.ListSchedulersRequest 13, // 22: manager.Manager.GetObjectStorage:input_type -> manager.GetObjectStorageRequest 15, // 23: manager.Manager.ListBuckets:input_type -> manager.ListBucketsRequest 17, // 24: manager.Manager.KeepAlive:input_type -> manager.KeepAliveRequest 3, // 25: manager.Manager.GetSeedPeer:output_type -> manager.SeedPeer 3, // 26: manager.Manager.UpdateSeedPeer:output_type -> manager.SeedPeer 7, // 27: manager.Manager.GetScheduler:output_type -> manager.Scheduler 7, // 28: manager.Manager.UpdateScheduler:output_type -> manager.Scheduler 11, // 29: manager.Manager.ListSchedulers:output_type -> manager.ListSchedulersResponse 12, // 30: manager.Manager.GetObjectStorage:output_type -> manager.ObjectStorage 16, // 31: manager.Manager.ListBuckets:output_type -> manager.ListBucketsResponse 19, // 32: manager.Manager.KeepAlive:output_type -> google.protobuf.Empty 25, // [25:33] is the sub-list for method output_type 17, // [17:25] is the sub-list for method input_type 17, // [17:17] is the sub-list for extension type_name 17, // [17:17] is the sub-list for extension extendee 0, // [0:17] is the sub-list for field type_name } func init() { file_pkg_apis_manager_v1_manager_proto_init() } func file_pkg_apis_manager_v1_manager_proto_init() { if File_pkg_apis_manager_v1_manager_proto != nil { return } if !protoimpl.UnsafeEnabled { file_pkg_apis_manager_v1_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityGroup); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SeedPeerCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SeedPeer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSeedPeerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateSeedPeerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SchedulerCluster); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Scheduler); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSchedulerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateSchedulerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSchedulersRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSchedulersResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectStorage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetObjectStorageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBucketsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBucketsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pkg_apis_manager_v1_manager_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KeepAliveRequest); 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_pkg_apis_manager_v1_manager_proto_rawDesc, NumEnums: 1, NumMessages: 18, NumExtensions: 0, NumServices: 1, }, GoTypes: file_pkg_apis_manager_v1_manager_proto_goTypes, DependencyIndexes: file_pkg_apis_manager_v1_manager_proto_depIdxs, EnumInfos: file_pkg_apis_manager_v1_manager_proto_enumTypes, MessageInfos: file_pkg_apis_manager_v1_manager_proto_msgTypes, }.Build() File_pkg_apis_manager_v1_manager_proto = out.File file_pkg_apis_manager_v1_manager_proto_rawDesc = nil file_pkg_apis_manager_v1_manager_proto_goTypes = nil file_pkg_apis_manager_v1_manager_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ManagerClient is the client API for Manager service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ManagerClient interface { // Get SeedPeer and SeedPeer cluster configuration. GetSeedPeer(ctx context.Context, in *GetSeedPeerRequest, opts ...grpc.CallOption) (*SeedPeer, error) // Update SeedPeer configuration. UpdateSeedPeer(ctx context.Context, in *UpdateSeedPeerRequest, opts ...grpc.CallOption) (*SeedPeer, error) // Get Scheduler and Scheduler cluster configuration. GetScheduler(ctx context.Context, in *GetSchedulerRequest, opts ...grpc.CallOption) (*Scheduler, error) // Update scheduler configuration. UpdateScheduler(ctx context.Context, in *UpdateSchedulerRequest, opts ...grpc.CallOption) (*Scheduler, error) // List acitve schedulers configuration. ListSchedulers(ctx context.Context, in *ListSchedulersRequest, opts ...grpc.CallOption) (*ListSchedulersResponse, error) // Get ObjectStorage configuration. GetObjectStorage(ctx context.Context, in *GetObjectStorageRequest, opts ...grpc.CallOption) (*ObjectStorage, error) // List buckets configuration. ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) // KeepAlive with manager. KeepAlive(ctx context.Context, opts ...grpc.CallOption) (Manager_KeepAliveClient, error) } type managerClient struct { cc grpc.ClientConnInterface } func NewManagerClient(cc grpc.ClientConnInterface) ManagerClient { return &managerClient{cc} } func (c *managerClient) GetSeedPeer(ctx context.Context, in *GetSeedPeerRequest, opts ...grpc.CallOption) (*SeedPeer, error) { out := new(SeedPeer) err := c.cc.Invoke(ctx, "/manager.Manager/GetSeedPeer", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) UpdateSeedPeer(ctx context.Context, in *UpdateSeedPeerRequest, opts ...grpc.CallOption) (*SeedPeer, error) { out := new(SeedPeer) err := c.cc.Invoke(ctx, "/manager.Manager/UpdateSeedPeer", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) GetScheduler(ctx context.Context, in *GetSchedulerRequest, opts ...grpc.CallOption) (*Scheduler, error) { out := new(Scheduler) err := c.cc.Invoke(ctx, "/manager.Manager/GetScheduler", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) UpdateScheduler(ctx context.Context, in *UpdateSchedulerRequest, opts ...grpc.CallOption) (*Scheduler, error) { out := new(Scheduler) err := c.cc.Invoke(ctx, "/manager.Manager/UpdateScheduler", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) ListSchedulers(ctx context.Context, in *ListSchedulersRequest, opts ...grpc.CallOption) (*ListSchedulersResponse, error) { out := new(ListSchedulersResponse) err := c.cc.Invoke(ctx, "/manager.Manager/ListSchedulers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) GetObjectStorage(ctx context.Context, in *GetObjectStorageRequest, opts ...grpc.CallOption) (*ObjectStorage, error) { out := new(ObjectStorage) err := c.cc.Invoke(ctx, "/manager.Manager/GetObjectStorage", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) { out := new(ListBucketsResponse) err := c.cc.Invoke(ctx, "/manager.Manager/ListBuckets", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managerClient) KeepAlive(ctx context.Context, opts ...grpc.CallOption) (Manager_KeepAliveClient, error) { stream, err := c.cc.NewStream(ctx, &_Manager_serviceDesc.Streams[0], "/manager.Manager/KeepAlive", opts...) if err != nil { return nil, err } x := &managerKeepAliveClient{stream} return x, nil } type Manager_KeepAliveClient interface { Send(*KeepAliveRequest) error CloseAndRecv() (*emptypb.Empty, error) grpc.ClientStream } type managerKeepAliveClient struct { grpc.ClientStream } func (x *managerKeepAliveClient) Send(m *KeepAliveRequest) error { return x.ClientStream.SendMsg(m) } func (x *managerKeepAliveClient) CloseAndRecv() (*emptypb.Empty, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(emptypb.Empty) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } // ManagerServer is the server API for Manager service. type ManagerServer interface { // Get SeedPeer and SeedPeer cluster configuration. GetSeedPeer(context.Context, *GetSeedPeerRequest) (*SeedPeer, error) // Update SeedPeer configuration. UpdateSeedPeer(context.Context, *UpdateSeedPeerRequest) (*SeedPeer, error) // Get Scheduler and Scheduler cluster configuration. GetScheduler(context.Context, *GetSchedulerRequest) (*Scheduler, error) // Update scheduler configuration. UpdateScheduler(context.Context, *UpdateSchedulerRequest) (*Scheduler, error) // List acitve schedulers configuration. ListSchedulers(context.Context, *ListSchedulersRequest) (*ListSchedulersResponse, error) // Get ObjectStorage configuration. GetObjectStorage(context.Context, *GetObjectStorageRequest) (*ObjectStorage, error) // List buckets configuration. ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) // KeepAlive with manager. KeepAlive(Manager_KeepAliveServer) error } // UnimplementedManagerServer can be embedded to have forward compatible implementations. type UnimplementedManagerServer struct { } func (*UnimplementedManagerServer) GetSeedPeer(context.Context, *GetSeedPeerRequest) (*SeedPeer, error) { return nil, status.Errorf(codes.Unimplemented, "method GetSeedPeer not implemented") } func (*UnimplementedManagerServer) UpdateSeedPeer(context.Context, *UpdateSeedPeerRequest) (*SeedPeer, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateSeedPeer not implemented") } func (*UnimplementedManagerServer) GetScheduler(context.Context, *GetSchedulerRequest) (*Scheduler, error) { return nil, status.Errorf(codes.Unimplemented, "method GetScheduler not implemented") } func (*UnimplementedManagerServer) UpdateScheduler(context.Context, *UpdateSchedulerRequest) (*Scheduler, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateScheduler not implemented") } func (*UnimplementedManagerServer) ListSchedulers(context.Context, *ListSchedulersRequest) (*ListSchedulersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListSchedulers not implemented") } func (*UnimplementedManagerServer) GetObjectStorage(context.Context, *GetObjectStorageRequest) (*ObjectStorage, error) { return nil, status.Errorf(codes.Unimplemented, "method GetObjectStorage not implemented") } func (*UnimplementedManagerServer) ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListBuckets not implemented") } func (*UnimplementedManagerServer) KeepAlive(Manager_KeepAliveServer) error { return status.Errorf(codes.Unimplemented, "method KeepAlive not implemented") } func RegisterManagerServer(s *grpc.Server, srv ManagerServer) { s.RegisterService(&_Manager_serviceDesc, srv) } func _Manager_GetSeedPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetSeedPeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).GetSeedPeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/GetSeedPeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetSeedPeer(ctx, req.(*GetSeedPeerRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_UpdateSeedPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateSeedPeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).UpdateSeedPeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/UpdateSeedPeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateSeedPeer(ctx, req.(*UpdateSeedPeerRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_GetScheduler_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetSchedulerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).GetScheduler(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/GetScheduler", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetScheduler(ctx, req.(*GetSchedulerRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_UpdateScheduler_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateSchedulerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).UpdateScheduler(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/UpdateScheduler", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).UpdateScheduler(ctx, req.(*UpdateSchedulerRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_ListSchedulers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListSchedulersRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).ListSchedulers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/ListSchedulers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ListSchedulers(ctx, req.(*ListSchedulersRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_GetObjectStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetObjectStorageRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).GetObjectStorage(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/GetObjectStorage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).GetObjectStorage(ctx, req.(*GetObjectStorageRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_ListBuckets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListBucketsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagerServer).ListBuckets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/manager.Manager/ListBuckets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagerServer).ListBuckets(ctx, req.(*ListBucketsRequest)) } return interceptor(ctx, in, info, handler) } func _Manager_KeepAlive_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(ManagerServer).KeepAlive(&managerKeepAliveServer{stream}) } type Manager_KeepAliveServer interface { SendAndClose(*emptypb.Empty) error Recv() (*KeepAliveRequest, error) grpc.ServerStream } type managerKeepAliveServer struct { grpc.ServerStream } func (x *managerKeepAliveServer) SendAndClose(m *emptypb.Empty) error { return x.ServerStream.SendMsg(m) } func (x *managerKeepAliveServer) Recv() (*KeepAliveRequest, error) { m := new(KeepAliveRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } var _Manager_serviceDesc = grpc.ServiceDesc{ ServiceName: "manager.Manager", HandlerType: (*ManagerServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetSeedPeer", Handler: _Manager_GetSeedPeer_Handler, }, { MethodName: "UpdateSeedPeer", Handler: _Manager_UpdateSeedPeer_Handler, }, { MethodName: "GetScheduler", Handler: _Manager_GetScheduler_Handler, }, { MethodName: "UpdateScheduler", Handler: _Manager_UpdateScheduler_Handler, }, { MethodName: "ListSchedulers", Handler: _Manager_ListSchedulers_Handler, }, { MethodName: "GetObjectStorage", Handler: _Manager_GetObjectStorage_Handler, }, { MethodName: "ListBuckets", Handler: _Manager_ListBuckets_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "KeepAlive", Handler: _Manager_KeepAlive_Handler, ClientStreams: true, }, }, Metadata: "pkg/apis/manager/v1/manager.proto", }