From 8444717c3a125c66e70e39bb7d6307837aff2b4f Mon Sep 17 00:00:00 2001 From: dgtown Date: Tue, 13 Feb 2024 16:54:21 -0500 Subject: [PATCH 1/2] notifications endpoint --- .../go/porter/v1/cluster_control_plane.pb.go | 2592 +++++++++-------- generated/go/porter/v1/notification.pb.go | 361 ++- .../cluster_control_plane.connect.go | 29 + .../porter/v1/cluster_control_plane_pb.d.ts | 77 +- .../src/porter/v1/cluster_control_plane_pb.js | 29 +- .../js/src/porter/v1/notification_pb.d.ts | 114 +- generated/js/src/porter/v1/notification_pb.js | 34 +- porter/v1/cluster_control_plane.proto | 20 + porter/v1/notification.proto | 30 + 9 files changed, 2007 insertions(+), 1279 deletions(-) diff --git a/generated/go/porter/v1/cluster_control_plane.pb.go b/generated/go/porter/v1/cluster_control_plane.pb.go index ae47176f..d249a94d 100644 --- a/generated/go/porter/v1/cluster_control_plane.pb.go +++ b/generated/go/porter/v1/cluster_control_plane.pb.go @@ -8773,6 +8773,130 @@ func (x *NotificationConfigResponse) GetConfig() *NotificationConfig { return nil } +// NotificationsRequest is the request object for Notification. +type NotificationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the id of the project where the notification is created + ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // notification_id is the id of the notification to get + NotificationId string `protobuf:"bytes,2,opt,name=notification_id,json=notificationId,proto3" json:"notification_id,omitempty"` + // app_revision_id is the id of the app revision to get notifications for + AppRevisionId string `protobuf:"bytes,3,opt,name=app_revision_id,json=appRevisionId,proto3" json:"app_revision_id,omitempty"` + // app_instance_id is the id of the app instance to get notifications for + AppInstanceId string `protobuf:"bytes,4,opt,name=app_instance_id,json=appInstanceId,proto3" json:"app_instance_id,omitempty"` +} + +func (x *NotificationsRequest) Reset() { + *x = NotificationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationsRequest) ProtoMessage() {} + +func (x *NotificationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[129] + 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 NotificationsRequest.ProtoReflect.Descriptor instead. +func (*NotificationsRequest) Descriptor() ([]byte, []int) { + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{129} +} + +func (x *NotificationsRequest) GetProjectId() int64 { + if x != nil { + return x.ProjectId + } + return 0 +} + +func (x *NotificationsRequest) GetNotificationId() string { + if x != nil { + return x.NotificationId + } + return "" +} + +func (x *NotificationsRequest) GetAppRevisionId() string { + if x != nil { + return x.AppRevisionId + } + return "" +} + +func (x *NotificationsRequest) GetAppInstanceId() string { + if x != nil { + return x.AppInstanceId + } + return "" +} + +// NotificationResponse is the response object for Notification +type NotificationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Notification []*Notification `protobuf:"bytes,1,rep,name=notification,proto3" json:"notification,omitempty"` +} + +func (x *NotificationsResponse) Reset() { + *x = NotificationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationsResponse) ProtoMessage() {} + +func (x *NotificationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[130] + 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 NotificationsResponse.ProtoReflect.Descriptor instead. +func (*NotificationsResponse) Descriptor() ([]byte, []int) { + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{130} +} + +func (x *NotificationsResponse) GetNotification() []*Notification { + if x != nil { + return x.Notification + } + return nil +} + // ConnectHostedProjectRequest is the request object for connecting a hosted project to a host cluster type ConnectHostedProjectRequest struct { state protoimpl.MessageState @@ -8786,7 +8910,7 @@ type ConnectHostedProjectRequest struct { func (x *ConnectHostedProjectRequest) Reset() { *x = ConnectHostedProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[129] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8799,7 +8923,7 @@ func (x *ConnectHostedProjectRequest) String() string { func (*ConnectHostedProjectRequest) ProtoMessage() {} func (x *ConnectHostedProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[129] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8812,7 +8936,7 @@ func (x *ConnectHostedProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectHostedProjectRequest.ProtoReflect.Descriptor instead. func (*ConnectHostedProjectRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{129} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{131} } func (x *ConnectHostedProjectRequest) GetProjectId() int64 { @@ -8835,7 +8959,7 @@ type ConnectHostedProjectResponse struct { func (x *ConnectHostedProjectResponse) Reset() { *x = ConnectHostedProjectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[130] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8848,7 +8972,7 @@ func (x *ConnectHostedProjectResponse) String() string { func (*ConnectHostedProjectResponse) ProtoMessage() {} func (x *ConnectHostedProjectResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[130] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8861,7 +8985,7 @@ func (x *ConnectHostedProjectResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectHostedProjectResponse.ProtoReflect.Descriptor instead. func (*ConnectHostedProjectResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{130} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{132} } func (x *ConnectHostedProjectResponse) GetClusterId() int64 { @@ -8886,7 +9010,7 @@ type UpdateDatastoreRequest struct { func (x *UpdateDatastoreRequest) Reset() { *x = UpdateDatastoreRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[131] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8899,7 +9023,7 @@ func (x *UpdateDatastoreRequest) String() string { func (*UpdateDatastoreRequest) ProtoMessage() {} func (x *UpdateDatastoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[131] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8912,7 +9036,7 @@ func (x *UpdateDatastoreRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDatastoreRequest.ProtoReflect.Descriptor instead. func (*UpdateDatastoreRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{131} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{133} } func (x *UpdateDatastoreRequest) GetProjectId() int64 { @@ -8939,7 +9063,7 @@ type UpdateDatastoreResponse struct { func (x *UpdateDatastoreResponse) Reset() { *x = UpdateDatastoreResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[132] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8952,7 +9076,7 @@ func (x *UpdateDatastoreResponse) String() string { func (*UpdateDatastoreResponse) ProtoMessage() {} func (x *UpdateDatastoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[132] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8965,7 +9089,7 @@ func (x *UpdateDatastoreResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDatastoreResponse.ProtoReflect.Descriptor instead. func (*UpdateDatastoreResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{132} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{134} } // CreateDatastoreProxyRequest is the request object for creating a datastore proxy @@ -8983,7 +9107,7 @@ type CreateDatastoreProxyRequest struct { func (x *CreateDatastoreProxyRequest) Reset() { *x = CreateDatastoreProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[133] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8996,7 +9120,7 @@ func (x *CreateDatastoreProxyRequest) String() string { func (*CreateDatastoreProxyRequest) ProtoMessage() {} func (x *CreateDatastoreProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[133] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9009,7 +9133,7 @@ func (x *CreateDatastoreProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDatastoreProxyRequest.ProtoReflect.Descriptor instead. func (*CreateDatastoreProxyRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{133} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{135} } func (x *CreateDatastoreProxyRequest) GetProjectId() int64 { @@ -9045,7 +9169,7 @@ type CreateDatastoreProxyResponse struct { func (x *CreateDatastoreProxyResponse) Reset() { *x = CreateDatastoreProxyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[134] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9058,7 +9182,7 @@ func (x *CreateDatastoreProxyResponse) String() string { func (*CreateDatastoreProxyResponse) ProtoMessage() {} func (x *CreateDatastoreProxyResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[134] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9071,7 +9195,7 @@ func (x *CreateDatastoreProxyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDatastoreProxyResponse.ProtoReflect.Descriptor instead. func (*CreateDatastoreProxyResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{134} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{136} } func (x *CreateDatastoreProxyResponse) GetPodName() string { @@ -9115,7 +9239,7 @@ type EKSBearerTokenRequest struct { func (x *EKSBearerTokenRequest) Reset() { *x = EKSBearerTokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[135] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9128,7 +9252,7 @@ func (x *EKSBearerTokenRequest) String() string { func (*EKSBearerTokenRequest) ProtoMessage() {} func (x *EKSBearerTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[135] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9141,7 +9265,7 @@ func (x *EKSBearerTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EKSBearerTokenRequest.ProtoReflect.Descriptor instead. func (*EKSBearerTokenRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{135} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{137} } func (x *EKSBearerTokenRequest) GetProjectId() int64 { @@ -9170,7 +9294,7 @@ type EKSBearerTokenResponse struct { func (x *EKSBearerTokenResponse) Reset() { *x = EKSBearerTokenResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[136] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9183,7 +9307,7 @@ func (x *EKSBearerTokenResponse) String() string { func (*EKSBearerTokenResponse) ProtoMessage() {} func (x *EKSBearerTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[136] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9196,7 +9320,7 @@ func (x *EKSBearerTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EKSBearerTokenResponse.ProtoReflect.Descriptor instead. func (*EKSBearerTokenResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{136} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{138} } func (x *EKSBearerTokenResponse) GetToken() string { @@ -9219,7 +9343,7 @@ type CertificateAuthorityDataRequest struct { func (x *CertificateAuthorityDataRequest) Reset() { *x = CertificateAuthorityDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[137] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9232,7 +9356,7 @@ func (x *CertificateAuthorityDataRequest) String() string { func (*CertificateAuthorityDataRequest) ProtoMessage() {} func (x *CertificateAuthorityDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[137] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9245,7 +9369,7 @@ func (x *CertificateAuthorityDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CertificateAuthorityDataRequest.ProtoReflect.Descriptor instead. func (*CertificateAuthorityDataRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{137} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{139} } func (x *CertificateAuthorityDataRequest) GetProjectId() int64 { @@ -9274,7 +9398,7 @@ type CertificateAuthorityDataResponse struct { func (x *CertificateAuthorityDataResponse) Reset() { *x = CertificateAuthorityDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[138] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9287,7 +9411,7 @@ func (x *CertificateAuthorityDataResponse) String() string { func (*CertificateAuthorityDataResponse) ProtoMessage() {} func (x *CertificateAuthorityDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[138] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9300,7 +9424,7 @@ func (x *CertificateAuthorityDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CertificateAuthorityDataResponse.ProtoReflect.Descriptor instead. func (*CertificateAuthorityDataResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{138} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{140} } func (x *CertificateAuthorityDataResponse) GetCertificateAuthorityData() string { @@ -9322,7 +9446,7 @@ type AssumeRoleChainTargetsRequest struct { func (x *AssumeRoleChainTargetsRequest) Reset() { *x = AssumeRoleChainTargetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[139] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9335,7 +9459,7 @@ func (x *AssumeRoleChainTargetsRequest) String() string { func (*AssumeRoleChainTargetsRequest) ProtoMessage() {} func (x *AssumeRoleChainTargetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[139] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9348,7 +9472,7 @@ func (x *AssumeRoleChainTargetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AssumeRoleChainTargetsRequest.ProtoReflect.Descriptor instead. func (*AssumeRoleChainTargetsRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{139} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{141} } func (x *AssumeRoleChainTargetsRequest) GetProjectId() string { @@ -9370,7 +9494,7 @@ type AssumeRoleChainTargetsResponse struct { func (x *AssumeRoleChainTargetsResponse) Reset() { *x = AssumeRoleChainTargetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[140] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9383,7 +9507,7 @@ func (x *AssumeRoleChainTargetsResponse) String() string { func (*AssumeRoleChainTargetsResponse) ProtoMessage() {} func (x *AssumeRoleChainTargetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[140] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9396,7 +9520,7 @@ func (x *AssumeRoleChainTargetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AssumeRoleChainTargetsResponse.ProtoReflect.Descriptor instead. func (*AssumeRoleChainTargetsResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{140} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{142} } func (x *AssumeRoleChainTargetsResponse) GetChainLinks() []*AssumeRoleChainLink { @@ -9420,7 +9544,7 @@ type ECRTokenForRegistryRequest struct { func (x *ECRTokenForRegistryRequest) Reset() { *x = ECRTokenForRegistryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[141] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9433,7 +9557,7 @@ func (x *ECRTokenForRegistryRequest) String() string { func (*ECRTokenForRegistryRequest) ProtoMessage() {} func (x *ECRTokenForRegistryRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[141] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9446,7 +9570,7 @@ func (x *ECRTokenForRegistryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ECRTokenForRegistryRequest.ProtoReflect.Descriptor instead. func (*ECRTokenForRegistryRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{141} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{143} } func (x *ECRTokenForRegistryRequest) GetProjectId() int64 { @@ -9483,7 +9607,7 @@ type ECRTokenForRegistryResponse struct { func (x *ECRTokenForRegistryResponse) Reset() { *x = ECRTokenForRegistryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[142] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9496,7 +9620,7 @@ func (x *ECRTokenForRegistryResponse) String() string { func (*ECRTokenForRegistryResponse) ProtoMessage() {} func (x *ECRTokenForRegistryResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[142] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9509,7 +9633,7 @@ func (x *ECRTokenForRegistryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ECRTokenForRegistryResponse.ProtoReflect.Descriptor instead. func (*ECRTokenForRegistryResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{142} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{144} } func (x *ECRTokenForRegistryResponse) GetToken() string { @@ -9539,7 +9663,7 @@ type AssumeRoleCredentialsRequest struct { func (x *AssumeRoleCredentialsRequest) Reset() { *x = AssumeRoleCredentialsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[143] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9552,7 +9676,7 @@ func (x *AssumeRoleCredentialsRequest) String() string { func (*AssumeRoleCredentialsRequest) ProtoMessage() {} func (x *AssumeRoleCredentialsRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[143] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9565,7 +9689,7 @@ func (x *AssumeRoleCredentialsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AssumeRoleCredentialsRequest.ProtoReflect.Descriptor instead. func (*AssumeRoleCredentialsRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{143} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{145} } func (x *AssumeRoleCredentialsRequest) GetAwsAccountId() string { @@ -9596,7 +9720,7 @@ type AssumeRoleCredentialsResponse struct { func (x *AssumeRoleCredentialsResponse) Reset() { *x = AssumeRoleCredentialsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[144] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9609,7 +9733,7 @@ func (x *AssumeRoleCredentialsResponse) String() string { func (*AssumeRoleCredentialsResponse) ProtoMessage() {} func (x *AssumeRoleCredentialsResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[144] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9622,7 +9746,7 @@ func (x *AssumeRoleCredentialsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AssumeRoleCredentialsResponse.ProtoReflect.Descriptor instead. func (*AssumeRoleCredentialsResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{144} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{146} } func (x *AssumeRoleCredentialsResponse) GetAwsAccessId() string { @@ -9659,7 +9783,7 @@ type DockerConfigFileForRegistryRequest struct { func (x *DockerConfigFileForRegistryRequest) Reset() { *x = DockerConfigFileForRegistryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[145] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9672,7 +9796,7 @@ func (x *DockerConfigFileForRegistryRequest) String() string { func (*DockerConfigFileForRegistryRequest) ProtoMessage() {} func (x *DockerConfigFileForRegistryRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[145] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9685,7 +9809,7 @@ func (x *DockerConfigFileForRegistryRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DockerConfigFileForRegistryRequest.ProtoReflect.Descriptor instead. func (*DockerConfigFileForRegistryRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{145} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{147} } func (x *DockerConfigFileForRegistryRequest) GetProjectId() int64 { @@ -9714,7 +9838,7 @@ type DockerConfigFileForRegistryResponse struct { func (x *DockerConfigFileForRegistryResponse) Reset() { *x = DockerConfigFileForRegistryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[146] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9727,7 +9851,7 @@ func (x *DockerConfigFileForRegistryResponse) String() string { func (*DockerConfigFileForRegistryResponse) ProtoMessage() {} func (x *DockerConfigFileForRegistryResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[146] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9740,7 +9864,7 @@ func (x *DockerConfigFileForRegistryResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use DockerConfigFileForRegistryResponse.ProtoReflect.Descriptor instead. func (*DockerConfigFileForRegistryResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{146} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{148} } func (x *DockerConfigFileForRegistryResponse) GetDockerConfigFile() []byte { @@ -9763,7 +9887,7 @@ type ClusterNetworkSettingsRequest struct { func (x *ClusterNetworkSettingsRequest) Reset() { *x = ClusterNetworkSettingsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[147] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9776,7 +9900,7 @@ func (x *ClusterNetworkSettingsRequest) String() string { func (*ClusterNetworkSettingsRequest) ProtoMessage() {} func (x *ClusterNetworkSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[147] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9789,7 +9913,7 @@ func (x *ClusterNetworkSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClusterNetworkSettingsRequest.ProtoReflect.Descriptor instead. func (*ClusterNetworkSettingsRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{147} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{149} } func (x *ClusterNetworkSettingsRequest) GetProjectId() int64 { @@ -9829,7 +9953,7 @@ type ClusterNetworkSettingsResponse struct { func (x *ClusterNetworkSettingsResponse) Reset() { *x = ClusterNetworkSettingsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[148] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9842,7 +9966,7 @@ func (x *ClusterNetworkSettingsResponse) String() string { func (*ClusterNetworkSettingsResponse) ProtoMessage() {} func (x *ClusterNetworkSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[148] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9855,7 +9979,7 @@ func (x *ClusterNetworkSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClusterNetworkSettingsResponse.ProtoReflect.Descriptor instead. func (*ClusterNetworkSettingsResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{148} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{150} } func (x *ClusterNetworkSettingsResponse) GetRegion() string { @@ -9930,7 +10054,7 @@ type ListDatastoresRequest struct { func (x *ListDatastoresRequest) Reset() { *x = ListDatastoresRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[149] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9943,7 +10067,7 @@ func (x *ListDatastoresRequest) String() string { func (*ListDatastoresRequest) ProtoMessage() {} func (x *ListDatastoresRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[149] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9956,7 +10080,7 @@ func (x *ListDatastoresRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDatastoresRequest.ProtoReflect.Descriptor instead. func (*ListDatastoresRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{149} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{151} } func (x *ListDatastoresRequest) GetProjectId() int64 { @@ -10021,7 +10145,7 @@ type ListDatastoresResponse struct { func (x *ListDatastoresResponse) Reset() { *x = ListDatastoresResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[150] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10034,7 +10158,7 @@ func (x *ListDatastoresResponse) String() string { func (*ListDatastoresResponse) ProtoMessage() {} func (x *ListDatastoresResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[150] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10047,7 +10171,7 @@ func (x *ListDatastoresResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDatastoresResponse.ProtoReflect.Descriptor instead. func (*ListDatastoresResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{150} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{152} } func (x *ListDatastoresResponse) GetDatastores() []*Datastore { @@ -10076,7 +10200,7 @@ type DatastoreStatusRequest struct { func (x *DatastoreStatusRequest) Reset() { *x = DatastoreStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[151] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10089,7 +10213,7 @@ func (x *DatastoreStatusRequest) String() string { func (*DatastoreStatusRequest) ProtoMessage() {} func (x *DatastoreStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[151] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10102,7 +10226,7 @@ func (x *DatastoreStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DatastoreStatusRequest.ProtoReflect.Descriptor instead. func (*DatastoreStatusRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{151} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{153} } func (x *DatastoreStatusRequest) GetProjectId() int64 { @@ -10146,7 +10270,7 @@ type DatastoreStatusResponse struct { func (x *DatastoreStatusResponse) Reset() { *x = DatastoreStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[152] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10159,7 +10283,7 @@ func (x *DatastoreStatusResponse) String() string { func (*DatastoreStatusResponse) ProtoMessage() {} func (x *DatastoreStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[152] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10172,7 +10296,7 @@ func (x *DatastoreStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DatastoreStatusResponse.ProtoReflect.Descriptor instead. func (*DatastoreStatusResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{152} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{154} } func (x *DatastoreStatusResponse) GetStatus() string { @@ -10201,7 +10325,7 @@ type Datastore struct { func (x *Datastore) Reset() { *x = Datastore{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[153] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10214,7 +10338,7 @@ func (x *Datastore) String() string { func (*Datastore) ProtoMessage() {} func (x *Datastore) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[153] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10227,7 +10351,7 @@ func (x *Datastore) ProtoReflect() protoreflect.Message { // Deprecated: Use Datastore.ProtoReflect.Descriptor instead. func (*Datastore) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{153} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{155} } func (x *Datastore) GetType() EnumDatastore { @@ -10273,7 +10397,7 @@ type DatastoreMetadata struct { func (x *DatastoreMetadata) Reset() { *x = DatastoreMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[154] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10286,7 +10410,7 @@ func (x *DatastoreMetadata) String() string { func (*DatastoreMetadata) ProtoMessage() {} func (x *DatastoreMetadata) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[154] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10299,7 +10423,7 @@ func (x *DatastoreMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use DatastoreMetadata.ProtoReflect.Descriptor instead. func (*DatastoreMetadata) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{154} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{156} } func (x *DatastoreMetadata) GetName() string { @@ -10331,7 +10455,7 @@ type RegistryStatusRequest struct { func (x *RegistryStatusRequest) Reset() { *x = RegistryStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[155] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10344,7 +10468,7 @@ func (x *RegistryStatusRequest) String() string { func (*RegistryStatusRequest) ProtoMessage() {} func (x *RegistryStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[155] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10357,7 +10481,7 @@ func (x *RegistryStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegistryStatusRequest.ProtoReflect.Descriptor instead. func (*RegistryStatusRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{155} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{157} } func (x *RegistryStatusRequest) GetProjectId() int64 { @@ -10387,7 +10511,7 @@ type RegistryStatusResponse struct { func (x *RegistryStatusResponse) Reset() { *x = RegistryStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[156] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10400,7 +10524,7 @@ func (x *RegistryStatusResponse) String() string { func (*RegistryStatusResponse) ProtoMessage() {} func (x *RegistryStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[156] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10413,7 +10537,7 @@ func (x *RegistryStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegistryStatusResponse.ProtoReflect.Descriptor instead. func (*RegistryStatusResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{156} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{158} } func (x *RegistryStatusResponse) GetIsVulnerabilityScanningEnabled() bool { @@ -10440,7 +10564,7 @@ type SharedNetworkSettingsRequest struct { func (x *SharedNetworkSettingsRequest) Reset() { *x = SharedNetworkSettingsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[157] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10453,7 +10577,7 @@ func (x *SharedNetworkSettingsRequest) String() string { func (*SharedNetworkSettingsRequest) ProtoMessage() {} func (x *SharedNetworkSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[157] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10466,7 +10590,7 @@ func (x *SharedNetworkSettingsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SharedNetworkSettingsRequest.ProtoReflect.Descriptor instead. func (*SharedNetworkSettingsRequest) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{157} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{159} } func (x *SharedNetworkSettingsRequest) GetProjectId() int64 { @@ -10515,7 +10639,7 @@ type SharedNetworkSettingsResponse struct { func (x *SharedNetworkSettingsResponse) Reset() { *x = SharedNetworkSettingsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[158] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10528,7 +10652,7 @@ func (x *SharedNetworkSettingsResponse) String() string { func (*SharedNetworkSettingsResponse) ProtoMessage() {} func (x *SharedNetworkSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[158] + mi := &file_porter_v1_cluster_control_plane_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10541,7 +10665,7 @@ func (x *SharedNetworkSettingsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SharedNetworkSettingsResponse.ProtoReflect.Descriptor instead. func (*SharedNetworkSettingsResponse) Descriptor() ([]byte, []int) { - return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{158} + return file_porter_v1_cluster_control_plane_proto_rawDescGZIP(), []int{160} } func (x *SharedNetworkSettingsResponse) GetRegion() string { @@ -11916,806 +12040,828 @@ var file_porter_v1_cluster_control_plane_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3c, 0x0a, 0x1b, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x5f, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, - 0x22, 0xb6, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x59, 0x0a, 0x15, 0x45, 0x4b, 0x53, - 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x3a, 0x02, 0x18, 0x01, 0x22, 0x32, 0x0a, 0x16, 0x45, 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, 0x65, - 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x63, 0x0a, 0x1f, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x64, 0x0a, - 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x3a, - 0x02, 0x18, 0x01, 0x22, 0x42, 0x0a, 0x1d, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, - 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x14, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x65, 0x0a, 0x1e, 0x41, 0x73, 0x73, 0x75, 0x6d, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, 0x6d, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0a, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x7d, - 0x0a, 0x1a, 0x45, 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x77, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x77, 0x73, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x6b, 0x0a, - 0x1b, 0x45, 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x67, 0x0a, 0x1c, 0x41, 0x73, - 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x77, - 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, - 0x02, 0x18, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x1d, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x77, 0x73, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x77, - 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x77, 0x73, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, - 0x2a, 0x0a, 0x11, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x77, 0x73, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x22, - 0x6a, 0x0a, 0x22, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, - 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x55, 0x72, 0x69, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x57, 0x0a, 0x23, 0x44, - 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, - 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, - 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, - 0x3a, 0x02, 0x18, 0x01, 0x22, 0x5d, 0x0a, 0x1d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, + 0x61, 0x70, 0x70, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, + 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x15, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x22, 0x3d, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, + 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, + 0x5a, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, - 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x43, 0x0a, - 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x12, 0x50, 0x0a, 0x1a, 0x65, 0x6b, 0x73, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x57, 0x53, 0x56, 0x70, 0x63, 0x48, 0x00, 0x52, 0x17, 0x65, 0x6b, 0x73, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xdd, - 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x48, - 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, - 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4e, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x98, - 0x01, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x64, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x22, 0x59, 0x0a, 0x15, 0x45, 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x17, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x01, 0x0a, - 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, 0x3d, 0x0a, - 0x11, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x57, 0x0a, 0x15, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x49, 0x0a, 0x21, 0x69, 0x73, 0x5f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x69, 0x73, 0x56, 0x75, - 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x7f, 0x0a, 0x1c, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x1d, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x32, 0x0a, 0x16, 0x45, + 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x22, + 0x63, 0x0a, 0x1f, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, + 0x3a, 0x02, 0x18, 0x01, 0x22, 0x64, 0x0a, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x42, 0x0a, 0x1d, 0x41, 0x73, + 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x65, + 0x0a, 0x1e, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, + 0x73, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x7d, 0x0a, 0x1a, 0x45, 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x77, + 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x3a, 0x02, 0x18, 0x01, 0x22, 0x6b, 0x0a, 0x1b, 0x45, 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x3a, 0x02, 0x18, + 0x01, 0x22, 0x67, 0x0a, 0x1c, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x77, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x1d, 0x41, + 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, + 0x61, 0x77, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, + 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x61, 0x77, 0x73, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x6a, 0x0a, 0x22, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x55, 0x72, 0x69, 0x3a, 0x02, + 0x18, 0x01, 0x22, 0x57, 0x0a, 0x23, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x6f, 0x63, + 0x6b, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x5d, 0x0a, 0x1d, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x1e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x69, 0x64, 0x72, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x49, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x1a, 0x65, 0x6b, 0x73, 0x5f, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x57, 0x53, 0x56, 0x70, 0x63, 0x48, - 0x00, 0x52, 0x17, 0x65, 0x6b, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x2a, 0x5a, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, - 0x4d, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, - 0x0a, 0x1c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, - 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, - 0x2a, 0xab, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x1a, 0x65, 0x6b, 0x73, + 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x57, 0x53, 0x56, 0x70, 0x63, + 0x48, 0x00, 0x52, 0x17, 0x65, 0x6b, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xdd, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x43, + 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x65, 0x6e, 0x76, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x34, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x31, 0x0a, 0x17, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, + 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x03, 0x65, 0x6e, 0x76, 0x22, 0x3d, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x57, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x16, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x21, 0x69, 0x73, 0x5f, 0x76, 0x75, 0x6c, + 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1e, 0x69, 0x73, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x22, 0x7f, 0x0a, 0x1c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x1d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x50, 0x0a, 0x1a, 0x65, 0x6b, 0x73, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x57, 0x53, 0x56, 0x70, 0x63, 0x48, 0x00, 0x52, 0x17, 0x65, 0x6b, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2a, 0x5a, 0x0a, 0x11, 0x45, + 0x6e, 0x75, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, + 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x52, 0x4f, 0x4c, + 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x2a, 0xab, 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x75, 0x6d, + 0x50, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, - 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, + 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x03, 0x2a, 0xf9, - 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, - 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x55, - 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, - 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x56, 0x50, 0x43, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x4e, - 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, - 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x56, 0x43, 0x50, 0x55, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, - 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, - 0x41, 0x53, 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x45, 0x49, 0x50, 0x10, 0x03, 0x12, 0x1f, 0x0a, - 0x1b, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, - 0x45, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x04, 0x12, 0x1b, - 0x0a, 0x17, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, - 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x47, 0x43, 0x50, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x45, + 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x20, 0x0a, + 0x1c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, + 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, + 0x46, 0x55, 0x4c, 0x10, 0x03, 0x2a, 0xf9, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, - 0x53, 0x45, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x10, 0x06, 0x2a, 0x8a, 0x01, 0x0a, 0x0d, 0x45, - 0x6e, 0x75, 0x6d, 0x43, 0x4c, 0x49, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, - 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, - 0x14, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x55, 0x4d, 0x5f, - 0x43, 0x4c, 0x49, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, - 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x44, - 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x03, 0x2a, 0xdf, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x75, 0x6d, - 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, - 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x56, - 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x45, - 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, - 0x26, 0x0a, 0x22, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x4e, 0x55, 0x4d, 0x5f, - 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x29, - 0x0a, 0x25, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x04, 0x2a, 0xd4, 0x01, 0x0a, 0x1b, 0x45, 0x6e, - 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x2a, 0x45, 0x4e, 0x55, - 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x2a, 0x45, 0x4e, 0x55, - 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x4e, 0x55, - 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x53, 0x45, - 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, - 0x2a, 0xea, 0x01, 0x0a, 0x0d, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, - 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, - 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, 0x45, - 0x53, 0x51, 0x4c, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, - 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x41, 0x55, 0x52, 0x4f, - 0x52, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x12, - 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, - 0x45, 0x5f, 0x45, 0x4c, 0x41, 0x53, 0x54, 0x49, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x52, 0x45, - 0x44, 0x49, 0x53, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, - 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x45, 0x4c, 0x41, 0x53, 0x54, 0x49, 0x43, 0x41, - 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x43, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x04, 0x12, - 0x1c, 0x0a, 0x18, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, - 0x45, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x10, 0x05, 0x32, 0xea, 0x3b, - 0x0a, 0x1a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x0d, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x1f, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x30, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x13, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x12, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x65, 0x66, - 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x66, 0x6c, - 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x6f, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, - 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x75, - 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, - 0x01, 0x12, 0x6c, 0x0a, 0x14, 0x53, 0x61, 0x76, 0x65, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, - 0x76, 0x65, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, - 0x69, 0x0a, 0x14, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x72, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, - 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x20, 0x2e, 0x70, + 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x49, + 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x56, 0x50, 0x43, 0x10, + 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, + 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x56, 0x43, 0x50, + 0x55, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, + 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, 0x45, + 0x49, 0x50, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, + 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x57, 0x53, 0x5f, + 0x4e, 0x41, 0x54, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, + 0x4f, 0x54, 0x41, 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x47, 0x43, 0x50, + 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, + 0x5f, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x41, 0x53, 0x45, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x10, + 0x06, 0x2a, 0x8a, 0x01, 0x0a, 0x0d, 0x45, 0x6e, 0x75, 0x6d, 0x43, 0x4c, 0x49, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x43, 0x4c, 0x49, + 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x19, + 0x0a, 0x15, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x43, 0x4c, 0x49, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x41, + 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x03, 0x2a, 0xdf, + 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, + 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x45, + 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, + 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, + 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, + 0x0a, 0x21, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, + 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x55, + 0x49, 0x4c, 0x44, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x04, + 0x2a, 0xd4, 0x01, 0x0a, 0x1b, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x2e, 0x0a, 0x2a, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x2e, 0x0a, 0x2a, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, + 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, + 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xea, 0x01, 0x0a, 0x0d, 0x45, 0x6e, 0x75, 0x6d, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x44, 0x53, 0x5f, + 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, 0x45, 0x53, 0x51, 0x4c, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, + 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x52, + 0x44, 0x53, 0x5f, 0x41, 0x55, 0x52, 0x4f, 0x52, 0x41, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x47, 0x52, + 0x45, 0x53, 0x51, 0x4c, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x45, 0x4c, 0x41, 0x53, 0x54, 0x49, 0x43, + 0x41, 0x43, 0x48, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x53, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, + 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x45, + 0x4c, 0x41, 0x53, 0x54, 0x49, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x43, 0x41, + 0x43, 0x48, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x44, 0x53, 0x5f, 0x4d, 0x59, 0x53, + 0x51, 0x4c, 0x10, 0x05, 0x32, 0xc0, 0x3c, 0x0a, 0x1a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x1e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x30, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x13, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x65, 0x66, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x25, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x65, 0x66, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, + 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, + 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x65, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x12, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x75, + 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6c, 0x0a, 0x14, 0x53, 0x61, 0x76, 0x65, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, + 0x65, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x69, 0x0a, 0x14, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6f, 0x72, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x52, 0x65, + 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1e, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, + 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x22, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, + 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x63, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x41, 0x70, 0x70, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x03, 0x88, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, + 0x12, 0x48, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x1b, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x6f, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x75, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x2a, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x12, 0x23, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5a, 0x0a, - 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x12, - 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x1b, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, - 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, - 0x11, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x63, 0x0a, 0x12, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70, + 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, + 0x0b, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, + 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5a, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, - 0x70, 0x70, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x41, 0x70, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x13, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x28, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, - 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, - 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, - 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, - 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x50, - 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x51, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x12, + 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, + 0x0a, 0x17, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, + 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x17, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x73, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, - 0x0a, 0x17, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x53, 0x65, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x60, 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, - 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, + 0x12, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x53, 0x65, 0x65, + 0x64, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x64, 0x41, 0x70, + 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x65, 0x64, 0x41, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1b, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x57, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x70, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x41, 0x70, + 0x70, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x76, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, + 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x6f, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x7b, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, + 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2c, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x1a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, - 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2c, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, - 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, - 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x48, 0x65, 0x6c, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x48, 0x65, 0x6c, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x48, 0x65, 0x6c, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, - 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, - 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, - 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, + 0x0d, 0x41, 0x70, 0x70, 0x48, 0x65, 0x6c, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x48, 0x65, + 0x6c, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x48, + 0x65, 0x6c, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x27, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, - 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, - 0x0a, 0x14, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x4d, 0x61, 0x6e, - 0x69, 0x66, 0x65, 0x73, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x4d, 0x61, - 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, - 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x2f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, + 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x70, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x73, 0x12, 0x26, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x41, 0x70, 0x70, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, + 0x31, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x4d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x63, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x26, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x1b, 0x44, 0x6f, 0x63, 0x6b, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, - 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x69, 0x0a, 0x13, 0x45, - 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x12, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, + 0x01, 0x0a, 0x1b, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2d, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x6b, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, + 0x02, 0x01, 0x12, 0x69, 0x0a, 0x13, 0x45, 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, + 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x43, 0x52, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, - 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6f, 0x0a, 0x15, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, - 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, - 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, + 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x43, 0x52, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x6f, 0x0a, + 0x15, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x72, + 0x0a, 0x16, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x72, 0x0a, 0x16, 0x41, 0x73, 0x73, 0x75, 0x6d, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x73, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, - 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, - 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x78, 0x0a, 0x18, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0e, 0x45, 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, - 0x01, 0x12, 0x81, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x12, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, - 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x73, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, + 0x02, 0x01, 0x12, 0x78, 0x0a, 0x18, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0e, + 0x45, 0x4b, 0x53, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x4b, 0x53, 0x42, 0x65, + 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x4b, 0x53, + 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x75, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x20, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, - 0x0a, 0x1f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x31, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, - 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x23, 0x41, - 0x72, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x72, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x75, 0x0a, 0x17, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x46, 0x6f, + 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, + 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x57, 0x0a, 0x0e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x96, 0x01, 0x0a, 0x23, 0x41, 0x72, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x28, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x36, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x65, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, + 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, - 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, - 0x14, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x26, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, - 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, - 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xb3, 0x01, 0x0a, 0x0d, 0x63, - 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x18, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x76, 0x2f, - 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x50, 0x58, 0x58, 0xaa, 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x15, 0x50, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x26, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, + 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x70, 0x70, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x54, 0x6f, 0x45, 0x6e, 0x76, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x54, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x6e, 0x76, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0xb3, 0x01, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x2e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x61, 0x70, 0x69, + 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2f, 0x76, + 0x31, 0x3b, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x58, 0x58, + 0xaa, 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x09, 0x50, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x15, 0x50, 0x6f, 0x72, 0x74, 0x65, + 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12731,7 +12877,7 @@ func file_porter_v1_cluster_control_plane_proto_rawDescGZIP() []byte { } var file_porter_v1_cluster_control_plane_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_porter_v1_cluster_control_plane_proto_msgTypes = make([]protoimpl.MessageInfo, 160) +var file_porter_v1_cluster_control_plane_proto_msgTypes = make([]protoimpl.MessageInfo, 162) var file_porter_v1_cluster_control_plane_proto_goTypes = []interface{}{ (EnumUpdateTrigger)(0), // 0: porter.v1.EnumUpdateTrigger (EnumPredeployStatus)(0), // 1: porter.v1.EnumPredeployStatus @@ -12869,340 +13015,346 @@ var file_porter_v1_cluster_control_plane_proto_goTypes = []interface{}{ (*UpdateNotificationConfigResponse)(nil), // 133: porter.v1.UpdateNotificationConfigResponse (*NotificationConfigRequest)(nil), // 134: porter.v1.NotificationConfigRequest (*NotificationConfigResponse)(nil), // 135: porter.v1.NotificationConfigResponse - (*ConnectHostedProjectRequest)(nil), // 136: porter.v1.ConnectHostedProjectRequest - (*ConnectHostedProjectResponse)(nil), // 137: porter.v1.ConnectHostedProjectResponse - (*UpdateDatastoreRequest)(nil), // 138: porter.v1.UpdateDatastoreRequest - (*UpdateDatastoreResponse)(nil), // 139: porter.v1.UpdateDatastoreResponse - (*CreateDatastoreProxyRequest)(nil), // 140: porter.v1.CreateDatastoreProxyRequest - (*CreateDatastoreProxyResponse)(nil), // 141: porter.v1.CreateDatastoreProxyResponse - (*EKSBearerTokenRequest)(nil), // 142: porter.v1.EKSBearerTokenRequest - (*EKSBearerTokenResponse)(nil), // 143: porter.v1.EKSBearerTokenResponse - (*CertificateAuthorityDataRequest)(nil), // 144: porter.v1.CertificateAuthorityDataRequest - (*CertificateAuthorityDataResponse)(nil), // 145: porter.v1.CertificateAuthorityDataResponse - (*AssumeRoleChainTargetsRequest)(nil), // 146: porter.v1.AssumeRoleChainTargetsRequest - (*AssumeRoleChainTargetsResponse)(nil), // 147: porter.v1.AssumeRoleChainTargetsResponse - (*ECRTokenForRegistryRequest)(nil), // 148: porter.v1.ECRTokenForRegistryRequest - (*ECRTokenForRegistryResponse)(nil), // 149: porter.v1.ECRTokenForRegistryResponse - (*AssumeRoleCredentialsRequest)(nil), // 150: porter.v1.AssumeRoleCredentialsRequest - (*AssumeRoleCredentialsResponse)(nil), // 151: porter.v1.AssumeRoleCredentialsResponse - (*DockerConfigFileForRegistryRequest)(nil), // 152: porter.v1.DockerConfigFileForRegistryRequest - (*DockerConfigFileForRegistryResponse)(nil), // 153: porter.v1.DockerConfigFileForRegistryResponse - (*ClusterNetworkSettingsRequest)(nil), // 154: porter.v1.ClusterNetworkSettingsRequest - (*ClusterNetworkSettingsResponse)(nil), // 155: porter.v1.ClusterNetworkSettingsResponse - (*ListDatastoresRequest)(nil), // 156: porter.v1.ListDatastoresRequest - (*ListDatastoresResponse)(nil), // 157: porter.v1.ListDatastoresResponse - (*DatastoreStatusRequest)(nil), // 158: porter.v1.DatastoreStatusRequest - (*DatastoreStatusResponse)(nil), // 159: porter.v1.DatastoreStatusResponse - (*Datastore)(nil), // 160: porter.v1.Datastore - (*DatastoreMetadata)(nil), // 161: porter.v1.DatastoreMetadata - (*RegistryStatusRequest)(nil), // 162: porter.v1.RegistryStatusRequest - (*RegistryStatusResponse)(nil), // 163: porter.v1.RegistryStatusResponse - (*SharedNetworkSettingsRequest)(nil), // 164: porter.v1.SharedNetworkSettingsRequest - (*SharedNetworkSettingsResponse)(nil), // 165: porter.v1.SharedNetworkSettingsResponse - nil, // 166: porter.v1.PreflightCheckResponse.PreflightChecksEntry - (EnumCloudProvider)(0), // 167: porter.v1.EnumCloudProvider - (*GKEPreflightValues)(nil), // 168: porter.v1.GKEPreflightValues - (*EKSPreflightValues)(nil), // 169: porter.v1.EKSPreflightValues - (*Error)(nil), // 170: porter.v1.Error - (*Contract)(nil), // 171: porter.v1.Contract - (*ContractRevision)(nil), // 172: porter.v1.ContractRevision - (*timestamppb.Timestamp)(nil), // 173: google.protobuf.Timestamp - (EnumComplianceVendor)(0), // 174: porter.v1.EnumComplianceVendor - (EnumComplianceProfile)(0), // 175: porter.v1.EnumComplianceProfile - (*ContractComplianceCheckGroup)(nil), // 176: porter.v1.ContractComplianceCheckGroup - (*VendorComplianceCheck)(nil), // 177: porter.v1.VendorComplianceCheck - (*PorterApp)(nil), // 178: porter.v1.PorterApp - (*Deletions)(nil), // 179: porter.v1.Deletions - (*DeploymentTargetIdentifier)(nil), // 180: porter.v1.DeploymentTargetIdentifier - (*EnvGroupVariables)(nil), // 181: porter.v1.EnvGroupVariables - (*Addon)(nil), // 182: porter.v1.Addon - (EnumAppRevisionStatus)(0), // 183: porter.v1.EnumAppRevisionStatus - (*AppImage)(nil), // 184: porter.v1.AppImage - (*DeploymentTarget)(nil), // 185: porter.v1.DeploymentTarget - (*EnvGroup)(nil), // 186: porter.v1.EnvGroup - (*Build)(nil), // 187: porter.v1.Build - (EnumEnvGroupProviderType)(0), // 188: porter.v1.EnumEnvGroupProviderType - (*NotificationConfig)(nil), // 189: porter.v1.NotificationConfig - (*DatastoreCredential)(nil), // 190: porter.v1.DatastoreCredential - (*AssumeRoleChainLink)(nil), // 191: porter.v1.AssumeRoleChainLink - (*AWSVpc)(nil), // 192: porter.v1.AWSVpc - (*UpdateCloudProviderCredentialsRequest)(nil), // 193: porter.v1.UpdateCloudProviderCredentialsRequest - (*UpdateCloudProviderCredentialsResponse)(nil), // 194: porter.v1.UpdateCloudProviderCredentialsResponse + (*NotificationsRequest)(nil), // 136: porter.v1.NotificationsRequest + (*NotificationsResponse)(nil), // 137: porter.v1.NotificationsResponse + (*ConnectHostedProjectRequest)(nil), // 138: porter.v1.ConnectHostedProjectRequest + (*ConnectHostedProjectResponse)(nil), // 139: porter.v1.ConnectHostedProjectResponse + (*UpdateDatastoreRequest)(nil), // 140: porter.v1.UpdateDatastoreRequest + (*UpdateDatastoreResponse)(nil), // 141: porter.v1.UpdateDatastoreResponse + (*CreateDatastoreProxyRequest)(nil), // 142: porter.v1.CreateDatastoreProxyRequest + (*CreateDatastoreProxyResponse)(nil), // 143: porter.v1.CreateDatastoreProxyResponse + (*EKSBearerTokenRequest)(nil), // 144: porter.v1.EKSBearerTokenRequest + (*EKSBearerTokenResponse)(nil), // 145: porter.v1.EKSBearerTokenResponse + (*CertificateAuthorityDataRequest)(nil), // 146: porter.v1.CertificateAuthorityDataRequest + (*CertificateAuthorityDataResponse)(nil), // 147: porter.v1.CertificateAuthorityDataResponse + (*AssumeRoleChainTargetsRequest)(nil), // 148: porter.v1.AssumeRoleChainTargetsRequest + (*AssumeRoleChainTargetsResponse)(nil), // 149: porter.v1.AssumeRoleChainTargetsResponse + (*ECRTokenForRegistryRequest)(nil), // 150: porter.v1.ECRTokenForRegistryRequest + (*ECRTokenForRegistryResponse)(nil), // 151: porter.v1.ECRTokenForRegistryResponse + (*AssumeRoleCredentialsRequest)(nil), // 152: porter.v1.AssumeRoleCredentialsRequest + (*AssumeRoleCredentialsResponse)(nil), // 153: porter.v1.AssumeRoleCredentialsResponse + (*DockerConfigFileForRegistryRequest)(nil), // 154: porter.v1.DockerConfigFileForRegistryRequest + (*DockerConfigFileForRegistryResponse)(nil), // 155: porter.v1.DockerConfigFileForRegistryResponse + (*ClusterNetworkSettingsRequest)(nil), // 156: porter.v1.ClusterNetworkSettingsRequest + (*ClusterNetworkSettingsResponse)(nil), // 157: porter.v1.ClusterNetworkSettingsResponse + (*ListDatastoresRequest)(nil), // 158: porter.v1.ListDatastoresRequest + (*ListDatastoresResponse)(nil), // 159: porter.v1.ListDatastoresResponse + (*DatastoreStatusRequest)(nil), // 160: porter.v1.DatastoreStatusRequest + (*DatastoreStatusResponse)(nil), // 161: porter.v1.DatastoreStatusResponse + (*Datastore)(nil), // 162: porter.v1.Datastore + (*DatastoreMetadata)(nil), // 163: porter.v1.DatastoreMetadata + (*RegistryStatusRequest)(nil), // 164: porter.v1.RegistryStatusRequest + (*RegistryStatusResponse)(nil), // 165: porter.v1.RegistryStatusResponse + (*SharedNetworkSettingsRequest)(nil), // 166: porter.v1.SharedNetworkSettingsRequest + (*SharedNetworkSettingsResponse)(nil), // 167: porter.v1.SharedNetworkSettingsResponse + nil, // 168: porter.v1.PreflightCheckResponse.PreflightChecksEntry + (EnumCloudProvider)(0), // 169: porter.v1.EnumCloudProvider + (*GKEPreflightValues)(nil), // 170: porter.v1.GKEPreflightValues + (*EKSPreflightValues)(nil), // 171: porter.v1.EKSPreflightValues + (*Error)(nil), // 172: porter.v1.Error + (*Contract)(nil), // 173: porter.v1.Contract + (*ContractRevision)(nil), // 174: porter.v1.ContractRevision + (*timestamppb.Timestamp)(nil), // 175: google.protobuf.Timestamp + (EnumComplianceVendor)(0), // 176: porter.v1.EnumComplianceVendor + (EnumComplianceProfile)(0), // 177: porter.v1.EnumComplianceProfile + (*ContractComplianceCheckGroup)(nil), // 178: porter.v1.ContractComplianceCheckGroup + (*VendorComplianceCheck)(nil), // 179: porter.v1.VendorComplianceCheck + (*PorterApp)(nil), // 180: porter.v1.PorterApp + (*Deletions)(nil), // 181: porter.v1.Deletions + (*DeploymentTargetIdentifier)(nil), // 182: porter.v1.DeploymentTargetIdentifier + (*EnvGroupVariables)(nil), // 183: porter.v1.EnvGroupVariables + (*Addon)(nil), // 184: porter.v1.Addon + (EnumAppRevisionStatus)(0), // 185: porter.v1.EnumAppRevisionStatus + (*AppImage)(nil), // 186: porter.v1.AppImage + (*DeploymentTarget)(nil), // 187: porter.v1.DeploymentTarget + (*EnvGroup)(nil), // 188: porter.v1.EnvGroup + (*Build)(nil), // 189: porter.v1.Build + (EnumEnvGroupProviderType)(0), // 190: porter.v1.EnumEnvGroupProviderType + (*NotificationConfig)(nil), // 191: porter.v1.NotificationConfig + (*Notification)(nil), // 192: porter.v1.Notification + (*DatastoreCredential)(nil), // 193: porter.v1.DatastoreCredential + (*AssumeRoleChainLink)(nil), // 194: porter.v1.AssumeRoleChainLink + (*AWSVpc)(nil), // 195: porter.v1.AWSVpc + (*UpdateCloudProviderCredentialsRequest)(nil), // 196: porter.v1.UpdateCloudProviderCredentialsRequest + (*UpdateCloudProviderCredentialsResponse)(nil), // 197: porter.v1.UpdateCloudProviderCredentialsResponse } var file_porter_v1_cluster_control_plane_proto_depIdxs = []int32{ - 167, // 0: porter.v1.QuotaIncreaseRequest.cloud_provider:type_name -> porter.v1.EnumCloudProvider + 169, // 0: porter.v1.QuotaIncreaseRequest.cloud_provider:type_name -> porter.v1.EnumCloudProvider 2, // 1: porter.v1.QuotaIncreaseRequest.quota_increases:type_name -> porter.v1.EnumQuotaIncrease - 168, // 2: porter.v1.QuotaIncreaseRequest.gke_preflight_values:type_name -> porter.v1.GKEPreflightValues - 169, // 3: porter.v1.QuotaIncreaseRequest.eks_preflight_values:type_name -> porter.v1.EKSPreflightValues - 170, // 4: porter.v1.QuotaIncreaseResponse.error:type_name -> porter.v1.Error - 167, // 5: porter.v1.PreflightCheckRequest.cloud_provider:type_name -> porter.v1.EnumCloudProvider - 168, // 6: porter.v1.PreflightCheckRequest.gke_preflight_values:type_name -> porter.v1.GKEPreflightValues - 169, // 7: porter.v1.PreflightCheckRequest.eks_preflight_values:type_name -> porter.v1.EKSPreflightValues - 171, // 8: porter.v1.PreflightCheckRequest.contract:type_name -> porter.v1.Contract - 166, // 9: porter.v1.PreflightCheckResponse.preflight_checks:type_name -> porter.v1.PreflightCheckResponse.PreflightChecksEntry - 171, // 10: porter.v1.UpdateContractRequest.contract:type_name -> porter.v1.Contract - 172, // 11: porter.v1.UpdateContractResponse.contract_revision:type_name -> porter.v1.ContractRevision - 172, // 12: porter.v1.DeleteClusterRequest.contract_revision:type_name -> porter.v1.ContractRevision + 170, // 2: porter.v1.QuotaIncreaseRequest.gke_preflight_values:type_name -> porter.v1.GKEPreflightValues + 171, // 3: porter.v1.QuotaIncreaseRequest.eks_preflight_values:type_name -> porter.v1.EKSPreflightValues + 172, // 4: porter.v1.QuotaIncreaseResponse.error:type_name -> porter.v1.Error + 169, // 5: porter.v1.PreflightCheckRequest.cloud_provider:type_name -> porter.v1.EnumCloudProvider + 170, // 6: porter.v1.PreflightCheckRequest.gke_preflight_values:type_name -> porter.v1.GKEPreflightValues + 171, // 7: porter.v1.PreflightCheckRequest.eks_preflight_values:type_name -> porter.v1.EKSPreflightValues + 173, // 8: porter.v1.PreflightCheckRequest.contract:type_name -> porter.v1.Contract + 168, // 9: porter.v1.PreflightCheckResponse.preflight_checks:type_name -> porter.v1.PreflightCheckResponse.PreflightChecksEntry + 173, // 10: porter.v1.UpdateContractRequest.contract:type_name -> porter.v1.Contract + 174, // 11: porter.v1.UpdateContractResponse.contract_revision:type_name -> porter.v1.ContractRevision + 174, // 12: porter.v1.DeleteClusterRequest.contract_revision:type_name -> porter.v1.ContractRevision 27, // 13: porter.v1.ListRepositoriesForRegistryResponse.repositories:type_name -> porter.v1.Repository 30, // 14: porter.v1.ListImagesForRepositoryResponse.images:type_name -> porter.v1.Image - 173, // 15: porter.v1.Image.updated_at:type_name -> google.protobuf.Timestamp + 175, // 15: porter.v1.Image.updated_at:type_name -> google.protobuf.Timestamp 32, // 16: porter.v1.ImageInfo.artifacts:type_name -> porter.v1.ImageArtifact - 173, // 17: porter.v1.ImageArtifact.updated_at:type_name -> google.protobuf.Timestamp - 173, // 18: porter.v1.TokenForRegistryResponse.expiry:type_name -> google.protobuf.Timestamp - 172, // 19: porter.v1.ReadContractRequest.contract_revision:type_name -> porter.v1.ContractRevision - 174, // 20: porter.v1.ContractComplianceChecksRequest.vendor:type_name -> porter.v1.EnumComplianceVendor - 175, // 21: porter.v1.ContractComplianceChecksRequest.profile:type_name -> porter.v1.EnumComplianceProfile - 176, // 22: porter.v1.ContractComplianceChecksResponse.check_groups:type_name -> porter.v1.ContractComplianceCheckGroup - 177, // 23: porter.v1.ContractComplianceChecksResponse.vendor_checks:type_name -> porter.v1.VendorComplianceCheck - 178, // 24: porter.v1.ValidatePorterAppRequest.app:type_name -> porter.v1.PorterApp - 179, // 25: porter.v1.ValidatePorterAppRequest.deletions:type_name -> porter.v1.Deletions - 178, // 26: porter.v1.ValidatePorterAppRequest.app_overrides:type_name -> porter.v1.PorterApp - 180, // 27: porter.v1.ValidatePorterAppRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 178, // 28: porter.v1.ValidatePorterAppResponse.app:type_name -> porter.v1.PorterApp - 178, // 29: porter.v1.ApplyPorterAppRequest.app:type_name -> porter.v1.PorterApp - 181, // 30: porter.v1.ApplyPorterAppRequest.app_env:type_name -> porter.v1.EnvGroupVariables - 180, // 31: porter.v1.ApplyPorterAppRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 175, // 17: porter.v1.ImageArtifact.updated_at:type_name -> google.protobuf.Timestamp + 175, // 18: porter.v1.TokenForRegistryResponse.expiry:type_name -> google.protobuf.Timestamp + 174, // 19: porter.v1.ReadContractRequest.contract_revision:type_name -> porter.v1.ContractRevision + 176, // 20: porter.v1.ContractComplianceChecksRequest.vendor:type_name -> porter.v1.EnumComplianceVendor + 177, // 21: porter.v1.ContractComplianceChecksRequest.profile:type_name -> porter.v1.EnumComplianceProfile + 178, // 22: porter.v1.ContractComplianceChecksResponse.check_groups:type_name -> porter.v1.ContractComplianceCheckGroup + 179, // 23: porter.v1.ContractComplianceChecksResponse.vendor_checks:type_name -> porter.v1.VendorComplianceCheck + 180, // 24: porter.v1.ValidatePorterAppRequest.app:type_name -> porter.v1.PorterApp + 181, // 25: porter.v1.ValidatePorterAppRequest.deletions:type_name -> porter.v1.Deletions + 180, // 26: porter.v1.ValidatePorterAppRequest.app_overrides:type_name -> porter.v1.PorterApp + 182, // 27: porter.v1.ValidatePorterAppRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 180, // 28: porter.v1.ValidatePorterAppResponse.app:type_name -> porter.v1.PorterApp + 180, // 29: porter.v1.ApplyPorterAppRequest.app:type_name -> porter.v1.PorterApp + 183, // 30: porter.v1.ApplyPorterAppRequest.app_env:type_name -> porter.v1.EnvGroupVariables + 182, // 31: porter.v1.ApplyPorterAppRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier 3, // 32: porter.v1.ApplyPorterAppResponse.cli_action:type_name -> porter.v1.EnumCLIAction - 180, // 33: porter.v1.UpdateAppRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 178, // 34: porter.v1.UpdateAppRequest.app:type_name -> porter.v1.PorterApp - 181, // 35: porter.v1.UpdateAppRequest.app_env:type_name -> porter.v1.EnvGroupVariables - 179, // 36: porter.v1.UpdateAppRequest.deletions:type_name -> porter.v1.Deletions - 178, // 37: porter.v1.UpdateAppRequest.app_overrides:type_name -> porter.v1.PorterApp - 182, // 38: porter.v1.UpdateAppRequest.addons:type_name -> porter.v1.Addon - 182, // 39: porter.v1.UpdateAppRequest.addon_overrides:type_name -> porter.v1.Addon - 181, // 40: porter.v1.UpdateAppRequest.app_env_overrides:type_name -> porter.v1.EnvGroupVariables + 182, // 33: porter.v1.UpdateAppRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 180, // 34: porter.v1.UpdateAppRequest.app:type_name -> porter.v1.PorterApp + 183, // 35: porter.v1.UpdateAppRequest.app_env:type_name -> porter.v1.EnvGroupVariables + 181, // 36: porter.v1.UpdateAppRequest.deletions:type_name -> porter.v1.Deletions + 180, // 37: porter.v1.UpdateAppRequest.app_overrides:type_name -> porter.v1.PorterApp + 184, // 38: porter.v1.UpdateAppRequest.addons:type_name -> porter.v1.Addon + 184, // 39: porter.v1.UpdateAppRequest.addon_overrides:type_name -> porter.v1.Addon + 183, // 40: porter.v1.UpdateAppRequest.app_env_overrides:type_name -> porter.v1.EnvGroupVariables 3, // 41: porter.v1.UpdateAppResponse.cli_action:type_name -> porter.v1.EnumCLIAction 4, // 42: porter.v1.UpdateRevisionStatusRequest.revision_status:type_name -> porter.v1.EnumRevisionStatus - 180, // 43: porter.v1.RollbackRevisionRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 44: porter.v1.DeleteAppDeploymentRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 45: porter.v1.DeleteDeploymentTargetRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 46: porter.v1.CurrentAppRevisionRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 178, // 47: porter.v1.AppRevision.app:type_name -> porter.v1.PorterApp - 173, // 48: porter.v1.AppRevision.created_at:type_name -> google.protobuf.Timestamp - 173, // 49: porter.v1.AppRevision.updated_at:type_name -> google.protobuf.Timestamp - 183, // 50: porter.v1.AppRevisionStatusResponse.status:type_name -> porter.v1.EnumAppRevisionStatus - 184, // 51: porter.v1.UpdateRevisionPayload.image:type_name -> porter.v1.AppImage + 182, // 43: porter.v1.RollbackRevisionRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 44: porter.v1.DeleteAppDeploymentRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 45: porter.v1.DeleteDeploymentTargetRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 46: porter.v1.CurrentAppRevisionRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 180, // 47: porter.v1.AppRevision.app:type_name -> porter.v1.PorterApp + 175, // 48: porter.v1.AppRevision.created_at:type_name -> google.protobuf.Timestamp + 175, // 49: porter.v1.AppRevision.updated_at:type_name -> google.protobuf.Timestamp + 185, // 50: porter.v1.AppRevisionStatusResponse.status:type_name -> porter.v1.EnumAppRevisionStatus + 186, // 51: porter.v1.UpdateRevisionPayload.image:type_name -> porter.v1.AppImage 0, // 52: porter.v1.UpdateRevisionPayload.triggered_by:type_name -> porter.v1.EnumUpdateTrigger - 180, // 53: porter.v1.RequireAppPayload.source_deployment_target:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 53: porter.v1.RequireAppPayload.source_deployment_target:type_name -> porter.v1.DeploymentTargetIdentifier 56, // 54: porter.v1.CurrentAppRevisionResponse.app_revision:type_name -> porter.v1.AppRevision - 180, // 55: porter.v1.ListAppRevisionsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 55: porter.v1.ListAppRevisionsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier 56, // 56: porter.v1.ListAppRevisionsResponse.app_revisions:type_name -> porter.v1.AppRevision - 180, // 57: porter.v1.LatestAppRevisionsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 57: porter.v1.LatestAppRevisionsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier 56, // 58: porter.v1.LatestAppRevisionsResponse.app_revisions:type_name -> porter.v1.AppRevision 56, // 59: porter.v1.GetAppRevisionResponse.app_revision:type_name -> porter.v1.AppRevision - 178, // 60: porter.v1.AppTemplateResponse.app_template:type_name -> porter.v1.PorterApp - 181, // 61: porter.v1.AppTemplateResponse.app_env:type_name -> porter.v1.EnvGroupVariables + 180, // 60: porter.v1.AppTemplateResponse.app_template:type_name -> porter.v1.PorterApp + 183, // 61: porter.v1.AppTemplateResponse.app_env:type_name -> porter.v1.EnvGroupVariables 72, // 62: porter.v1.AppTemplateResponse.addon_templates:type_name -> porter.v1.AddonWithEnvVars - 182, // 63: porter.v1.AddonTemplatesPayload.addon_templates:type_name -> porter.v1.Addon - 182, // 64: porter.v1.AddonWithEnvVars.addon:type_name -> porter.v1.Addon - 181, // 65: porter.v1.AddonWithEnvVars.env_vars:type_name -> porter.v1.EnvGroupVariables - 178, // 66: porter.v1.UpdateAppTemplateRequest.app_template:type_name -> porter.v1.PorterApp - 181, // 67: porter.v1.UpdateAppTemplateRequest.app_env:type_name -> porter.v1.EnvGroupVariables + 184, // 63: porter.v1.AddonTemplatesPayload.addon_templates:type_name -> porter.v1.Addon + 184, // 64: porter.v1.AddonWithEnvVars.addon:type_name -> porter.v1.Addon + 183, // 65: porter.v1.AddonWithEnvVars.env_vars:type_name -> porter.v1.EnvGroupVariables + 180, // 66: porter.v1.UpdateAppTemplateRequest.app_template:type_name -> porter.v1.PorterApp + 183, // 67: porter.v1.UpdateAppTemplateRequest.app_env:type_name -> porter.v1.EnvGroupVariables 72, // 68: porter.v1.UpdateAppTemplateRequest.addon_templates:type_name -> porter.v1.AddonWithEnvVars - 180, // 69: porter.v1.LatestAddonsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 182, // 70: porter.v1.LatestAddonsResponse.addons:type_name -> porter.v1.Addon + 182, // 69: porter.v1.LatestAddonsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 184, // 70: porter.v1.LatestAddonsResponse.addons:type_name -> porter.v1.Addon 1, // 71: porter.v1.PredeployStatusResponse.predeploy_status:type_name -> porter.v1.EnumPredeployStatus - 180, // 72: porter.v1.DeploymentTargetDetailsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 185, // 73: porter.v1.DeploymentTargetDetailsResponse.deployment_target:type_name -> porter.v1.DeploymentTarget - 185, // 74: porter.v1.DeploymentTargetsResponse.deployment_targets:type_name -> porter.v1.DeploymentTarget - 185, // 75: porter.v1.DefaultDeploymentTargetResponse.deployment_target:type_name -> porter.v1.DeploymentTarget - 186, // 76: porter.v1.EnvGroupVariablesRequest.env_group:type_name -> porter.v1.EnvGroup - 180, // 77: porter.v1.EnvGroupVariablesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 181, // 78: porter.v1.EnvGroupVariablesResponse.env_group_variables:type_name -> porter.v1.EnvGroupVariables - 180, // 79: porter.v1.LatestEnvGroupWithVariablesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 186, // 80: porter.v1.LatestEnvGroupWithVariablesResponse.env_group:type_name -> porter.v1.EnvGroup - 181, // 81: porter.v1.LatestEnvGroupWithVariablesResponse.env_group_variables:type_name -> porter.v1.EnvGroupVariables - 180, // 82: porter.v1.AppEnvVariablesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 181, // 83: porter.v1.AppEnvVariablesResponse.env_variables:type_name -> porter.v1.EnvGroupVariables - 180, // 84: porter.v1.UpdateAppImageRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 85: porter.v1.UpdateAppBuildSettingsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 187, // 86: porter.v1.UpdateAppBuildSettingsRequest.build:type_name -> porter.v1.Build - 180, // 87: porter.v1.AppHelmValuesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 88: porter.v1.ManualServiceRunRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 184, // 89: porter.v1.ManualServiceRunRequest.image:type_name -> porter.v1.AppImage + 182, // 72: porter.v1.DeploymentTargetDetailsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 187, // 73: porter.v1.DeploymentTargetDetailsResponse.deployment_target:type_name -> porter.v1.DeploymentTarget + 187, // 74: porter.v1.DeploymentTargetsResponse.deployment_targets:type_name -> porter.v1.DeploymentTarget + 187, // 75: porter.v1.DefaultDeploymentTargetResponse.deployment_target:type_name -> porter.v1.DeploymentTarget + 188, // 76: porter.v1.EnvGroupVariablesRequest.env_group:type_name -> porter.v1.EnvGroup + 182, // 77: porter.v1.EnvGroupVariablesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 183, // 78: porter.v1.EnvGroupVariablesResponse.env_group_variables:type_name -> porter.v1.EnvGroupVariables + 182, // 79: porter.v1.LatestEnvGroupWithVariablesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 188, // 80: porter.v1.LatestEnvGroupWithVariablesResponse.env_group:type_name -> porter.v1.EnvGroup + 183, // 81: porter.v1.LatestEnvGroupWithVariablesResponse.env_group_variables:type_name -> porter.v1.EnvGroupVariables + 182, // 82: porter.v1.AppEnvVariablesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 183, // 83: porter.v1.AppEnvVariablesResponse.env_variables:type_name -> porter.v1.EnvGroupVariables + 182, // 84: porter.v1.UpdateAppImageRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 85: porter.v1.UpdateAppBuildSettingsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 189, // 86: porter.v1.UpdateAppBuildSettingsRequest.build:type_name -> porter.v1.Build + 182, // 87: porter.v1.AppHelmValuesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 88: porter.v1.ManualServiceRunRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 186, // 89: porter.v1.ManualServiceRunRequest.image:type_name -> porter.v1.AppImage 31, // 90: porter.v1.ImagesResponse.images:type_name -> porter.v1.ImageInfo - 180, // 91: porter.v1.CreateAppInstanceRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 92: porter.v1.DeleteAppInstanceRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 93: porter.v1.ListAppInstancesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 91: porter.v1.CreateAppInstanceRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 92: porter.v1.DeleteAppInstanceRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 93: porter.v1.ListAppInstancesRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier 115, // 94: porter.v1.ListAppInstancesResponse.app_instances:type_name -> porter.v1.AppInstance - 180, // 95: porter.v1.TemplateAppManifestsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 96: porter.v1.CreateNotificationRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier - 180, // 97: porter.v1.UpdateServiceDeploymentStatusRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 95: porter.v1.TemplateAppManifestsRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 96: porter.v1.CreateNotificationRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier + 182, // 97: porter.v1.UpdateServiceDeploymentStatusRequest.deployment_target_identifier:type_name -> porter.v1.DeploymentTargetIdentifier 5, // 98: porter.v1.UpdateServiceDeploymentStatusRequest.status:type_name -> porter.v1.EnumServiceDeploymentStatus - 188, // 99: porter.v1.CreateOrUpdateEnvGroupRequest.env_group_provider_type:type_name -> porter.v1.EnumEnvGroupProviderType - 188, // 100: porter.v1.DeleteEnvGroupRequest.env_group_provider_type:type_name -> porter.v1.EnumEnvGroupProviderType + 190, // 99: porter.v1.CreateOrUpdateEnvGroupRequest.env_group_provider_type:type_name -> porter.v1.EnumEnvGroupProviderType + 190, // 100: porter.v1.DeleteEnvGroupRequest.env_group_provider_type:type_name -> porter.v1.EnumEnvGroupProviderType 115, // 101: porter.v1.AppsLinkedToEnvGroupResponse.linked_apps:type_name -> porter.v1.AppInstance - 186, // 102: porter.v1.ListEnvGroupsResponse.env_groups:type_name -> porter.v1.EnvGroup - 189, // 103: porter.v1.UpdateNotificationConfigRequest.config:type_name -> porter.v1.NotificationConfig - 189, // 104: porter.v1.NotificationConfigResponse.config:type_name -> porter.v1.NotificationConfig - 190, // 105: porter.v1.CreateDatastoreProxyResponse.credential:type_name -> porter.v1.DatastoreCredential - 191, // 106: porter.v1.AssumeRoleChainTargetsResponse.chain_links:type_name -> porter.v1.AssumeRoleChainLink - 173, // 107: porter.v1.ECRTokenForRegistryResponse.expiry:type_name -> google.protobuf.Timestamp - 167, // 108: porter.v1.ClusterNetworkSettingsResponse.cloud_provider:type_name -> porter.v1.EnumCloudProvider - 192, // 109: porter.v1.ClusterNetworkSettingsResponse.eks_cloud_provider_network:type_name -> porter.v1.AWSVpc - 167, // 110: porter.v1.ListDatastoresRequest.cloud_provider:type_name -> porter.v1.EnumCloudProvider - 6, // 111: porter.v1.ListDatastoresRequest.type:type_name -> porter.v1.EnumDatastore - 160, // 112: porter.v1.ListDatastoresResponse.datastores:type_name -> porter.v1.Datastore - 6, // 113: porter.v1.DatastoreStatusRequest.type:type_name -> porter.v1.EnumDatastore - 6, // 114: porter.v1.Datastore.type:type_name -> porter.v1.EnumDatastore - 161, // 115: porter.v1.Datastore.metadata:type_name -> porter.v1.DatastoreMetadata - 186, // 116: porter.v1.Datastore.env:type_name -> porter.v1.EnvGroup - 167, // 117: porter.v1.SharedNetworkSettingsResponse.cloud_provider:type_name -> porter.v1.EnumCloudProvider - 192, // 118: porter.v1.SharedNetworkSettingsResponse.eks_cloud_provider_network:type_name -> porter.v1.AWSVpc - 170, // 119: porter.v1.PreflightCheckResponse.PreflightChecksEntry.value:type_name -> porter.v1.Error - 7, // 120: porter.v1.ClusterControlPlaneService.QuotaIncrease:input_type -> porter.v1.QuotaIncreaseRequest - 193, // 121: porter.v1.ClusterControlPlaneService.UpdateCloudProviderCredentials:input_type -> porter.v1.UpdateCloudProviderCredentialsRequest - 11, // 122: porter.v1.ClusterControlPlaneService.QuotaPreflightCheck:input_type -> porter.v1.QuotaPreflightCheckRequest - 9, // 123: porter.v1.ClusterControlPlaneService.PreflightCheck:input_type -> porter.v1.PreflightCheckRequest - 13, // 124: porter.v1.ClusterControlPlaneService.CreateAssumeRoleChain:input_type -> porter.v1.CreateAssumeRoleChainRequest - 15, // 125: porter.v1.ClusterControlPlaneService.SaveAzureCredentials:input_type -> porter.v1.SaveAzureCredentialsRequest - 17, // 126: porter.v1.ClusterControlPlaneService.KubeConfigForCluster:input_type -> porter.v1.KubeConfigForClusterRequest - 19, // 127: porter.v1.ClusterControlPlaneService.UpdateContract:input_type -> porter.v1.UpdateContractRequest - 35, // 128: porter.v1.ClusterControlPlaneService.ReadContract:input_type -> porter.v1.ReadContractRequest - 21, // 129: porter.v1.ClusterControlPlaneService.ClusterStatus:input_type -> porter.v1.ClusterStatusRequest - 23, // 130: porter.v1.ClusterControlPlaneService.DeleteCluster:input_type -> porter.v1.DeleteClusterRequest - 33, // 131: porter.v1.ClusterControlPlaneService.TokenForRegistry:input_type -> porter.v1.TokenForRegistryRequest - 37, // 132: porter.v1.ClusterControlPlaneService.ContractComplianceChecks:input_type -> porter.v1.ContractComplianceChecksRequest - 39, // 133: porter.v1.ClusterControlPlaneService.ValidatePorterApp:input_type -> porter.v1.ValidatePorterAppRequest - 41, // 134: porter.v1.ClusterControlPlaneService.ApplyPorterApp:input_type -> porter.v1.ApplyPorterAppRequest - 43, // 135: porter.v1.ClusterControlPlaneService.UpdateApp:input_type -> porter.v1.UpdateAppRequest - 47, // 136: porter.v1.ClusterControlPlaneService.RollbackRevision:input_type -> porter.v1.RollbackRevisionRequest - 45, // 137: porter.v1.ClusterControlPlaneService.UpdateRevisionStatus:input_type -> porter.v1.UpdateRevisionStatusRequest - 57, // 138: porter.v1.ClusterControlPlaneService.AppRevisionStatus:input_type -> porter.v1.AppRevisionStatusRequest - 49, // 139: porter.v1.ClusterControlPlaneService.DeletePorterApp:input_type -> porter.v1.DeletePorterAppRequest - 51, // 140: porter.v1.ClusterControlPlaneService.DeleteAppDeployment:input_type -> porter.v1.DeleteAppDeploymentRequest - 53, // 141: porter.v1.ClusterControlPlaneService.DeleteDeploymentTarget:input_type -> porter.v1.DeleteDeploymentTargetRequest - 55, // 142: porter.v1.ClusterControlPlaneService.CurrentAppRevision:input_type -> porter.v1.CurrentAppRevisionRequest - 63, // 143: porter.v1.ClusterControlPlaneService.ListAppRevisions:input_type -> porter.v1.ListAppRevisionsRequest - 65, // 144: porter.v1.ClusterControlPlaneService.LatestAppRevisions:input_type -> porter.v1.LatestAppRevisionsRequest - 67, // 145: porter.v1.ClusterControlPlaneService.GetAppRevision:input_type -> porter.v1.GetAppRevisionRequest - 69, // 146: porter.v1.ClusterControlPlaneService.AppTemplate:input_type -> porter.v1.AppTemplateRequest - 73, // 147: porter.v1.ClusterControlPlaneService.UpdateAppTemplate:input_type -> porter.v1.UpdateAppTemplateRequest - 75, // 148: porter.v1.ClusterControlPlaneService.LatestAddons:input_type -> porter.v1.LatestAddonsRequest - 77, // 149: porter.v1.ClusterControlPlaneService.PredeployStatus:input_type -> porter.v1.PredeployStatusRequest - 79, // 150: porter.v1.ClusterControlPlaneService.DeploymentTargetDetails:input_type -> porter.v1.DeploymentTargetDetailsRequest - 81, // 151: porter.v1.ClusterControlPlaneService.CreateDeploymentTarget:input_type -> porter.v1.CreateDeploymentTargetRequest - 83, // 152: porter.v1.ClusterControlPlaneService.DeploymentTargets:input_type -> porter.v1.DeploymentTargetsRequest - 85, // 153: porter.v1.ClusterControlPlaneService.DefaultDeploymentTarget:input_type -> porter.v1.DefaultDeploymentTargetRequest - 87, // 154: porter.v1.ClusterControlPlaneService.SeedAppRevisions:input_type -> porter.v1.SeedAppRevisionsRequest - 89, // 155: porter.v1.ClusterControlPlaneService.EnvGroupVariables:input_type -> porter.v1.EnvGroupVariablesRequest - 91, // 156: porter.v1.ClusterControlPlaneService.LatestEnvGroupWithVariables:input_type -> porter.v1.LatestEnvGroupWithVariablesRequest - 93, // 157: porter.v1.ClusterControlPlaneService.AppEnvVariables:input_type -> porter.v1.AppEnvVariablesRequest - 95, // 158: porter.v1.ClusterControlPlaneService.UpdateAppImage:input_type -> porter.v1.UpdateAppImageRequest - 97, // 159: porter.v1.ClusterControlPlaneService.UpdateAppBuildSettings:input_type -> porter.v1.UpdateAppBuildSettingsRequest - 99, // 160: porter.v1.ClusterControlPlaneService.UpdateAppsLinkedToEnvGroup:input_type -> porter.v1.UpdateAppsLinkedToEnvGroupRequest - 101, // 161: porter.v1.ClusterControlPlaneService.AppHelmValues:input_type -> porter.v1.AppHelmValuesRequest - 103, // 162: porter.v1.ClusterControlPlaneService.ManualServiceRun:input_type -> porter.v1.ManualServiceRunRequest - 154, // 163: porter.v1.ClusterControlPlaneService.ClusterNetworkSettings:input_type -> porter.v1.ClusterNetworkSettingsRequest - 164, // 164: porter.v1.ClusterControlPlaneService.SharedNetworkSettings:input_type -> porter.v1.SharedNetworkSettingsRequest - 105, // 165: porter.v1.ClusterControlPlaneService.Images:input_type -> porter.v1.ImagesRequest - 107, // 166: porter.v1.ClusterControlPlaneService.CreateAppInstance:input_type -> porter.v1.CreateAppInstanceRequest - 109, // 167: porter.v1.ClusterControlPlaneService.DeleteAppInstance:input_type -> porter.v1.DeleteAppInstanceRequest - 111, // 168: porter.v1.ClusterControlPlaneService.ListAppInstances:input_type -> porter.v1.ListAppInstancesRequest - 113, // 169: porter.v1.ClusterControlPlaneService.TemplateAppManifests:input_type -> porter.v1.TemplateAppManifestsRequest - 116, // 170: porter.v1.ClusterControlPlaneService.CreateNotification:input_type -> porter.v1.CreateNotificationRequest - 118, // 171: porter.v1.ClusterControlPlaneService.UpdateServiceDeploymentStatus:input_type -> porter.v1.UpdateServiceDeploymentStatusRequest - 136, // 172: porter.v1.ClusterControlPlaneService.ConnectHostedProject:input_type -> porter.v1.ConnectHostedProjectRequest - 138, // 173: porter.v1.ClusterControlPlaneService.UpdateDatastore:input_type -> porter.v1.UpdateDatastoreRequest - 140, // 174: porter.v1.ClusterControlPlaneService.CreateDatastoreProxy:input_type -> porter.v1.CreateDatastoreProxyRequest - 152, // 175: porter.v1.ClusterControlPlaneService.DockerConfigFileForRegistry:input_type -> porter.v1.DockerConfigFileForRegistryRequest - 148, // 176: porter.v1.ClusterControlPlaneService.ECRTokenForRegistry:input_type -> porter.v1.ECRTokenForRegistryRequest - 150, // 177: porter.v1.ClusterControlPlaneService.AssumeRoleCredentials:input_type -> porter.v1.AssumeRoleCredentialsRequest - 146, // 178: porter.v1.ClusterControlPlaneService.AssumeRoleChainTargets:input_type -> porter.v1.AssumeRoleChainTargetsRequest - 144, // 179: porter.v1.ClusterControlPlaneService.CertificateAuthorityData:input_type -> porter.v1.CertificateAuthorityDataRequest - 142, // 180: porter.v1.ClusterControlPlaneService.EKSBearerToken:input_type -> porter.v1.EKSBearerTokenRequest - 25, // 181: porter.v1.ClusterControlPlaneService.ListRepositoriesForRegistry:input_type -> porter.v1.ListRepositoriesForRegistryRequest - 28, // 182: porter.v1.ClusterControlPlaneService.ListImagesForRepository:input_type -> porter.v1.ListImagesForRepositoryRequest - 156, // 183: porter.v1.ClusterControlPlaneService.ListDatastores:input_type -> porter.v1.ListDatastoresRequest - 158, // 184: porter.v1.ClusterControlPlaneService.DatastoreStatus:input_type -> porter.v1.DatastoreStatusRequest - 162, // 185: porter.v1.ClusterControlPlaneService.RegistryStatus:input_type -> porter.v1.RegistryStatusRequest - 122, // 186: porter.v1.ClusterControlPlaneService.EnableExternalEnvGroupProviders:input_type -> porter.v1.EnableExternalEnvGroupProvidersRequest - 120, // 187: porter.v1.ClusterControlPlaneService.AreExternalEnvGroupProvidersEnabled:input_type -> porter.v1.AreExternalEnvGroupProvidersEnabledRequest - 124, // 188: porter.v1.ClusterControlPlaneService.CreateOrUpdateEnvGroup:input_type -> porter.v1.CreateOrUpdateEnvGroupRequest - 126, // 189: porter.v1.ClusterControlPlaneService.DeleteEnvGroup:input_type -> porter.v1.DeleteEnvGroupRequest - 128, // 190: porter.v1.ClusterControlPlaneService.AppsLinkedToEnvGroup:input_type -> porter.v1.AppsLinkedToEnvGroupRequest - 130, // 191: porter.v1.ClusterControlPlaneService.ListEnvGroups:input_type -> porter.v1.ListEnvGroupsRequest - 132, // 192: porter.v1.ClusterControlPlaneService.UpdateNotificationConfig:input_type -> porter.v1.UpdateNotificationConfigRequest - 134, // 193: porter.v1.ClusterControlPlaneService.NotificationConfig:input_type -> porter.v1.NotificationConfigRequest - 8, // 194: porter.v1.ClusterControlPlaneService.QuotaIncrease:output_type -> porter.v1.QuotaIncreaseResponse - 194, // 195: porter.v1.ClusterControlPlaneService.UpdateCloudProviderCredentials:output_type -> porter.v1.UpdateCloudProviderCredentialsResponse - 12, // 196: porter.v1.ClusterControlPlaneService.QuotaPreflightCheck:output_type -> porter.v1.QuotaPreflightCheckResponse - 10, // 197: porter.v1.ClusterControlPlaneService.PreflightCheck:output_type -> porter.v1.PreflightCheckResponse - 14, // 198: porter.v1.ClusterControlPlaneService.CreateAssumeRoleChain:output_type -> porter.v1.CreateAssumeRoleChainResponse - 16, // 199: porter.v1.ClusterControlPlaneService.SaveAzureCredentials:output_type -> porter.v1.SaveAzureCredentialsResponse - 18, // 200: porter.v1.ClusterControlPlaneService.KubeConfigForCluster:output_type -> porter.v1.KubeConfigForClusterResponse - 20, // 201: porter.v1.ClusterControlPlaneService.UpdateContract:output_type -> porter.v1.UpdateContractResponse - 36, // 202: porter.v1.ClusterControlPlaneService.ReadContract:output_type -> porter.v1.ReadContractResponse - 22, // 203: porter.v1.ClusterControlPlaneService.ClusterStatus:output_type -> porter.v1.ClusterStatusResponse - 24, // 204: porter.v1.ClusterControlPlaneService.DeleteCluster:output_type -> porter.v1.DeleteClusterResponse - 34, // 205: porter.v1.ClusterControlPlaneService.TokenForRegistry:output_type -> porter.v1.TokenForRegistryResponse - 38, // 206: porter.v1.ClusterControlPlaneService.ContractComplianceChecks:output_type -> porter.v1.ContractComplianceChecksResponse - 40, // 207: porter.v1.ClusterControlPlaneService.ValidatePorterApp:output_type -> porter.v1.ValidatePorterAppResponse - 42, // 208: porter.v1.ClusterControlPlaneService.ApplyPorterApp:output_type -> porter.v1.ApplyPorterAppResponse - 44, // 209: porter.v1.ClusterControlPlaneService.UpdateApp:output_type -> porter.v1.UpdateAppResponse - 48, // 210: porter.v1.ClusterControlPlaneService.RollbackRevision:output_type -> porter.v1.RollbackRevisionResponse - 46, // 211: porter.v1.ClusterControlPlaneService.UpdateRevisionStatus:output_type -> porter.v1.UpdateRevisionStatusResponse - 58, // 212: porter.v1.ClusterControlPlaneService.AppRevisionStatus:output_type -> porter.v1.AppRevisionStatusResponse - 50, // 213: porter.v1.ClusterControlPlaneService.DeletePorterApp:output_type -> porter.v1.DeletePorterAppResponse - 52, // 214: porter.v1.ClusterControlPlaneService.DeleteAppDeployment:output_type -> porter.v1.DeleteAppDeploymentResponse - 54, // 215: porter.v1.ClusterControlPlaneService.DeleteDeploymentTarget:output_type -> porter.v1.DeleteDeploymentTargetResponse - 62, // 216: porter.v1.ClusterControlPlaneService.CurrentAppRevision:output_type -> porter.v1.CurrentAppRevisionResponse - 64, // 217: porter.v1.ClusterControlPlaneService.ListAppRevisions:output_type -> porter.v1.ListAppRevisionsResponse - 66, // 218: porter.v1.ClusterControlPlaneService.LatestAppRevisions:output_type -> porter.v1.LatestAppRevisionsResponse - 68, // 219: porter.v1.ClusterControlPlaneService.GetAppRevision:output_type -> porter.v1.GetAppRevisionResponse - 70, // 220: porter.v1.ClusterControlPlaneService.AppTemplate:output_type -> porter.v1.AppTemplateResponse - 74, // 221: porter.v1.ClusterControlPlaneService.UpdateAppTemplate:output_type -> porter.v1.UpdateAppTemplateResponse - 76, // 222: porter.v1.ClusterControlPlaneService.LatestAddons:output_type -> porter.v1.LatestAddonsResponse - 78, // 223: porter.v1.ClusterControlPlaneService.PredeployStatus:output_type -> porter.v1.PredeployStatusResponse - 80, // 224: porter.v1.ClusterControlPlaneService.DeploymentTargetDetails:output_type -> porter.v1.DeploymentTargetDetailsResponse - 82, // 225: porter.v1.ClusterControlPlaneService.CreateDeploymentTarget:output_type -> porter.v1.CreateDeploymentTargetResponse - 84, // 226: porter.v1.ClusterControlPlaneService.DeploymentTargets:output_type -> porter.v1.DeploymentTargetsResponse - 86, // 227: porter.v1.ClusterControlPlaneService.DefaultDeploymentTarget:output_type -> porter.v1.DefaultDeploymentTargetResponse - 88, // 228: porter.v1.ClusterControlPlaneService.SeedAppRevisions:output_type -> porter.v1.SeedAppRevisionsResponse - 90, // 229: porter.v1.ClusterControlPlaneService.EnvGroupVariables:output_type -> porter.v1.EnvGroupVariablesResponse - 92, // 230: porter.v1.ClusterControlPlaneService.LatestEnvGroupWithVariables:output_type -> porter.v1.LatestEnvGroupWithVariablesResponse - 94, // 231: porter.v1.ClusterControlPlaneService.AppEnvVariables:output_type -> porter.v1.AppEnvVariablesResponse - 96, // 232: porter.v1.ClusterControlPlaneService.UpdateAppImage:output_type -> porter.v1.UpdateAppImageResponse - 98, // 233: porter.v1.ClusterControlPlaneService.UpdateAppBuildSettings:output_type -> porter.v1.UpdateAppBuildSettingsResponse - 100, // 234: porter.v1.ClusterControlPlaneService.UpdateAppsLinkedToEnvGroup:output_type -> porter.v1.UpdateAppsLinkedToEnvGroupResponse - 102, // 235: porter.v1.ClusterControlPlaneService.AppHelmValues:output_type -> porter.v1.AppHelmValuesResponse - 104, // 236: porter.v1.ClusterControlPlaneService.ManualServiceRun:output_type -> porter.v1.ManualServiceRunResponse - 155, // 237: porter.v1.ClusterControlPlaneService.ClusterNetworkSettings:output_type -> porter.v1.ClusterNetworkSettingsResponse - 165, // 238: porter.v1.ClusterControlPlaneService.SharedNetworkSettings:output_type -> porter.v1.SharedNetworkSettingsResponse - 106, // 239: porter.v1.ClusterControlPlaneService.Images:output_type -> porter.v1.ImagesResponse - 108, // 240: porter.v1.ClusterControlPlaneService.CreateAppInstance:output_type -> porter.v1.CreateAppInstanceResponse - 110, // 241: porter.v1.ClusterControlPlaneService.DeleteAppInstance:output_type -> porter.v1.DeleteAppInstanceResponse - 112, // 242: porter.v1.ClusterControlPlaneService.ListAppInstances:output_type -> porter.v1.ListAppInstancesResponse - 114, // 243: porter.v1.ClusterControlPlaneService.TemplateAppManifests:output_type -> porter.v1.TemplateAppManifestsResponse - 117, // 244: porter.v1.ClusterControlPlaneService.CreateNotification:output_type -> porter.v1.CreateNotificationResponse - 119, // 245: porter.v1.ClusterControlPlaneService.UpdateServiceDeploymentStatus:output_type -> porter.v1.UpdateServiceDeploymentStatusResponse - 137, // 246: porter.v1.ClusterControlPlaneService.ConnectHostedProject:output_type -> porter.v1.ConnectHostedProjectResponse - 139, // 247: porter.v1.ClusterControlPlaneService.UpdateDatastore:output_type -> porter.v1.UpdateDatastoreResponse - 141, // 248: porter.v1.ClusterControlPlaneService.CreateDatastoreProxy:output_type -> porter.v1.CreateDatastoreProxyResponse - 153, // 249: porter.v1.ClusterControlPlaneService.DockerConfigFileForRegistry:output_type -> porter.v1.DockerConfigFileForRegistryResponse - 149, // 250: porter.v1.ClusterControlPlaneService.ECRTokenForRegistry:output_type -> porter.v1.ECRTokenForRegistryResponse - 151, // 251: porter.v1.ClusterControlPlaneService.AssumeRoleCredentials:output_type -> porter.v1.AssumeRoleCredentialsResponse - 147, // 252: porter.v1.ClusterControlPlaneService.AssumeRoleChainTargets:output_type -> porter.v1.AssumeRoleChainTargetsResponse - 145, // 253: porter.v1.ClusterControlPlaneService.CertificateAuthorityData:output_type -> porter.v1.CertificateAuthorityDataResponse - 143, // 254: porter.v1.ClusterControlPlaneService.EKSBearerToken:output_type -> porter.v1.EKSBearerTokenResponse - 26, // 255: porter.v1.ClusterControlPlaneService.ListRepositoriesForRegistry:output_type -> porter.v1.ListRepositoriesForRegistryResponse - 29, // 256: porter.v1.ClusterControlPlaneService.ListImagesForRepository:output_type -> porter.v1.ListImagesForRepositoryResponse - 157, // 257: porter.v1.ClusterControlPlaneService.ListDatastores:output_type -> porter.v1.ListDatastoresResponse - 159, // 258: porter.v1.ClusterControlPlaneService.DatastoreStatus:output_type -> porter.v1.DatastoreStatusResponse - 163, // 259: porter.v1.ClusterControlPlaneService.RegistryStatus:output_type -> porter.v1.RegistryStatusResponse - 123, // 260: porter.v1.ClusterControlPlaneService.EnableExternalEnvGroupProviders:output_type -> porter.v1.EnableExternalEnvGroupProvidersResponse - 121, // 261: porter.v1.ClusterControlPlaneService.AreExternalEnvGroupProvidersEnabled:output_type -> porter.v1.AreExternalEnvGroupProvidersEnabledResponse - 125, // 262: porter.v1.ClusterControlPlaneService.CreateOrUpdateEnvGroup:output_type -> porter.v1.CreateOrUpdateEnvGroupResponse - 127, // 263: porter.v1.ClusterControlPlaneService.DeleteEnvGroup:output_type -> porter.v1.DeleteEnvGroupResponse - 129, // 264: porter.v1.ClusterControlPlaneService.AppsLinkedToEnvGroup:output_type -> porter.v1.AppsLinkedToEnvGroupResponse - 131, // 265: porter.v1.ClusterControlPlaneService.ListEnvGroups:output_type -> porter.v1.ListEnvGroupsResponse - 133, // 266: porter.v1.ClusterControlPlaneService.UpdateNotificationConfig:output_type -> porter.v1.UpdateNotificationConfigResponse - 135, // 267: porter.v1.ClusterControlPlaneService.NotificationConfig:output_type -> porter.v1.NotificationConfigResponse - 194, // [194:268] is the sub-list for method output_type - 120, // [120:194] is the sub-list for method input_type - 120, // [120:120] is the sub-list for extension type_name - 120, // [120:120] is the sub-list for extension extendee - 0, // [0:120] is the sub-list for field type_name + 188, // 102: porter.v1.ListEnvGroupsResponse.env_groups:type_name -> porter.v1.EnvGroup + 191, // 103: porter.v1.UpdateNotificationConfigRequest.config:type_name -> porter.v1.NotificationConfig + 191, // 104: porter.v1.NotificationConfigResponse.config:type_name -> porter.v1.NotificationConfig + 192, // 105: porter.v1.NotificationsResponse.notification:type_name -> porter.v1.Notification + 193, // 106: porter.v1.CreateDatastoreProxyResponse.credential:type_name -> porter.v1.DatastoreCredential + 194, // 107: porter.v1.AssumeRoleChainTargetsResponse.chain_links:type_name -> porter.v1.AssumeRoleChainLink + 175, // 108: porter.v1.ECRTokenForRegistryResponse.expiry:type_name -> google.protobuf.Timestamp + 169, // 109: porter.v1.ClusterNetworkSettingsResponse.cloud_provider:type_name -> porter.v1.EnumCloudProvider + 195, // 110: porter.v1.ClusterNetworkSettingsResponse.eks_cloud_provider_network:type_name -> porter.v1.AWSVpc + 169, // 111: porter.v1.ListDatastoresRequest.cloud_provider:type_name -> porter.v1.EnumCloudProvider + 6, // 112: porter.v1.ListDatastoresRequest.type:type_name -> porter.v1.EnumDatastore + 162, // 113: porter.v1.ListDatastoresResponse.datastores:type_name -> porter.v1.Datastore + 6, // 114: porter.v1.DatastoreStatusRequest.type:type_name -> porter.v1.EnumDatastore + 6, // 115: porter.v1.Datastore.type:type_name -> porter.v1.EnumDatastore + 163, // 116: porter.v1.Datastore.metadata:type_name -> porter.v1.DatastoreMetadata + 188, // 117: porter.v1.Datastore.env:type_name -> porter.v1.EnvGroup + 169, // 118: porter.v1.SharedNetworkSettingsResponse.cloud_provider:type_name -> porter.v1.EnumCloudProvider + 195, // 119: porter.v1.SharedNetworkSettingsResponse.eks_cloud_provider_network:type_name -> porter.v1.AWSVpc + 172, // 120: porter.v1.PreflightCheckResponse.PreflightChecksEntry.value:type_name -> porter.v1.Error + 7, // 121: porter.v1.ClusterControlPlaneService.QuotaIncrease:input_type -> porter.v1.QuotaIncreaseRequest + 196, // 122: porter.v1.ClusterControlPlaneService.UpdateCloudProviderCredentials:input_type -> porter.v1.UpdateCloudProviderCredentialsRequest + 11, // 123: porter.v1.ClusterControlPlaneService.QuotaPreflightCheck:input_type -> porter.v1.QuotaPreflightCheckRequest + 9, // 124: porter.v1.ClusterControlPlaneService.PreflightCheck:input_type -> porter.v1.PreflightCheckRequest + 13, // 125: porter.v1.ClusterControlPlaneService.CreateAssumeRoleChain:input_type -> porter.v1.CreateAssumeRoleChainRequest + 15, // 126: porter.v1.ClusterControlPlaneService.SaveAzureCredentials:input_type -> porter.v1.SaveAzureCredentialsRequest + 17, // 127: porter.v1.ClusterControlPlaneService.KubeConfigForCluster:input_type -> porter.v1.KubeConfigForClusterRequest + 19, // 128: porter.v1.ClusterControlPlaneService.UpdateContract:input_type -> porter.v1.UpdateContractRequest + 35, // 129: porter.v1.ClusterControlPlaneService.ReadContract:input_type -> porter.v1.ReadContractRequest + 21, // 130: porter.v1.ClusterControlPlaneService.ClusterStatus:input_type -> porter.v1.ClusterStatusRequest + 23, // 131: porter.v1.ClusterControlPlaneService.DeleteCluster:input_type -> porter.v1.DeleteClusterRequest + 33, // 132: porter.v1.ClusterControlPlaneService.TokenForRegistry:input_type -> porter.v1.TokenForRegistryRequest + 37, // 133: porter.v1.ClusterControlPlaneService.ContractComplianceChecks:input_type -> porter.v1.ContractComplianceChecksRequest + 39, // 134: porter.v1.ClusterControlPlaneService.ValidatePorterApp:input_type -> porter.v1.ValidatePorterAppRequest + 41, // 135: porter.v1.ClusterControlPlaneService.ApplyPorterApp:input_type -> porter.v1.ApplyPorterAppRequest + 43, // 136: porter.v1.ClusterControlPlaneService.UpdateApp:input_type -> porter.v1.UpdateAppRequest + 47, // 137: porter.v1.ClusterControlPlaneService.RollbackRevision:input_type -> porter.v1.RollbackRevisionRequest + 45, // 138: porter.v1.ClusterControlPlaneService.UpdateRevisionStatus:input_type -> porter.v1.UpdateRevisionStatusRequest + 57, // 139: porter.v1.ClusterControlPlaneService.AppRevisionStatus:input_type -> porter.v1.AppRevisionStatusRequest + 49, // 140: porter.v1.ClusterControlPlaneService.DeletePorterApp:input_type -> porter.v1.DeletePorterAppRequest + 51, // 141: porter.v1.ClusterControlPlaneService.DeleteAppDeployment:input_type -> porter.v1.DeleteAppDeploymentRequest + 53, // 142: porter.v1.ClusterControlPlaneService.DeleteDeploymentTarget:input_type -> porter.v1.DeleteDeploymentTargetRequest + 55, // 143: porter.v1.ClusterControlPlaneService.CurrentAppRevision:input_type -> porter.v1.CurrentAppRevisionRequest + 63, // 144: porter.v1.ClusterControlPlaneService.ListAppRevisions:input_type -> porter.v1.ListAppRevisionsRequest + 65, // 145: porter.v1.ClusterControlPlaneService.LatestAppRevisions:input_type -> porter.v1.LatestAppRevisionsRequest + 67, // 146: porter.v1.ClusterControlPlaneService.GetAppRevision:input_type -> porter.v1.GetAppRevisionRequest + 69, // 147: porter.v1.ClusterControlPlaneService.AppTemplate:input_type -> porter.v1.AppTemplateRequest + 73, // 148: porter.v1.ClusterControlPlaneService.UpdateAppTemplate:input_type -> porter.v1.UpdateAppTemplateRequest + 75, // 149: porter.v1.ClusterControlPlaneService.LatestAddons:input_type -> porter.v1.LatestAddonsRequest + 77, // 150: porter.v1.ClusterControlPlaneService.PredeployStatus:input_type -> porter.v1.PredeployStatusRequest + 79, // 151: porter.v1.ClusterControlPlaneService.DeploymentTargetDetails:input_type -> porter.v1.DeploymentTargetDetailsRequest + 81, // 152: porter.v1.ClusterControlPlaneService.CreateDeploymentTarget:input_type -> porter.v1.CreateDeploymentTargetRequest + 83, // 153: porter.v1.ClusterControlPlaneService.DeploymentTargets:input_type -> porter.v1.DeploymentTargetsRequest + 85, // 154: porter.v1.ClusterControlPlaneService.DefaultDeploymentTarget:input_type -> porter.v1.DefaultDeploymentTargetRequest + 87, // 155: porter.v1.ClusterControlPlaneService.SeedAppRevisions:input_type -> porter.v1.SeedAppRevisionsRequest + 89, // 156: porter.v1.ClusterControlPlaneService.EnvGroupVariables:input_type -> porter.v1.EnvGroupVariablesRequest + 91, // 157: porter.v1.ClusterControlPlaneService.LatestEnvGroupWithVariables:input_type -> porter.v1.LatestEnvGroupWithVariablesRequest + 93, // 158: porter.v1.ClusterControlPlaneService.AppEnvVariables:input_type -> porter.v1.AppEnvVariablesRequest + 95, // 159: porter.v1.ClusterControlPlaneService.UpdateAppImage:input_type -> porter.v1.UpdateAppImageRequest + 97, // 160: porter.v1.ClusterControlPlaneService.UpdateAppBuildSettings:input_type -> porter.v1.UpdateAppBuildSettingsRequest + 99, // 161: porter.v1.ClusterControlPlaneService.UpdateAppsLinkedToEnvGroup:input_type -> porter.v1.UpdateAppsLinkedToEnvGroupRequest + 101, // 162: porter.v1.ClusterControlPlaneService.AppHelmValues:input_type -> porter.v1.AppHelmValuesRequest + 103, // 163: porter.v1.ClusterControlPlaneService.ManualServiceRun:input_type -> porter.v1.ManualServiceRunRequest + 156, // 164: porter.v1.ClusterControlPlaneService.ClusterNetworkSettings:input_type -> porter.v1.ClusterNetworkSettingsRequest + 166, // 165: porter.v1.ClusterControlPlaneService.SharedNetworkSettings:input_type -> porter.v1.SharedNetworkSettingsRequest + 105, // 166: porter.v1.ClusterControlPlaneService.Images:input_type -> porter.v1.ImagesRequest + 107, // 167: porter.v1.ClusterControlPlaneService.CreateAppInstance:input_type -> porter.v1.CreateAppInstanceRequest + 109, // 168: porter.v1.ClusterControlPlaneService.DeleteAppInstance:input_type -> porter.v1.DeleteAppInstanceRequest + 111, // 169: porter.v1.ClusterControlPlaneService.ListAppInstances:input_type -> porter.v1.ListAppInstancesRequest + 113, // 170: porter.v1.ClusterControlPlaneService.TemplateAppManifests:input_type -> porter.v1.TemplateAppManifestsRequest + 116, // 171: porter.v1.ClusterControlPlaneService.CreateNotification:input_type -> porter.v1.CreateNotificationRequest + 118, // 172: porter.v1.ClusterControlPlaneService.UpdateServiceDeploymentStatus:input_type -> porter.v1.UpdateServiceDeploymentStatusRequest + 138, // 173: porter.v1.ClusterControlPlaneService.ConnectHostedProject:input_type -> porter.v1.ConnectHostedProjectRequest + 140, // 174: porter.v1.ClusterControlPlaneService.UpdateDatastore:input_type -> porter.v1.UpdateDatastoreRequest + 142, // 175: porter.v1.ClusterControlPlaneService.CreateDatastoreProxy:input_type -> porter.v1.CreateDatastoreProxyRequest + 154, // 176: porter.v1.ClusterControlPlaneService.DockerConfigFileForRegistry:input_type -> porter.v1.DockerConfigFileForRegistryRequest + 150, // 177: porter.v1.ClusterControlPlaneService.ECRTokenForRegistry:input_type -> porter.v1.ECRTokenForRegistryRequest + 152, // 178: porter.v1.ClusterControlPlaneService.AssumeRoleCredentials:input_type -> porter.v1.AssumeRoleCredentialsRequest + 148, // 179: porter.v1.ClusterControlPlaneService.AssumeRoleChainTargets:input_type -> porter.v1.AssumeRoleChainTargetsRequest + 146, // 180: porter.v1.ClusterControlPlaneService.CertificateAuthorityData:input_type -> porter.v1.CertificateAuthorityDataRequest + 144, // 181: porter.v1.ClusterControlPlaneService.EKSBearerToken:input_type -> porter.v1.EKSBearerTokenRequest + 25, // 182: porter.v1.ClusterControlPlaneService.ListRepositoriesForRegistry:input_type -> porter.v1.ListRepositoriesForRegistryRequest + 28, // 183: porter.v1.ClusterControlPlaneService.ListImagesForRepository:input_type -> porter.v1.ListImagesForRepositoryRequest + 158, // 184: porter.v1.ClusterControlPlaneService.ListDatastores:input_type -> porter.v1.ListDatastoresRequest + 160, // 185: porter.v1.ClusterControlPlaneService.DatastoreStatus:input_type -> porter.v1.DatastoreStatusRequest + 164, // 186: porter.v1.ClusterControlPlaneService.RegistryStatus:input_type -> porter.v1.RegistryStatusRequest + 122, // 187: porter.v1.ClusterControlPlaneService.EnableExternalEnvGroupProviders:input_type -> porter.v1.EnableExternalEnvGroupProvidersRequest + 120, // 188: porter.v1.ClusterControlPlaneService.AreExternalEnvGroupProvidersEnabled:input_type -> porter.v1.AreExternalEnvGroupProvidersEnabledRequest + 124, // 189: porter.v1.ClusterControlPlaneService.CreateOrUpdateEnvGroup:input_type -> porter.v1.CreateOrUpdateEnvGroupRequest + 126, // 190: porter.v1.ClusterControlPlaneService.DeleteEnvGroup:input_type -> porter.v1.DeleteEnvGroupRequest + 128, // 191: porter.v1.ClusterControlPlaneService.AppsLinkedToEnvGroup:input_type -> porter.v1.AppsLinkedToEnvGroupRequest + 130, // 192: porter.v1.ClusterControlPlaneService.ListEnvGroups:input_type -> porter.v1.ListEnvGroupsRequest + 132, // 193: porter.v1.ClusterControlPlaneService.UpdateNotificationConfig:input_type -> porter.v1.UpdateNotificationConfigRequest + 134, // 194: porter.v1.ClusterControlPlaneService.NotificationConfig:input_type -> porter.v1.NotificationConfigRequest + 136, // 195: porter.v1.ClusterControlPlaneService.Notifications:input_type -> porter.v1.NotificationsRequest + 8, // 196: porter.v1.ClusterControlPlaneService.QuotaIncrease:output_type -> porter.v1.QuotaIncreaseResponse + 197, // 197: porter.v1.ClusterControlPlaneService.UpdateCloudProviderCredentials:output_type -> porter.v1.UpdateCloudProviderCredentialsResponse + 12, // 198: porter.v1.ClusterControlPlaneService.QuotaPreflightCheck:output_type -> porter.v1.QuotaPreflightCheckResponse + 10, // 199: porter.v1.ClusterControlPlaneService.PreflightCheck:output_type -> porter.v1.PreflightCheckResponse + 14, // 200: porter.v1.ClusterControlPlaneService.CreateAssumeRoleChain:output_type -> porter.v1.CreateAssumeRoleChainResponse + 16, // 201: porter.v1.ClusterControlPlaneService.SaveAzureCredentials:output_type -> porter.v1.SaveAzureCredentialsResponse + 18, // 202: porter.v1.ClusterControlPlaneService.KubeConfigForCluster:output_type -> porter.v1.KubeConfigForClusterResponse + 20, // 203: porter.v1.ClusterControlPlaneService.UpdateContract:output_type -> porter.v1.UpdateContractResponse + 36, // 204: porter.v1.ClusterControlPlaneService.ReadContract:output_type -> porter.v1.ReadContractResponse + 22, // 205: porter.v1.ClusterControlPlaneService.ClusterStatus:output_type -> porter.v1.ClusterStatusResponse + 24, // 206: porter.v1.ClusterControlPlaneService.DeleteCluster:output_type -> porter.v1.DeleteClusterResponse + 34, // 207: porter.v1.ClusterControlPlaneService.TokenForRegistry:output_type -> porter.v1.TokenForRegistryResponse + 38, // 208: porter.v1.ClusterControlPlaneService.ContractComplianceChecks:output_type -> porter.v1.ContractComplianceChecksResponse + 40, // 209: porter.v1.ClusterControlPlaneService.ValidatePorterApp:output_type -> porter.v1.ValidatePorterAppResponse + 42, // 210: porter.v1.ClusterControlPlaneService.ApplyPorterApp:output_type -> porter.v1.ApplyPorterAppResponse + 44, // 211: porter.v1.ClusterControlPlaneService.UpdateApp:output_type -> porter.v1.UpdateAppResponse + 48, // 212: porter.v1.ClusterControlPlaneService.RollbackRevision:output_type -> porter.v1.RollbackRevisionResponse + 46, // 213: porter.v1.ClusterControlPlaneService.UpdateRevisionStatus:output_type -> porter.v1.UpdateRevisionStatusResponse + 58, // 214: porter.v1.ClusterControlPlaneService.AppRevisionStatus:output_type -> porter.v1.AppRevisionStatusResponse + 50, // 215: porter.v1.ClusterControlPlaneService.DeletePorterApp:output_type -> porter.v1.DeletePorterAppResponse + 52, // 216: porter.v1.ClusterControlPlaneService.DeleteAppDeployment:output_type -> porter.v1.DeleteAppDeploymentResponse + 54, // 217: porter.v1.ClusterControlPlaneService.DeleteDeploymentTarget:output_type -> porter.v1.DeleteDeploymentTargetResponse + 62, // 218: porter.v1.ClusterControlPlaneService.CurrentAppRevision:output_type -> porter.v1.CurrentAppRevisionResponse + 64, // 219: porter.v1.ClusterControlPlaneService.ListAppRevisions:output_type -> porter.v1.ListAppRevisionsResponse + 66, // 220: porter.v1.ClusterControlPlaneService.LatestAppRevisions:output_type -> porter.v1.LatestAppRevisionsResponse + 68, // 221: porter.v1.ClusterControlPlaneService.GetAppRevision:output_type -> porter.v1.GetAppRevisionResponse + 70, // 222: porter.v1.ClusterControlPlaneService.AppTemplate:output_type -> porter.v1.AppTemplateResponse + 74, // 223: porter.v1.ClusterControlPlaneService.UpdateAppTemplate:output_type -> porter.v1.UpdateAppTemplateResponse + 76, // 224: porter.v1.ClusterControlPlaneService.LatestAddons:output_type -> porter.v1.LatestAddonsResponse + 78, // 225: porter.v1.ClusterControlPlaneService.PredeployStatus:output_type -> porter.v1.PredeployStatusResponse + 80, // 226: porter.v1.ClusterControlPlaneService.DeploymentTargetDetails:output_type -> porter.v1.DeploymentTargetDetailsResponse + 82, // 227: porter.v1.ClusterControlPlaneService.CreateDeploymentTarget:output_type -> porter.v1.CreateDeploymentTargetResponse + 84, // 228: porter.v1.ClusterControlPlaneService.DeploymentTargets:output_type -> porter.v1.DeploymentTargetsResponse + 86, // 229: porter.v1.ClusterControlPlaneService.DefaultDeploymentTarget:output_type -> porter.v1.DefaultDeploymentTargetResponse + 88, // 230: porter.v1.ClusterControlPlaneService.SeedAppRevisions:output_type -> porter.v1.SeedAppRevisionsResponse + 90, // 231: porter.v1.ClusterControlPlaneService.EnvGroupVariables:output_type -> porter.v1.EnvGroupVariablesResponse + 92, // 232: porter.v1.ClusterControlPlaneService.LatestEnvGroupWithVariables:output_type -> porter.v1.LatestEnvGroupWithVariablesResponse + 94, // 233: porter.v1.ClusterControlPlaneService.AppEnvVariables:output_type -> porter.v1.AppEnvVariablesResponse + 96, // 234: porter.v1.ClusterControlPlaneService.UpdateAppImage:output_type -> porter.v1.UpdateAppImageResponse + 98, // 235: porter.v1.ClusterControlPlaneService.UpdateAppBuildSettings:output_type -> porter.v1.UpdateAppBuildSettingsResponse + 100, // 236: porter.v1.ClusterControlPlaneService.UpdateAppsLinkedToEnvGroup:output_type -> porter.v1.UpdateAppsLinkedToEnvGroupResponse + 102, // 237: porter.v1.ClusterControlPlaneService.AppHelmValues:output_type -> porter.v1.AppHelmValuesResponse + 104, // 238: porter.v1.ClusterControlPlaneService.ManualServiceRun:output_type -> porter.v1.ManualServiceRunResponse + 157, // 239: porter.v1.ClusterControlPlaneService.ClusterNetworkSettings:output_type -> porter.v1.ClusterNetworkSettingsResponse + 167, // 240: porter.v1.ClusterControlPlaneService.SharedNetworkSettings:output_type -> porter.v1.SharedNetworkSettingsResponse + 106, // 241: porter.v1.ClusterControlPlaneService.Images:output_type -> porter.v1.ImagesResponse + 108, // 242: porter.v1.ClusterControlPlaneService.CreateAppInstance:output_type -> porter.v1.CreateAppInstanceResponse + 110, // 243: porter.v1.ClusterControlPlaneService.DeleteAppInstance:output_type -> porter.v1.DeleteAppInstanceResponse + 112, // 244: porter.v1.ClusterControlPlaneService.ListAppInstances:output_type -> porter.v1.ListAppInstancesResponse + 114, // 245: porter.v1.ClusterControlPlaneService.TemplateAppManifests:output_type -> porter.v1.TemplateAppManifestsResponse + 117, // 246: porter.v1.ClusterControlPlaneService.CreateNotification:output_type -> porter.v1.CreateNotificationResponse + 119, // 247: porter.v1.ClusterControlPlaneService.UpdateServiceDeploymentStatus:output_type -> porter.v1.UpdateServiceDeploymentStatusResponse + 139, // 248: porter.v1.ClusterControlPlaneService.ConnectHostedProject:output_type -> porter.v1.ConnectHostedProjectResponse + 141, // 249: porter.v1.ClusterControlPlaneService.UpdateDatastore:output_type -> porter.v1.UpdateDatastoreResponse + 143, // 250: porter.v1.ClusterControlPlaneService.CreateDatastoreProxy:output_type -> porter.v1.CreateDatastoreProxyResponse + 155, // 251: porter.v1.ClusterControlPlaneService.DockerConfigFileForRegistry:output_type -> porter.v1.DockerConfigFileForRegistryResponse + 151, // 252: porter.v1.ClusterControlPlaneService.ECRTokenForRegistry:output_type -> porter.v1.ECRTokenForRegistryResponse + 153, // 253: porter.v1.ClusterControlPlaneService.AssumeRoleCredentials:output_type -> porter.v1.AssumeRoleCredentialsResponse + 149, // 254: porter.v1.ClusterControlPlaneService.AssumeRoleChainTargets:output_type -> porter.v1.AssumeRoleChainTargetsResponse + 147, // 255: porter.v1.ClusterControlPlaneService.CertificateAuthorityData:output_type -> porter.v1.CertificateAuthorityDataResponse + 145, // 256: porter.v1.ClusterControlPlaneService.EKSBearerToken:output_type -> porter.v1.EKSBearerTokenResponse + 26, // 257: porter.v1.ClusterControlPlaneService.ListRepositoriesForRegistry:output_type -> porter.v1.ListRepositoriesForRegistryResponse + 29, // 258: porter.v1.ClusterControlPlaneService.ListImagesForRepository:output_type -> porter.v1.ListImagesForRepositoryResponse + 159, // 259: porter.v1.ClusterControlPlaneService.ListDatastores:output_type -> porter.v1.ListDatastoresResponse + 161, // 260: porter.v1.ClusterControlPlaneService.DatastoreStatus:output_type -> porter.v1.DatastoreStatusResponse + 165, // 261: porter.v1.ClusterControlPlaneService.RegistryStatus:output_type -> porter.v1.RegistryStatusResponse + 123, // 262: porter.v1.ClusterControlPlaneService.EnableExternalEnvGroupProviders:output_type -> porter.v1.EnableExternalEnvGroupProvidersResponse + 121, // 263: porter.v1.ClusterControlPlaneService.AreExternalEnvGroupProvidersEnabled:output_type -> porter.v1.AreExternalEnvGroupProvidersEnabledResponse + 125, // 264: porter.v1.ClusterControlPlaneService.CreateOrUpdateEnvGroup:output_type -> porter.v1.CreateOrUpdateEnvGroupResponse + 127, // 265: porter.v1.ClusterControlPlaneService.DeleteEnvGroup:output_type -> porter.v1.DeleteEnvGroupResponse + 129, // 266: porter.v1.ClusterControlPlaneService.AppsLinkedToEnvGroup:output_type -> porter.v1.AppsLinkedToEnvGroupResponse + 131, // 267: porter.v1.ClusterControlPlaneService.ListEnvGroups:output_type -> porter.v1.ListEnvGroupsResponse + 133, // 268: porter.v1.ClusterControlPlaneService.UpdateNotificationConfig:output_type -> porter.v1.UpdateNotificationConfigResponse + 135, // 269: porter.v1.ClusterControlPlaneService.NotificationConfig:output_type -> porter.v1.NotificationConfigResponse + 137, // 270: porter.v1.ClusterControlPlaneService.Notifications:output_type -> porter.v1.NotificationsResponse + 196, // [196:271] is the sub-list for method output_type + 121, // [121:196] is the sub-list for method input_type + 121, // [121:121] is the sub-list for extension type_name + 121, // [121:121] is the sub-list for extension extendee + 0, // [0:121] is the sub-list for field type_name } func init() { file_porter_v1_cluster_control_plane_proto_init() } @@ -14773,7 +14925,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectHostedProjectRequest); i { + switch v := v.(*NotificationsRequest); i { case 0: return &v.state case 1: @@ -14785,7 +14937,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectHostedProjectResponse); i { + switch v := v.(*NotificationsResponse); i { case 0: return &v.state case 1: @@ -14797,7 +14949,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateDatastoreRequest); i { + switch v := v.(*ConnectHostedProjectRequest); i { case 0: return &v.state case 1: @@ -14809,7 +14961,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateDatastoreResponse); i { + switch v := v.(*ConnectHostedProjectResponse); i { case 0: return &v.state case 1: @@ -14821,7 +14973,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDatastoreProxyRequest); i { + switch v := v.(*UpdateDatastoreRequest); i { case 0: return &v.state case 1: @@ -14833,7 +14985,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDatastoreProxyResponse); i { + switch v := v.(*UpdateDatastoreResponse); i { case 0: return &v.state case 1: @@ -14845,7 +14997,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EKSBearerTokenRequest); i { + switch v := v.(*CreateDatastoreProxyRequest); i { case 0: return &v.state case 1: @@ -14857,7 +15009,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EKSBearerTokenResponse); i { + switch v := v.(*CreateDatastoreProxyResponse); i { case 0: return &v.state case 1: @@ -14869,7 +15021,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertificateAuthorityDataRequest); i { + switch v := v.(*EKSBearerTokenRequest); i { case 0: return &v.state case 1: @@ -14881,7 +15033,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertificateAuthorityDataResponse); i { + switch v := v.(*EKSBearerTokenResponse); i { case 0: return &v.state case 1: @@ -14893,7 +15045,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssumeRoleChainTargetsRequest); i { + switch v := v.(*CertificateAuthorityDataRequest); i { case 0: return &v.state case 1: @@ -14905,7 +15057,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssumeRoleChainTargetsResponse); i { + switch v := v.(*CertificateAuthorityDataResponse); i { case 0: return &v.state case 1: @@ -14917,7 +15069,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ECRTokenForRegistryRequest); i { + switch v := v.(*AssumeRoleChainTargetsRequest); i { case 0: return &v.state case 1: @@ -14929,7 +15081,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ECRTokenForRegistryResponse); i { + switch v := v.(*AssumeRoleChainTargetsResponse); i { case 0: return &v.state case 1: @@ -14941,7 +15093,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssumeRoleCredentialsRequest); i { + switch v := v.(*ECRTokenForRegistryRequest); i { case 0: return &v.state case 1: @@ -14953,7 +15105,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AssumeRoleCredentialsResponse); i { + switch v := v.(*ECRTokenForRegistryResponse); i { case 0: return &v.state case 1: @@ -14965,7 +15117,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DockerConfigFileForRegistryRequest); i { + switch v := v.(*AssumeRoleCredentialsRequest); i { case 0: return &v.state case 1: @@ -14977,7 +15129,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DockerConfigFileForRegistryResponse); i { + switch v := v.(*AssumeRoleCredentialsResponse); i { case 0: return &v.state case 1: @@ -14989,7 +15141,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNetworkSettingsRequest); i { + switch v := v.(*DockerConfigFileForRegistryRequest); i { case 0: return &v.state case 1: @@ -15001,7 +15153,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNetworkSettingsResponse); i { + switch v := v.(*DockerConfigFileForRegistryResponse); i { case 0: return &v.state case 1: @@ -15013,7 +15165,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDatastoresRequest); i { + switch v := v.(*ClusterNetworkSettingsRequest); i { case 0: return &v.state case 1: @@ -15025,7 +15177,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDatastoresResponse); i { + switch v := v.(*ClusterNetworkSettingsResponse); i { case 0: return &v.state case 1: @@ -15037,7 +15189,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreStatusRequest); i { + switch v := v.(*ListDatastoresRequest); i { case 0: return &v.state case 1: @@ -15049,7 +15201,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreStatusResponse); i { + switch v := v.(*ListDatastoresResponse); i { case 0: return &v.state case 1: @@ -15061,7 +15213,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Datastore); i { + switch v := v.(*DatastoreStatusRequest); i { case 0: return &v.state case 1: @@ -15073,7 +15225,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreMetadata); i { + switch v := v.(*DatastoreStatusResponse); i { case 0: return &v.state case 1: @@ -15085,7 +15237,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegistryStatusRequest); i { + switch v := v.(*Datastore); i { case 0: return &v.state case 1: @@ -15097,7 +15249,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegistryStatusResponse); i { + switch v := v.(*DatastoreMetadata); i { case 0: return &v.state case 1: @@ -15109,7 +15261,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SharedNetworkSettingsRequest); i { + switch v := v.(*RegistryStatusRequest); i { case 0: return &v.state case 1: @@ -15121,6 +15273,30 @@ func file_porter_v1_cluster_control_plane_proto_init() { } } file_porter_v1_cluster_control_plane_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegistryStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_porter_v1_cluster_control_plane_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SharedNetworkSettingsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_porter_v1_cluster_control_plane_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SharedNetworkSettingsResponse); i { case 0: return &v.state @@ -15142,11 +15318,11 @@ func file_porter_v1_cluster_control_plane_proto_init() { (*PreflightCheckRequest_EksPreflightValues)(nil), } file_porter_v1_cluster_control_plane_proto_msgTypes[96].OneofWrappers = []interface{}{} - file_porter_v1_cluster_control_plane_proto_msgTypes[148].OneofWrappers = []interface{}{ + file_porter_v1_cluster_control_plane_proto_msgTypes[150].OneofWrappers = []interface{}{ (*ClusterNetworkSettingsResponse_EksCloudProviderNetwork)(nil), } - file_porter_v1_cluster_control_plane_proto_msgTypes[149].OneofWrappers = []interface{}{} - file_porter_v1_cluster_control_plane_proto_msgTypes[158].OneofWrappers = []interface{}{ + file_porter_v1_cluster_control_plane_proto_msgTypes[151].OneofWrappers = []interface{}{} + file_porter_v1_cluster_control_plane_proto_msgTypes[160].OneofWrappers = []interface{}{ (*SharedNetworkSettingsResponse_EksCloudProviderNetwork)(nil), } type x struct{} @@ -15155,7 +15331,7 @@ func file_porter_v1_cluster_control_plane_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_porter_v1_cluster_control_plane_proto_rawDesc, NumEnums: 7, - NumMessages: 160, + NumMessages: 162, NumExtensions: 0, NumServices: 1, }, diff --git a/generated/go/porter/v1/notification.pb.go b/generated/go/porter/v1/notification.pb.go index 2facd9b6..8e765219 100644 --- a/generated/go/porter/v1/notification.pb.go +++ b/generated/go/porter/v1/notification.pb.go @@ -9,6 +9,7 @@ package porterv1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) @@ -274,72 +275,269 @@ func (x *SlackConfig) GetMentions() []string { return nil } +// Notification describes a notification +type Notification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is the id for the notification + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // app_revision_id is the id of the app revision + AppRevisionId string `protobuf:"bytes,2,opt,name=app_revision_id,json=appRevisionId,proto3" json:"app_revision_id,omitempty"` + // details is the details of the notification + Details *NotificationDetails `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + // timestamp is the timestamp of the notification + Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *Notification) Reset() { + *x = Notification{} + if protoimpl.UnsafeEnabled { + mi := &file_porter_v1_notification_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Notification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notification) ProtoMessage() {} + +func (x *Notification) ProtoReflect() protoreflect.Message { + mi := &file_porter_v1_notification_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 Notification.ProtoReflect.Descriptor instead. +func (*Notification) Descriptor() ([]byte, []int) { + return file_porter_v1_notification_proto_rawDescGZIP(), []int{2} +} + +func (x *Notification) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Notification) GetAppRevisionId() string { + if x != nil { + return x.AppRevisionId + } + return "" +} + +func (x *Notification) GetDetails() *NotificationDetails { + if x != nil { + return x.Details + } + return nil +} + +func (x *Notification) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +// NotificationDetails describes the details of a notification +type NotificationDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // code is the Porter-internal code for the notification + Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + // summary is a short summary of the notification + Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"` + // detail is a detailed description of the notification + Detail string `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail,omitempty"` + // mitigation_steps is a description of mitigation steps for the notification + MitigationSteps string `protobuf:"bytes,4,opt,name=mitigation_steps,json=mitigationSteps,proto3" json:"mitigation_steps,omitempty"` + // documentation is a list of documentation links for the notification + Documentation []string `protobuf:"bytes,5,rep,name=documentation,proto3" json:"documentation,omitempty"` + // should_view_logs is a flag indicating whether logs should be viewed for the notification + ShouldViewLogs bool `protobuf:"varint,6,opt,name=should_view_logs,json=shouldViewLogs,proto3" json:"should_view_logs,omitempty"` +} + +func (x *NotificationDetails) Reset() { + *x = NotificationDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_porter_v1_notification_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationDetails) ProtoMessage() {} + +func (x *NotificationDetails) ProtoReflect() protoreflect.Message { + mi := &file_porter_v1_notification_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 NotificationDetails.ProtoReflect.Descriptor instead. +func (*NotificationDetails) Descriptor() ([]byte, []int) { + return file_porter_v1_notification_proto_rawDescGZIP(), []int{3} +} + +func (x *NotificationDetails) GetCode() int64 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *NotificationDetails) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *NotificationDetails) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +func (x *NotificationDetails) GetMitigationSteps() string { + if x != nil { + return x.MitigationSteps + } + return "" +} + +func (x *NotificationDetails) GetDocumentation() []string { + if x != nil { + return x.Documentation + } + return nil +} + +func (x *NotificationDetails) GetShouldViewLogs() bool { + if x != nil { + return x.ShouldViewLogs + } + return false +} + var File_porter_v1_notification_proto protoreflect.FileDescriptor var file_porter_v1_notification_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x22, 0xd4, 0x02, 0x0a, 0x12, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x28, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, - 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, - 0x3d, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, - 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x45, - 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0b, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x22, 0x29, 0x0a, 0x0b, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0xba, 0x01, 0x0a, 0x16, - 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, - 0x47, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x12, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, + 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x3d, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, + 0x45, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0x29, 0x0a, 0x0b, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xba, 0x01, 0x0a, + 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, + 0x0f, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xd6, 0x01, 0x0a, 0x13, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x74, 0x69, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x65, + 0x70, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x75, + 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x6f, + 0x67, 0x73, 0x2a, 0xba, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, + 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, + 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, - 0x4c, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, - 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xc6, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x75, - 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, - 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, - 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, - 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, - 0x03, 0x42, 0xac, 0x01, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x76, 0x2f, - 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x50, 0x58, 0x58, 0xaa, 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x15, 0x50, 0x6f, - 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, + 0xc6, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, + 0x28, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, + 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, + 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x02, 0x12, + 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x03, 0x42, 0xac, 0x01, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x67, + 0x6f, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x58, 0x58, 0xaa, 0x02, 0x09, 0x50, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, + 0x56, 0x31, 0xe2, 0x02, 0x15, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x50, 0x6f, 0x72, + 0x74, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -355,22 +553,27 @@ func file_porter_v1_notification_proto_rawDescGZIP() []byte { } var file_porter_v1_notification_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_porter_v1_notification_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_porter_v1_notification_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_porter_v1_notification_proto_goTypes = []interface{}{ (EnumNotificationStatus)(0), // 0: porter.v1.EnumNotificationStatus (EnumNotificationEventType)(0), // 1: porter.v1.EnumNotificationEventType (*NotificationConfig)(nil), // 2: porter.v1.NotificationConfig (*SlackConfig)(nil), // 3: porter.v1.SlackConfig + (*Notification)(nil), // 4: porter.v1.Notification + (*NotificationDetails)(nil), // 5: porter.v1.NotificationDetails + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp } var file_porter_v1_notification_proto_depIdxs = []int32{ 0, // 0: porter.v1.NotificationConfig.statuses:type_name -> porter.v1.EnumNotificationStatus 1, // 1: porter.v1.NotificationConfig.event_types:type_name -> porter.v1.EnumNotificationEventType 3, // 2: porter.v1.NotificationConfig.slack_config:type_name -> porter.v1.SlackConfig - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 5, // 3: porter.v1.Notification.details:type_name -> porter.v1.NotificationDetails + 6, // 4: porter.v1.Notification.timestamp:type_name -> google.protobuf.Timestamp + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_porter_v1_notification_proto_init() } @@ -403,6 +606,30 @@ func file_porter_v1_notification_proto_init() { return nil } } + file_porter_v1_notification_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_porter_v1_notification_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationDetails); 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{ @@ -410,7 +637,7 @@ func file_porter_v1_notification_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_porter_v1_notification_proto_rawDesc, NumEnums: 2, - NumMessages: 2, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/generated/go/porter/v1/porterv1connect/cluster_control_plane.connect.go b/generated/go/porter/v1/porterv1connect/cluster_control_plane.connect.go index 5c0cf40d..6373545d 100644 --- a/generated/go/porter/v1/porterv1connect/cluster_control_plane.connect.go +++ b/generated/go/porter/v1/porterv1connect/cluster_control_plane.connect.go @@ -256,6 +256,9 @@ const ( // ClusterControlPlaneServiceNotificationConfigProcedure is the fully-qualified name of the // ClusterControlPlaneService's NotificationConfig RPC. ClusterControlPlaneServiceNotificationConfigProcedure = "/porter.v1.ClusterControlPlaneService/NotificationConfig" + // ClusterControlPlaneServiceNotificationsProcedure is the fully-qualified name of the + // ClusterControlPlaneService's Notifications RPC. + ClusterControlPlaneServiceNotificationsProcedure = "/porter.v1.ClusterControlPlaneService/Notifications" ) // ClusterControlPlaneServiceClient is a client for the porter.v1.ClusterControlPlaneService @@ -454,6 +457,8 @@ type ClusterControlPlaneServiceClient interface { UpdateNotificationConfig(context.Context, *connect.Request[v1.UpdateNotificationConfigRequest]) (*connect.Response[v1.UpdateNotificationConfigResponse], error) // NotificationConfig gets the notification config for a given id NotificationConfig(context.Context, *connect.Request[v1.NotificationConfigRequest]) (*connect.Response[v1.NotificationConfigResponse], error) + // Notifications gets the notification config for a given id + Notifications(context.Context, *connect.Request[v1.NotificationsRequest]) (*connect.Response[v1.NotificationsResponse], error) } // NewClusterControlPlaneServiceClient constructs a client for the @@ -836,6 +841,11 @@ func NewClusterControlPlaneServiceClient(httpClient connect.HTTPClient, baseURL baseURL+ClusterControlPlaneServiceNotificationConfigProcedure, opts..., ), + notifications: connect.NewClient[v1.NotificationsRequest, v1.NotificationsResponse]( + httpClient, + baseURL+ClusterControlPlaneServiceNotificationsProcedure, + opts..., + ), } } @@ -915,6 +925,7 @@ type clusterControlPlaneServiceClient struct { listEnvGroups *connect.Client[v1.ListEnvGroupsRequest, v1.ListEnvGroupsResponse] updateNotificationConfig *connect.Client[v1.UpdateNotificationConfigRequest, v1.UpdateNotificationConfigResponse] notificationConfig *connect.Client[v1.NotificationConfigRequest, v1.NotificationConfigResponse] + notifications *connect.Client[v1.NotificationsRequest, v1.NotificationsResponse] } // QuotaIncrease calls porter.v1.ClusterControlPlaneService.QuotaIncrease. @@ -1322,6 +1333,11 @@ func (c *clusterControlPlaneServiceClient) NotificationConfig(ctx context.Contex return c.notificationConfig.CallUnary(ctx, req) } +// Notifications calls porter.v1.ClusterControlPlaneService.Notifications. +func (c *clusterControlPlaneServiceClient) Notifications(ctx context.Context, req *connect.Request[v1.NotificationsRequest]) (*connect.Response[v1.NotificationsResponse], error) { + return c.notifications.CallUnary(ctx, req) +} + // ClusterControlPlaneServiceHandler is an implementation of the // porter.v1.ClusterControlPlaneService service. type ClusterControlPlaneServiceHandler interface { @@ -1518,6 +1534,8 @@ type ClusterControlPlaneServiceHandler interface { UpdateNotificationConfig(context.Context, *connect.Request[v1.UpdateNotificationConfigRequest]) (*connect.Response[v1.UpdateNotificationConfigResponse], error) // NotificationConfig gets the notification config for a given id NotificationConfig(context.Context, *connect.Request[v1.NotificationConfigRequest]) (*connect.Response[v1.NotificationConfigResponse], error) + // Notifications gets the notification config for a given id + Notifications(context.Context, *connect.Request[v1.NotificationsRequest]) (*connect.Response[v1.NotificationsResponse], error) } // NewClusterControlPlaneServiceHandler builds an HTTP handler from the service implementation. It @@ -1896,6 +1914,11 @@ func NewClusterControlPlaneServiceHandler(svc ClusterControlPlaneServiceHandler, svc.NotificationConfig, opts..., ) + clusterControlPlaneServiceNotificationsHandler := connect.NewUnaryHandler( + ClusterControlPlaneServiceNotificationsProcedure, + svc.Notifications, + opts..., + ) return "/porter.v1.ClusterControlPlaneService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case ClusterControlPlaneServiceQuotaIncreaseProcedure: @@ -2046,6 +2069,8 @@ func NewClusterControlPlaneServiceHandler(svc ClusterControlPlaneServiceHandler, clusterControlPlaneServiceUpdateNotificationConfigHandler.ServeHTTP(w, r) case ClusterControlPlaneServiceNotificationConfigProcedure: clusterControlPlaneServiceNotificationConfigHandler.ServeHTTP(w, r) + case ClusterControlPlaneServiceNotificationsProcedure: + clusterControlPlaneServiceNotificationsHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -2350,3 +2375,7 @@ func (UnimplementedClusterControlPlaneServiceHandler) UpdateNotificationConfig(c func (UnimplementedClusterControlPlaneServiceHandler) NotificationConfig(context.Context, *connect.Request[v1.NotificationConfigRequest]) (*connect.Response[v1.NotificationConfigResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("porter.v1.ClusterControlPlaneService.NotificationConfig is not implemented")) } + +func (UnimplementedClusterControlPlaneServiceHandler) Notifications(context.Context, *connect.Request[v1.NotificationsRequest]) (*connect.Response[v1.NotificationsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("porter.v1.ClusterControlPlaneService.Notifications is not implemented")) +} diff --git a/generated/js/src/porter/v1/cluster_control_plane_pb.d.ts b/generated/js/src/porter/v1/cluster_control_plane_pb.d.ts index f2468133..60aafb72 100644 --- a/generated/js/src/porter/v1/cluster_control_plane_pb.d.ts +++ b/generated/js/src/porter/v1/cluster_control_plane_pb.d.ts @@ -14,7 +14,7 @@ import type { ContractComplianceCheckGroup, EnumComplianceProfile, EnumComplianc import type { AppImage, Build, Deletions, DeploymentTarget, DeploymentTargetIdentifier, EnumAppRevisionStatus, EnvGroup, EnvGroupVariables, PorterApp } from "./porter_app_pb.js"; import type { Addon } from "./addons_pb.js"; import type { EnumEnvGroupProviderType } from "./env_group_pb.js"; -import type { NotificationConfig } from "./notification_pb.js"; +import type { Notification, NotificationConfig } from "./notification_pb.js"; import type { DatastoreCredential } from "./datastore_pb.js"; import type { AssumeRoleChainLink } from "./aws_assume_role_pb.js"; @@ -5170,6 +5170,81 @@ export declare class NotificationConfigResponse extends Message | undefined, b: NotificationConfigResponse | PlainMessage | undefined): boolean; } +/** + * NotificationsRequest is the request object for Notification. + * + * @generated from message porter.v1.NotificationsRequest + */ +export declare class NotificationsRequest extends Message { + /** + * project_id is the id of the project where the notification is created + * + * @generated from field: int64 project_id = 1; + */ + projectId: bigint; + + /** + * notification_id is the id of the notification to get + * + * @generated from field: string notification_id = 2; + */ + notificationId: string; + + /** + * app_revision_id is the id of the app revision to get notifications for + * + * @generated from field: string app_revision_id = 3; + */ + appRevisionId: string; + + /** + * app_instance_id is the id of the app instance to get notifications for + * + * @generated from field: string app_instance_id = 4; + */ + appInstanceId: string; + + constructor(data?: PartialMessage); + + static readonly runtime: typeof proto3; + static readonly typeName = "porter.v1.NotificationsRequest"; + static readonly fields: FieldList; + + static fromBinary(bytes: Uint8Array, options?: Partial): NotificationsRequest; + + static fromJson(jsonValue: JsonValue, options?: Partial): NotificationsRequest; + + static fromJsonString(jsonString: string, options?: Partial): NotificationsRequest; + + static equals(a: NotificationsRequest | PlainMessage | undefined, b: NotificationsRequest | PlainMessage | undefined): boolean; +} + +/** + * NotificationResponse is the response object for Notification + * + * @generated from message porter.v1.NotificationsResponse + */ +export declare class NotificationsResponse extends Message { + /** + * @generated from field: repeated porter.v1.Notification notification = 1; + */ + notification: Notification[]; + + constructor(data?: PartialMessage); + + static readonly runtime: typeof proto3; + static readonly typeName = "porter.v1.NotificationsResponse"; + static readonly fields: FieldList; + + static fromBinary(bytes: Uint8Array, options?: Partial): NotificationsResponse; + + static fromJson(jsonValue: JsonValue, options?: Partial): NotificationsResponse; + + static fromJsonString(jsonString: string, options?: Partial): NotificationsResponse; + + static equals(a: NotificationsResponse | PlainMessage | undefined, b: NotificationsResponse | PlainMessage | undefined): boolean; +} + /** * ConnectHostedProjectRequest is the request object for connecting a hosted project to a host cluster * diff --git a/generated/js/src/porter/v1/cluster_control_plane_pb.js b/generated/js/src/porter/v1/cluster_control_plane_pb.js index 0318b13a..960cac70 100644 --- a/generated/js/src/porter/v1/cluster_control_plane_pb.js +++ b/generated/js/src/porter/v1/cluster_control_plane_pb.js @@ -13,7 +13,7 @@ import { ContractComplianceCheckGroup, EnumComplianceProfile, EnumComplianceVend import { AppImage, Build, Deletions, DeploymentTarget, DeploymentTargetIdentifier, EnumAppRevisionStatus, EnvGroup, EnvGroupVariables, PorterApp } from "./porter_app_pb.js"; import { Addon } from "./addons_pb.js"; import { EnumEnvGroupProviderType } from "./env_group_pb.js"; -import { NotificationConfig } from "./notification_pb.js"; +import { Notification, NotificationConfig } from "./notification_pb.js"; import { DatastoreCredential } from "./datastore_pb.js"; import { AssumeRoleChainLink } from "./aws_assume_role_pb.js"; @@ -1756,6 +1756,33 @@ export const NotificationConfigResponse = proto3.makeMessageType( ], ); +/** + * NotificationsRequest is the request object for Notification. + * + * @generated from message porter.v1.NotificationsRequest + */ +export const NotificationsRequest = proto3.makeMessageType( + "porter.v1.NotificationsRequest", + () => [ + { no: 1, name: "project_id", kind: "scalar", T: 3 /* ScalarType.INT64 */ }, + { no: 2, name: "notification_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "app_revision_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 4, name: "app_instance_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ], +); + +/** + * NotificationResponse is the response object for Notification + * + * @generated from message porter.v1.NotificationsResponse + */ +export const NotificationsResponse = proto3.makeMessageType( + "porter.v1.NotificationsResponse", + () => [ + { no: 1, name: "notification", kind: "message", T: Notification, repeated: true }, + ], +); + /** * ConnectHostedProjectRequest is the request object for connecting a hosted project to a host cluster * diff --git a/generated/js/src/porter/v1/notification_pb.d.ts b/generated/js/src/porter/v1/notification_pb.d.ts index 232bea89..4a175d5a 100644 --- a/generated/js/src/porter/v1/notification_pb.d.ts +++ b/generated/js/src/porter/v1/notification_pb.d.ts @@ -3,7 +3,7 @@ /* eslint-disable */ // @ts-nocheck -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage, Timestamp } from "@bufbuild/protobuf"; import { Message, proto3 } from "@bufbuild/protobuf"; /** @@ -156,3 +156,115 @@ export declare class SlackConfig extends Message { static equals(a: SlackConfig | PlainMessage | undefined, b: SlackConfig | PlainMessage | undefined): boolean; } +/** + * Notification describes a notification + * + * @generated from message porter.v1.Notification + */ +export declare class Notification extends Message { + /** + * id is the id for the notification + * + * @generated from field: string id = 1; + */ + id: string; + + /** + * app_revision_id is the id of the app revision + * + * @generated from field: string app_revision_id = 2; + */ + appRevisionId: string; + + /** + * details is the details of the notification + * + * @generated from field: porter.v1.NotificationDetails details = 3; + */ + details?: NotificationDetails; + + /** + * timestamp is the timestamp of the notification + * + * @generated from field: google.protobuf.Timestamp timestamp = 4; + */ + timestamp?: Timestamp; + + constructor(data?: PartialMessage); + + static readonly runtime: typeof proto3; + static readonly typeName = "porter.v1.Notification"; + static readonly fields: FieldList; + + static fromBinary(bytes: Uint8Array, options?: Partial): Notification; + + static fromJson(jsonValue: JsonValue, options?: Partial): Notification; + + static fromJsonString(jsonString: string, options?: Partial): Notification; + + static equals(a: Notification | PlainMessage | undefined, b: Notification | PlainMessage | undefined): boolean; +} + +/** + * NotificationDetails describes the details of a notification + * + * @generated from message porter.v1.NotificationDetails + */ +export declare class NotificationDetails extends Message { + /** + * code is the Porter-internal code for the notification + * + * @generated from field: int64 code = 1; + */ + code: bigint; + + /** + * summary is a short summary of the notification + * + * @generated from field: string summary = 2; + */ + summary: string; + + /** + * detail is a detailed description of the notification + * + * @generated from field: string detail = 3; + */ + detail: string; + + /** + * mitigation_steps is a description of mitigation steps for the notification + * + * @generated from field: string mitigation_steps = 4; + */ + mitigationSteps: string; + + /** + * documentation is a list of documentation links for the notification + * + * @generated from field: repeated string documentation = 5; + */ + documentation: string[]; + + /** + * should_view_logs is a flag indicating whether logs should be viewed for the notification + * + * @generated from field: bool should_view_logs = 6; + */ + shouldViewLogs: boolean; + + constructor(data?: PartialMessage); + + static readonly runtime: typeof proto3; + static readonly typeName = "porter.v1.NotificationDetails"; + static readonly fields: FieldList; + + static fromBinary(bytes: Uint8Array, options?: Partial): NotificationDetails; + + static fromJson(jsonValue: JsonValue, options?: Partial): NotificationDetails; + + static fromJsonString(jsonString: string, options?: Partial): NotificationDetails; + + static equals(a: NotificationDetails | PlainMessage | undefined, b: NotificationDetails | PlainMessage | undefined): boolean; +} + diff --git a/generated/js/src/porter/v1/notification_pb.js b/generated/js/src/porter/v1/notification_pb.js index dadc93e2..a1625679 100644 --- a/generated/js/src/porter/v1/notification_pb.js +++ b/generated/js/src/porter/v1/notification_pb.js @@ -3,7 +3,7 @@ /* eslint-disable */ // @ts-nocheck -import { proto3 } from "@bufbuild/protobuf"; +import { proto3, Timestamp } from "@bufbuild/protobuf"; /** * EnumNotificationStatus describes the status of a notification @@ -69,3 +69,35 @@ export const SlackConfig = proto3.makeMessageType( ], ); +/** + * Notification describes a notification + * + * @generated from message porter.v1.Notification + */ +export const Notification = proto3.makeMessageType( + "porter.v1.Notification", + () => [ + { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "app_revision_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "details", kind: "message", T: NotificationDetails }, + { no: 4, name: "timestamp", kind: "message", T: Timestamp }, + ], +); + +/** + * NotificationDetails describes the details of a notification + * + * @generated from message porter.v1.NotificationDetails + */ +export const NotificationDetails = proto3.makeMessageType( + "porter.v1.NotificationDetails", + () => [ + { no: 1, name: "code", kind: "scalar", T: 3 /* ScalarType.INT64 */ }, + { no: 2, name: "summary", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "detail", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 4, name: "mitigation_steps", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 5, name: "documentation", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, + { no: 6, name: "should_view_logs", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, + ], +); + diff --git a/porter/v1/cluster_control_plane.proto b/porter/v1/cluster_control_plane.proto index 967e6ae9..a163422b 100644 --- a/porter/v1/cluster_control_plane.proto +++ b/porter/v1/cluster_control_plane.proto @@ -1145,6 +1145,23 @@ message NotificationConfigResponse { NotificationConfig config = 1; } +// NotificationsRequest is the request object for Notification. +message NotificationsRequest { + // project_id is the id of the project where the notification is created + int64 project_id = 1; + // notification_id is the id of the notification to get + string notification_id = 2; + // app_revision_id is the id of the app revision to get notifications for + string app_revision_id = 3; + // app_instance_id is the id of the app instance to get notifications for + string app_instance_id = 4; +} + +// NotificationResponse is the response object for Notification +message NotificationsResponse { + repeated Notification notification = 1; +} + // ConnectHostedProjectRequest is the request object for connecting a hosted project to a host cluster message ConnectHostedProjectRequest { // project_id is the project id of the new hosted project which should be connected to the host cluster @@ -1455,6 +1472,9 @@ service ClusterControlPlaneService { // NotificationConfig gets the notification config for a given id rpc NotificationConfig(NotificationConfigRequest) returns (NotificationConfigResponse) {} + + // Notifications gets the notification config for a given id + rpc Notifications(NotificationsRequest) returns (NotificationsResponse) {} } message EKSBearerTokenRequest { diff --git a/porter/v1/notification.proto b/porter/v1/notification.proto index 78cd21a3..44603a87 100644 --- a/porter/v1/notification.proto +++ b/porter/v1/notification.proto @@ -2,6 +2,8 @@ syntax = "proto3"; package porter.v1; +import "google/protobuf/timestamp.proto"; + // NotificationConfig describes the configuration available for notifications. // Empty lists are ignored. // Multiple lists are treated as an AND condition. @@ -44,3 +46,31 @@ enum EnumNotificationEventType { ENUM_NOTIFICATION_EVENT_TYPE_PREDEPLOY = 2; ENUM_NOTIFICATION_EVENT_TYPE_DEPLOY = 3; } + +// Notification describes a notification +message Notification { + // id is the id for the notification + string id = 1; + // app_revision_id is the id of the app revision + string app_revision_id = 2; + // details is the details of the notification + NotificationDetails details = 3; + // timestamp is the timestamp of the notification + google.protobuf.Timestamp timestamp = 4; +} + +// NotificationDetails describes the details of a notification +message NotificationDetails { + // code is the Porter-internal code for the notification + int64 code = 1; + // summary is a short summary of the notification + string summary = 2; + // detail is a detailed description of the notification + string detail = 3; + // mitigation_steps is a description of mitigation steps for the notification + string mitigation_steps = 4; + // documentation is a list of documentation links for the notification + repeated string documentation = 5; + // should_view_logs is a flag indicating whether logs should be viewed for the notification + bool should_view_logs = 6; +} From 223e184917253d83a6142fdf737ebc77fca21f1a Mon Sep 17 00:00:00 2001 From: dgtown Date: Tue, 13 Feb 2024 17:43:53 -0500 Subject: [PATCH 2/2] notifications --- generated/go/porter/v1/notification.pb.go | 421 ++++++++++++++---- .../js/src/porter/v1/notification_pb.d.ts | 119 ++++- generated/js/src/porter/v1/notification_pb.js | 51 ++- porter/v1/notification.proto | 35 +- 4 files changed, 542 insertions(+), 84 deletions(-) diff --git a/generated/go/porter/v1/notification.pb.go b/generated/go/porter/v1/notification.pb.go index 8e765219..69224566 100644 --- a/generated/go/porter/v1/notification.pb.go +++ b/generated/go/porter/v1/notification.pb.go @@ -127,6 +127,115 @@ func (EnumNotificationEventType) EnumDescriptor() ([]byte, []int) { return file_porter_v1_notification_proto_rawDescGZIP(), []int{1} } +// EnumNotificationScope describes the scope of a notification +type EnumNotificationScope int32 + +const ( + EnumNotificationScope_ENUM_NOTIFICATION_SCOPE_UNSPECIFIED EnumNotificationScope = 0 + EnumNotificationScope_ENUM_NOTIFICATION_SCOPE_SERVICE EnumNotificationScope = 1 + EnumNotificationScope_ENUM_NOTIFICATION_SCOPE_REVISION EnumNotificationScope = 2 + EnumNotificationScope_ENUM_NOTIFICATION_SCOPE_APPLICATION EnumNotificationScope = 3 +) + +// Enum value maps for EnumNotificationScope. +var ( + EnumNotificationScope_name = map[int32]string{ + 0: "ENUM_NOTIFICATION_SCOPE_UNSPECIFIED", + 1: "ENUM_NOTIFICATION_SCOPE_SERVICE", + 2: "ENUM_NOTIFICATION_SCOPE_REVISION", + 3: "ENUM_NOTIFICATION_SCOPE_APPLICATION", + } + EnumNotificationScope_value = map[string]int32{ + "ENUM_NOTIFICATION_SCOPE_UNSPECIFIED": 0, + "ENUM_NOTIFICATION_SCOPE_SERVICE": 1, + "ENUM_NOTIFICATION_SCOPE_REVISION": 2, + "ENUM_NOTIFICATION_SCOPE_APPLICATION": 3, + } +) + +func (x EnumNotificationScope) Enum() *EnumNotificationScope { + p := new(EnumNotificationScope) + *p = x + return p +} + +func (x EnumNotificationScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EnumNotificationScope) Descriptor() protoreflect.EnumDescriptor { + return file_porter_v1_notification_proto_enumTypes[2].Descriptor() +} + +func (EnumNotificationScope) Type() protoreflect.EnumType { + return &file_porter_v1_notification_proto_enumTypes[2] +} + +func (x EnumNotificationScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EnumNotificationScope.Descriptor instead. +func (EnumNotificationScope) EnumDescriptor() ([]byte, []int) { + return file_porter_v1_notification_proto_rawDescGZIP(), []int{2} +} + +// EnumServiceDeploymentStatus describes the deployment status of a service +type EnumNotificationServiceDeploymentStatus int32 + +const ( + EnumNotificationServiceDeploymentStatus_ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED EnumNotificationServiceDeploymentStatus = 0 + EnumNotificationServiceDeploymentStatus_ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_PENDING EnumNotificationServiceDeploymentStatus = 1 + EnumNotificationServiceDeploymentStatus_ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_SUCCESS EnumNotificationServiceDeploymentStatus = 2 + EnumNotificationServiceDeploymentStatus_ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_FAILURE EnumNotificationServiceDeploymentStatus = 3 + EnumNotificationServiceDeploymentStatus_ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNKNOWN EnumNotificationServiceDeploymentStatus = 4 +) + +// Enum value maps for EnumNotificationServiceDeploymentStatus. +var ( + EnumNotificationServiceDeploymentStatus_name = map[int32]string{ + 0: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED", + 1: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_PENDING", + 2: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_SUCCESS", + 3: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_FAILURE", + 4: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNKNOWN", + } + EnumNotificationServiceDeploymentStatus_value = map[string]int32{ + "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED": 0, + "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_PENDING": 1, + "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_SUCCESS": 2, + "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_FAILURE": 3, + "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNKNOWN": 4, + } +) + +func (x EnumNotificationServiceDeploymentStatus) Enum() *EnumNotificationServiceDeploymentStatus { + p := new(EnumNotificationServiceDeploymentStatus) + *p = x + return p +} + +func (x EnumNotificationServiceDeploymentStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EnumNotificationServiceDeploymentStatus) Descriptor() protoreflect.EnumDescriptor { + return file_porter_v1_notification_proto_enumTypes[3].Descriptor() +} + +func (EnumNotificationServiceDeploymentStatus) Type() protoreflect.EnumType { + return &file_porter_v1_notification_proto_enumTypes[3] +} + +func (x EnumNotificationServiceDeploymentStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EnumNotificationServiceDeploymentStatus.Descriptor instead. +func (EnumNotificationServiceDeploymentStatus) EnumDescriptor() ([]byte, []int) { + return file_porter_v1_notification_proto_rawDescGZIP(), []int{3} +} + // NotificationConfig describes the configuration available for notifications. // Empty lists are ignored. // Multiple lists are treated as an AND condition. @@ -285,10 +394,14 @@ type Notification struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // app_revision_id is the id of the app revision AppRevisionId string `protobuf:"bytes,2,opt,name=app_revision_id,json=appRevisionId,proto3" json:"app_revision_id,omitempty"` + // scope is the scope of the notification + Scope EnumNotificationScope `protobuf:"varint,3,opt,name=scope,proto3,enum=porter.v1.EnumNotificationScope" json:"scope,omitempty"` // details is the details of the notification - Details *NotificationDetails `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + Details *NotificationDetails `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"` + // metadata is the metadata of the notification + Metadata *NotificationMetadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` // timestamp is the timestamp of the notification - Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (x *Notification) Reset() { @@ -337,6 +450,13 @@ func (x *Notification) GetAppRevisionId() string { return "" } +func (x *Notification) GetScope() EnumNotificationScope { + if x != nil { + return x.Scope + } + return EnumNotificationScope_ENUM_NOTIFICATION_SCOPE_UNSPECIFIED +} + func (x *Notification) GetDetails() *NotificationDetails { if x != nil { return x.Details @@ -344,6 +464,13 @@ func (x *Notification) GetDetails() *NotificationDetails { return nil } +func (x *Notification) GetMetadata() *NotificationMetadata { + if x != nil { + return x.Metadata + } + return nil +} + func (x *Notification) GetTimestamp() *timestamppb.Timestamp { if x != nil { return x.Timestamp @@ -445,6 +572,73 @@ func (x *NotificationDetails) GetShouldViewLogs() bool { return false } +// NotificationMetadata describes the metadata of a notification +type NotificationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // service_name is the name of the service that generated the notification + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + // service_deployment_status is the deployment status of the service + ServiceDeploymentStatus EnumNotificationServiceDeploymentStatus `protobuf:"varint,2,opt,name=service_deployment_status,json=serviceDeploymentStatus,proto3,enum=porter.v1.EnumNotificationServiceDeploymentStatus" json:"service_deployment_status,omitempty"` + // job_run_id is the id of the job run that generated the notification + JobRunId string `protobuf:"bytes,3,opt,name=job_run_id,json=jobRunId,proto3" json:"job_run_id,omitempty"` +} + +func (x *NotificationMetadata) Reset() { + *x = NotificationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_porter_v1_notification_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationMetadata) ProtoMessage() {} + +func (x *NotificationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_porter_v1_notification_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 NotificationMetadata.ProtoReflect.Descriptor instead. +func (*NotificationMetadata) Descriptor() ([]byte, []int) { + return file_porter_v1_notification_proto_rawDescGZIP(), []int{4} +} + +func (x *NotificationMetadata) GetServiceName() string { + if x != nil { + return x.ServiceName + } + return "" +} + +func (x *NotificationMetadata) GetServiceDeploymentStatus() EnumNotificationServiceDeploymentStatus { + if x != nil { + return x.ServiceDeploymentStatus + } + return EnumNotificationServiceDeploymentStatus_ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED +} + +func (x *NotificationMetadata) GetJobRunId() string { + if x != nil { + return x.JobRunId + } + return "" +} + var File_porter_v1_notification_proto protoreflect.FileDescriptor var file_porter_v1_notification_proto_rawDesc = []byte{ @@ -476,68 +670,121 @@ var file_porter_v1_notification_proto_rawDesc = []byte{ 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x29, 0x0a, 0x0b, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xba, 0x01, 0x0a, + 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaf, 0x02, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xd6, 0x01, 0x0a, 0x13, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x74, 0x69, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x65, - 0x70, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x6f, - 0x67, 0x73, 0x2a, 0xba, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, - 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, - 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x38, 0x0a, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xd6, + 0x01, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x29, 0x0a, 0x10, + 0x6d, 0x69, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x69, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, + 0x10, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6c, 0x6f, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x56, + 0x69, 0x65, 0x77, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x17, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x49, + 0x64, 0x2a, 0xba, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x24, + 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xc6, + 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x28, + 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x4e, + 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, + 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x02, 0x12, 0x27, + 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, + 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x03, 0x2a, 0xb4, 0x01, 0x0a, 0x15, 0x45, 0x6e, 0x75, 0x6d, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x4e, + 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, + 0x24, 0x0a, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, + 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, + 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, + 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0xca, + 0x02, 0x0a, 0x27, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x37, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, - 0xc6, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x28, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, - 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, - 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, - 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x02, 0x12, - 0x27, 0x0a, 0x23, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x10, 0x03, 0x42, 0xac, 0x01, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, - 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x67, - 0x6f, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x58, 0x58, 0xaa, 0x02, 0x09, 0x50, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x15, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, 0x50, 0x6f, 0x72, - 0x74, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x37, 0x0a, 0x33, 0x45, 0x4e, 0x55, 0x4d, 0x5f, + 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x37, 0x0a, 0x33, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, + 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x37, 0x0a, 0x33, 0x45, 0x4e, 0x55, + 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x37, 0x0a, 0x33, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, + 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x04, 0x42, 0xac, 0x01, 0x0a, 0x0d, + 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x72, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x58, 0x58, 0xaa, 0x02, 0x09, + 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x09, 0x50, 0x6f, 0x72, 0x74, + 0x65, 0x72, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x15, 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0a, + 0x50, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -552,28 +799,34 @@ func file_porter_v1_notification_proto_rawDescGZIP() []byte { return file_porter_v1_notification_proto_rawDescData } -var file_porter_v1_notification_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_porter_v1_notification_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_porter_v1_notification_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_porter_v1_notification_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_porter_v1_notification_proto_goTypes = []interface{}{ - (EnumNotificationStatus)(0), // 0: porter.v1.EnumNotificationStatus - (EnumNotificationEventType)(0), // 1: porter.v1.EnumNotificationEventType - (*NotificationConfig)(nil), // 2: porter.v1.NotificationConfig - (*SlackConfig)(nil), // 3: porter.v1.SlackConfig - (*Notification)(nil), // 4: porter.v1.Notification - (*NotificationDetails)(nil), // 5: porter.v1.NotificationDetails - (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp + (EnumNotificationStatus)(0), // 0: porter.v1.EnumNotificationStatus + (EnumNotificationEventType)(0), // 1: porter.v1.EnumNotificationEventType + (EnumNotificationScope)(0), // 2: porter.v1.EnumNotificationScope + (EnumNotificationServiceDeploymentStatus)(0), // 3: porter.v1.EnumNotificationServiceDeploymentStatus + (*NotificationConfig)(nil), // 4: porter.v1.NotificationConfig + (*SlackConfig)(nil), // 5: porter.v1.SlackConfig + (*Notification)(nil), // 6: porter.v1.Notification + (*NotificationDetails)(nil), // 7: porter.v1.NotificationDetails + (*NotificationMetadata)(nil), // 8: porter.v1.NotificationMetadata + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp } var file_porter_v1_notification_proto_depIdxs = []int32{ 0, // 0: porter.v1.NotificationConfig.statuses:type_name -> porter.v1.EnumNotificationStatus 1, // 1: porter.v1.NotificationConfig.event_types:type_name -> porter.v1.EnumNotificationEventType - 3, // 2: porter.v1.NotificationConfig.slack_config:type_name -> porter.v1.SlackConfig - 5, // 3: porter.v1.Notification.details:type_name -> porter.v1.NotificationDetails - 6, // 4: porter.v1.Notification.timestamp:type_name -> google.protobuf.Timestamp - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 5, // 2: porter.v1.NotificationConfig.slack_config:type_name -> porter.v1.SlackConfig + 2, // 3: porter.v1.Notification.scope:type_name -> porter.v1.EnumNotificationScope + 7, // 4: porter.v1.Notification.details:type_name -> porter.v1.NotificationDetails + 8, // 5: porter.v1.Notification.metadata:type_name -> porter.v1.NotificationMetadata + 9, // 6: porter.v1.Notification.timestamp:type_name -> google.protobuf.Timestamp + 3, // 7: porter.v1.NotificationMetadata.service_deployment_status:type_name -> porter.v1.EnumNotificationServiceDeploymentStatus + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_porter_v1_notification_proto_init() } @@ -630,14 +883,26 @@ func file_porter_v1_notification_proto_init() { return nil } } + file_porter_v1_notification_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationMetadata); 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_porter_v1_notification_proto_rawDesc, - NumEnums: 2, - NumMessages: 4, + NumEnums: 4, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/generated/js/src/porter/v1/notification_pb.d.ts b/generated/js/src/porter/v1/notification_pb.d.ts index 4a175d5a..dc7cf780 100644 --- a/generated/js/src/porter/v1/notification_pb.d.ts +++ b/generated/js/src/porter/v1/notification_pb.d.ts @@ -60,6 +60,65 @@ export declare enum EnumNotificationEventType { DEPLOY = 3, } +/** + * EnumNotificationScope describes the scope of a notification + * + * @generated from enum porter.v1.EnumNotificationScope + */ +export declare enum EnumNotificationScope { + /** + * @generated from enum value: ENUM_NOTIFICATION_SCOPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SCOPE_SERVICE = 1; + */ + SERVICE = 1, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SCOPE_REVISION = 2; + */ + REVISION = 2, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SCOPE_APPLICATION = 3; + */ + APPLICATION = 3, +} + +/** + * EnumServiceDeploymentStatus describes the deployment status of a service + * + * @generated from enum porter.v1.EnumNotificationServiceDeploymentStatus + */ +export declare enum EnumNotificationServiceDeploymentStatus { + /** + * @generated from enum value: ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_SUCCESS = 2; + */ + SUCCESS = 2, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_FAILURE = 3; + */ + FAILURE = 3, + + /** + * @generated from enum value: ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNKNOWN = 4; + */ + UNKNOWN = 4, +} + /** * NotificationConfig describes the configuration available for notifications. * Empty lists are ignored. @@ -176,17 +235,31 @@ export declare class Notification extends Message { */ appRevisionId: string; + /** + * scope is the scope of the notification + * + * @generated from field: porter.v1.EnumNotificationScope scope = 3; + */ + scope: EnumNotificationScope; + /** * details is the details of the notification * - * @generated from field: porter.v1.NotificationDetails details = 3; + * @generated from field: porter.v1.NotificationDetails details = 4; */ details?: NotificationDetails; + /** + * metadata is the metadata of the notification + * + * @generated from field: porter.v1.NotificationMetadata metadata = 5; + */ + metadata?: NotificationMetadata; + /** * timestamp is the timestamp of the notification * - * @generated from field: google.protobuf.Timestamp timestamp = 4; + * @generated from field: google.protobuf.Timestamp timestamp = 6; */ timestamp?: Timestamp; @@ -268,3 +341,45 @@ export declare class NotificationDetails extends Message { static equals(a: NotificationDetails | PlainMessage | undefined, b: NotificationDetails | PlainMessage | undefined): boolean; } +/** + * NotificationMetadata describes the metadata of a notification + * + * @generated from message porter.v1.NotificationMetadata + */ +export declare class NotificationMetadata extends Message { + /** + * service_name is the name of the service that generated the notification + * + * @generated from field: string service_name = 1; + */ + serviceName: string; + + /** + * service_deployment_status is the deployment status of the service + * + * @generated from field: porter.v1.EnumNotificationServiceDeploymentStatus service_deployment_status = 2; + */ + serviceDeploymentStatus: EnumNotificationServiceDeploymentStatus; + + /** + * job_run_id is the id of the job run that generated the notification + * + * @generated from field: string job_run_id = 3; + */ + jobRunId: string; + + constructor(data?: PartialMessage); + + static readonly runtime: typeof proto3; + static readonly typeName = "porter.v1.NotificationMetadata"; + static readonly fields: FieldList; + + static fromBinary(bytes: Uint8Array, options?: Partial): NotificationMetadata; + + static fromJson(jsonValue: JsonValue, options?: Partial): NotificationMetadata; + + static fromJsonString(jsonString: string, options?: Partial): NotificationMetadata; + + static equals(a: NotificationMetadata | PlainMessage | undefined, b: NotificationMetadata | PlainMessage | undefined): boolean; +} + diff --git a/generated/js/src/porter/v1/notification_pb.js b/generated/js/src/porter/v1/notification_pb.js index a1625679..801ae4d4 100644 --- a/generated/js/src/porter/v1/notification_pb.js +++ b/generated/js/src/porter/v1/notification_pb.js @@ -35,6 +35,37 @@ export const EnumNotificationEventType = proto3.makeEnum( ], ); +/** + * EnumNotificationScope describes the scope of a notification + * + * @generated from enum porter.v1.EnumNotificationScope + */ +export const EnumNotificationScope = proto3.makeEnum( + "porter.v1.EnumNotificationScope", + [ + {no: 0, name: "ENUM_NOTIFICATION_SCOPE_UNSPECIFIED", localName: "UNSPECIFIED"}, + {no: 1, name: "ENUM_NOTIFICATION_SCOPE_SERVICE", localName: "SERVICE"}, + {no: 2, name: "ENUM_NOTIFICATION_SCOPE_REVISION", localName: "REVISION"}, + {no: 3, name: "ENUM_NOTIFICATION_SCOPE_APPLICATION", localName: "APPLICATION"}, + ], +); + +/** + * EnumServiceDeploymentStatus describes the deployment status of a service + * + * @generated from enum porter.v1.EnumNotificationServiceDeploymentStatus + */ +export const EnumNotificationServiceDeploymentStatus = proto3.makeEnum( + "porter.v1.EnumNotificationServiceDeploymentStatus", + [ + {no: 0, name: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED", localName: "UNSPECIFIED"}, + {no: 1, name: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_PENDING", localName: "PENDING"}, + {no: 2, name: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_SUCCESS", localName: "SUCCESS"}, + {no: 3, name: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_FAILURE", localName: "FAILURE"}, + {no: 4, name: "ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNKNOWN", localName: "UNKNOWN"}, + ], +); + /** * NotificationConfig describes the configuration available for notifications. * Empty lists are ignored. @@ -79,8 +110,10 @@ export const Notification = proto3.makeMessageType( () => [ { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 2, name: "app_revision_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 3, name: "details", kind: "message", T: NotificationDetails }, - { no: 4, name: "timestamp", kind: "message", T: Timestamp }, + { no: 3, name: "scope", kind: "enum", T: proto3.getEnumType(EnumNotificationScope) }, + { no: 4, name: "details", kind: "message", T: NotificationDetails }, + { no: 5, name: "metadata", kind: "message", T: NotificationMetadata }, + { no: 6, name: "timestamp", kind: "message", T: Timestamp }, ], ); @@ -101,3 +134,17 @@ export const NotificationDetails = proto3.makeMessageType( ], ); +/** + * NotificationMetadata describes the metadata of a notification + * + * @generated from message porter.v1.NotificationMetadata + */ +export const NotificationMetadata = proto3.makeMessageType( + "porter.v1.NotificationMetadata", + () => [ + { no: 1, name: "service_name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "service_deployment_status", kind: "enum", T: proto3.getEnumType(EnumNotificationServiceDeploymentStatus) }, + { no: 3, name: "job_run_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + ], +); + diff --git a/porter/v1/notification.proto b/porter/v1/notification.proto index 44603a87..059638a4 100644 --- a/porter/v1/notification.proto +++ b/porter/v1/notification.proto @@ -53,10 +53,14 @@ message Notification { string id = 1; // app_revision_id is the id of the app revision string app_revision_id = 2; + // scope is the scope of the notification + EnumNotificationScope scope = 3; // details is the details of the notification - NotificationDetails details = 3; + NotificationDetails details = 4; + // metadata is the metadata of the notification + NotificationMetadata metadata = 5; // timestamp is the timestamp of the notification - google.protobuf.Timestamp timestamp = 4; + google.protobuf.Timestamp timestamp = 6; } // NotificationDetails describes the details of a notification @@ -74,3 +78,30 @@ message NotificationDetails { // should_view_logs is a flag indicating whether logs should be viewed for the notification bool should_view_logs = 6; } + +// NotificationMetadata describes the metadata of a notification +message NotificationMetadata { + // service_name is the name of the service that generated the notification + string service_name = 1; + // service_deployment_status is the deployment status of the service + EnumNotificationServiceDeploymentStatus service_deployment_status = 2; + // job_run_id is the id of the job run that generated the notification + string job_run_id = 3; +} + +// EnumNotificationScope describes the scope of a notification +enum EnumNotificationScope { + ENUM_NOTIFICATION_SCOPE_UNSPECIFIED = 0; + ENUM_NOTIFICATION_SCOPE_SERVICE = 1; + ENUM_NOTIFICATION_SCOPE_REVISION = 2; + ENUM_NOTIFICATION_SCOPE_APPLICATION = 3; +} + +// EnumServiceDeploymentStatus describes the deployment status of a service +enum EnumNotificationServiceDeploymentStatus { + ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNSPECIFIED = 0; + ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_PENDING = 1; + ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_SUCCESS = 2; + ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_FAILURE = 3; + ENUM_NOTIFICATION_SERVICE_DEPLOYMENT_STATUS_UNKNOWN = 4; +}